
Product
Introducing Repository Access Permissions and Custom Roles
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.
@nestjs-ai/document-reader-markdown
Advanced tools
A TypeScript/NestJS port of Spring AI — bringing the same powerful AI abstraction layer to the Node.js ecosystem.
Last synced Spring AI commit: da8db657 (Remove Anthropic IT that no longer makes sense)
NestJS AI is a comprehensive TypeScript port of the Spring AI project, reimagined for the NestJS/Node.js ecosystem. It provides a unified abstraction layer for integrating Large Language Models (LLMs), vector stores, document readers, and RAG pipelines into NestJS applications.
The project faithfully mirrors Spring AI's module structure and API design while leveraging TypeScript idioms, RxJS reactive streams, and NestJS dependency injection.
ChatModel and EmbeddingModel interfaces across providers| Category | Technology |
|---|---|
| Language | TypeScript 6.x (strict mode) |
| Runtime | Node.js >= 20 |
| Framework | NestJS 11.x |
| Package Manager | pnpm 10.x |
| Build | Turborepo + tsc |
| Test | Vitest 4.x + TestContainers |
| Lint/Format | Biomejs 2.x |
| Reactive | RxJS 7.x |
| Validation | Zod 4.x |
Spring AI module porting status to NestJS AI. (~520 source files, ~180 test files ported across 22 packages)
| Category | Spring AI Module | nestjs-ai Package | Progress |
|---|---|---|---|
| Core | spring-ai-model | @nestjs-ai/model | 100% |
| spring-ai-client-chat | @nestjs-ai/client-chat | 100% | |
| spring-ai-commons | @nestjs-ai/commons | 100% | |
| spring-ai-retry | @nestjs-ai/retry | 100% | |
| spring-ai-template-st | @nestjs-ai/template-st | 100% | |
| spring-ai-observation | @nestjs-ai/observation | 100% | |
| spring-ai-test | @nestjs-ai/testing | 100% | |
| Model Providers | spring-ai-openai | @nestjs-ai/model-openai | 100% |
| spring-ai-openai-sdk | @nestjs-ai/model-openai-sdk | 100% | |
| spring-ai-google-genai | @nestjs-ai/model-google-genai | 100% | |
| spring-ai-transformers | @nestjs-ai/model-transformers | 100% | |
| spring-ai-anthropic | — | 0% | |
| spring-ai-azure-openai | — | 0% | |
| spring-ai-bedrock | — | 0% | |
| spring-ai-mistral-ai | — | 0% | |
| spring-ai-ollama | — | 0% | |
| RAG & Vector Stores | spring-ai-rag | @nestjs-ai/rag | 100% |
| spring-ai-vector-store | @nestjs-ai/vector-store | 100% | |
| spring-ai-redis-store | @nestjs-ai/vector-store-redis | 100% | |
| spring-ai-advisors-vector-store | @nestjs-ai/advisors-vector-store | 100% | |
| spring-ai-pgvector-store | — | 0% | |
| spring-ai-chroma-store | — | 0% | |
| spring-ai-pinecone-store | — | 0% | |
| spring-ai-milvus-store | — | 0% | |
| Document Readers | spring-ai-pdf-document-reader | @nestjs-ai/document-reader-pdf | 100% |
| spring-ai-markdown-document-reader | @nestjs-ai/document-reader-markdown | 100% | |
| spring-ai-tika-document-reader | @nestjs-ai/document-reader-tika | 100% | |
| (cheerio - NestJS specific) | @nestjs-ai/document-reader-cheerio | 100% | |
| Memory | spring-ai-model-chat-memory-redis | @nestjs-ai/model-chat-memory-repository-redis | 100% |
| spring-ai-model-chat-memory-jdbc | — | 0% | |
| spring-ai-model-chat-memory-cassandra | — | 0% | |
| Platform | spring-ai-autoconfigure | @nestjs-ai/platform | 100% |
| spring-ai-mcp | @nestjs-ai/mcp-common | 10% | |
| spring-ai-jsdbc | @nestjs-ai/jsdbc | 30% |
nestjs-ai/
├── packages/
│ ├── model/ # Core chat/embedding abstractions
│ ├── client-chat/ # High-level client API & advisors
│ ├── commons/ # Shared utilities & tokens
│ ├── platform/ # NestJS module integration
│ ├── rag/ # RAG pipeline
│ ├── vector-store/ # Vector store abstractions
│ ├── observation/ # OpenTelemetry integration
│ ├── retry/ # Retry utilities
│ ├── template-st/ # Prompt templating
│ ├── testing/ # Test utilities
│ ├── jsdbc/ # JDBC integration layer
│ ├── models/
│ │ ├── openai/ # OpenAI provider
│ │ ├── google-genai/ # Google GenAI provider
│ │ └── transformers/ # Hugging Face local embeddings
│ ├── mcp/
│ │ └── common/ # Model Context Protocol
│ ├── vector-stores/
│ │ └── redis-store/ # Redis vector store
│ ├── memory/
│ │ └── repository/
│ │ └── model-chat-memory-repository-redis/
│ ├── document-readers/
│ │ ├── pdf-reader/ # PDF.js reader
│ │ ├── markdown-reader/ # Markdown reader
│ │ ├── cheerio-reader/ # HTML/web scraping
│ │ └── tika-reader/ # Apache Tika reader
│ └── advisors/
│ └── advisors-vector-store/
├── docs/ # Antora documentation site
└── turbo.json # Turborepo configuration
pnpm install
pnpm build
pnpm test
pnpm lint
pnpm format
FAQs
Markdown document reader for NestJS AI
The npm package @nestjs-ai/document-reader-markdown receives a total of 5 weekly downloads. As such, @nestjs-ai/document-reader-markdown popularity was classified as not popular.
We found that @nestjs-ai/document-reader-markdown demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.

Product
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.