cortexdb-client 0.2.0__tar.gz → 0.4.0__tar.gz
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.
- cortexdb_client-0.4.0/PKG-INFO +155 -0
- cortexdb_client-0.4.0/README.md +131 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/__init__.py +5 -1
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/admin_pb2.py +9 -5
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/admin_pb2_grpc.py +45 -0
- cortexdb_client-0.4.0/cortexdb_client/_pb/cortexdb/v1/contract_pb2.py +53 -0
- cortexdb_client-0.4.0/cortexdb_client/_pb/cortexdb/v1/contract_pb2_grpc.py +157 -0
- cortexdb_client-0.4.0/cortexdb_client/_pb/cortexdb/v1/decision_pb2.py +53 -0
- cortexdb_client-0.4.0/cortexdb_client/_pb/cortexdb/v1/decision_pb2_grpc.py +207 -0
- cortexdb_client-0.4.0/cortexdb_client/_pb/cortexdb/v1/graph_pb2.py +166 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/knowledge_pb2.py +4 -4
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/memory_pb2.py +4 -4
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/client.py +27 -0
- cortexdb_client-0.4.0/cortexdb_client/tabular.py +284 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/pyproject.toml +3 -1
- cortexdb_client-0.4.0/tests/test_tabular.py +296 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/uv.lock +642 -22
- cortexdb_client-0.2.0/PKG-INFO +0 -86
- cortexdb_client-0.2.0/README.md +0 -64
- cortexdb_client-0.2.0/cortexdb_client/_pb/cortexdb/v1/graph_pb2.py +0 -162
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/.gitignore +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/MANIFEST.in +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/__init__.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/__init__.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/__init__.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/common_pb2.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/common_pb2_grpc.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/graph_pb2_grpc.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/graphrag_pb2.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/graphrag_pb2_grpc.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/knowledge_pb2_grpc.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/memory_pb2_grpc.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/tools_pb2.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/tools_pb2_grpc.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/proto.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/examples/agent_memory.py +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/gen.sh +0 -0
- {cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/tests/test_integration.py +0 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: cortexdb-client
|
|
3
|
+
Version: 0.4.0
|
|
4
|
+
Summary: Typed gRPC client for CortexDB (AI memory + knowledge graph sidecar)
|
|
5
|
+
Project-URL: Homepage, https://github.com/liliang-cn/cortexdb
|
|
6
|
+
Project-URL: Repository, https://github.com/liliang-cn/cortexdb
|
|
7
|
+
Author: Liang Li
|
|
8
|
+
License: MIT
|
|
9
|
+
Keywords: agent-memory,ai,cortexdb,grpc,knowledge-graph,rag
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Topic :: Database
|
|
13
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
14
|
+
Requires-Python: >=3.9
|
|
15
|
+
Requires-Dist: grpcio>=1.60
|
|
16
|
+
Requires-Dist: protobuf>=4.25
|
|
17
|
+
Provides-Extra: dev
|
|
18
|
+
Requires-Dist: build; extra == 'dev'
|
|
19
|
+
Requires-Dist: grpcio-tools>=1.60; extra == 'dev'
|
|
20
|
+
Requires-Dist: twine; extra == 'dev'
|
|
21
|
+
Provides-Extra: pandas
|
|
22
|
+
Requires-Dist: pandas>=1.5; extra == 'pandas'
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
|
|
25
|
+
# cortexdb-client (Python)
|
|
26
|
+
|
|
27
|
+
Typed gRPC client for [CortexDB](https://github.com/liliang-cn/cortexdb) — a
|
|
28
|
+
pure-Go, single-file AI memory and knowledge graph database, served as a
|
|
29
|
+
sidecar (`cortexdb-grpc`). Give your Python agent (e.g. **Hermes**) durable
|
|
30
|
+
memory **and** a queryable knowledge graph.
|
|
31
|
+
|
|
32
|
+
## Install
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
pip install cortexdb-client # or: uv add cortexdb-client
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Start the sidecar (one binary, one SQLite file):
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
go install github.com/liliang-cn/cortexdb/v2/cmd/cortexdb-grpc@latest
|
|
42
|
+
CORTEXDB_PATH=agent.db CORTEXDB_GRPC_TOKEN=s3cret cortexdb-grpc
|
|
43
|
+
# listening on 127.0.0.1:47821
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Quick start
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
from cortexdb_client import CortexClient, proto
|
|
50
|
+
|
|
51
|
+
with CortexClient.connect("127.0.0.1:47821", token="s3cret") as client:
|
|
52
|
+
client.knowledge.SaveKnowledge(proto.SaveKnowledgeRequest(
|
|
53
|
+
knowledge_id="note-1",
|
|
54
|
+
content="The user is building an autonomous research agent in Python.",
|
|
55
|
+
))
|
|
56
|
+
hits = client.knowledge.SearchKnowledge(proto.SearchKnowledgeRequest(
|
|
57
|
+
query="what is the user building?", top_k=3,
|
|
58
|
+
))
|
|
59
|
+
for h in hits.results:
|
|
60
|
+
print(h.knowledge_id, h.score, h.snippet)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Sub-clients mirror the Rust crate: `client.knowledge`, `client.memory`,
|
|
64
|
+
`client.graph` (SPARQL/RDF/SHACL/inference/ontology), `client.graphrag`,
|
|
65
|
+
`client.tools` (generic tool dispatch, same surface as MCP), `client.admin`.
|
|
66
|
+
|
|
67
|
+
## Results as DataFrames or CSV
|
|
68
|
+
|
|
69
|
+
`client.tools.CallTool` answers with JSON. `cortexdb_client.tabular` turns the
|
|
70
|
+
row-shaped part of it into flat records, a pandas DataFrame or a CSV file:
|
|
71
|
+
|
|
72
|
+
```python
|
|
73
|
+
import json
|
|
74
|
+
from cortexdb_client import CortexClient, proto, tabular
|
|
75
|
+
|
|
76
|
+
with CortexClient.connect("127.0.0.1:47821", token="s3cret") as client:
|
|
77
|
+
res = client.tools.CallTool(proto.CallToolRequest(
|
|
78
|
+
name="graph_cypher_query",
|
|
79
|
+
args_json=json.dumps({"query": "MATCH (a)-[r]->(b) RETURN a, r, b LIMIT 100"}),
|
|
80
|
+
))
|
|
81
|
+
|
|
82
|
+
rows = tabular.records(res) # list of flat dicts: {"a.id": ..., "r.type": ..., "b.id": ...}
|
|
83
|
+
df = tabular.to_pandas(res) # needs the extra: pip install "cortexdb-client[pandas]"
|
|
84
|
+
tabular.to_csv(res, "edges.csv") # standard library only; to_csv(res) returns the text
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
pandas is optional and imported only inside `to_pandas()`; the base install
|
|
88
|
+
stays `grpcio` + `protobuf`.
|
|
89
|
+
|
|
90
|
+
| Tool | Table(s) |
|
|
91
|
+
| --- | --- |
|
|
92
|
+
| `graph_cypher_query` | `rows` (default) — `columns` zipped with each row |
|
|
93
|
+
| `aggregate_metadata` | `results` (default) — one row per group |
|
|
94
|
+
| `memory_search`, `knowledge_search` | `results` (default); `knowledge_search` may also carry `chunks` |
|
|
95
|
+
| `knowledge_memory_recall` | `memories`, `knowledge`, `chunks`, `graph_facts` — pass `table=` |
|
|
96
|
+
| `memory_list_all` | `memories` (default) |
|
|
97
|
+
| `graph_list_all` | `nodes`, `edges` — pass `table=` |
|
|
98
|
+
| `search_text`, `recall_log_list`, `graph_property_values`, … | the one top-level list of objects (`chunks`, `recalls`, `values`) |
|
|
99
|
+
|
|
100
|
+
`tabular.tables(res)` names the tables a result has. A result with more than one
|
|
101
|
+
and no `rows` / `results` raises `ValueError` until you pick:
|
|
102
|
+
`tabular.records(res, "edges")`.
|
|
103
|
+
|
|
104
|
+
How a row becomes columns:
|
|
105
|
+
|
|
106
|
+
- a scalar is a column under its key;
|
|
107
|
+
- a nested object becomes one column per leaf, keys joined with `.`
|
|
108
|
+
(`metadata.project`, `n.properties.city`); `sep="__"` changes the separator;
|
|
109
|
+
- a list becomes its JSON text, or stays a list with `lists="keep"`
|
|
110
|
+
(for `DataFrame.explode`);
|
|
111
|
+
- the `keys` of an aggregate group and the `memory` of a memory hit are lifted,
|
|
112
|
+
so their fields lead the row unprefixed (`team`, `year`, `value`, `count`;
|
|
113
|
+
`id`, `content`, …, `score`). A lifted name that collides keeps its prefix
|
|
114
|
+
(`keys.count`). Every other key of a group is a column whatever it is called,
|
|
115
|
+
so new measures need no client change;
|
|
116
|
+
- rows need not share columns: CSV leaves the cell empty, pandas gives `NaN`.
|
|
117
|
+
|
|
118
|
+
Listings page with a cursor; collect the pages, then tabulate:
|
|
119
|
+
|
|
120
|
+
```python
|
|
121
|
+
memories, cursor = [], ""
|
|
122
|
+
while True:
|
|
123
|
+
page = json.loads(client.tools.CallTool(proto.CallToolRequest(
|
|
124
|
+
name="memory_list_all", args_json=json.dumps({"cursor": cursor}))).result_json)
|
|
125
|
+
memories += tabular.records(page)
|
|
126
|
+
cursor = page.get("next_cursor", "")
|
|
127
|
+
if not cursor:
|
|
128
|
+
break
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
To analyse the SQLite file itself with DuckDB, pandas or `sqlite3`, see
|
|
132
|
+
"Data analysis" in the [guide](https://github.com/liliang-cn/cortexdb/blob/main/docs/GUIDE.md).
|
|
133
|
+
|
|
134
|
+
## Why a knowledge graph, not just vectors
|
|
135
|
+
|
|
136
|
+
Beyond semantic recall, the `graph` service lets an agent store and traverse
|
|
137
|
+
**entities and relations** — multi-hop questions like "who, among the people
|
|
138
|
+
Alice knows, works on X" — with SPARQL, RDFS-lite inference, and SHACL-lite
|
|
139
|
+
validation. That is the capability most agent-memory layers lack.
|
|
140
|
+
|
|
141
|
+
## Embeddings
|
|
142
|
+
|
|
143
|
+
Lexical mode needs no keys. Point the sidecar at any OpenAI-compatible
|
|
144
|
+
embeddings endpoint (e.g. Ollama) to enable vector retrieval:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
OPENAI_BASE_URL=http://localhost:11434/v1 \
|
|
148
|
+
CORTEXDB_EMBED_MODEL=embeddinggemma CORTEXDB_EMBED_DIM=768 \
|
|
149
|
+
cortexdb-grpc
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Regenerating the protobuf code
|
|
153
|
+
|
|
154
|
+
Generated code is committed under `cortexdb_client/_pb`. To regenerate after a
|
|
155
|
+
proto change: `uv run --extra dev ./gen.sh`.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# cortexdb-client (Python)
|
|
2
|
+
|
|
3
|
+
Typed gRPC client for [CortexDB](https://github.com/liliang-cn/cortexdb) — a
|
|
4
|
+
pure-Go, single-file AI memory and knowledge graph database, served as a
|
|
5
|
+
sidecar (`cortexdb-grpc`). Give your Python agent (e.g. **Hermes**) durable
|
|
6
|
+
memory **and** a queryable knowledge graph.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
pip install cortexdb-client # or: uv add cortexdb-client
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Start the sidecar (one binary, one SQLite file):
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
go install github.com/liliang-cn/cortexdb/v2/cmd/cortexdb-grpc@latest
|
|
18
|
+
CORTEXDB_PATH=agent.db CORTEXDB_GRPC_TOKEN=s3cret cortexdb-grpc
|
|
19
|
+
# listening on 127.0.0.1:47821
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Quick start
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
from cortexdb_client import CortexClient, proto
|
|
26
|
+
|
|
27
|
+
with CortexClient.connect("127.0.0.1:47821", token="s3cret") as client:
|
|
28
|
+
client.knowledge.SaveKnowledge(proto.SaveKnowledgeRequest(
|
|
29
|
+
knowledge_id="note-1",
|
|
30
|
+
content="The user is building an autonomous research agent in Python.",
|
|
31
|
+
))
|
|
32
|
+
hits = client.knowledge.SearchKnowledge(proto.SearchKnowledgeRequest(
|
|
33
|
+
query="what is the user building?", top_k=3,
|
|
34
|
+
))
|
|
35
|
+
for h in hits.results:
|
|
36
|
+
print(h.knowledge_id, h.score, h.snippet)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Sub-clients mirror the Rust crate: `client.knowledge`, `client.memory`,
|
|
40
|
+
`client.graph` (SPARQL/RDF/SHACL/inference/ontology), `client.graphrag`,
|
|
41
|
+
`client.tools` (generic tool dispatch, same surface as MCP), `client.admin`.
|
|
42
|
+
|
|
43
|
+
## Results as DataFrames or CSV
|
|
44
|
+
|
|
45
|
+
`client.tools.CallTool` answers with JSON. `cortexdb_client.tabular` turns the
|
|
46
|
+
row-shaped part of it into flat records, a pandas DataFrame or a CSV file:
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
import json
|
|
50
|
+
from cortexdb_client import CortexClient, proto, tabular
|
|
51
|
+
|
|
52
|
+
with CortexClient.connect("127.0.0.1:47821", token="s3cret") as client:
|
|
53
|
+
res = client.tools.CallTool(proto.CallToolRequest(
|
|
54
|
+
name="graph_cypher_query",
|
|
55
|
+
args_json=json.dumps({"query": "MATCH (a)-[r]->(b) RETURN a, r, b LIMIT 100"}),
|
|
56
|
+
))
|
|
57
|
+
|
|
58
|
+
rows = tabular.records(res) # list of flat dicts: {"a.id": ..., "r.type": ..., "b.id": ...}
|
|
59
|
+
df = tabular.to_pandas(res) # needs the extra: pip install "cortexdb-client[pandas]"
|
|
60
|
+
tabular.to_csv(res, "edges.csv") # standard library only; to_csv(res) returns the text
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
pandas is optional and imported only inside `to_pandas()`; the base install
|
|
64
|
+
stays `grpcio` + `protobuf`.
|
|
65
|
+
|
|
66
|
+
| Tool | Table(s) |
|
|
67
|
+
| --- | --- |
|
|
68
|
+
| `graph_cypher_query` | `rows` (default) — `columns` zipped with each row |
|
|
69
|
+
| `aggregate_metadata` | `results` (default) — one row per group |
|
|
70
|
+
| `memory_search`, `knowledge_search` | `results` (default); `knowledge_search` may also carry `chunks` |
|
|
71
|
+
| `knowledge_memory_recall` | `memories`, `knowledge`, `chunks`, `graph_facts` — pass `table=` |
|
|
72
|
+
| `memory_list_all` | `memories` (default) |
|
|
73
|
+
| `graph_list_all` | `nodes`, `edges` — pass `table=` |
|
|
74
|
+
| `search_text`, `recall_log_list`, `graph_property_values`, … | the one top-level list of objects (`chunks`, `recalls`, `values`) |
|
|
75
|
+
|
|
76
|
+
`tabular.tables(res)` names the tables a result has. A result with more than one
|
|
77
|
+
and no `rows` / `results` raises `ValueError` until you pick:
|
|
78
|
+
`tabular.records(res, "edges")`.
|
|
79
|
+
|
|
80
|
+
How a row becomes columns:
|
|
81
|
+
|
|
82
|
+
- a scalar is a column under its key;
|
|
83
|
+
- a nested object becomes one column per leaf, keys joined with `.`
|
|
84
|
+
(`metadata.project`, `n.properties.city`); `sep="__"` changes the separator;
|
|
85
|
+
- a list becomes its JSON text, or stays a list with `lists="keep"`
|
|
86
|
+
(for `DataFrame.explode`);
|
|
87
|
+
- the `keys` of an aggregate group and the `memory` of a memory hit are lifted,
|
|
88
|
+
so their fields lead the row unprefixed (`team`, `year`, `value`, `count`;
|
|
89
|
+
`id`, `content`, …, `score`). A lifted name that collides keeps its prefix
|
|
90
|
+
(`keys.count`). Every other key of a group is a column whatever it is called,
|
|
91
|
+
so new measures need no client change;
|
|
92
|
+
- rows need not share columns: CSV leaves the cell empty, pandas gives `NaN`.
|
|
93
|
+
|
|
94
|
+
Listings page with a cursor; collect the pages, then tabulate:
|
|
95
|
+
|
|
96
|
+
```python
|
|
97
|
+
memories, cursor = [], ""
|
|
98
|
+
while True:
|
|
99
|
+
page = json.loads(client.tools.CallTool(proto.CallToolRequest(
|
|
100
|
+
name="memory_list_all", args_json=json.dumps({"cursor": cursor}))).result_json)
|
|
101
|
+
memories += tabular.records(page)
|
|
102
|
+
cursor = page.get("next_cursor", "")
|
|
103
|
+
if not cursor:
|
|
104
|
+
break
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
To analyse the SQLite file itself with DuckDB, pandas or `sqlite3`, see
|
|
108
|
+
"Data analysis" in the [guide](https://github.com/liliang-cn/cortexdb/blob/main/docs/GUIDE.md).
|
|
109
|
+
|
|
110
|
+
## Why a knowledge graph, not just vectors
|
|
111
|
+
|
|
112
|
+
Beyond semantic recall, the `graph` service lets an agent store and traverse
|
|
113
|
+
**entities and relations** — multi-hop questions like "who, among the people
|
|
114
|
+
Alice knows, works on X" — with SPARQL, RDFS-lite inference, and SHACL-lite
|
|
115
|
+
validation. That is the capability most agent-memory layers lack.
|
|
116
|
+
|
|
117
|
+
## Embeddings
|
|
118
|
+
|
|
119
|
+
Lexical mode needs no keys. Point the sidecar at any OpenAI-compatible
|
|
120
|
+
embeddings endpoint (e.g. Ollama) to enable vector retrieval:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
OPENAI_BASE_URL=http://localhost:11434/v1 \
|
|
124
|
+
CORTEXDB_EMBED_MODEL=embeddinggemma CORTEXDB_EMBED_DIM=768 \
|
|
125
|
+
cortexdb-grpc
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Regenerating the protobuf code
|
|
129
|
+
|
|
130
|
+
Generated code is committed under `cortexdb_client/_pb`. To regenerate after a
|
|
131
|
+
proto change: `uv run --extra dev ./gen.sh`.
|
|
@@ -16,10 +16,14 @@ Example::
|
|
|
16
16
|
The sub-client accessors mirror the Rust crate: ``client.knowledge``,
|
|
17
17
|
``client.memory``, ``client.graph``, ``client.graphrag``, ``client.tools``,
|
|
18
18
|
``client.admin``.
|
|
19
|
+
|
|
20
|
+
``cortexdb_client.tabular`` turns a tool result into flat records, a pandas
|
|
21
|
+
DataFrame or CSV.
|
|
19
22
|
"""
|
|
20
23
|
|
|
21
24
|
from .client import CortexClient
|
|
22
25
|
from . import proto
|
|
26
|
+
from . import tabular
|
|
23
27
|
|
|
24
|
-
__all__ = ["CortexClient", "proto"]
|
|
28
|
+
__all__ = ["CortexClient", "proto", "tabular"]
|
|
25
29
|
__version__ = "0.1.0"
|
{cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/admin_pb2.py
RENAMED
|
@@ -24,7 +24,7 @@ _sym_db = _symbol_database.Default()
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x63ortexdb/v1/admin.proto\x12\x0b\x63ortexdb.v1\"\x0f\n\rHealthRequest\"\x1c\n\x0eHealthResponse\x12\n\n\x02ok\x18\x01 \x01(\x08\"\r\n\x0bInfoRequest\"
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x63ortexdb/v1/admin.proto\x12\x0b\x63ortexdb.v1\"\x0f\n\rHealthRequest\"\x1c\n\x0eHealthResponse\x12\n\n\x02ok\x18\x01 \x01(\x08\"\r\n\x0bInfoRequest\"\x99\x01\n\x0cInfoResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x62_path\x18\x02 \x01(\t\x12\x14\n\x0chas_embedder\x18\x03 \x01(\x08\x12\x18\n\x10\x65mbedder_healthy\x18\x04 \x01(\x08\x12\x16\n\x0e\x65mbedder_error\x18\x05 \x01(\t\x12\x1f\n\x17memories_without_vector\x18\x06 \x01(\x03\"\x1d\n\rBackupRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\"2\n\x0e\x42\x61\x63kupResponse\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x12\n\nsize_bytes\x18\x02 \x01(\x03\x32\xd1\x01\n\x0c\x41\x64minService\x12\x41\n\x06Health\x12\x1a.cortexdb.v1.HealthRequest\x1a\x1b.cortexdb.v1.HealthResponse\x12;\n\x04Info\x12\x18.cortexdb.v1.InfoRequest\x1a\x19.cortexdb.v1.InfoResponse\x12\x41\n\x06\x42\x61\x63kup\x12\x1a.cortexdb.v1.BackupRequest\x1a\x1b.cortexdb.v1.BackupResponseB4Z2github.com/liliang-cn/cortexdb/v2/pkg/rpc/v1;rpcv1b\x06proto3')
|
|
28
28
|
|
|
29
29
|
_globals = globals()
|
|
30
30
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -38,8 +38,12 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
38
38
|
_globals['_HEALTHRESPONSE']._serialized_end=85
|
|
39
39
|
_globals['_INFOREQUEST']._serialized_start=87
|
|
40
40
|
_globals['_INFOREQUEST']._serialized_end=100
|
|
41
|
-
_globals['_INFORESPONSE']._serialized_start=
|
|
42
|
-
_globals['_INFORESPONSE']._serialized_end=
|
|
43
|
-
_globals['
|
|
44
|
-
_globals['
|
|
41
|
+
_globals['_INFORESPONSE']._serialized_start=103
|
|
42
|
+
_globals['_INFORESPONSE']._serialized_end=256
|
|
43
|
+
_globals['_BACKUPREQUEST']._serialized_start=258
|
|
44
|
+
_globals['_BACKUPREQUEST']._serialized_end=287
|
|
45
|
+
_globals['_BACKUPRESPONSE']._serialized_start=289
|
|
46
|
+
_globals['_BACKUPRESPONSE']._serialized_end=339
|
|
47
|
+
_globals['_ADMINSERVICE']._serialized_start=342
|
|
48
|
+
_globals['_ADMINSERVICE']._serialized_end=551
|
|
45
49
|
# @@protoc_insertion_point(module_scope)
|
{cortexdb_client-0.2.0 → cortexdb_client-0.4.0}/cortexdb_client/_pb/cortexdb/v1/admin_pb2_grpc.py
RENAMED
|
@@ -44,6 +44,11 @@ class AdminServiceStub:
|
|
|
44
44
|
request_serializer=cortexdb_dot_v1_dot_admin__pb2.InfoRequest.SerializeToString,
|
|
45
45
|
response_deserializer=cortexdb_dot_v1_dot_admin__pb2.InfoResponse.FromString,
|
|
46
46
|
_registered_method=True)
|
|
47
|
+
self.Backup = channel.unary_unary(
|
|
48
|
+
'/cortexdb.v1.AdminService/Backup',
|
|
49
|
+
request_serializer=cortexdb_dot_v1_dot_admin__pb2.BackupRequest.SerializeToString,
|
|
50
|
+
response_deserializer=cortexdb_dot_v1_dot_admin__pb2.BackupResponse.FromString,
|
|
51
|
+
_registered_method=True)
|
|
47
52
|
|
|
48
53
|
|
|
49
54
|
class AdminServiceServicer:
|
|
@@ -61,6 +66,14 @@ class AdminServiceServicer:
|
|
|
61
66
|
context.set_details('Method not implemented!')
|
|
62
67
|
raise NotImplementedError('Method not implemented!')
|
|
63
68
|
|
|
69
|
+
def Backup(self, request, context):
|
|
70
|
+
"""Backup snapshots the whole brain without stopping the server. Backends that
|
|
71
|
+
are backed up by their own tooling (PostgreSQL) fail it with UNIMPLEMENTED.
|
|
72
|
+
"""
|
|
73
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
74
|
+
context.set_details('Method not implemented!')
|
|
75
|
+
raise NotImplementedError('Method not implemented!')
|
|
76
|
+
|
|
64
77
|
|
|
65
78
|
def add_AdminServiceServicer_to_server(servicer, server):
|
|
66
79
|
rpc_method_handlers = {
|
|
@@ -74,6 +87,11 @@ def add_AdminServiceServicer_to_server(servicer, server):
|
|
|
74
87
|
request_deserializer=cortexdb_dot_v1_dot_admin__pb2.InfoRequest.FromString,
|
|
75
88
|
response_serializer=cortexdb_dot_v1_dot_admin__pb2.InfoResponse.SerializeToString,
|
|
76
89
|
),
|
|
90
|
+
'Backup': grpc.unary_unary_rpc_method_handler(
|
|
91
|
+
servicer.Backup,
|
|
92
|
+
request_deserializer=cortexdb_dot_v1_dot_admin__pb2.BackupRequest.FromString,
|
|
93
|
+
response_serializer=cortexdb_dot_v1_dot_admin__pb2.BackupResponse.SerializeToString,
|
|
94
|
+
),
|
|
77
95
|
}
|
|
78
96
|
generic_handler = grpc.method_handlers_generic_handler(
|
|
79
97
|
'cortexdb.v1.AdminService', rpc_method_handlers)
|
|
@@ -138,3 +156,30 @@ class AdminService:
|
|
|
138
156
|
timeout,
|
|
139
157
|
metadata,
|
|
140
158
|
_registered_method=True)
|
|
159
|
+
|
|
160
|
+
@staticmethod
|
|
161
|
+
def Backup(request,
|
|
162
|
+
target,
|
|
163
|
+
options=(),
|
|
164
|
+
channel_credentials=None,
|
|
165
|
+
call_credentials=None,
|
|
166
|
+
insecure=False,
|
|
167
|
+
compression=None,
|
|
168
|
+
wait_for_ready=None,
|
|
169
|
+
timeout=None,
|
|
170
|
+
metadata=None):
|
|
171
|
+
return grpc.experimental.unary_unary(
|
|
172
|
+
request,
|
|
173
|
+
target,
|
|
174
|
+
'/cortexdb.v1.AdminService/Backup',
|
|
175
|
+
cortexdb_dot_v1_dot_admin__pb2.BackupRequest.SerializeToString,
|
|
176
|
+
cortexdb_dot_v1_dot_admin__pb2.BackupResponse.FromString,
|
|
177
|
+
options,
|
|
178
|
+
channel_credentials,
|
|
179
|
+
insecure,
|
|
180
|
+
call_credentials,
|
|
181
|
+
compression,
|
|
182
|
+
wait_for_ready,
|
|
183
|
+
timeout,
|
|
184
|
+
metadata,
|
|
185
|
+
_registered_method=True)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: cortexdb/v1/contract.proto
|
|
5
|
+
# Protobuf Python Version: 6.33.5
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
33,
|
|
16
|
+
5,
|
|
17
|
+
'',
|
|
18
|
+
'cortexdb/v1/contract.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x63ortexdb/v1/contract.proto\x12\x0b\x63ortexdb.v1\"*\n\nGradeCount\x12\r\n\x05nodes\x18\x01 \x01(\x03\x12\r\n\x05\x65\x64ges\x18\x02 \x01(\x03\"\x16\n\x14\x43ontractTallyRequest\"\xa6\x03\n\x15\x43ontractTallyResponse\x12)\n\x08verified\x18\x01 \x01(\x0b\x32\x17.cortexdb.v1.GradeCount\x12\x30\n\x0fself_consistent\x18\x02 \x01(\x0b\x32\x17.cortexdb.v1.GradeCount\x12)\n\x08\x61sserted\x18\x03 \x01(\x0b\x32\x17.cortexdb.v1.GradeCount\x12%\n\x04held\x18\x04 \x01(\x0b\x32\x17.cortexdb.v1.GradeCount\x12(\n\x07refused\x18\x05 \x01(\x0b\x32\x17.cortexdb.v1.GradeCount\x12)\n\x08untagged\x18\x06 \x01(\x0b\x32\x17.cortexdb.v1.GradeCount\x12@\n\x07unknown\x18\x07 \x03(\x0b\x32/.cortexdb.v1.ContractTallyResponse.UnknownEntry\x1aG\n\x0cUnknownEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.cortexdb.v1.GradeCount:\x02\x38\x01\"\xc6\x01\n\x0cGradedRecord\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04\x65\x64ge\x18\x02 \x01(\x08\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x04 \x01(\t\x12\x0c\n\x04\x66rom\x18\x05 \x01(\t\x12\n\n\x02to\x18\x06 \x01(\t\x12\r\n\x05grade\x18\x07 \x01(\t\x12\r\n\x05state\x18\x08 \x01(\t\x12\x0b\n\x03why\x18\t \x01(\t\x12\x0e\n\x06source\x18\n \x01(\t\x12\x10\n\x08producer\x18\x0b \x01(\t\x12\n\n\x02\x61t\x18\x0c \x01(\t\x12\n\n\x02\x62y\x18\r \x01(\t\"&\n\x15NeedsAttentionRequest\x12\r\n\x05limit\x18\x01 \x01(\x05\"f\n\x16NeedsAttentionResponse\x12*\n\x07records\x18\x01 \x03(\x0b\x32\x19.cortexdb.v1.GradedRecord\x12\x11\n\ttruncated\x18\x02 \x01(\x08\x12\r\n\x05total\x18\x03 \x01(\x03\x32\xc4\x01\n\x0f\x43ontractService\x12V\n\rContractTally\x12!.cortexdb.v1.ContractTallyRequest\x1a\".cortexdb.v1.ContractTallyResponse\x12Y\n\x0eNeedsAttention\x12\".cortexdb.v1.NeedsAttentionRequest\x1a#.cortexdb.v1.NeedsAttentionResponseB4Z2github.com/liliang-cn/cortexdb/v2/pkg/rpc/v1;rpcv1b\x06proto3')
|
|
28
|
+
|
|
29
|
+
_globals = globals()
|
|
30
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cortexdb.v1.contract_pb2', _globals)
|
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
34
|
+
_globals['DESCRIPTOR']._serialized_options = b'Z2github.com/liliang-cn/cortexdb/v2/pkg/rpc/v1;rpcv1'
|
|
35
|
+
_globals['_CONTRACTTALLYRESPONSE_UNKNOWNENTRY']._loaded_options = None
|
|
36
|
+
_globals['_CONTRACTTALLYRESPONSE_UNKNOWNENTRY']._serialized_options = b'8\001'
|
|
37
|
+
_globals['_GRADECOUNT']._serialized_start=43
|
|
38
|
+
_globals['_GRADECOUNT']._serialized_end=85
|
|
39
|
+
_globals['_CONTRACTTALLYREQUEST']._serialized_start=87
|
|
40
|
+
_globals['_CONTRACTTALLYREQUEST']._serialized_end=109
|
|
41
|
+
_globals['_CONTRACTTALLYRESPONSE']._serialized_start=112
|
|
42
|
+
_globals['_CONTRACTTALLYRESPONSE']._serialized_end=534
|
|
43
|
+
_globals['_CONTRACTTALLYRESPONSE_UNKNOWNENTRY']._serialized_start=463
|
|
44
|
+
_globals['_CONTRACTTALLYRESPONSE_UNKNOWNENTRY']._serialized_end=534
|
|
45
|
+
_globals['_GRADEDRECORD']._serialized_start=537
|
|
46
|
+
_globals['_GRADEDRECORD']._serialized_end=735
|
|
47
|
+
_globals['_NEEDSATTENTIONREQUEST']._serialized_start=737
|
|
48
|
+
_globals['_NEEDSATTENTIONREQUEST']._serialized_end=775
|
|
49
|
+
_globals['_NEEDSATTENTIONRESPONSE']._serialized_start=777
|
|
50
|
+
_globals['_NEEDSATTENTIONRESPONSE']._serialized_end=879
|
|
51
|
+
_globals['_CONTRACTSERVICE']._serialized_start=882
|
|
52
|
+
_globals['_CONTRACTSERVICE']._serialized_end=1078
|
|
53
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
import warnings
|
|
5
|
+
|
|
6
|
+
from cortexdb_client._pb.cortexdb.v1 import contract_pb2 as cortexdb_dot_v1_dot_contract__pb2
|
|
7
|
+
|
|
8
|
+
GRPC_GENERATED_VERSION = '1.81.0'
|
|
9
|
+
GRPC_VERSION = grpc.__version__
|
|
10
|
+
_version_not_supported = False
|
|
11
|
+
|
|
12
|
+
try:
|
|
13
|
+
from grpc._utilities import first_version_is_lower
|
|
14
|
+
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
|
15
|
+
except ImportError:
|
|
16
|
+
_version_not_supported = True
|
|
17
|
+
|
|
18
|
+
if _version_not_supported:
|
|
19
|
+
raise RuntimeError(
|
|
20
|
+
f'The grpc package installed is at version {GRPC_VERSION},'
|
|
21
|
+
+ ' but the generated code in cortexdb/v1/contract_pb2_grpc.py depends on'
|
|
22
|
+
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
|
23
|
+
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
|
24
|
+
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ContractServiceStub:
|
|
29
|
+
"""ContractService reads the knowledge contract. Read-only by construction:
|
|
30
|
+
what goes on the shelf is written through the stores' own RPCs, and a
|
|
31
|
+
producer that could stamp a grade without writing the record would be a way
|
|
32
|
+
to make the tally disagree with the shelf.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
def __init__(self, channel):
|
|
36
|
+
"""Constructor.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
channel: A grpc.Channel.
|
|
40
|
+
"""
|
|
41
|
+
self.ContractTally = channel.unary_unary(
|
|
42
|
+
'/cortexdb.v1.ContractService/ContractTally',
|
|
43
|
+
request_serializer=cortexdb_dot_v1_dot_contract__pb2.ContractTallyRequest.SerializeToString,
|
|
44
|
+
response_deserializer=cortexdb_dot_v1_dot_contract__pb2.ContractTallyResponse.FromString,
|
|
45
|
+
_registered_method=True)
|
|
46
|
+
self.NeedsAttention = channel.unary_unary(
|
|
47
|
+
'/cortexdb.v1.ContractService/NeedsAttention',
|
|
48
|
+
request_serializer=cortexdb_dot_v1_dot_contract__pb2.NeedsAttentionRequest.SerializeToString,
|
|
49
|
+
response_deserializer=cortexdb_dot_v1_dot_contract__pb2.NeedsAttentionResponse.FromString,
|
|
50
|
+
_registered_method=True)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class ContractServiceServicer:
|
|
54
|
+
"""ContractService reads the knowledge contract. Read-only by construction:
|
|
55
|
+
what goes on the shelf is written through the stores' own RPCs, and a
|
|
56
|
+
producer that could stamp a grade without writing the record would be a way
|
|
57
|
+
to make the tally disagree with the shelf.
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
def ContractTally(self, request, context):
|
|
61
|
+
"""ContractTally counts every node and edge by its grade.
|
|
62
|
+
"""
|
|
63
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
64
|
+
context.set_details('Method not implemented!')
|
|
65
|
+
raise NotImplementedError('Method not implemented!')
|
|
66
|
+
|
|
67
|
+
def NeedsAttention(self, request, context):
|
|
68
|
+
"""NeedsAttention lists what a person has to deal with. It is a named call
|
|
69
|
+
rather than a filter language because it is the one question the contract
|
|
70
|
+
exists to make answerable, and because held and refused belong in one list
|
|
71
|
+
— split into two calls, it is likely only one gets rendered.
|
|
72
|
+
"""
|
|
73
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
74
|
+
context.set_details('Method not implemented!')
|
|
75
|
+
raise NotImplementedError('Method not implemented!')
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def add_ContractServiceServicer_to_server(servicer, server):
|
|
79
|
+
rpc_method_handlers = {
|
|
80
|
+
'ContractTally': grpc.unary_unary_rpc_method_handler(
|
|
81
|
+
servicer.ContractTally,
|
|
82
|
+
request_deserializer=cortexdb_dot_v1_dot_contract__pb2.ContractTallyRequest.FromString,
|
|
83
|
+
response_serializer=cortexdb_dot_v1_dot_contract__pb2.ContractTallyResponse.SerializeToString,
|
|
84
|
+
),
|
|
85
|
+
'NeedsAttention': grpc.unary_unary_rpc_method_handler(
|
|
86
|
+
servicer.NeedsAttention,
|
|
87
|
+
request_deserializer=cortexdb_dot_v1_dot_contract__pb2.NeedsAttentionRequest.FromString,
|
|
88
|
+
response_serializer=cortexdb_dot_v1_dot_contract__pb2.NeedsAttentionResponse.SerializeToString,
|
|
89
|
+
),
|
|
90
|
+
}
|
|
91
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
92
|
+
'cortexdb.v1.ContractService', rpc_method_handlers)
|
|
93
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
94
|
+
server.add_registered_method_handlers('cortexdb.v1.ContractService', rpc_method_handlers)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
# This class is part of an EXPERIMENTAL API.
|
|
98
|
+
class ContractService:
|
|
99
|
+
"""ContractService reads the knowledge contract. Read-only by construction:
|
|
100
|
+
what goes on the shelf is written through the stores' own RPCs, and a
|
|
101
|
+
producer that could stamp a grade without writing the record would be a way
|
|
102
|
+
to make the tally disagree with the shelf.
|
|
103
|
+
"""
|
|
104
|
+
|
|
105
|
+
@staticmethod
|
|
106
|
+
def ContractTally(request,
|
|
107
|
+
target,
|
|
108
|
+
options=(),
|
|
109
|
+
channel_credentials=None,
|
|
110
|
+
call_credentials=None,
|
|
111
|
+
insecure=False,
|
|
112
|
+
compression=None,
|
|
113
|
+
wait_for_ready=None,
|
|
114
|
+
timeout=None,
|
|
115
|
+
metadata=None):
|
|
116
|
+
return grpc.experimental.unary_unary(
|
|
117
|
+
request,
|
|
118
|
+
target,
|
|
119
|
+
'/cortexdb.v1.ContractService/ContractTally',
|
|
120
|
+
cortexdb_dot_v1_dot_contract__pb2.ContractTallyRequest.SerializeToString,
|
|
121
|
+
cortexdb_dot_v1_dot_contract__pb2.ContractTallyResponse.FromString,
|
|
122
|
+
options,
|
|
123
|
+
channel_credentials,
|
|
124
|
+
insecure,
|
|
125
|
+
call_credentials,
|
|
126
|
+
compression,
|
|
127
|
+
wait_for_ready,
|
|
128
|
+
timeout,
|
|
129
|
+
metadata,
|
|
130
|
+
_registered_method=True)
|
|
131
|
+
|
|
132
|
+
@staticmethod
|
|
133
|
+
def NeedsAttention(request,
|
|
134
|
+
target,
|
|
135
|
+
options=(),
|
|
136
|
+
channel_credentials=None,
|
|
137
|
+
call_credentials=None,
|
|
138
|
+
insecure=False,
|
|
139
|
+
compression=None,
|
|
140
|
+
wait_for_ready=None,
|
|
141
|
+
timeout=None,
|
|
142
|
+
metadata=None):
|
|
143
|
+
return grpc.experimental.unary_unary(
|
|
144
|
+
request,
|
|
145
|
+
target,
|
|
146
|
+
'/cortexdb.v1.ContractService/NeedsAttention',
|
|
147
|
+
cortexdb_dot_v1_dot_contract__pb2.NeedsAttentionRequest.SerializeToString,
|
|
148
|
+
cortexdb_dot_v1_dot_contract__pb2.NeedsAttentionResponse.FromString,
|
|
149
|
+
options,
|
|
150
|
+
channel_credentials,
|
|
151
|
+
insecure,
|
|
152
|
+
call_credentials,
|
|
153
|
+
compression,
|
|
154
|
+
wait_for_ready,
|
|
155
|
+
timeout,
|
|
156
|
+
metadata,
|
|
157
|
+
_registered_method=True)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: cortexdb/v1/decision.proto
|
|
5
|
+
# Protobuf Python Version: 6.33.5
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
33,
|
|
16
|
+
5,
|
|
17
|
+
'',
|
|
18
|
+
'cortexdb/v1/decision.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x63ortexdb/v1/decision.proto\x12\x0b\x63ortexdb.v1\"\xa6\x01\n\x0f\x44\x65\x63isionPremise\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04\x65\x64ge\x18\x02 \x01(\x08\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x04 \x01(\t\x12\x0c\n\x04\x66rom\x18\x05 \x01(\t\x12\n\n\x02to\x18\x06 \x01(\t\x12\x10\n\x08\x64\x65\x63ision\x18\x07 \x01(\x08\x12\r\n\x05grade\x18\x08 \x01(\t\x12\x0e\n\x06source\x18\t \x01(\t\x12\x0f\n\x07missing\x18\n \x01(\x08\"\x80\x02\n\x08\x44\x65\x63ision\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\r\n\x05\x61\x63tor\x18\x03 \x01(\t\x12\n\n\x02\x61t\x18\x04 \x01(\t\x12\x0f\n\x07verdict\x18\x05 \x01(\t\x12\x0f\n\x07subject\x18\x06 \x01(\t\x12\x0c\n\x04note\x18\x07 \x01(\t\x12\r\n\x05grade\x18\x08 \x01(\t\x12\x0e\n\x06source\x18\t \x01(\t\x12\x10\n\x08producer\x18\n \x01(\t\x12\r\n\x05state\x18\x0b \x01(\t\x12\x0b\n\x03why\x18\x0c \x01(\t\x12.\n\x08premises\x18\r \x03(\x0b\x32\x1c.cortexdb.v1.DecisionPremise\x12\x12\n\nsupersedes\x18\x0e \x03(\t\"\xef\x01\n\x15RecordDecisionRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\r\n\x05\x61\x63tor\x18\x03 \x01(\t\x12\x0c\n\x04note\x18\x04 \x01(\t\x12\x0f\n\x07verdict\x18\x05 \x01(\t\x12\x0f\n\x07subject\x18\x06 \x01(\t\x12\x10\n\x08premises\x18\x07 \x03(\t\x12\x12\n\nsupersedes\x18\x08 \x01(\t\x12\n\n\x02\x61t\x18\t \x01(\t\x12\x0e\n\x06source\x18\n \x01(\t\x12\x10\n\x08producer\x18\x0b \x01(\t\x12\r\n\x05grade\x18\x0c \x01(\t\x12\r\n\x05state\x18\r \x01(\t\x12\x0b\n\x03why\x18\x0e \x01(\t\"A\n\x16RecordDecisionResponse\x12\'\n\x08\x64\x65\x63ision\x18\x01 \x01(\x0b\x32\x15.cortexdb.v1.Decision\"5\n\x14\x44\x65\x63isionChainRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tmax_depth\x18\x02 \x01(\x05\"q\n\x15\x44\x65\x63isionChainResponse\x12\x0c\n\x04root\x18\x01 \x01(\t\x12(\n\tdecisions\x18\x02 \x03(\x0b\x32\x15.cortexdb.v1.Decision\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\ttruncated\x18\x04 \x01(\x08\"R\n\x11PrecedentsRequest\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x0f\n\x07subject\x18\x02 \x01(\t\x12\x0f\n\x07\x65xclude\x18\x03 \x01(\t\x12\r\n\x05limit\x18\x04 \x01(\x05\"`\n\x12PrecedentsResponse\x12(\n\tdecisions\x18\x01 \x03(\x0b\x32\x15.cortexdb.v1.Decision\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x11\n\ttruncated\x18\x03 \x01(\x08\x32\x93\x02\n\x0f\x44\x65\x63isionService\x12Y\n\x0eRecordDecision\x12\".cortexdb.v1.RecordDecisionRequest\x1a#.cortexdb.v1.RecordDecisionResponse\x12V\n\rDecisionChain\x12!.cortexdb.v1.DecisionChainRequest\x1a\".cortexdb.v1.DecisionChainResponse\x12M\n\nPrecedents\x12\x1e.cortexdb.v1.PrecedentsRequest\x1a\x1f.cortexdb.v1.PrecedentsResponseB4Z2github.com/liliang-cn/cortexdb/v2/pkg/rpc/v1;rpcv1b\x06proto3')
|
|
28
|
+
|
|
29
|
+
_globals = globals()
|
|
30
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cortexdb.v1.decision_pb2', _globals)
|
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
34
|
+
_globals['DESCRIPTOR']._serialized_options = b'Z2github.com/liliang-cn/cortexdb/v2/pkg/rpc/v1;rpcv1'
|
|
35
|
+
_globals['_DECISIONPREMISE']._serialized_start=44
|
|
36
|
+
_globals['_DECISIONPREMISE']._serialized_end=210
|
|
37
|
+
_globals['_DECISION']._serialized_start=213
|
|
38
|
+
_globals['_DECISION']._serialized_end=469
|
|
39
|
+
_globals['_RECORDDECISIONREQUEST']._serialized_start=472
|
|
40
|
+
_globals['_RECORDDECISIONREQUEST']._serialized_end=711
|
|
41
|
+
_globals['_RECORDDECISIONRESPONSE']._serialized_start=713
|
|
42
|
+
_globals['_RECORDDECISIONRESPONSE']._serialized_end=778
|
|
43
|
+
_globals['_DECISIONCHAINREQUEST']._serialized_start=780
|
|
44
|
+
_globals['_DECISIONCHAINREQUEST']._serialized_end=833
|
|
45
|
+
_globals['_DECISIONCHAINRESPONSE']._serialized_start=835
|
|
46
|
+
_globals['_DECISIONCHAINRESPONSE']._serialized_end=948
|
|
47
|
+
_globals['_PRECEDENTSREQUEST']._serialized_start=950
|
|
48
|
+
_globals['_PRECEDENTSREQUEST']._serialized_end=1032
|
|
49
|
+
_globals['_PRECEDENTSRESPONSE']._serialized_start=1034
|
|
50
|
+
_globals['_PRECEDENTSRESPONSE']._serialized_end=1130
|
|
51
|
+
_globals['_DECISIONSERVICE']._serialized_start=1133
|
|
52
|
+
_globals['_DECISIONSERVICE']._serialized_end=1408
|
|
53
|
+
# @@protoc_insertion_point(module_scope)
|