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.
Files changed (153) hide show
  1. package/README.md +48 -124
  2. package/bin/cli.js +4 -4
  3. package/bin/install.cjs +157 -118
  4. package/bin/mcp-proxy.cjs +7 -5
  5. package/dist/{action-log-Dfe88TwV.cjs → action-log-HniMMF7f.cjs} +1 -1
  6. package/dist/action-log-diTHyMbV.mjs.map +1 -1
  7. package/dist/active-BQopLul8.mjs.map +1 -1
  8. package/dist/{active-Bj6dohpc.cjs → active-Bc13hJIm.cjs} +1 -1
  9. package/dist/{app-CJwx_2Rr.mjs → app-7NRCqx_Q.mjs} +2 -2
  10. package/dist/app-7NRCqx_Q.mjs.map +1 -0
  11. package/dist/{app-D4Cm69ob.cjs → app-l9JE6bt3.cjs} +5 -5
  12. package/dist/{artifact-server-sJBFGcum.cjs → artifact-server-CH-asxF5.cjs} +3 -2
  13. package/dist/{artifact-server-D1D-_t5l.mjs → artifact-server-DoxJr0z8.mjs} +4 -3
  14. package/dist/artifact-server-DoxJr0z8.mjs.map +1 -0
  15. package/dist/{capabilities-rLNPG-O2.mjs → capabilities-BZI6qROg.mjs} +32 -19
  16. package/dist/capabilities-BZI6qROg.mjs.map +1 -0
  17. package/dist/{capabilities-BR985-bW.cjs → capabilities-CPcrxodx.cjs} +35 -22
  18. package/dist/cli.cjs +42 -216
  19. package/dist/cli.mjs +36 -210
  20. package/dist/cli.mjs.map +1 -1
  21. package/dist/{client-DLqndaSv.cjs → client-CqAzD519.cjs} +38 -5
  22. package/dist/{client-BD9FLUt2.mjs → client-D4aM4bzP.mjs} +38 -5
  23. package/dist/client-D4aM4bzP.mjs.map +1 -0
  24. package/dist/{config-DE0dUT3P.cjs → config-BVFf3v8-.cjs} +2 -2
  25. package/dist/{config-DA6KRx60.mjs → config-CnNMdt4M.mjs} +2 -2
  26. package/dist/config-CnNMdt4M.mjs.map +1 -0
  27. package/dist/graph-normalizer-BA3Rbd6l.mjs.map +1 -1
  28. package/dist/graph-reports-B6yoYbPq.mjs.map +1 -1
  29. package/dist/{graph-reports-DSHSp5HL.cjs → graph-reports-_gqzxvvs.cjs} +2 -2
  30. package/dist/{html-generator-Ui29DLSD.cjs → html-generator-B9f_GIi2.cjs} +4 -3
  31. package/dist/{html-generator-ClysZjfY.mjs → html-generator-D2BDzLED.mjs} +3 -2
  32. package/dist/{html-generator-ClysZjfY.mjs.map → html-generator-D2BDzLED.mjs.map} +1 -1
  33. package/dist/index.cjs +9 -9
  34. package/dist/index.d.cts +3 -0
  35. package/dist/index.d.cts.map +1 -1
  36. package/dist/index.d.mts +3 -0
  37. package/dist/index.d.mts.map +1 -1
  38. package/dist/index.mjs +9 -9
  39. package/dist/{init-Jp_AIMZ7.mjs → init-Djhml4ih.mjs} +10 -10
  40. package/dist/init-Djhml4ih.mjs.map +1 -0
  41. package/dist/{init-HVwOeOyo.cjs → init-DvrKxK15.cjs} +10 -10
  42. package/dist/limits-D3Mn-gig.mjs.map +1 -1
  43. package/dist/mcp-endpoint-DbWtLcba.mjs.map +1 -1
  44. package/dist/mcp-proxy.cjs +23 -42
  45. package/dist/mcp-proxy.d.cts.map +1 -1
  46. package/dist/mcp-proxy.d.mts.map +1 -1
  47. package/dist/mcp-proxy.mjs +17 -36
  48. package/dist/mcp-proxy.mjs.map +1 -1
  49. package/dist/{merge-CJRZpuZ4.mjs → merge-BZw-pMPN.mjs} +2 -2
  50. package/dist/merge-BZw-pMPN.mjs.map +1 -0
  51. package/dist/{merge-B_5kxbGv.cjs → merge-C52eaAGU.cjs} +1 -1
  52. package/dist/{output-root-C1PFNCqb.cjs → output-root-BewoQaTx.cjs} +2 -2
  53. package/dist/{public-tools-CgiKgYgf.cjs → public-tools-BFs_7U_Z.cjs} +8 -7
  54. package/dist/{public-tools-B9_wXs2o.mjs → public-tools-BjqZGGAC.mjs} +7 -6
  55. package/dist/public-tools-BjqZGGAC.mjs.map +1 -0
  56. package/dist/{rolldown-runtime-DakpK96I.cjs → rolldown-runtime-C0BPl7ul.cjs} +1 -1
  57. package/dist/{schema-DF0aOXII.cjs → schema-BpeV3xDV.cjs} +5 -2
  58. package/dist/{schema-0BVyF-aL.mjs → schema-DOJA2nNi.mjs} +5 -2
  59. package/dist/schema-DOJA2nNi.mjs.map +1 -0
  60. package/dist/{schema-cache-DwDvPy4e.mjs → schema-cache-DJdU4MIP.mjs} +2 -2
  61. package/dist/{schema-cache-DwDvPy4e.mjs.map → schema-cache-DJdU4MIP.mjs.map} +1 -1
  62. package/dist/{schema-cache-CX0r2UQp.cjs → schema-cache-n7Gbhvsj.cjs} +2 -2
  63. package/dist/{server-ta1oyJ2a.cjs → server-CmvzYu7v.cjs} +4 -3
  64. package/dist/{server-BXj6BRI1.mjs → server-mDSRgk1X.mjs} +4 -3
  65. package/dist/server-mDSRgk1X.mjs.map +1 -0
  66. package/dist/tool-visibility-C0ALejXI.mjs.map +1 -1
  67. package/dist/{tool-visibility-DMIEexib.cjs → tool-visibility-DZBAP62b.cjs} +1 -1
  68. package/dist/{tools-CWwX4yth.mjs → tools-BKLnlBG1.mjs} +8 -6
  69. package/dist/tools-BKLnlBG1.mjs.map +1 -0
  70. package/dist/{tools-BPfUpCUR.cjs → tools-lPY6k-vJ.cjs} +8 -6
  71. package/dist/{topup-server-VGl8-Fz5.cjs → topup-server-DAqmAuu1.cjs} +23 -21
  72. package/dist/{topup-server-D2X7My7i.mjs → topup-server-rqI7bqem.mjs} +23 -21
  73. package/dist/topup-server-rqI7bqem.mjs.map +1 -0
  74. package/dist/update-CJUfGCxs.mjs.map +1 -1
  75. package/dist/{usage-status-H1xgCu99.cjs → usage-status-BdwwgYsu.cjs} +2 -2
  76. package/dist/{usage-status-D2uosC7s.mjs → usage-status-CHiOPA-2.mjs} +2 -2
  77. package/dist/usage-status-CHiOPA-2.mjs.map +1 -0
  78. package/dist/version-BA3J8hu4.mjs.map +1 -1
  79. package/dist/{viz-HSwLcKr6.cjs → viz-BJ_kyRjI.cjs} +7 -5
  80. package/dist/{viz-Cq1jSWSH.mjs → viz-Uh_EF-qB.mjs} +6 -4
  81. package/dist/viz-Uh_EF-qB.mjs.map +1 -0
  82. package/dist/{wallet-C2yVjcSY.cjs → wallet-BEvHrHi3.cjs} +3 -2
  83. package/dist/{wallet-BrTTnf7w.mjs → wallet-fMbhvKXT.mjs} +3 -2
  84. package/dist/wallet-fMbhvKXT.mjs.map +1 -0
  85. package/docs/architecture.md +18 -18
  86. package/docs/debugging.md +4 -49
  87. package/docs/development.md +0 -27
  88. package/docs/graph-query-compatibility.md +69 -58
  89. package/docs/graph-tools.md +16 -18
  90. package/docs/investigation-workspaces.md +0 -35
  91. package/docs/mcp-proxy.md +15 -17
  92. package/docs/search-limits.md +8 -8
  93. package/docs/stability.md +4 -5
  94. package/package.json +1 -5
  95. package/skills/chain-insights-address-risk/SKILL.md +20 -77
  96. package/skills/chain-insights-cypher/SKILL.md +92 -213
  97. package/skills/chain-insights-cypher/agents/openai.yaml +3 -3
  98. package/skills/chain-insights-schema-bittensor/SKILL.md +99 -0
  99. package/skills/chain-insights-schema-evm/SKILL.md +104 -0
  100. package/dist/app-CJwx_2Rr.mjs.map +0 -1
  101. package/dist/artifact-server-D1D-_t5l.mjs.map +0 -1
  102. package/dist/capabilities-rLNPG-O2.mjs.map +0 -1
  103. package/dist/cases-C1XewLdx.mjs +0 -155
  104. package/dist/cases-C1XewLdx.mjs.map +0 -1
  105. package/dist/cases-CVtc7Rf8.cjs +0 -160
  106. package/dist/client-BD9FLUt2.mjs.map +0 -1
  107. package/dist/config-CwIb-tav.mjs +0 -33
  108. package/dist/config-CwIb-tav.mjs.map +0 -1
  109. package/dist/config-Cy-qzx4W.cjs +0 -33
  110. package/dist/config-DA6KRx60.mjs.map +0 -1
  111. package/dist/init-9jY5rCcH.cjs +0 -24
  112. package/dist/init-BiRfMQcA.mjs +0 -26
  113. package/dist/init-BiRfMQcA.mjs.map +0 -1
  114. package/dist/init-Jp_AIMZ7.mjs.map +0 -1
  115. package/dist/lock-Cs-a3Ng1.cjs +0 -38
  116. package/dist/lock-D_sWGS7W.mjs +0 -40
  117. package/dist/lock-D_sWGS7W.mjs.map +0 -1
  118. package/dist/merge-CJRZpuZ4.mjs.map +0 -1
  119. package/dist/paths-CffVTUCv.cjs +0 -31
  120. package/dist/paths-_3isihzD.mjs +0 -21
  121. package/dist/paths-_3isihzD.mjs.map +0 -1
  122. package/dist/public-tools-B9_wXs2o.mjs.map +0 -1
  123. package/dist/render-TmSq0f4f.cjs +0 -207
  124. package/dist/render-mxE0Tdsf.mjs +0 -206
  125. package/dist/render-mxE0Tdsf.mjs.map +0 -1
  126. package/dist/report-BFXFrJmj.mjs +0 -36
  127. package/dist/report-BFXFrJmj.mjs.map +0 -1
  128. package/dist/report-BwKQqOCR.cjs +0 -36
  129. package/dist/runner-CSss8Hvy.mjs +0 -33
  130. package/dist/runner-CSss8Hvy.mjs.map +0 -1
  131. package/dist/runner-aErdz2zn.cjs +0 -31
  132. package/dist/schema-0BVyF-aL.mjs.map +0 -1
  133. package/dist/server-BXj6BRI1.mjs.map +0 -1
  134. package/dist/tools-CWwX4yth.mjs.map +0 -1
  135. package/dist/topup-server-D2X7My7i.mjs.map +0 -1
  136. package/dist/usage-status-D2uosC7s.mjs.map +0 -1
  137. package/dist/viz-Cq1jSWSH.mjs.map +0 -1
  138. package/dist/wallet-BrTTnf7w.mjs.map +0 -1
  139. package/docs/monitoring.md +0 -279
  140. package/skills/chain-insights-bittensor-cypher/SKILL.md +0 -240
  141. package/skills/chain-insights-bittensor-cypher/agents/openai.yaml +0 -4
  142. package/skills/chain-insights-cypher/references/gql-translation-matrix.md +0 -22
  143. package/skills/chain-insights-cypher/references/memgraph-examples.md +0 -188
  144. package/skills/chain-insights-developer-experience/SKILL.md +0 -140
  145. package/skills/chain-insights-investigation/SKILL.md +0 -168
  146. package/skills/chain-insights-investigation/agents/openai.yaml +0 -4
  147. package/skills/chain-insights-investigation/scripts/run-target-uat.sh +0 -179
  148. package/skills/chain-insights-monitoring/SKILL.md +0 -160
  149. package/skills/chain-insights-monitoring/references/pm2-scheduling.md +0 -100
  150. package/skills/ci-status/SKILL.md +0 -39
  151. package/skills/test-chain-insights-graph/SKILL.md +0 -110
  152. package/skills/test-chain-insights-graph/agents/openai.yaml +0 -4
  153. 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 an open-source AML investigation toolkit for AI agents and
11
- analysts. It screens blockchain addresses, explores fund flows through graph
12
- queries, manages local evidence workspaces, and generates graph reports.
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 # scaffold an investigation workspace
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 | Use it for |
68
- | --- | --- |
69
- | `aml_address_risk` | Screen one address for risk, behavior, neighborhood context, and exchange exposure |
70
- | `graph_query` | Run one read-only GQL/Cypher query against a Chain Insights Graph layer |
71
- | `graph_query_batch` | Run related read-only graph queries as one MCP call |
72
- | `meta_network_capabilities` | Check supported Chain Insights networks and graph tools |
73
- | `meta_usage_status` | Check the caller's daily free-tier graph query allowance |
74
- | `meta_help` | Show Chain Insights tool and workflow guidance |
75
- | `wallet_balance` | Show the local payment wallet amount |
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 | Entrypoint | Component doc |
144
- |---|---|---|
145
- | `config` | `src/config` | [components/config.md](docs/architecture/components/config.md) |
146
- | `federation` | `src/federation` | [components/federation.md](docs/architecture/components/federation.md) |
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` | `src/mcp` | [components/mcp.md](docs/architecture/components/mcp.md) |
149
- | `monitor` | `src/monitor` | [components/monitor.md](docs/architecture/components/monitor.md) |
150
- | `server` | `src/server` | [components/server.md](docs/architecture/components/server.md) |
151
- | `viz` | `src/viz` | [components/viz.md](docs/architecture/components/viz.md) |
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 | Use it for |
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` | Labels, features, assets, and enrichment |
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-cypher` for generic layer-aware
183
- GQL/Cypher work and `chain-insights-bittensor-cypher` for Bittensor-specific
184
- schema notes and examples (the bundled devkit serves a Bittensor fixture).
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 | Purpose |
229
- | --- | --- |
230
- | `BASE_RPC_URL` | Base RPC override for wallet balance and the local top-up page |
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 | Use it for |
433
- | --- | --- |
434
- | [Graph tools](docs/graph-tools.md) | Graph layers, `graph_query`, `graph_query_batch`, AML tool contracts, graph reports |
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) | Tunable search/row/frontier/hop bounds, precedence, ceilings |
437
- | [Investigation workspaces](docs/investigation-workspaces.md) | `cia init`, workspace layout, artifacts, templates, reports, visualization |
438
- | [Continuous monitoring](docs/monitoring.md) | `cia monitor` commands, case tracking, dossier rendering, scheduling, exit codes |
439
- | [MCP proxy](docs/mcp-proxy.md) | Stdio proxy behavior, endpoint configuration, agent installers, auth modes |
440
- | [Architecture overview](docs/architecture.md) | Product layers, data flow, local storage, security model, config keys |
441
- | [Development](docs/development.md) | Build, test, and local install commands |
442
- | [Contributing](docs/contributing.md) | Development workflow, pull requests, release expectations |
443
- | [Stability policy](docs/stability.md) | Guaranteed surfaces (exit codes, MCP tool names, workspace layout), deprecation rules |
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, devkit contract.
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
+ })