chain-insights 0.18.19 → 0.22.2
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.
- package/README.md +48 -124
- package/bin/cli.js +4 -4
- package/bin/install.cjs +157 -118
- package/bin/mcp-proxy.cjs +7 -5
- package/dist/{action-log-Dfe88TwV.cjs → action-log-HniMMF7f.cjs} +1 -1
- package/dist/action-log-diTHyMbV.mjs.map +1 -1
- package/dist/active-BQopLul8.mjs.map +1 -1
- package/dist/{active-Bj6dohpc.cjs → active-Bc13hJIm.cjs} +1 -1
- package/dist/{app-CJwx_2Rr.mjs → app-7NRCqx_Q.mjs} +2 -2
- package/dist/app-7NRCqx_Q.mjs.map +1 -0
- package/dist/{app-D4Cm69ob.cjs → app-l9JE6bt3.cjs} +5 -5
- package/dist/{artifact-server-sJBFGcum.cjs → artifact-server-CH-asxF5.cjs} +3 -2
- package/dist/{artifact-server-D1D-_t5l.mjs → artifact-server-DoxJr0z8.mjs} +4 -3
- package/dist/artifact-server-DoxJr0z8.mjs.map +1 -0
- package/dist/{capabilities-rLNPG-O2.mjs → capabilities-BZI6qROg.mjs} +32 -19
- package/dist/capabilities-BZI6qROg.mjs.map +1 -0
- package/dist/{capabilities-BR985-bW.cjs → capabilities-CPcrxodx.cjs} +35 -22
- package/dist/cli.cjs +42 -216
- package/dist/cli.mjs +36 -210
- package/dist/cli.mjs.map +1 -1
- package/dist/{client-DLqndaSv.cjs → client-CqAzD519.cjs} +38 -5
- package/dist/{client-BD9FLUt2.mjs → client-D4aM4bzP.mjs} +38 -5
- package/dist/client-D4aM4bzP.mjs.map +1 -0
- package/dist/{config-DE0dUT3P.cjs → config-BVFf3v8-.cjs} +2 -2
- package/dist/{config-DA6KRx60.mjs → config-CnNMdt4M.mjs} +2 -2
- package/dist/config-CnNMdt4M.mjs.map +1 -0
- package/dist/graph-normalizer-BA3Rbd6l.mjs.map +1 -1
- package/dist/graph-reports-B6yoYbPq.mjs.map +1 -1
- package/dist/{graph-reports-DSHSp5HL.cjs → graph-reports-_gqzxvvs.cjs} +2 -2
- package/dist/{html-generator-Ui29DLSD.cjs → html-generator-B9f_GIi2.cjs} +4 -3
- package/dist/{html-generator-ClysZjfY.mjs → html-generator-D2BDzLED.mjs} +3 -2
- package/dist/{html-generator-ClysZjfY.mjs.map → html-generator-D2BDzLED.mjs.map} +1 -1
- package/dist/index.cjs +9 -9
- package/dist/index.d.cts +3 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +3 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +9 -9
- package/dist/{init-Jp_AIMZ7.mjs → init-Djhml4ih.mjs} +10 -10
- package/dist/init-Djhml4ih.mjs.map +1 -0
- package/dist/{init-HVwOeOyo.cjs → init-DvrKxK15.cjs} +10 -10
- package/dist/limits-D3Mn-gig.mjs.map +1 -1
- package/dist/mcp-endpoint-DbWtLcba.mjs.map +1 -1
- package/dist/mcp-proxy.cjs +23 -42
- package/dist/mcp-proxy.d.cts.map +1 -1
- package/dist/mcp-proxy.d.mts.map +1 -1
- package/dist/mcp-proxy.mjs +17 -36
- package/dist/mcp-proxy.mjs.map +1 -1
- package/dist/{merge-CJRZpuZ4.mjs → merge-BZw-pMPN.mjs} +2 -2
- package/dist/merge-BZw-pMPN.mjs.map +1 -0
- package/dist/{merge-B_5kxbGv.cjs → merge-C52eaAGU.cjs} +1 -1
- package/dist/{output-root-C1PFNCqb.cjs → output-root-BewoQaTx.cjs} +2 -2
- package/dist/{public-tools-CgiKgYgf.cjs → public-tools-BFs_7U_Z.cjs} +8 -7
- package/dist/{public-tools-B9_wXs2o.mjs → public-tools-BjqZGGAC.mjs} +7 -6
- package/dist/public-tools-BjqZGGAC.mjs.map +1 -0
- package/dist/{rolldown-runtime-DakpK96I.cjs → rolldown-runtime-C0BPl7ul.cjs} +1 -1
- package/dist/{schema-DF0aOXII.cjs → schema-BpeV3xDV.cjs} +5 -2
- package/dist/{schema-0BVyF-aL.mjs → schema-DOJA2nNi.mjs} +5 -2
- package/dist/schema-DOJA2nNi.mjs.map +1 -0
- package/dist/{schema-cache-DwDvPy4e.mjs → schema-cache-DJdU4MIP.mjs} +2 -2
- package/dist/{schema-cache-DwDvPy4e.mjs.map → schema-cache-DJdU4MIP.mjs.map} +1 -1
- package/dist/{schema-cache-CX0r2UQp.cjs → schema-cache-n7Gbhvsj.cjs} +2 -2
- package/dist/{server-ta1oyJ2a.cjs → server-CmvzYu7v.cjs} +4 -3
- package/dist/{server-BXj6BRI1.mjs → server-mDSRgk1X.mjs} +4 -3
- package/dist/server-mDSRgk1X.mjs.map +1 -0
- package/dist/tool-visibility-C0ALejXI.mjs.map +1 -1
- package/dist/{tool-visibility-DMIEexib.cjs → tool-visibility-DZBAP62b.cjs} +1 -1
- package/dist/{tools-CWwX4yth.mjs → tools-BKLnlBG1.mjs} +8 -6
- package/dist/tools-BKLnlBG1.mjs.map +1 -0
- package/dist/{tools-BPfUpCUR.cjs → tools-lPY6k-vJ.cjs} +8 -6
- package/dist/{topup-server-VGl8-Fz5.cjs → topup-server-DAqmAuu1.cjs} +23 -21
- package/dist/{topup-server-D2X7My7i.mjs → topup-server-rqI7bqem.mjs} +23 -21
- package/dist/topup-server-rqI7bqem.mjs.map +1 -0
- package/dist/update-CJUfGCxs.mjs.map +1 -1
- package/dist/{usage-status-H1xgCu99.cjs → usage-status-BdwwgYsu.cjs} +2 -2
- package/dist/{usage-status-D2uosC7s.mjs → usage-status-CHiOPA-2.mjs} +2 -2
- package/dist/usage-status-CHiOPA-2.mjs.map +1 -0
- package/dist/version-BA3J8hu4.mjs.map +1 -1
- package/dist/{viz-HSwLcKr6.cjs → viz-BJ_kyRjI.cjs} +7 -5
- package/dist/{viz-Cq1jSWSH.mjs → viz-Uh_EF-qB.mjs} +6 -4
- package/dist/viz-Uh_EF-qB.mjs.map +1 -0
- package/dist/{wallet-C2yVjcSY.cjs → wallet-BEvHrHi3.cjs} +3 -2
- package/dist/{wallet-BrTTnf7w.mjs → wallet-fMbhvKXT.mjs} +3 -2
- package/dist/wallet-fMbhvKXT.mjs.map +1 -0
- package/docs/architecture.md +18 -18
- package/docs/debugging.md +4 -49
- package/docs/development.md +0 -27
- package/docs/graph-query-compatibility.md +69 -58
- package/docs/graph-tools.md +16 -18
- package/docs/investigation-workspaces.md +0 -35
- package/docs/mcp-proxy.md +15 -17
- package/docs/search-limits.md +8 -8
- package/docs/stability.md +4 -5
- package/package.json +1 -5
- package/skills/chain-insights-address-risk/SKILL.md +20 -77
- package/skills/chain-insights-cypher/SKILL.md +92 -213
- package/skills/chain-insights-cypher/agents/openai.yaml +3 -3
- package/skills/chain-insights-schema-bittensor/SKILL.md +99 -0
- package/skills/chain-insights-schema-evm/SKILL.md +104 -0
- package/dist/app-CJwx_2Rr.mjs.map +0 -1
- package/dist/artifact-server-D1D-_t5l.mjs.map +0 -1
- package/dist/capabilities-rLNPG-O2.mjs.map +0 -1
- package/dist/cases-C1XewLdx.mjs +0 -155
- package/dist/cases-C1XewLdx.mjs.map +0 -1
- package/dist/cases-CVtc7Rf8.cjs +0 -160
- package/dist/client-BD9FLUt2.mjs.map +0 -1
- package/dist/config-CwIb-tav.mjs +0 -33
- package/dist/config-CwIb-tav.mjs.map +0 -1
- package/dist/config-Cy-qzx4W.cjs +0 -33
- package/dist/config-DA6KRx60.mjs.map +0 -1
- package/dist/init-9jY5rCcH.cjs +0 -24
- package/dist/init-BiRfMQcA.mjs +0 -26
- package/dist/init-BiRfMQcA.mjs.map +0 -1
- package/dist/init-Jp_AIMZ7.mjs.map +0 -1
- package/dist/lock-Cs-a3Ng1.cjs +0 -38
- package/dist/lock-D_sWGS7W.mjs +0 -40
- package/dist/lock-D_sWGS7W.mjs.map +0 -1
- package/dist/merge-CJRZpuZ4.mjs.map +0 -1
- package/dist/paths-CffVTUCv.cjs +0 -31
- package/dist/paths-_3isihzD.mjs +0 -21
- package/dist/paths-_3isihzD.mjs.map +0 -1
- package/dist/public-tools-B9_wXs2o.mjs.map +0 -1
- package/dist/render-TmSq0f4f.cjs +0 -207
- package/dist/render-mxE0Tdsf.mjs +0 -206
- package/dist/render-mxE0Tdsf.mjs.map +0 -1
- package/dist/report-BFXFrJmj.mjs +0 -36
- package/dist/report-BFXFrJmj.mjs.map +0 -1
- package/dist/report-BwKQqOCR.cjs +0 -36
- package/dist/runner-CSss8Hvy.mjs +0 -33
- package/dist/runner-CSss8Hvy.mjs.map +0 -1
- package/dist/runner-aErdz2zn.cjs +0 -31
- package/dist/schema-0BVyF-aL.mjs.map +0 -1
- package/dist/server-BXj6BRI1.mjs.map +0 -1
- package/dist/tools-CWwX4yth.mjs.map +0 -1
- package/dist/topup-server-D2X7My7i.mjs.map +0 -1
- package/dist/usage-status-D2uosC7s.mjs.map +0 -1
- package/dist/viz-Cq1jSWSH.mjs.map +0 -1
- package/dist/wallet-BrTTnf7w.mjs.map +0 -1
- package/docs/monitoring.md +0 -279
- package/skills/chain-insights-bittensor-cypher/SKILL.md +0 -240
- package/skills/chain-insights-bittensor-cypher/agents/openai.yaml +0 -4
- package/skills/chain-insights-cypher/references/gql-translation-matrix.md +0 -22
- package/skills/chain-insights-cypher/references/memgraph-examples.md +0 -188
- package/skills/chain-insights-developer-experience/SKILL.md +0 -140
- package/skills/chain-insights-investigation/SKILL.md +0 -168
- package/skills/chain-insights-investigation/agents/openai.yaml +0 -4
- package/skills/chain-insights-investigation/scripts/run-target-uat.sh +0 -179
- package/skills/chain-insights-monitoring/SKILL.md +0 -160
- package/skills/chain-insights-monitoring/references/pm2-scheduling.md +0 -100
- package/skills/ci-status/SKILL.md +0 -39
- package/skills/test-chain-insights-graph/SKILL.md +0 -110
- package/skills/test-chain-insights-graph/agents/openai.yaml +0 -4
- package/skills/test-chain-insights-graph/scripts/run-uat.sh +0 -600
package/README.md
CHANGED
|
@@ -7,9 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
[Website](https://chain-insights.ai) | [npm](https://www.npmjs.com/package/chain-insights)
|
|
9
9
|
|
|
10
|
-
Chain Insights is
|
|
11
|
-
analysts
|
|
12
|
-
|
|
10
|
+
Chain Insights is open-source AML and forensics infrastructure for AI agents
|
|
11
|
+
and analysts: a hosted Chain Insights Graph you reach over MCP, screened
|
|
12
|
+
through one CLI. It screens blockchain addresses for risk, explores fund flows
|
|
13
|
+
through read-only graph queries, and renders graph reports from your own
|
|
14
|
+
investigation folders. Every new account gets a free tier — a daily allowance
|
|
15
|
+
of graph queries, no payment setup — so you can run a first screen in minutes.
|
|
13
16
|
|
|
14
17
|
## Quickstart
|
|
15
18
|
|
|
@@ -19,7 +22,8 @@ as-is on macOS; on Windows use WSL.
|
|
|
19
22
|
```bash
|
|
20
23
|
npx chain-insights@latest --help # run without installing
|
|
21
24
|
npm install -g chain-insights # or install the cia CLI globally
|
|
22
|
-
cia init ~/cases #
|
|
25
|
+
cia init ~/cases # optional local investigation folder
|
|
26
|
+
cia mcp call aml_address_risk network=robinhood address=0xYourAddressHere
|
|
23
27
|
cia networks # supported networks + public tool surface
|
|
24
28
|
```
|
|
25
29
|
|
|
@@ -46,11 +50,8 @@ Owns:
|
|
|
46
50
|
/ `wallet_*` tools.
|
|
47
51
|
- Local wallet and payment on Base mainnet (payment chain only).
|
|
48
52
|
- Investigation workspaces, graph reports, and visualization.
|
|
49
|
-
- `cia monitor`: per-case tracking with rendered dossiers on an external
|
|
50
|
-
schedule.
|
|
51
53
|
- Shipped product skills under `skills/` (`chain-insights-*`), packaged
|
|
52
54
|
into the npm tarball.
|
|
53
|
-
- The local Bittensor graph devkit under `devkit/`.
|
|
54
55
|
|
|
55
56
|
Never touches:
|
|
56
57
|
|
|
@@ -64,46 +65,15 @@ Never touches:
|
|
|
64
65
|
|
|
65
66
|
### What You Can Do Today
|
|
66
67
|
|
|
67
|
-
| Tool
|
|
68
|
-
|
|
|
69
|
-
| `aml_address_risk`
|
|
70
|
-
| `graph_query`
|
|
71
|
-
| `graph_query_batch`
|
|
72
|
-
| `meta_network_capabilities` | Check supported Chain Insights networks and graph tools
|
|
73
|
-
| `meta_usage_status`
|
|
74
|
-
| `meta_help`
|
|
75
|
-
| `wallet_balance`
|
|
76
|
-
|
|
77
|
-
### Continuous Monitoring
|
|
78
|
-
|
|
79
|
-
`cia monitor` re-renders each open case's dossier on a schedule. It turns one
|
|
80
|
-
investigation into a standing view: seeds, scope changes, and render state
|
|
81
|
-
stay as plain files in the workspace.
|
|
82
|
-
|
|
83
|
-
| Command | What it does |
|
|
84
|
-
| --- | --- |
|
|
85
|
-
| `cia monitor run` | One pass: render the dossier of every open case |
|
|
86
|
-
| `cia monitor status` | Open cases and the last run |
|
|
87
|
-
| `cia monitor render` | Re-render all open cases (or one case) from the case document |
|
|
88
|
-
| `cia monitor init victim` | Bootstrap a stolen-funds case-tracking config in one command |
|
|
89
|
-
| `cia monitor case add` | Register a monitor case with one or more seed addresses |
|
|
90
|
-
| `cia monitor case list` | List monitor cases (open by default, `--all` for closed) |
|
|
91
|
-
| `cia monitor case add-seed` | Widen an open case's seed set, timestamped |
|
|
92
|
-
| `cia monitor case remove-seed` | Narrow an open case's seed set |
|
|
93
|
-
| `cia monitor case close` | Close a case; passes skip it |
|
|
94
|
-
|
|
95
|
-
Three things to know before scheduling it:
|
|
96
|
-
|
|
97
|
-
- **`cia monitor run` is a one-shot.** One pass, then exit. Schedule it with
|
|
98
|
-
cron, pm2 (`cron_restart` plus `autorestart: false`), or your agent
|
|
99
|
-
harness's scheduled tasks.
|
|
100
|
-
- **Exit `2` means an isolated case failed** while every other case
|
|
101
|
-
completed. Partial success, not a crash. Only exit `1` means nothing ran.
|
|
102
|
-
- **An unchanged case is skipped, not re-rendered.** The run document
|
|
103
|
-
records `skipped_reason: 'unchanged'`, so a quiet watch reads as healthy
|
|
104
|
-
by design.
|
|
105
|
-
|
|
106
|
-
See [Continuous monitoring](docs/monitoring.md) for the full surface.
|
|
68
|
+
| Tool | Use it for |
|
|
69
|
+
| --------------------------- | ---------------------------------------------------------------------------------- |
|
|
70
|
+
| `aml_address_risk` | Screen one address for risk, behavior, neighborhood context, and exchange exposure |
|
|
71
|
+
| `graph_query` | Run one read-only GQL/Cypher query against a Chain Insights Graph layer |
|
|
72
|
+
| `graph_query_batch` | Run related read-only graph queries as one MCP call |
|
|
73
|
+
| `meta_network_capabilities` | Check supported Chain Insights networks and graph tools |
|
|
74
|
+
| `meta_usage_status` | Check the caller's daily free-tier graph query allowance |
|
|
75
|
+
| `meta_help` | Show Chain Insights tool and workflow guidance |
|
|
76
|
+
| `wallet_balance` | Show the local payment wallet amount |
|
|
107
77
|
|
|
108
78
|
## Dependencies
|
|
109
79
|
|
|
@@ -114,15 +84,11 @@ Upstream:
|
|
|
114
84
|
endpoint.
|
|
115
85
|
- **Base mainnet RPC** — wallet balance and payment only
|
|
116
86
|
(`BASE_RPC_URL` override). Not a graph-support claim.
|
|
117
|
-
- **Devkit fixture data** — pre-generated from the upstream export path
|
|
118
|
-
and committed under `devkit/data/`.
|
|
119
87
|
|
|
120
88
|
Downstream:
|
|
121
89
|
|
|
122
90
|
- Analysts and AI agents install the npm package and call the CLI or the
|
|
123
91
|
MCP tools.
|
|
124
|
-
- Monitor case dossiers render as Markdown under the workspace
|
|
125
|
-
(`published/cases/<case_id>/`), ready for review and handoff.
|
|
126
92
|
|
|
127
93
|
## Architecture
|
|
128
94
|
|
|
@@ -140,16 +106,15 @@ Agent or CLI user
|
|
|
140
106
|
|
|
141
107
|
Source modules (hand-maintained):
|
|
142
108
|
|
|
143
|
-
| Module
|
|
144
|
-
|
|
145
|
-
| `config`
|
|
146
|
-
| `federation`
|
|
109
|
+
| Module | Entrypoint | Component doc |
|
|
110
|
+
| --------------- | ------------------- | ---------------------------------------------------------------------------- |
|
|
111
|
+
| `config` | `src/config` | [components/config.md](docs/architecture/components/config.md) |
|
|
112
|
+
| `federation` | `src/federation` | [components/federation.md](docs/architecture/components/federation.md) |
|
|
147
113
|
| `investigation` | `src/investigation` | [components/investigation.md](docs/architecture/components/investigation.md) |
|
|
148
|
-
| `mcp`
|
|
149
|
-
| `
|
|
150
|
-
| `
|
|
151
|
-
| `
|
|
152
|
-
| `wallet` | `src/wallet` | [components/wallet.md](docs/architecture/components/wallet.md) |
|
|
114
|
+
| `mcp` | `src/mcp` | [components/mcp.md](docs/architecture/components/mcp.md) |
|
|
115
|
+
| `server` | `src/server` | [components/server.md](docs/architecture/components/server.md) |
|
|
116
|
+
| `viz` | `src/viz` | [components/viz.md](docs/architecture/components/viz.md) |
|
|
117
|
+
| `wallet` | `src/wallet` | [components/wallet.md](docs/architecture/components/wallet.md) |
|
|
153
118
|
|
|
154
119
|
Entry points:
|
|
155
120
|
|
|
@@ -166,10 +131,10 @@ and [operating rules](docs/architecture/operating-rules.md).
|
|
|
166
131
|
|
|
167
132
|
Graph queries choose the read graph explicitly:
|
|
168
133
|
|
|
169
|
-
| Graph
|
|
170
|
-
|
|
|
134
|
+
| Graph | Use it for |
|
|
135
|
+
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
171
136
|
| `topology` | The unified address / FLOWS_TO / LINKED graph — recent and full historical fund-flow traversal, plus the node `risk_score`/`risk_level` verdict |
|
|
172
|
-
| `facts`
|
|
137
|
+
| `facts` | Labels, features, assets, and enrichment |
|
|
173
138
|
|
|
174
139
|
One rule is worth reading before writing a query by hand: the `network`
|
|
175
140
|
argument selects the graph, not the addresses inside it. The address-space
|
|
@@ -179,9 +144,10 @@ on `:Address` without an exact address must scope itself with
|
|
|
179
144
|
database and `Address` carries no `network` property at all. See
|
|
180
145
|
[Graph query compatibility](docs/graph-query-compatibility.md).
|
|
181
146
|
|
|
182
|
-
Agent installs include `chain-insights-
|
|
183
|
-
|
|
184
|
-
schema
|
|
147
|
+
Agent installs include `chain-insights-address-risk` for one-address
|
|
148
|
+
screens, `chain-insights-cypher` for graph-query dialect rules,
|
|
149
|
+
`chain-insights-schema-evm` for the EVM / Robinhood graph map, and
|
|
150
|
+
`chain-insights-schema-bittensor` for the Bittensor graph map.
|
|
185
151
|
|
|
186
152
|
## Billing: Billable Units
|
|
187
153
|
|
|
@@ -220,14 +186,12 @@ Use `usage` to see the real cost of a workflow call, not just of one
|
|
|
220
186
|
- **Linux** is the reference platform; shell snippets use bash (macOS works
|
|
221
187
|
the same; on Windows use WSL).
|
|
222
188
|
- **Node.js 22 or newer** (`package.json` engines) and npm.
|
|
223
|
-
- Optional: Docker with the Compose plugin, for the local devkit backend.
|
|
224
|
-
- Optional: pm2 or cron, for standing-watch monitoring.
|
|
225
189
|
|
|
226
190
|
`.env.example` documents the two supported overrides:
|
|
227
191
|
|
|
228
|
-
| Variable
|
|
229
|
-
|
|
|
230
|
-
| `BASE_RPC_URL`
|
|
192
|
+
| Variable | Purpose |
|
|
193
|
+
| ----------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
194
|
+
| `BASE_RPC_URL` | Base RPC override for wallet balance and the local top-up page |
|
|
231
195
|
| `CHAIN_INSIGHTS_GRAPH_MCP_ENDPOINT` | Chain Insights Graph endpoint override; local HTTP loopback allowed, remote hosts must use `https://` |
|
|
232
196
|
|
|
233
197
|
## Run
|
|
@@ -286,32 +250,6 @@ cia mcp call graph_query_batch \
|
|
|
286
250
|
More query examples (manual fund-flow reads, pagination):
|
|
287
251
|
[Graph tools](docs/graph-tools.md).
|
|
288
252
|
|
|
289
|
-
### Dev Compose (local devkit backend)
|
|
290
|
-
|
|
291
|
-
The devkit runs a deterministic local Bittensor Chain Insights Graph
|
|
292
|
-
backend. Compose file: `devkit/docker-compose.yml` (default compose
|
|
293
|
-
project network). Services: `starrocks`, `memgraph`,
|
|
294
|
-
`starrocks-import`, `memgraph-import` (one-shot), and
|
|
295
|
-
`chain-insights-graph-devkit`. Images build locally with
|
|
296
|
-
`docker compose build` — never pulled from a registry.
|
|
297
|
-
|
|
298
|
-
Start from a clean state:
|
|
299
|
-
|
|
300
|
-
```bash
|
|
301
|
-
docker compose -f devkit/docker-compose.yml down -v --remove-orphans
|
|
302
|
-
docker compose -f devkit/docker-compose.yml up -d --build
|
|
303
|
-
```
|
|
304
|
-
|
|
305
|
-
One-shot import services must exit 0. `starrocks`, `memgraph`, and
|
|
306
|
-
`chain-insights-graph-devkit` must stay running. The MCP endpoint is
|
|
307
|
-
`http://127.0.0.1:18012/mcp`, unmetered:
|
|
308
|
-
|
|
309
|
-
```bash
|
|
310
|
-
export CHAIN_INSIGHTS_GRAPH_MCP_ENDPOINT=http://127.0.0.1:18012/mcp
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
Full contract and procedures live in the devkit directory's own README.
|
|
314
|
-
|
|
315
253
|
## Configure
|
|
316
254
|
|
|
317
255
|
`cia` uses `graphMcpEndpoint` for all Chain Insights Graph calls. The npm
|
|
@@ -374,14 +312,6 @@ npm test
|
|
|
374
312
|
npm run release:check # PR-only step in verify.yml
|
|
375
313
|
```
|
|
376
314
|
|
|
377
|
-
Devkit-backed tiers (need the dev compose lane running):
|
|
378
|
-
|
|
379
|
-
```bash
|
|
380
|
-
npm run devkit:smoke
|
|
381
|
-
npm run devkit:smoke:parity
|
|
382
|
-
npm run test:devkit
|
|
383
|
-
```
|
|
384
|
-
|
|
385
315
|
CI install step, when reproducing CI:
|
|
386
316
|
|
|
387
317
|
```bash
|
|
@@ -395,8 +325,6 @@ release:check, tests, npm pack contents), `security.yml`, `scorecard.yml`,
|
|
|
395
325
|
## Debug
|
|
396
326
|
|
|
397
327
|
- Diagnostics and debug workflows: [docs/debugging.md](docs/debugging.md).
|
|
398
|
-
- Skip payment negotiation against the unmetered devkit:
|
|
399
|
-
`cia debug on --token <any-string> --endpoint http://127.0.0.1:18012/mcp`.
|
|
400
328
|
- MCP proxy structured logs: `~/.chain-insights/runtime/logs/mcp-proxy.jsonl`.
|
|
401
329
|
|
|
402
330
|
Health checks (each is runnable):
|
|
@@ -417,8 +345,6 @@ cia mcp tools --refresh
|
|
|
417
345
|
# Installed CLI sanity
|
|
418
346
|
cia --version && cia update --check
|
|
419
347
|
|
|
420
|
-
# Devkit service state (all imports exited 0, backends running)
|
|
421
|
-
docker compose -f devkit/docker-compose.yml ps -a
|
|
422
348
|
```
|
|
423
349
|
|
|
424
350
|
If network or tool discovery fails, check the endpoint and access mode
|
|
@@ -429,27 +355,25 @@ investigation workflow without a reachable endpoint.
|
|
|
429
355
|
|
|
430
356
|
Product docs:
|
|
431
357
|
|
|
432
|
-
| Doc
|
|
433
|
-
|
|
|
434
|
-
| [Graph tools](docs/graph-tools.md)
|
|
435
|
-
| [Graph query compatibility](docs/graph-query-compatibility.md) | GQL/Cypher support per layer, rewrite recipes, traversal guidance
|
|
436
|
-
| [Search limits](docs/search-limits.md)
|
|
437
|
-
| [Investigation workspaces](docs/investigation-workspaces.md)
|
|
438
|
-
| [
|
|
439
|
-
| [
|
|
440
|
-
| [
|
|
441
|
-
| [
|
|
442
|
-
| [
|
|
443
|
-
| [
|
|
444
|
-
| [Debugging](docs/debugging.md) | Local troubleshooting, diagnostics, debug workflows |
|
|
445
|
-
| Bittensor devkit (in this repo under `devkit/`) | Local Bittensor graph backend contract, fixture, smoke procedures |
|
|
358
|
+
| Doc | Use it for |
|
|
359
|
+
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
|
360
|
+
| [Graph tools](docs/graph-tools.md) | Graph layers, `graph_query`, `graph_query_batch`, AML tool contracts, graph reports |
|
|
361
|
+
| [Graph query compatibility](docs/graph-query-compatibility.md) | GQL/Cypher support per layer, rewrite recipes, traversal guidance |
|
|
362
|
+
| [Search limits](docs/search-limits.md) | Tunable search/row/frontier/hop bounds, precedence, ceilings |
|
|
363
|
+
| [Investigation workspaces](docs/investigation-workspaces.md) | `cia init`, workspace layout, artifacts, templates, reports, visualization |
|
|
364
|
+
| [MCP proxy](docs/mcp-proxy.md) | Stdio proxy behavior, endpoint configuration, agent installers, auth modes |
|
|
365
|
+
| [Architecture overview](docs/architecture.md) | Product layers, data flow, local storage, security model, config keys |
|
|
366
|
+
| [Development](docs/development.md) | Build, test, and local install commands |
|
|
367
|
+
| [Contributing](docs/contributing.md) | Development workflow, pull requests, release expectations |
|
|
368
|
+
| [Stability policy](docs/stability.md) | Guaranteed surfaces (exit codes, MCP tool names, workspace layout), deprecation rules |
|
|
369
|
+
| [Debugging](docs/debugging.md) | Local troubleshooting, diagnostics, debug workflows |
|
|
446
370
|
|
|
447
371
|
Architecture depth:
|
|
448
372
|
|
|
449
373
|
- [docs/architecture/](docs/architecture/ARCHITECTURE.md) — index, C4
|
|
450
374
|
diagrams, context, containers, components.
|
|
451
375
|
- [Data contracts](docs/architecture/data-contracts.md) — tool surface,
|
|
452
|
-
search limits, endpoint rules, shared-graph model
|
|
376
|
+
search limits, endpoint rules, shared-graph model.
|
|
453
377
|
- [Operating rules](docs/architecture/operating-rules.md) — repo
|
|
454
378
|
invariants, findings rules, CI gotchas.
|
|
455
379
|
- [docs/acceptance/](docs/acceptance/) — per-component acceptance evidence.
|
package/bin/cli.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
'use strict'
|
|
2
|
+
'use strict'
|
|
3
3
|
|
|
4
4
|
// CJS shim: bridges the npm bin entry to the ESM dist built by tsdown.
|
|
5
5
|
// Dynamic import() is the correct bridge pattern from CommonJS to ESM.
|
|
6
6
|
import('../dist/cli.mjs').catch((err) => {
|
|
7
|
-
console.error('Failed to load chain-insights:', err.message)
|
|
8
|
-
process.exit(1)
|
|
9
|
-
})
|
|
7
|
+
console.error('Failed to load chain-insights:', err.message)
|
|
8
|
+
process.exit(1)
|
|
9
|
+
})
|