Repository navigation
cross-repo-intelligence: HTTP_CALLS edges not detected for axios wrapper pattern #1916
Description
Version
codebase-memory-mcp 0.10.8
Platform
Windows (x64)
Install channel
GitHub release archive / install.sh / install.ps1
Binary variant
standard
What happened, and what did you expect?
The cross-repo-intelligence index mode fails to detect HTTP_CALLS edges for frontend HTTP requests that go through an axios wrapper instance (axios.create with a baseURL), even though the target backend route exists. The cross-repo query for HTTP_CALLS returns 0 rows.
The axios wrapper pattern (axios.create({ baseURL: '/api' }) + api.get('/orders')) is the industry-standard pattern used by vue-element-admin, RuoYi, and most Vue admin projects, so this is a common real-world setup.
Reproduction
js:
// frontend/src/api/index.js
import axios from 'axios'
const api = axios.create({ baseURL: '/api' })
export default api
// frontend/src/api/order.js
import api from './index'
export function getOrders() {
return api.get('/orders')
}
java:
// backend OrderController.java
@RestController
@RequestMapping("/api")
public class OrderController {
@GetMapping("/orders")
public List list() { ... }
}
Command:
cbm index --mode cross-repo-intelligence --persistence true --project-root <frontend_root> --shared-storage <shared_dir>
Result:
HTTP_CALLS query: 0 rows (expected: 1 edge from frontend getOrders -> backend GET /api/orders)
The URL is never parsed because the tool only sees the wrapper call api.get('/orders') and cannot resolve the baseURL from the axios.create wrapper.
Logs
[2026-08-29T..] cross-repo-intelligence: no URL patterns found in frontend/src/api/order.js
[2026-08-29T..] cross-repo-intelligence: HTTP_CALLS edges: 0
Diagnostics trajectory (memory / performance / leak issues)
Project scale (if relevant)
180 nodes / 304 edges / 0 unindexed files (frontend); 759 nodes / 2348 edges / 20 HTTP routes (backend)
Confirmations
- I searched existing issues and this is not a duplicate.
- My reproduction uses shareable code (a dummy snippet or a public OSS repository), not proprietary code.
Activity
DeusData commentedon Sep 25, 2026
Thank you so much @Long-Super for this report. The minimal frontend/backend reproduction and the pointers to vue-element-admin and RuoYi made it quick to pin down, and you're right that this is the most common setup in Vue admin projects.
Nothing recorded that
apiwas anaxios.create()instance, soapi.get('/orders')looked exactly like an Expressapp.get('/orders', …)route registration: the frontend got a CALLS edge to a made-up server route/ordersinstead of an HTTP_CALLS edge, and thebaseURLwas never picked up. #2332 recordsaxios.create({ baseURL })bindings (same file, named export, orexport default), and calls on them become HTTP_CALLS to base + path, e.g.GET /api/orders, so cross-repo-intelligence now links yourgetOrderstoOrderController.list. It stays correct on incremental re-indexes when either the wrapper or the caller changes. Thanks again!Merge pull request #2332 from DeusData/fix/issue-1916
fix(pipeline): compose axios.create baseURL into HTTP_CALLS (DeusData…
DeusData commentedon Sep 30, 2026
Thank you again for reporting this, @Long-Super! The fix is now on
mainin 5910c47 (merged via #2332), and it will ship in the next release.