Goal
Represent static Angular provider configuration and interceptor chains using explicit semantic relationships.
Scope
- Generalize existing
inject(HttpClient) handling to literal provider declarations.
- Recognize
providedIn, bootstrapApplication, providers, provideHttpClient, and withInterceptors.
- Model class, value, existing, and statically resolvable token providers conservatively.
- Emit
PROVIDES and INTERCEPTS edges with token, multi, source, and declared order metadata.
- Defer dynamic factories, spread arrays, computed tokens, and ambiguous provider graphs.
- Keep provider/interceptor edges out of
cross_service by default.
Dependencies
Acceptance criteria
- Root, component, module, and
providedIn providers are represented when static.
- Functional and class-based interceptors preserve declaration order.
- Multi-provider registrations coexist without accidental deduplication.
- Dynamic/ambiguous factories do not create false resolution edges.
- Sequential and parallel pipelines emit equivalent edges and properties.
- MCP schema, graph contracts, and README document the new relationships.
Validation
- Add positive, negative, factory, ambiguity, multi-provider, ordering, and parity tests.
- Run Angular extraction/edge probes,
lint-ci, and scripts/test.sh.
Goal
Represent static Angular provider configuration and interceptor chains using explicit semantic relationships.
Scope
inject(HttpClient)handling to literal provider declarations.providedIn,bootstrapApplication,providers,provideHttpClient, andwithInterceptors.PROVIDESandINTERCEPTSedges with token,multi, source, and declared order metadata.cross_serviceby default.Dependencies
Acceptance criteria
providedInproviders are represented when static.Validation
lint-ci, andscripts/test.sh.