graphsight-langgraph 0.3.0__tar.gz → 0.3.1__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.
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/PKG-INFO +24 -7
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/README.md +23 -6
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph.egg-info/PKG-INFO +24 -7
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/pyproject.toml +1 -1
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/LICENSE +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph/__init__.py +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph/_text.py +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph/capture.py +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph/github_ingest.py +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph/mapper.py +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph/schema.py +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph/tracer.py +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph.egg-info/SOURCES.txt +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph.egg-info/dependency_links.txt +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph.egg-info/entry_points.txt +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph.egg-info/requires.txt +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph.egg-info/top_level.txt +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/setup.cfg +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/tests/test_capture.py +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/tests/test_mapper.py +0 -0
- {graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/tests/test_tracer.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: graphsight-langgraph
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: X-ray for LangGraph retrieval: one callback handler captures every retriever call, score, and relational path — rendered as an interactive graph.
|
|
5
5
|
Author: Arush Karnatak
|
|
6
6
|
License: MIT
|
|
@@ -31,10 +31,13 @@ Dynamic: license-file
|
|
|
31
31
|
[](https://pypi.org/project/graphsight-langgraph/)
|
|
32
32
|
[](https://github.com/Kcodess2807/graphsight/blob/main/graphsight-langgraph/LICENSE)
|
|
33
33
|
|
|
34
|
-
**See
|
|
34
|
+
**See which retrieved documents your agent actually used — and which it ignored.**
|
|
35
|
+
|
|
36
|
+
Retrieval in an agent is a black box: twelve documents go in, an answer comes
|
|
37
|
+
out, and when the answer is wrong you're left guessing which context misled
|
|
38
|
+
it. The nine documents the model ignored still cost you tokens, latency, and
|
|
39
|
+
a wider surface to go wrong on — and nothing tells you which nine.
|
|
35
40
|
|
|
36
|
-
Retrieval in an agent is a black box: documents go in, an answer comes out,
|
|
37
|
-
and when the answer is wrong you're left guessing which context misled it.
|
|
38
41
|
This package opens the box. One callback handler records a
|
|
39
42
|
[LangGraph](https://github.com/langchain-ai/langgraph) run — every node,
|
|
40
43
|
every retriever call, per-document scores, and (for graph-aware retrievers)
|
|
@@ -42,13 +45,18 @@ the relational paths between retrieved entities — and one command renders it
|
|
|
42
45
|
as an interactive graph in your browser.
|
|
43
46
|
|
|
44
47
|
```
|
|
45
|
-
your LangGraph agent ──▶ LangGraphTracer ──▶ AgentTrace (v0.
|
|
48
|
+
your LangGraph agent ──▶ LangGraphTracer ──▶ AgentTrace (v0.2) ──▶ graphsight viewer
|
|
46
49
|
(callbacks) neutral JSON interactive graph
|
|
47
50
|
```
|
|
48
51
|
|
|
49
52
|
Only dependency: `langchain-core`. No engine, no backend, no account —
|
|
50
53
|
nothing leaves your machine.
|
|
51
54
|
|
|
55
|
+

|
|
56
|
+
|
|
57
|
+
*A real run. `PR #101` scored **0.910** — the highest of anything retrieved — and the answer
|
|
58
|
+
never used it. `PR #412` scored **0.340** and is the one that answered.*
|
|
59
|
+
|
|
52
60
|
## Installation
|
|
53
61
|
|
|
54
62
|
```bash
|
|
@@ -171,7 +179,7 @@ retrievals.
|
|
|
171
179
|
| `capture(tracer, query=None, answer=None, dir=None) -> Path` | `finish()` + save to the history directory in one call. |
|
|
172
180
|
| `save_trace(trace, dir=None) -> Path` | Writes a finished trace to the history directory (`./.graphsight/` or `$GRAPHSIGHT_DIR`). |
|
|
173
181
|
| `to_tracestate(trace) -> dict` | Maps an `AgentTrace` to the viewer's JSON contract. Serialize with `json.dump`. |
|
|
174
|
-
| `trace.to_dict() -> dict` | The framework-neutral `AgentTrace` (schema v0.
|
|
182
|
+
| `trace.to_dict() -> dict` | The framework-neutral `AgentTrace` (schema v0.2) for your own tooling. |
|
|
175
183
|
| `AgentTrace`, `Span`, `Retrieval`, `RetrievedItem`, `TraceEdge` | Plain dataclasses defining the schema; importable for custom emitters. |
|
|
176
184
|
|
|
177
185
|
## What gets captured
|
|
@@ -214,6 +222,15 @@ Document(
|
|
|
214
222
|
`repo → Repo`, `library → Library`, `team → Team`, `tool → Tool`; anything
|
|
215
223
|
else renders as `Document`).
|
|
216
224
|
|
|
225
|
+
> **Both endpoints must be retrieved items.** The viewer can only draw an edge
|
|
226
|
+
> between two nodes it has, so an edge pointing at something you didn't return
|
|
227
|
+
> — `{"source": "person_vishal", "target": "pr_412"}` when no document has
|
|
228
|
+
> `id: "person_vishal"` — is dropped from the rendered graph. (It is preserved
|
|
229
|
+
> in `AgentTrace`, so your own tooling still sees it.) If you want people,
|
|
230
|
+
> services or tickets on the canvas, **return them as documents too**, each
|
|
231
|
+
> with its own `id`, `label` and `kind`. A retriever that emits only PRs and
|
|
232
|
+
> then links them to authors will render a flat graph with no edges at all.
|
|
233
|
+
|
|
217
234
|
### Degradation behavior
|
|
218
235
|
|
|
219
236
|
- **No edges in metadata** → a flat scored-retrieval view instead of
|
|
@@ -265,7 +282,7 @@ OpenTelemetry) emit the same shape and render in the same viewer. v0.2 adds
|
|
|
265
282
|
|---|---|
|
|
266
283
|
| Node spans but no retrievals | Config not propagated into the node's sub-runnables — see [Configuration propagation](#configuration-propagation-read-this-once). |
|
|
267
284
|
| Items without scores | Your retriever doesn't write a recognized score key to `Document.metadata` — add one (`score` is simplest). |
|
|
268
|
-
| Flat graph, no edges |
|
|
285
|
+
| Flat graph, no edges | Either your retriever doesn't emit `metadata["edges"]`, or the edges point at ids you never returned as documents — both endpoints must be retrieved items. See [Making your retriever graph-aware](#making-your-retriever-graph-aware). |
|
|
269
286
|
| `GitHub API 403` from the CLI | Rate limit (60 requests/hour unauthenticated) — pass `--token` or set `GITHUB_TOKEN`. |
|
|
270
287
|
| Garbled output on Windows consoles | Fixed in ≥ 0.1.1; upgrade. |
|
|
271
288
|
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
[](https://pypi.org/project/graphsight-langgraph/)
|
|
5
5
|
[](https://github.com/Kcodess2807/graphsight/blob/main/graphsight-langgraph/LICENSE)
|
|
6
6
|
|
|
7
|
-
**See
|
|
7
|
+
**See which retrieved documents your agent actually used — and which it ignored.**
|
|
8
|
+
|
|
9
|
+
Retrieval in an agent is a black box: twelve documents go in, an answer comes
|
|
10
|
+
out, and when the answer is wrong you're left guessing which context misled
|
|
11
|
+
it. The nine documents the model ignored still cost you tokens, latency, and
|
|
12
|
+
a wider surface to go wrong on — and nothing tells you which nine.
|
|
8
13
|
|
|
9
|
-
Retrieval in an agent is a black box: documents go in, an answer comes out,
|
|
10
|
-
and when the answer is wrong you're left guessing which context misled it.
|
|
11
14
|
This package opens the box. One callback handler records a
|
|
12
15
|
[LangGraph](https://github.com/langchain-ai/langgraph) run — every node,
|
|
13
16
|
every retriever call, per-document scores, and (for graph-aware retrievers)
|
|
@@ -15,13 +18,18 @@ the relational paths between retrieved entities — and one command renders it
|
|
|
15
18
|
as an interactive graph in your browser.
|
|
16
19
|
|
|
17
20
|
```
|
|
18
|
-
your LangGraph agent ──▶ LangGraphTracer ──▶ AgentTrace (v0.
|
|
21
|
+
your LangGraph agent ──▶ LangGraphTracer ──▶ AgentTrace (v0.2) ──▶ graphsight viewer
|
|
19
22
|
(callbacks) neutral JSON interactive graph
|
|
20
23
|
```
|
|
21
24
|
|
|
22
25
|
Only dependency: `langchain-core`. No engine, no backend, no account —
|
|
23
26
|
nothing leaves your machine.
|
|
24
27
|
|
|
28
|
+

|
|
29
|
+
|
|
30
|
+
*A real run. `PR #101` scored **0.910** — the highest of anything retrieved — and the answer
|
|
31
|
+
never used it. `PR #412` scored **0.340** and is the one that answered.*
|
|
32
|
+
|
|
25
33
|
## Installation
|
|
26
34
|
|
|
27
35
|
```bash
|
|
@@ -144,7 +152,7 @@ retrievals.
|
|
|
144
152
|
| `capture(tracer, query=None, answer=None, dir=None) -> Path` | `finish()` + save to the history directory in one call. |
|
|
145
153
|
| `save_trace(trace, dir=None) -> Path` | Writes a finished trace to the history directory (`./.graphsight/` or `$GRAPHSIGHT_DIR`). |
|
|
146
154
|
| `to_tracestate(trace) -> dict` | Maps an `AgentTrace` to the viewer's JSON contract. Serialize with `json.dump`. |
|
|
147
|
-
| `trace.to_dict() -> dict` | The framework-neutral `AgentTrace` (schema v0.
|
|
155
|
+
| `trace.to_dict() -> dict` | The framework-neutral `AgentTrace` (schema v0.2) for your own tooling. |
|
|
148
156
|
| `AgentTrace`, `Span`, `Retrieval`, `RetrievedItem`, `TraceEdge` | Plain dataclasses defining the schema; importable for custom emitters. |
|
|
149
157
|
|
|
150
158
|
## What gets captured
|
|
@@ -187,6 +195,15 @@ Document(
|
|
|
187
195
|
`repo → Repo`, `library → Library`, `team → Team`, `tool → Tool`; anything
|
|
188
196
|
else renders as `Document`).
|
|
189
197
|
|
|
198
|
+
> **Both endpoints must be retrieved items.** The viewer can only draw an edge
|
|
199
|
+
> between two nodes it has, so an edge pointing at something you didn't return
|
|
200
|
+
> — `{"source": "person_vishal", "target": "pr_412"}` when no document has
|
|
201
|
+
> `id: "person_vishal"` — is dropped from the rendered graph. (It is preserved
|
|
202
|
+
> in `AgentTrace`, so your own tooling still sees it.) If you want people,
|
|
203
|
+
> services or tickets on the canvas, **return them as documents too**, each
|
|
204
|
+
> with its own `id`, `label` and `kind`. A retriever that emits only PRs and
|
|
205
|
+
> then links them to authors will render a flat graph with no edges at all.
|
|
206
|
+
|
|
190
207
|
### Degradation behavior
|
|
191
208
|
|
|
192
209
|
- **No edges in metadata** → a flat scored-retrieval view instead of
|
|
@@ -238,7 +255,7 @@ OpenTelemetry) emit the same shape and render in the same viewer. v0.2 adds
|
|
|
238
255
|
|---|---|
|
|
239
256
|
| Node spans but no retrievals | Config not propagated into the node's sub-runnables — see [Configuration propagation](#configuration-propagation-read-this-once). |
|
|
240
257
|
| Items without scores | Your retriever doesn't write a recognized score key to `Document.metadata` — add one (`score` is simplest). |
|
|
241
|
-
| Flat graph, no edges |
|
|
258
|
+
| Flat graph, no edges | Either your retriever doesn't emit `metadata["edges"]`, or the edges point at ids you never returned as documents — both endpoints must be retrieved items. See [Making your retriever graph-aware](#making-your-retriever-graph-aware). |
|
|
242
259
|
| `GitHub API 403` from the CLI | Rate limit (60 requests/hour unauthenticated) — pass `--token` or set `GITHUB_TOKEN`. |
|
|
243
260
|
| Garbled output on Windows consoles | Fixed in ≥ 0.1.1; upgrade. |
|
|
244
261
|
|
{graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: graphsight-langgraph
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: X-ray for LangGraph retrieval: one callback handler captures every retriever call, score, and relational path — rendered as an interactive graph.
|
|
5
5
|
Author: Arush Karnatak
|
|
6
6
|
License: MIT
|
|
@@ -31,10 +31,13 @@ Dynamic: license-file
|
|
|
31
31
|
[](https://pypi.org/project/graphsight-langgraph/)
|
|
32
32
|
[](https://github.com/Kcodess2807/graphsight/blob/main/graphsight-langgraph/LICENSE)
|
|
33
33
|
|
|
34
|
-
**See
|
|
34
|
+
**See which retrieved documents your agent actually used — and which it ignored.**
|
|
35
|
+
|
|
36
|
+
Retrieval in an agent is a black box: twelve documents go in, an answer comes
|
|
37
|
+
out, and when the answer is wrong you're left guessing which context misled
|
|
38
|
+
it. The nine documents the model ignored still cost you tokens, latency, and
|
|
39
|
+
a wider surface to go wrong on — and nothing tells you which nine.
|
|
35
40
|
|
|
36
|
-
Retrieval in an agent is a black box: documents go in, an answer comes out,
|
|
37
|
-
and when the answer is wrong you're left guessing which context misled it.
|
|
38
41
|
This package opens the box. One callback handler records a
|
|
39
42
|
[LangGraph](https://github.com/langchain-ai/langgraph) run — every node,
|
|
40
43
|
every retriever call, per-document scores, and (for graph-aware retrievers)
|
|
@@ -42,13 +45,18 @@ the relational paths between retrieved entities — and one command renders it
|
|
|
42
45
|
as an interactive graph in your browser.
|
|
43
46
|
|
|
44
47
|
```
|
|
45
|
-
your LangGraph agent ──▶ LangGraphTracer ──▶ AgentTrace (v0.
|
|
48
|
+
your LangGraph agent ──▶ LangGraphTracer ──▶ AgentTrace (v0.2) ──▶ graphsight viewer
|
|
46
49
|
(callbacks) neutral JSON interactive graph
|
|
47
50
|
```
|
|
48
51
|
|
|
49
52
|
Only dependency: `langchain-core`. No engine, no backend, no account —
|
|
50
53
|
nothing leaves your machine.
|
|
51
54
|
|
|
55
|
+

|
|
56
|
+
|
|
57
|
+
*A real run. `PR #101` scored **0.910** — the highest of anything retrieved — and the answer
|
|
58
|
+
never used it. `PR #412` scored **0.340** and is the one that answered.*
|
|
59
|
+
|
|
52
60
|
## Installation
|
|
53
61
|
|
|
54
62
|
```bash
|
|
@@ -171,7 +179,7 @@ retrievals.
|
|
|
171
179
|
| `capture(tracer, query=None, answer=None, dir=None) -> Path` | `finish()` + save to the history directory in one call. |
|
|
172
180
|
| `save_trace(trace, dir=None) -> Path` | Writes a finished trace to the history directory (`./.graphsight/` or `$GRAPHSIGHT_DIR`). |
|
|
173
181
|
| `to_tracestate(trace) -> dict` | Maps an `AgentTrace` to the viewer's JSON contract. Serialize with `json.dump`. |
|
|
174
|
-
| `trace.to_dict() -> dict` | The framework-neutral `AgentTrace` (schema v0.
|
|
182
|
+
| `trace.to_dict() -> dict` | The framework-neutral `AgentTrace` (schema v0.2) for your own tooling. |
|
|
175
183
|
| `AgentTrace`, `Span`, `Retrieval`, `RetrievedItem`, `TraceEdge` | Plain dataclasses defining the schema; importable for custom emitters. |
|
|
176
184
|
|
|
177
185
|
## What gets captured
|
|
@@ -214,6 +222,15 @@ Document(
|
|
|
214
222
|
`repo → Repo`, `library → Library`, `team → Team`, `tool → Tool`; anything
|
|
215
223
|
else renders as `Document`).
|
|
216
224
|
|
|
225
|
+
> **Both endpoints must be retrieved items.** The viewer can only draw an edge
|
|
226
|
+
> between two nodes it has, so an edge pointing at something you didn't return
|
|
227
|
+
> — `{"source": "person_vishal", "target": "pr_412"}` when no document has
|
|
228
|
+
> `id: "person_vishal"` — is dropped from the rendered graph. (It is preserved
|
|
229
|
+
> in `AgentTrace`, so your own tooling still sees it.) If you want people,
|
|
230
|
+
> services or tickets on the canvas, **return them as documents too**, each
|
|
231
|
+
> with its own `id`, `label` and `kind`. A retriever that emits only PRs and
|
|
232
|
+
> then links them to authors will render a flat graph with no edges at all.
|
|
233
|
+
|
|
217
234
|
### Degradation behavior
|
|
218
235
|
|
|
219
236
|
- **No edges in metadata** → a flat scored-retrieval view instead of
|
|
@@ -265,7 +282,7 @@ OpenTelemetry) emit the same shape and render in the same viewer. v0.2 adds
|
|
|
265
282
|
|---|---|
|
|
266
283
|
| Node spans but no retrievals | Config not propagated into the node's sub-runnables — see [Configuration propagation](#configuration-propagation-read-this-once). |
|
|
267
284
|
| Items without scores | Your retriever doesn't write a recognized score key to `Document.metadata` — add one (`score` is simplest). |
|
|
268
|
-
| Flat graph, no edges |
|
|
285
|
+
| Flat graph, no edges | Either your retriever doesn't emit `metadata["edges"]`, or the edges point at ids you never returned as documents — both endpoints must be retrieved items. See [Making your retriever graph-aware](#making-your-retriever-graph-aware). |
|
|
269
286
|
| `GitHub API 403` from the CLI | Rate limit (60 requests/hour unauthenticated) — pass `--token` or set `GITHUB_TOKEN`. |
|
|
270
287
|
| Garbled output on Windows consoles | Fixed in ≥ 0.1.1; upgrade. |
|
|
271
288
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "graphsight-langgraph"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.1"
|
|
8
8
|
description = "X-ray for LangGraph retrieval: one callback handler captures every retriever call, score, and relational path — rendered as an interactive graph."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph/github_ingest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphsight_langgraph-0.3.0 → graphsight_langgraph-0.3.1}/graphsight_langgraph.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|