contextos-memory-runtime 1.0.0rc2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- contextos/__init__.py +3 -0
- contextos/__main__.py +6 -0
- contextos/api/__init__.py +1 -0
- contextos/api/routes/__init__.py +1 -0
- contextos/api/routes/desktop.py +322 -0
- contextos/api/routes/ingest.py +17 -0
- contextos/api/routes/memories.py +84 -0
- contextos/api/routes/models.py +81 -0
- contextos/api/routes/retrieval.py +89 -0
- contextos/api/routes/system.py +216 -0
- contextos/api/server.py +195 -0
- contextos/benchmarks/__init__.py +1 -0
- contextos/benchmarks/compilation.py +245 -0
- contextos/benchmarks/connectors.py +423 -0
- contextos/benchmarks/explainability.py +103 -0
- contextos/benchmarks/final.py +406 -0
- contextos/benchmarks/graph.py +310 -0
- contextos/benchmarks/graph_adversarial.py +525 -0
- contextos/benchmarks/mcp.py +324 -0
- contextos/benchmarks/model_routing.py +203 -0
- contextos/benchmarks/optimization.py +305 -0
- contextos/benchmarks/rescue_integration.py +127 -0
- contextos/benchmarks/retrieval.py +266 -0
- contextos/benchmarks/temporal.py +377 -0
- contextos/benchmarks/temporal_hotpath.py +76 -0
- contextos/benchmarks/terminal.py +62 -0
- contextos/cli/__init__.py +1 -0
- contextos/cli/app.py +932 -0
- contextos/cli/dashboard.py +174 -0
- contextos/cli/formatters.py +299 -0
- contextos/config/__init__.py +1 -0
- contextos/config/settings.py +160 -0
- contextos/connectors/__init__.py +6 -0
- contextos/connectors/fake.py +11 -0
- contextos/connectors/json_import.py +125 -0
- contextos/connectors/local_files.py +102 -0
- contextos/connectors/manager.py +293 -0
- contextos/connectors/models.py +62 -0
- contextos/connectors/protocols.py +11 -0
- contextos/core/__init__.py +103 -0
- contextos/core/enums.py +489 -0
- contextos/core/exceptions.py +293 -0
- contextos/core/models.py +1147 -0
- contextos/core/protocols.py +549 -0
- contextos/daemon/__init__.py +1 -0
- contextos/daemon/manager.py +510 -0
- contextos/daemon/state.py +127 -0
- contextos/daemon/wiring.py +296 -0
- contextos/demo.py +217 -0
- contextos/embedding/__init__.py +1 -0
- contextos/embedding/deterministic.py +76 -0
- contextos/embedding/sentence_transformers.py +80 -0
- contextos/mcp/__init__.py +5 -0
- contextos/mcp/server.py +269 -0
- contextos/providers/__init__.py +13 -0
- contextos/providers/fake.py +217 -0
- contextos/providers/ollama.py +297 -0
- contextos/providers/openai_compatible.py +337 -0
- contextos/services/__init__.py +1 -0
- contextos/services/compilation.py +535 -0
- contextos/services/explainability.py +553 -0
- contextos/services/extraction.py +311 -0
- contextos/services/graph.py +524 -0
- contextos/services/graph_retrieval.py +143 -0
- contextos/services/ingestion.py +143 -0
- contextos/services/inspection.py +174 -0
- contextos/services/memory.py +291 -0
- contextos/services/model_service.py +409 -0
- contextos/services/optimization.py +426 -0
- contextos/services/privacy.py +331 -0
- contextos/services/retrieval.py +302 -0
- contextos/services/retrieval_index.py +88 -0
- contextos/services/router.py +302 -0
- contextos/services/secret_scanner.py +207 -0
- contextos/services/telemetry_query.py +102 -0
- contextos/services/temporal.py +500 -0
- contextos/services/token_counter.py +222 -0
- contextos/storage/__init__.py +1 -0
- contextos/storage/connector_repo.py +67 -0
- contextos/storage/database.py +497 -0
- contextos/storage/event_repo.py +137 -0
- contextos/storage/graph_repo.py +228 -0
- contextos/storage/lexical/__init__.py +1 -0
- contextos/storage/lexical/bm25.py +134 -0
- contextos/storage/memory_repo.py +589 -0
- contextos/storage/relation_repo.py +80 -0
- contextos/storage/telemetry_repo.py +481 -0
- contextos/storage/vector/__init__.py +1 -0
- contextos/storage/vector/in_memory.py +162 -0
- contextos_memory_runtime-1.0.0rc2.dist-info/METADATA +143 -0
- contextos_memory_runtime-1.0.0rc2.dist-info/RECORD +93 -0
- contextos_memory_runtime-1.0.0rc2.dist-info/WHEEL +4 -0
- contextos_memory_runtime-1.0.0rc2.dist-info/entry_points.txt +3 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: contextos-memory-runtime
|
|
3
|
+
Version: 1.0.0rc2
|
|
4
|
+
Summary: Local-first personal AI memory runtime
|
|
5
|
+
Author: ContextOS Contributors
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Keywords: ai,context,local-first,memory,rag
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
14
|
+
Requires-Python: >=3.12
|
|
15
|
+
Requires-Dist: aiosqlite>=0.20.0
|
|
16
|
+
Requires-Dist: fastapi>=0.115.0
|
|
17
|
+
Requires-Dist: httpx>=0.27.0
|
|
18
|
+
Requires-Dist: mcp<3,>=2
|
|
19
|
+
Requires-Dist: numpy>=1.26.0
|
|
20
|
+
Requires-Dist: psutil>=6.0.0
|
|
21
|
+
Requires-Dist: pydantic-settings>=2.5.0
|
|
22
|
+
Requires-Dist: pydantic>=2.9.0
|
|
23
|
+
Requires-Dist: rank-bm25>=0.2.2
|
|
24
|
+
Requires-Dist: rich>=13.8.0
|
|
25
|
+
Requires-Dist: sqlite-vec>=0.1.0
|
|
26
|
+
Requires-Dist: tiktoken>=0.7.0
|
|
27
|
+
Requires-Dist: typer>=0.12.0
|
|
28
|
+
Requires-Dist: uvicorn[standard]>=0.30.0
|
|
29
|
+
Provides-Extra: dev
|
|
30
|
+
Requires-Dist: mypy>=1.11.0; extra == 'dev'
|
|
31
|
+
Requires-Dist: pre-commit>=3.8.0; extra == 'dev'
|
|
32
|
+
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
|
|
33
|
+
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
|
|
34
|
+
Requires-Dist: pytest>=8.3.0; extra == 'dev'
|
|
35
|
+
Requires-Dist: ruff>=0.6.0; extra == 'dev'
|
|
36
|
+
Provides-Extra: embeddings
|
|
37
|
+
Requires-Dist: sentence-transformers>=3.0.0; extra == 'embeddings'
|
|
38
|
+
Provides-Extra: lancedb
|
|
39
|
+
Requires-Dist: lancedb>=0.12.0; extra == 'lancedb'
|
|
40
|
+
Provides-Extra: tui
|
|
41
|
+
Requires-Dist: textual>=0.79.0; extra == 'tui'
|
|
42
|
+
Description-Content-Type: text/markdown
|
|
43
|
+
|
|
44
|
+
# ContextOS
|
|
45
|
+
|
|
46
|
+
ContextOS is a local-first, model-independent AI memory runtime. It is not a chatbot. It accepts activity through a privacy boundary, extracts candidate facts, resolves temporal state, persists memories in SQLite, and supplies bounded context to a chosen model. A local daemon exposes a CLI and API; optional STDIO MCP and explicitly configured connectors use the same memory pipeline.
|
|
47
|
+
|
|
48
|
+
## Why it exists
|
|
49
|
+
|
|
50
|
+
Long conversation histories are expensive and can carry stale or contradictory facts. ContextOS combines lexical and dense retrieval, temporal eligibility, a token-aware selector, and a context compiler. It records what it selected and what it could prove, without claiming that fewer context tokens automatically improve answers or provider billing.
|
|
51
|
+
|
|
52
|
+
## Quick start
|
|
53
|
+
|
|
54
|
+
Python 3.12+ is declared; this release has been verified on Windows with Python 3.13. Python 3.12 is not yet validated. Core defaults and the offline demo require no commercial API key, model download, or tokenizer cache.
|
|
55
|
+
|
|
56
|
+
### Installation
|
|
57
|
+
|
|
58
|
+
Core lightweight installation (uses deterministic/local capabilities):
|
|
59
|
+
```powershell
|
|
60
|
+
pip install contextos-memory-runtime
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Core defaults use hashed deterministic embeddings and word-token accounting labeled `APPROXIMATED`. These embeddings are an offline baseline; SentenceTransformer retrieval quality is not implied. FakeProvider is a local simulation.
|
|
64
|
+
|
|
65
|
+
Rebuilt RC2 archives are approximately **220 KB for the wheel** and **300 KB for the sdist** (decimal units). These sizes exclude installed dependencies. Run `python tools/validate_release_artifacts.py` after a rebuild for exact byte counts.
|
|
66
|
+
|
|
67
|
+
With optional local sentence-transformers embeddings extra:
|
|
68
|
+
```powershell
|
|
69
|
+
pip install "contextos-memory-runtime[embeddings]"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Installing the extra does not change defaults. Explicitly set `[embedding]` with `model = "all-MiniLM-L6-v2"` in your ContextOS `config.toml` to select it; first use may download that model unless provisioned locally. Exact context counting is also opt-in: set `[token_counter]` with `encoding = "cl100k_base"` or `"o200k_base"`, and provision its tokenizer cache before offline use. Default `encoding = "deterministic"` needs no tokenizer assets.
|
|
73
|
+
|
|
74
|
+
For development:
|
|
75
|
+
```powershell
|
|
76
|
+
pip install -e ".[dev]"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Usage
|
|
80
|
+
|
|
81
|
+
```powershell
|
|
82
|
+
contextos demo
|
|
83
|
+
contextos start
|
|
84
|
+
contextos doctor
|
|
85
|
+
contextos stats
|
|
86
|
+
"I prefer concise technical explanations." | contextos memories remember
|
|
87
|
+
contextos inspect "What explanation style do I prefer?"
|
|
88
|
+
contextos stop
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
The daemon listens on loopback by default. Review your local configuration before changing its host, connector roots, MCP permissions, or provider settings. Prefer `memories remember` for private text: a command-line argument may be visible in process lists and shell history.
|
|
92
|
+
|
|
93
|
+
## Architecture and memory lifecycle
|
|
94
|
+
|
|
95
|
+
Input flows through privacy scanning, extraction, temporal acceptance, and SQLite persistence. Retrieval reads the memory store through ephemeral BM25 and dense indexes. The graph is a separate deterministic projection. The optimizer selects within a token budget; the compiler turns selected memories into context with fact/provenance evidence. The router sends the prepared request to a configured local or optional remote provider. Graph-assisted retrieval remains opt-in because its ranking performance is mixed in the local benchmark.
|
|
96
|
+
|
|
97
|
+
See [architecture](docs/architecture.md), [explainability](docs/explainability.md), and [RAG inspector](docs/rag-inspector.md) for exact boundaries. Explainability and inspection describe ContextOS preparation, not an unseen provider wire payload. Provider dispatch is `NOT_ATTEMPTED` during inspection.
|
|
98
|
+
|
|
99
|
+
## Privacy and integrations
|
|
100
|
+
|
|
101
|
+
Secret scanning does not universally redact private filesystem paths. Selected graph/provenance output surfaces suppress path-shaped labels; terminal sanitization removes control sequences. These are separate output protections.
|
|
102
|
+
|
|
103
|
+
Secrets are scanned before accepted memory is stored; the legacy `--skip-secret-scan` request field does not disable that boundary. Metadata dashboards omit memory bodies, prompts, source paths, and credentials by default. Explicit content-view commands can reveal private text on your terminal; use them deliberately. Local storage is not a substitute for OS disk encryption or trusted local-user access.
|
|
104
|
+
|
|
105
|
+
Credential-free local file and JSON/JSONL connectors must be configured explicitly; none are registered by default. See [connectors](docs/connectors.md). MCP is disabled by default, uses STDIO, and separates read, write, and telemetry permissions; see [MCP](docs/mcp.md). Ollama and compatible local endpoints are first-class options; external providers are optional. FakeProvider supports deterministic tests/demo and is identified as simulated.
|
|
106
|
+
|
|
107
|
+
## Terminal product
|
|
108
|
+
|
|
109
|
+
| Command | Purpose |
|
|
110
|
+
| --- | --- |
|
|
111
|
+
| `contextos status`, `health`, `doctor` | Daemon state and non-destructive diagnostics |
|
|
112
|
+
| `contextos stats [--model ID] [--provider ID] [--compare] [--today/--week]` | Measured activity by provider/model and token basis |
|
|
113
|
+
| `contextos monitor [--model ID] [--provider ID]` | Poll the same bounded local dashboard |
|
|
114
|
+
| `contextos inspect "query" [--mode hybrid] [--graph] [--memory UUID] [--compare] [--json]` | Retrieval-to-compiler decision evidence |
|
|
115
|
+
| `contextos explain "query"`, `preview "query"` | Explain or preview context without provider dispatch |
|
|
116
|
+
| `contextos graph stats/search/show` | Projection statistics and bounded graph paths |
|
|
117
|
+
| `contextos memories current/conflicts/history` | Temporal metadata; content is opt-in |
|
|
118
|
+
| `contextos connectors list/status/sync` | Registered connector state and explicit sync |
|
|
119
|
+
| `contextos models list`, `contextos telemetry` | Provider inventory and measured invocation records |
|
|
120
|
+
| `contextos benchmark [--extended]`, `contextos demo` | Isolated synthetic evaluation and offline walkthrough |
|
|
121
|
+
|
|
122
|
+
The dashboard groups provider and model together and keeps context-token counts separate from provider-reported usage. A reduction bar appears only when a single known context tokenizer basis can be compared. Older telemetry with unknown provenance is not silently combined. `--today` is the current UTC day; `--week` is a rolling seven-day window. Session-wide history is not yet persisted as a distinct aggregate.
|
|
123
|
+
Connector status includes currently tracked source-item count; the existing schema does not retain last-sync accepted/unchanged/failed totals for historical display.
|
|
124
|
+
|
|
125
|
+
## Evidence and limits
|
|
126
|
+
|
|
127
|
+
The [benchmark](docs/benchmarking.md) compares full history, vector, hybrid, hybrid+graph, and compiled ContextOS context on ten fixed questions at 100 and 1,000 synthetic memories. It reports relevance ranking and context tokens, not answer quality. The [security](docs/security.md), [performance](docs/performance.md), [demo](docs/demo.md), and [release checklist](docs/release-checklist.md) documents separate measured, simulated, and unverified claims. A 5,000-memory run is opt-in. No cloud deployment or commercial-provider proof is implied by the local test suite.
|
|
128
|
+
|
|
129
|
+
Answer quality is **NOT VALIDATED**. Live providers have not been comprehensively validated. Graph retrieval stays opt-in because the current synthetic benchmark shows a recall/latency tradeoff. Latest independent cold CLI startup was approximately **2.27 seconds median** on Windows; this is a local measurement, not a guarantee.
|
|
130
|
+
|
|
131
|
+
## Development
|
|
132
|
+
|
|
133
|
+
```powershell
|
|
134
|
+
python -m pytest tests -q -ra
|
|
135
|
+
python -m compileall -q src tests
|
|
136
|
+
python -m contextos.benchmarks.final
|
|
137
|
+
python -m pip check
|
|
138
|
+
git diff --check
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
`make test`, `make lint`, `make typecheck`, and `make check` are available when `make` is installed. The package is currently version 1.0.0-rc2. License: MIT.
|
|
142
|
+
|
|
143
|
+
Background `contextos start` polls the initialized daemon for up to 10 seconds before reporting success. Existing-daemon readiness requires the health PID to match the verified recorded PID at the configured host and port. Startup and stop share a Windows/POSIX lifecycle lock with a 15-second acquisition timeout; concurrent starters wait, then report the verified daemon as already running. The persistent `contextos.lock` file is reusable and OS lock ownership is released on process exit. PID publication is atomic, and failed startup cleans up only its own process tree and matching PID state. `contextos doctor` can be run immediately after a successful start.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
contextos/__init__.py,sha256=-13Sf7rvleSFTlEiWQIEdpjhkgtpiPcsqB6OMa8bVT0,89
|
|
2
|
+
contextos/__main__.py,sha256=u1JB0rxx9GEPM9dlOJQQfo1ig_OhbbUaDypqXh7uqok,131
|
|
3
|
+
contextos/demo.py,sha256=zDTfaUBtYPa0d4xTw1Z9QXRU0Fzu0-1JBwLxaqWnSno,10084
|
|
4
|
+
contextos/api/__init__.py,sha256=sEYlM_YSXd-bVkcFPx-kZm2NFJYXGs7TLYgLg7eRrLE,34
|
|
5
|
+
contextos/api/server.py,sha256=bBkPtU_yo40MEWTgDIgyX5inEqkThcJsrui0Ciawcig,7945
|
|
6
|
+
contextos/api/routes/__init__.py,sha256=iMgTYMWdJd8HLFD_MUfi_DR_4jMMAJhGr3ogvc19lIg,41
|
|
7
|
+
contextos/api/routes/desktop.py,sha256=19qKZC_FK9cMDYOllJlD6MpcF3nd56xfUGJMPMdu3gs,14715
|
|
8
|
+
contextos/api/routes/ingest.py,sha256=cnmD9zFgo0wBPTYgZFpHPTLApHMaU3aw0XCe-D1ppdY,514
|
|
9
|
+
contextos/api/routes/memories.py,sha256=gIEXcmOeEzQY9rByZYT6HGX5vwSlcXeKVhTpS-3cJ90,2893
|
|
10
|
+
contextos/api/routes/models.py,sha256=4wUWi_L_fNzwGhmeM5u5smLrDEztqRWmHJMbMSg9qcM,2840
|
|
11
|
+
contextos/api/routes/retrieval.py,sha256=60CH5GiGDKxHg2HjJG9XwGtMrSqYzRVfSwjgcbKlBJU,2927
|
|
12
|
+
contextos/api/routes/system.py,sha256=oe9xCYUE2zMMnxiB7NMAyoPmOnh16Pa7vInkj-uJXCg,8667
|
|
13
|
+
contextos/benchmarks/__init__.py,sha256=x3VXlOJrVXRp7McHPBjaxhp3zvLSdIZVHgyoSW8ZfSA,42
|
|
14
|
+
contextos/benchmarks/compilation.py,sha256=PYLDz5jdq4hXspE9HSU055yyhpfzbAa-NYh6M6cKBZQ,8974
|
|
15
|
+
contextos/benchmarks/connectors.py,sha256=R-sTOG26viEqEANNIsSCSMbvKhCcpU2j8awLma30XgI,14795
|
|
16
|
+
contextos/benchmarks/explainability.py,sha256=yTY-3BrfBeg18JBcig4HeLGk1tzSzYr3H3yOnyevG_8,5050
|
|
17
|
+
contextos/benchmarks/final.py,sha256=knI6vBUYUq9oIgFvy-c6-BscRX4FioSRdjA5Mqd7o60,19864
|
|
18
|
+
contextos/benchmarks/graph.py,sha256=G32J4SY1QH36BZO7bSGxhWFBXYpgV9EgIyLWhWl_ulg,13891
|
|
19
|
+
contextos/benchmarks/graph_adversarial.py,sha256=jaLq5W29bJWor686YTz0rOmNCcJcO0m5EegYuX6w1hE,25023
|
|
20
|
+
contextos/benchmarks/mcp.py,sha256=68Vh_FmzqIUV5rZUOzTweThhgF9i-4DShA1yaI77cNk,13014
|
|
21
|
+
contextos/benchmarks/model_routing.py,sha256=IYl_jRqpJOYa2MUQfh77nY_kPB8vOXth9q3MFhjBoTU,7951
|
|
22
|
+
contextos/benchmarks/optimization.py,sha256=UySiRHctn5Mb3kupRA-q4II4W4hwyrXuAeZKVEodbS0,10767
|
|
23
|
+
contextos/benchmarks/rescue_integration.py,sha256=exVJxw5B0Ff__yINvOIEP4liuQ4pMzKORWeH8sNd7cI,5449
|
|
24
|
+
contextos/benchmarks/retrieval.py,sha256=vHH5adxP4af8AnF4dDAVD4A7IW0FQ_11JY-G79G153w,10673
|
|
25
|
+
contextos/benchmarks/temporal.py,sha256=sQw-IM2DIMnYY1xV5LDodl-GI4eELHW_8zHUwbS5rXo,17186
|
|
26
|
+
contextos/benchmarks/temporal_hotpath.py,sha256=BRn-pkRkvx4GVtLfJ5mfaDn2drzyJSx92HIegtk3Eqk,3126
|
|
27
|
+
contextos/benchmarks/terminal.py,sha256=fO-ikyZ0hOfxynboUsVAUd5ofoDrTdJqG-4YESEg8SM,3002
|
|
28
|
+
contextos/cli/__init__.py,sha256=1nuHg_5BHUWeoI8U6eyyTD3KlsOQZd9IH_7AyFaSU5Y,34
|
|
29
|
+
contextos/cli/app.py,sha256=EhY7orXYFatr8_H6K_Y-30dp5vHzxsah_0eK_yVjYts,40317
|
|
30
|
+
contextos/cli/dashboard.py,sha256=hGftM7lK-KrsbVobxeFYpvjVUJsKvkH2tCmFspTBkvU,7341
|
|
31
|
+
contextos/cli/formatters.py,sha256=Xjj5rTODA-DaYsBdS5L_-xms8J2nHUQpKZFBZYapibY,11611
|
|
32
|
+
contextos/config/__init__.py,sha256=TusAd6of1zmexViKV4bHD-PeRRWUFFYiQeBgxFtrg5M,37
|
|
33
|
+
contextos/config/settings.py,sha256=W529G5j3sB6RlGIFiw4bUWnURvQxWG4n0UUL1aL0xpU,5687
|
|
34
|
+
contextos/connectors/__init__.py,sha256=b5kTn1VzIe79oz6ettsjfSVkl_o9t6bmChIEXrkT20s,314
|
|
35
|
+
contextos/connectors/fake.py,sha256=vZMgN3fB9u2JTXjicFsMrUwIrrgqLFqXoj5VtwZm4S0,628
|
|
36
|
+
contextos/connectors/json_import.py,sha256=8qm7KBLIAKAF2RzZeWRIhm2_TutmTyfUgMuPOE33uIU,4915
|
|
37
|
+
contextos/connectors/local_files.py,sha256=OlTy__WDFfVmsn4mg9HYESTfO96_o_wjkIlfGHNuQ8c,4083
|
|
38
|
+
contextos/connectors/manager.py,sha256=x8GVgCP5G8aVd3gdlTATIeCPEfIsxusImKWhxQh03Bk,12565
|
|
39
|
+
contextos/connectors/models.py,sha256=Sv3zivd23YDyoSe8OsKdD8Y5jfOiTqVug4ROxhIKV2o,2037
|
|
40
|
+
contextos/connectors/protocols.py,sha256=VsaJUmnQfZ8bsDQDYP5ynHeIBUjRF6u9-XZGP_lEwQA,437
|
|
41
|
+
contextos/core/__init__.py,sha256=TnendYkFqWuRCh8MlLNSH4RVMgEce_Cm-tF4CClQS20,2168
|
|
42
|
+
contextos/core/enums.py,sha256=EybSQQ7EUXwOexPmG9_n9mgUmha-5Z-3el4o5BzLF6E,13646
|
|
43
|
+
contextos/core/exceptions.py,sha256=DSCrrtXsa4q0rgtAnkK26te1cFKGDuirteneJGHL6JQ,9414
|
|
44
|
+
contextos/core/models.py,sha256=TxjfuSAIVGqHliPpz-Q068_3ZCMiYtS10Y6cNZAo7dA,43085
|
|
45
|
+
contextos/core/protocols.py,sha256=kt1Nt_Emc02bau6FrvZt-XuYGEzmSxvRr_fa3xYOqIo,16677
|
|
46
|
+
contextos/daemon/__init__.py,sha256=5pqcRo7kVWdHeZJJLTCaBYkX-tLHqY9WpYEA3fSasB0,37
|
|
47
|
+
contextos/daemon/manager.py,sha256=WjJ24xxmCDVjCwSAljlBkUeDSshJRWfSXFNoUL1KgKI,19898
|
|
48
|
+
contextos/daemon/state.py,sha256=8CKxkujrMk5Wq6OnNH-bp1KY8GOWIONpvufZ_8ADNuI,4875
|
|
49
|
+
contextos/daemon/wiring.py,sha256=_e-bIQza1Nm5jFefHnobQLFtWqYRgWpKibfN8iE3NHs,11324
|
|
50
|
+
contextos/embedding/__init__.py,sha256=06UqDDwgpeK6bsP7ln4NBs9jA6uYQ0Q3IGz2XWfbLks,40
|
|
51
|
+
contextos/embedding/deterministic.py,sha256=Ao0pSH_NW3r44bRJL3OnS_LkE7-IzG3MlMVOOyxTP1U,2434
|
|
52
|
+
contextos/embedding/sentence_transformers.py,sha256=_HeMO0dge2XLs2yolThTq8HhHijIFB76OBXviyzEZjs,2632
|
|
53
|
+
contextos/mcp/__init__.py,sha256=L873rgjmXRSnjVQAbmy7oeA9e7rs2c__DXRONMTQt9s,128
|
|
54
|
+
contextos/mcp/server.py,sha256=T_vFNYE5QGnbE-kGQXSHuhNuwmluksXdUexaYKfxvhY,17943
|
|
55
|
+
contextos/providers/__init__.py,sha256=BGKlbx2scaFLj-aCsCo_De1bRMW-15mZGkgZGDooyMo,385
|
|
56
|
+
contextos/providers/fake.py,sha256=uiInP7feSH-OIvaVWP1a4QxJ6BXfoNnrP0tFQYHDFH0,8558
|
|
57
|
+
contextos/providers/ollama.py,sha256=A42DEhTdXj-ezVMzlPDuXbGt8m_I5aGjGuBAkwOKOO4,11251
|
|
58
|
+
contextos/providers/openai_compatible.py,sha256=LHsve38P1UznS9V76MmwU35q3cQ_T2KIQtvZ3hi08Uk,13047
|
|
59
|
+
contextos/services/__init__.py,sha256=N8FbVIxzmZ17MgvI74TS1rjxJhNe3zgECNuQTVDp8H8,39
|
|
60
|
+
contextos/services/compilation.py,sha256=RVNsC9Dw2WiK2ONmFbTt09FhcAhC3gB_O5LttnLjuDs,20688
|
|
61
|
+
contextos/services/explainability.py,sha256=xl34T3Y_J3S4WbLhogVtGhiF12EdzYtkc4euMjqKmwE,26369
|
|
62
|
+
contextos/services/extraction.py,sha256=XrLlnOnt9XMzVnbGD2wNzhqsiJZ6E3yOphRMTEbxmQA,12375
|
|
63
|
+
contextos/services/graph.py,sha256=x46Oo_ExLkeHWj5Sy2f7S_NOWjUaeWyfbXAnqI6Bo5s,22750
|
|
64
|
+
contextos/services/graph_retrieval.py,sha256=xrvwrD54Tw-l5tWKWIM5VuWoFOrDSmgH4eLXOrG9CEY,6246
|
|
65
|
+
contextos/services/ingestion.py,sha256=bMK3bj_Z99CAJQ911-RzAYBu8TC3Pg5koQGTz_R2qNE,5892
|
|
66
|
+
contextos/services/inspection.py,sha256=L3z8A2-EOYaxdqLHGJ0XJavQOgC6XSN07cuUJZVknTo,7298
|
|
67
|
+
contextos/services/memory.py,sha256=VEv7tBxKaO9YUPUSCDKDR5lVIdKWWBndgXYSFMYjwfo,10919
|
|
68
|
+
contextos/services/model_service.py,sha256=g2eezFbyYtzVnWwCcDooqQK44KwwuSjhdrpX3YpnkmQ,18120
|
|
69
|
+
contextos/services/optimization.py,sha256=1AHieWrzJTQM1K798wj-DKAmUQNCHPPsQzpAJuN8JRw,16708
|
|
70
|
+
contextos/services/privacy.py,sha256=pfe64IbB-i-fZl0iaWZmJffvytSBosfZMw_FHUW7VOg,12374
|
|
71
|
+
contextos/services/retrieval.py,sha256=PEy4_QUvAMYUpSUxH5x_8tc1v7QP_k6bc1shllyRPPk,11953
|
|
72
|
+
contextos/services/retrieval_index.py,sha256=Lkz9TG9M4XDkyuHQpraHrZ34XsYr7Y7zHIBdE-1LdQA,3179
|
|
73
|
+
contextos/services/router.py,sha256=cZaRrkXokFcd4et2PD6R9J9SvGSmr3ySAVb3JvcTkOU,13723
|
|
74
|
+
contextos/services/secret_scanner.py,sha256=rDetCAWsCHicSYSOOuia5bLjjvAUdiWMFxn0C8x0Upo,8784
|
|
75
|
+
contextos/services/telemetry_query.py,sha256=f7_AjNnAU7b7ekJzptbvOtoX0xgSP-EZuX2yhxsw1vg,4695
|
|
76
|
+
contextos/services/temporal.py,sha256=I6gyt8i4LJxVVmlaPzkAGBjC_99payjPfv6rDW7JohQ,20947
|
|
77
|
+
contextos/services/token_counter.py,sha256=JFl_VAmRZgKMioywPCcetxR-lvi_Y39K8pIzwzE-u50,6945
|
|
78
|
+
contextos/storage/__init__.py,sha256=phTklvJrUd69BUF7lgVQ2NVB7BFKNg4Ms7m2whjb3WY,38
|
|
79
|
+
contextos/storage/connector_repo.py,sha256=y6ad3b5CacT7PZQxYStss8GVoLpuVshYtDSX4WjEggA,4656
|
|
80
|
+
contextos/storage/database.py,sha256=mmjf-cDpUnIIdNq0P5qivZ94ORwnc1Rg9noVjcd7Mqc,20315
|
|
81
|
+
contextos/storage/event_repo.py,sha256=NoNaD07oJbcOXGnVPsNospJ1cHsLNs8nbqcsUxx0EoM,4753
|
|
82
|
+
contextos/storage/graph_repo.py,sha256=jrh3U5ylF9gzGIQLr96-ERJzGJPmPr7nxn3mbmosXQ0,9855
|
|
83
|
+
contextos/storage/memory_repo.py,sha256=ASuKWAvOPXYb-6b93ac8sJNKEyucJMs6Z66YS3Vpvxg,25351
|
|
84
|
+
contextos/storage/relation_repo.py,sha256=LAUk56ILHvgTjZhtLSfMy-9kNigmW5zl90lztaWTAdo,2958
|
|
85
|
+
contextos/storage/telemetry_repo.py,sha256=lX7oJsqSNcCBrF9lqqwWQsFPmEGoO3jv-BTZcAAtVBE,20313
|
|
86
|
+
contextos/storage/lexical/__init__.py,sha256=L_YYXZKNa7PnunHXTfJdczO2b19nAfdg6ocASIsALFc,49
|
|
87
|
+
contextos/storage/lexical/bm25.py,sha256=wFlIffSi7kpWQYKx-BBs9gBLH1AZeZCrXFfiu_cuDFs,4904
|
|
88
|
+
contextos/storage/vector/__init__.py,sha256=WAmvhhDWIG3oIVFcPXSQAAGJ9Hfv0yt3lEaNCL7QzxM,49
|
|
89
|
+
contextos/storage/vector/in_memory.py,sha256=efc1zetc3ONT3MV188CKaClruu12XVseIJ1LkU0aEmQ,5681
|
|
90
|
+
contextos_memory_runtime-1.0.0rc2.dist-info/METADATA,sha256=DkpBpZEW3RWgtnv6k5MAJM4u439kWBDx9m398BddwQE,9975
|
|
91
|
+
contextos_memory_runtime-1.0.0rc2.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
92
|
+
contextos_memory_runtime-1.0.0rc2.dist-info/entry_points.txt,sha256=vgxmd1vwBUH1SXNeOysBxLmhXqyR2UCeLFlxATtG4Ac,95
|
|
93
|
+
contextos_memory_runtime-1.0.0rc2.dist-info/RECORD,,
|