-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
This guide covers installing and setting up the RDCP SDK in your Node.js application.
- Node.js: 18.0.0 or higher (native fetch in client SDK)
- Package Manager: npm, yarn, or pnpm
- Framework: Express 4.18+, Fastify 4.0+, Koa 2.0+, or Next.js 13+
npm install @rdcp.dev/server
yarn add @rdcp.dev/server
pnpm add @rdcp.dev/server
Create a test file to verify the SDK is installed correctly:
// test-rdcp.js
const { adapters, auth } = require('@rdcp.dev/server')
console.log('β
RDCP SDK installed successfully!')
console.log('Available adapters:', Object.keys(adapters))
console.log('Auth module loaded:', !!auth.validateRDCPAuth)
Run the test:
node test-rdcp.js
Expected output:
β
RDCP SDK installed successfully!
Available adapters: [ 'express', 'fastify', 'koa' ]
Auth module loaded: true
Set up your API key for authentication:
# .env file
RDCP_API_KEY="your-secure-32-plus-character-api-key-here"
The API key must be at least 32 characters for security compliance.
# Authentication level (default: basic)
RDCP_AUTH_LEVEL="basic"
# JWT secret for standard/enterprise auth
JWT_SECRET="your-jwt-signing-secret"
# Server configuration
NODE_ENV="development"
PORT="3000"
The RDCP SDK provides multiple export paths for different use cases:
// Main SDK exports
const { adapters, auth, utils } = require('@rdcp.dev/server')
// Framework-specific adapters
const express = require('@rdcp.dev/server/server/adapters/express')
const fastify = require('@rdcp.dev/server/server/adapters/fastify')
const koa = require('@rdcp.dev/server/server/adapters/koa')
// Authentication modules
const auth = require('@rdcp.dev/server/auth')
// Endpoint implementations
const { protocolDiscovery, debugSystemDiscovery } = require('@rdcp.dev/server/endpoints/discovery')
const { runtimeControl } = require('@rdcp.dev/server/endpoints/control')
// Utilities
const { extractTenantContext } = require('@rdcp.dev/server/utils/tenant')
The SDK includes full TypeScript type definitions:
import { adapters, auth } from '@rdcp.dev/server'
import type { RDCPClientConfig, ControlRequest } from '@rdcp.dev/server'
const middleware = adapters.express.createRDCPMiddleware({
authenticator: auth.validateRDCPAuth
})
For development and testing, you may want to install additional packages:
# Testing framework used by RDCP SDK
npm install --save-dev jest supertest
# TypeScript support
npm install --save-dev typescript @types/node
# Framework dependencies (choose what you need)
npm install express fastify koa
The SDK has optional peer dependencies for different frameworks:
{
"peerDependencies": {
"express": "^4.18.0",
"fastify": "^4.0.0"
},
"peerDependenciesMeta": {
"express": { "optional": true },
"fastify": { "optional": true }
}
}
Install only the framework you're using:
# For Express.js
npm install express
# For Fastify
npm install fastify
# For Koa (no peer dependency)
npm install koa
If using Docker, add to your Dockerfile:
FROM node:18-alpine
WORKDIR /app
# Copy package files
COPY package*.json ./
# Install dependencies including RDCP SDK
RUN npm ci --only=production
# Copy application code
COPY . .
# Set environment variables
ENV RDCP_API_KEY="your-production-api-key-32-characters-minimum"
ENV NODE_ENV="production"
EXPOSE 3000
CMD ["npm", "start"]
Issue: Cannot find module '@rdcp/server'
Solution: Ensure you've run npm install @rdcp/server
and the package is listed in your package.json
Issue: RDCP_API_KEY must be at least 32 characters
Solution: Set a longer API key in your environment variables
Issue: TypeScript errors with imports
Solution: Ensure you have @types/node
installed and proper TypeScript configuration
Test your specific framework integration:
// For Express
const express = require('express')
const { adapters } = require('@rdcp.dev/server')
console.log('Express adapter:', !!adapters.express)
// For Fastify
const fastify = require('fastify')
const { adapters } = require('@rdcp.dev/server')
console.log('Fastify adapter:', !!adapters.fastify)
Once installation is complete:
- Basic Usage - Add RDCP endpoints to your application
- Authentication Setup - Configure security for your endpoints
- Framework Integration - Choose your framework-specific guide:
Also helpful:
- Quick local demo with Jaeger Dependencies graph: RDCP Demo App
- Copy/paste checklist for agents/automation: AI Agent Quick Reference
Getting Started: Installation β’ Basic Usage β’ Authentication
Migration: From Manual Implementation β’ Framework Examples β’ Publishing Guide
Protocol: RDCP v1.0 Specification β’ Implementation Guide β’ API Reference
π Home | π¦ NPM Package | π GitHub | π Issues
RDCP SDK v1.0.0 - Runtime Debug Control Protocol implementation for JavaScript/Node.js applications
- Implementation-Status
- JavaScript-vs-TypeScript-Boundaries
- Core-Package-Boundaries
- Publishing-Setup
- Contributing
- API-Reference
- Protocol Specification
- Implementation Guide
- RDCP-Primitive-Types
- Protocol-Schemas
- Protocol-Error-Codes
- API-Reference
Version: 1.0.0
Protocol: RDCP v1.0
License: Apache-2.0