framework-mcp 1.5.3 → 2.3.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 (75) hide show
  1. package/.claude/commands/speckit.analyze.md +184 -0
  2. package/.claude/commands/speckit.checklist.md +294 -0
  3. package/.claude/commands/speckit.clarify.md +181 -0
  4. package/.claude/commands/speckit.constitution.md +82 -0
  5. package/.claude/commands/speckit.implement.md +135 -0
  6. package/.claude/commands/speckit.plan.md +89 -0
  7. package/.claude/commands/speckit.specify.md +258 -0
  8. package/.claude/commands/speckit.tasks.md +137 -0
  9. package/.claude/commands/speckit.taskstoissues.md +30 -0
  10. package/.do/app.yaml +1 -1
  11. package/.github/dependabot.yml +15 -0
  12. package/.github/workflows/ci.yml +31 -2
  13. package/.specify/memory/constitution.md +50 -0
  14. package/.specify/scripts/bash/check-prerequisites.sh +166 -0
  15. package/.specify/scripts/bash/common.sh +156 -0
  16. package/.specify/scripts/bash/create-new-feature.sh +297 -0
  17. package/.specify/scripts/bash/setup-plan.sh +61 -0
  18. package/.specify/scripts/bash/update-agent-context.sh +799 -0
  19. package/.specify/templates/agent-file-template.md +28 -0
  20. package/.specify/templates/checklist-template.md +40 -0
  21. package/.specify/templates/plan-template.md +104 -0
  22. package/.specify/templates/spec-template.md +115 -0
  23. package/.specify/templates/tasks-template.md +251 -0
  24. package/README.md +84 -435
  25. package/dist/core/safeguard-manager.d.ts.map +1 -1
  26. package/dist/core/safeguard-manager.js +7105 -2543
  27. package/dist/core/safeguard-manager.js.map +1 -1
  28. package/dist/interfaces/http/http-server.d.ts +2 -0
  29. package/dist/interfaces/http/http-server.d.ts.map +1 -1
  30. package/dist/interfaces/http/http-server.js +95 -3
  31. package/dist/interfaces/http/http-server.js.map +1 -1
  32. package/dist/interfaces/mcp/mcp-server.js +3 -3
  33. package/dist/shared/types.d.ts +85 -2
  34. package/dist/shared/types.d.ts.map +1 -1
  35. package/dist/shared/types.js +132 -1
  36. package/dist/shared/types.js.map +1 -1
  37. package/package.json +7 -4
  38. package/scripts/standardize-prompts.js +325 -0
  39. package/scripts/validate-capability-prompts.js +110 -0
  40. package/src/core/safeguard-manager.ts +12387 -2630
  41. package/src/interfaces/http/http-server.ts +109 -4
  42. package/src/interfaces/mcp/mcp-server.ts +3 -3
  43. package/src/shared/types.ts +268 -2
  44. package/swagger.json +56 -36
  45. package/CAPABILITY_TRANSFORMATION_SUMMARY.md +0 -158
  46. package/CIS_CONTROLS_IMPLEMENTATION_PLAN.md +0 -220
  47. package/COPILOT_INTEGRATION.md +0 -322
  48. package/DAYS_5_6_COMPLETION_SUMMARY.md +0 -178
  49. package/DEPLOYMENT_GUIDE.md +0 -334
  50. package/DEPLOYMENT_SUMMARY_v1.1.3.md +0 -211
  51. package/MCP_INTEGRATION_GUIDE.md +0 -285
  52. package/MIGRATION_GUIDE_v1.4.0.md +0 -190
  53. package/RELEASE_NOTES_v1.1.3.md +0 -321
  54. package/RELEASE_NOTES_v1.2.0.md +0 -396
  55. package/RELEASE_NOTES_v1.3.7.md +0 -275
  56. package/RELEASE_NOTES_v1.4.0.md +0 -178
  57. package/SAFEGUARDS_VERIFICATION_LOG.md +0 -157
  58. package/coordinator-bot-compact.txt +0 -33
  59. package/coordinator-bot-system-prompt.md +0 -192
  60. package/docs/installation.md +0 -71
  61. package/scripts/analyze-data-structure.cjs +0 -74
  62. package/scripts/clean-safeguards-data.cjs +0 -60
  63. package/scripts/comprehensive-validation.cjs +0 -176
  64. package/scripts/count-safeguards.cjs +0 -89
  65. package/scripts/format-safeguards-proper.cjs +0 -44
  66. package/scripts/validate-formatted-data.cjs +0 -88
  67. package/test_capability_integration.js +0 -73
  68. package/test_comprehensive_scenarios.js +0 -192
  69. package/test_enhanced_detection.js +0 -74
  70. package/test_integrated_validation.js +0 -112
  71. package/test_language_update.js +0 -101
  72. package/test_live_validation.json +0 -12
  73. package/test_performance_monitoring.js +0 -124
  74. package/test_runner_automated.js +0 -156
  75. package/test_suite_comprehensive.js +0 -218
@@ -3,7 +3,9 @@ export declare class FrameworkHttpServer {
3
3
  private app;
4
4
  private safeguardManager;
5
5
  private port;
6
+ private rateLimitConfig;
6
7
  constructor(port?: number);
8
+ private parseRateLimitConfig;
7
9
  private setupMiddleware;
8
10
  private setupRoutes;
9
11
  private setupErrorHandling;
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":";AAcA,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,GAAE,MAAa;IAU/B,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,WAAW;IA0EnB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,mBAAmB;IAQpB,KAAK,IAAI,IAAI;CAoBrB"}
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":";AAgBA,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,eAAe,CAAkB;gBAE7B,IAAI,GAAE,MAAa;IAW/B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe;IA4DvB,OAAO,CAAC,WAAW;IA6InB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,mBAAmB;IAQpB,KAAK,IAAI,IAAI;CAoBrB"}
@@ -3,17 +3,50 @@ import express from 'express';
3
3
  import cors from 'cors';
4
4
  import helmet from 'helmet';
5
5
  import compression from 'compression';
6
+ import rateLimit from 'express-rate-limit';
6
7
  import { SafeguardManager } from '../../core/safeguard-manager.js';
7
8
  export class FrameworkHttpServer {
8
9
  constructor(port = 8080) {
9
10
  this.app = express();
10
11
  this.safeguardManager = new SafeguardManager();
11
12
  this.port = port;
13
+ this.rateLimitConfig = this.parseRateLimitConfig();
12
14
  this.setupMiddleware();
13
15
  this.setupRoutes();
14
16
  this.setupErrorHandling();
15
17
  }
18
+ parseRateLimitConfig() {
19
+ const skipIpsEnv = process.env.RATE_LIMIT_SKIP_IPS;
20
+ return {
21
+ windowMs: parseInt(process.env.RATE_LIMIT_WINDOW_MS || '60000', 10),
22
+ max: parseInt(process.env.RATE_LIMIT_MAX || '100', 10),
23
+ skipIps: skipIpsEnv ? skipIpsEnv.split(',').map(ip => ip.trim()) : undefined
24
+ };
25
+ }
16
26
  setupMiddleware() {
27
+ // Rate limiting middleware - must be before other middleware
28
+ const limiter = rateLimit({
29
+ windowMs: this.rateLimitConfig.windowMs,
30
+ max: this.rateLimitConfig.max,
31
+ standardHeaders: true,
32
+ legacyHeaders: false,
33
+ skip: (req) => {
34
+ if (this.rateLimitConfig.skipIps && req.ip) {
35
+ return this.rateLimitConfig.skipIps.includes(req.ip);
36
+ }
37
+ return false;
38
+ },
39
+ message: {
40
+ error: 'Too many requests',
41
+ retryAfter: 'See Retry-After header',
42
+ timestamp: new Date().toISOString()
43
+ },
44
+ handler: (req, res, _next, options) => {
45
+ console.log(`[Rate Limit] IP ${req.ip} exceeded limit`);
46
+ res.status(429).json(options.message);
47
+ }
48
+ });
49
+ this.app.use(limiter);
17
50
  // Security middleware
18
51
  this.app.use(helmet({
19
52
  contentSecurityPolicy: {
@@ -50,10 +83,69 @@ export class FrameworkHttpServer {
50
83
  res.json({
51
84
  status: 'healthy',
52
85
  uptime: Math.round(process.uptime()),
53
- version: '1.5.3',
86
+ version: '2.3.2',
54
87
  timestamp: new Date().toISOString()
55
88
  });
56
89
  });
90
+ // Safeguards health check endpoint - validates data completeness
91
+ this.app.get('/api/health/safeguards', (req, res) => {
92
+ try {
93
+ const allSafeguards = this.safeguardManager.getAllSafeguards();
94
+ const safeguardIds = Object.keys(allSafeguards);
95
+ let totalValidated = 0;
96
+ let errors = [];
97
+ const expectedFields = [
98
+ 'systemPromptFull',
99
+ 'systemPromptPartial',
100
+ 'systemPromptFacilitates',
101
+ 'systemPromptGovernance',
102
+ 'systemPromptValidates'
103
+ ];
104
+ for (const safeguardId of safeguardIds) {
105
+ const safeguard = allSafeguards[safeguardId];
106
+ // Check all five capability prompts exist and are complete
107
+ for (const field of expectedFields) {
108
+ const prompt = safeguard[field];
109
+ if (!prompt) {
110
+ errors.push(`${safeguardId}: Missing ${field}`);
111
+ continue;
112
+ }
113
+ if (!prompt.role || !prompt.context || !prompt.objective ||
114
+ !prompt.guidelines || !prompt.outputFormat) {
115
+ errors.push(`${safeguardId}.${field}: Incomplete structure`);
116
+ }
117
+ }
118
+ // Check deprecated field is gone
119
+ if ('systemPrompt' in safeguard) {
120
+ errors.push(`${safeguardId}: Deprecated systemPrompt field exists`);
121
+ }
122
+ totalValidated++;
123
+ }
124
+ res.json({
125
+ status: errors.length === 0 ? 'healthy' : 'unhealthy',
126
+ safeguards: {
127
+ total: totalValidated,
128
+ expected: 153,
129
+ complete: totalValidated === 153 && errors.length === 0
130
+ },
131
+ capabilityPrompts: {
132
+ expectedFields: expectedFields.length,
133
+ validatedFields: expectedFields.length
134
+ },
135
+ errors: errors.length,
136
+ errorDetails: errors.slice(0, 10), // Show first 10 errors only
137
+ timestamp: new Date().toISOString()
138
+ });
139
+ }
140
+ catch (error) {
141
+ res.status(500).json({
142
+ status: 'error',
143
+ message: 'Failed to validate safeguards data',
144
+ error: error instanceof Error ? error.message : 'Unknown error',
145
+ timestamp: new Date().toISOString()
146
+ });
147
+ }
148
+ });
57
149
  // Get safeguard details endpoint
58
150
  this.app.get('/api/safeguards/:safeguardId', (req, res) => {
59
151
  try {
@@ -91,7 +183,7 @@ export class FrameworkHttpServer {
91
183
  this.app.get('/api', (req, res) => {
92
184
  res.json({
93
185
  name: 'Framework MCP HTTP API',
94
- version: '1.5.3',
186
+ version: '2.3.2',
95
187
  description: 'Pure Data Provider serving authentic CIS Controls Framework data',
96
188
  endpoints: {
97
189
  'GET /api/safeguards': 'List all available CIS safeguards',
@@ -130,7 +222,7 @@ export class FrameworkHttpServer {
130
222
  }
131
223
  start() {
132
224
  this.app.listen(this.port, '0.0.0.0', () => {
133
- console.log(`🚀 Framework MCP HTTP Server v1.5.3 running on port ${this.port}`);
225
+ console.log(`🚀 Framework MCP HTTP Server v2.2.0 running on port ${this.port}`);
134
226
  console.log(`📊 Health check: http://localhost:${this.port}/health`);
135
227
  console.log(`📖 API docs: http://localhost:${this.port}/api`);
136
228
  console.log(`🔧 Environment: ${process.env.NODE_ENV || 'development'}`);
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export class FrameworkMcpServer {
7
7
  constructor() {
8
8
  this.server = new Server({
9
9
  name: 'framework-analyzer',
10
- version: '1.5.3',
10
+ version: '2.3.2',
11
11
  });
12
12
  this.safeguardManager = new SafeguardManager();
13
13
  this.setupHandlers();
@@ -103,7 +103,7 @@ export class FrameworkMcpServer {
103
103
  safeguards,
104
104
  total: safeguards.length,
105
105
  framework: 'CIS Controls v8.1',
106
- version: '1.5.3'
106
+ version: '2.3.2'
107
107
  }, null, 2),
108
108
  },
109
109
  ],
@@ -122,7 +122,7 @@ export class FrameworkMcpServer {
122
122
  async run() {
123
123
  const transport = new StdioServerTransport();
124
124
  await this.server.connect(transport);
125
- console.error('🤖 Framework MCP Server v1.5.3 running via stdio');
125
+ console.error('🤖 Framework MCP Server v2.2.0 running via stdio');
126
126
  console.error('📊 Pure Data Provider for CIS Controls v8.1');
127
127
  }
128
128
  }
@@ -1,3 +1,13 @@
1
+ export type RelationshipType = 'dependency' | 'prerequisite' | 'complement' | 'supports' | 'validates' | 'governance' | 'sequence';
2
+ export type RelationshipStrength = 'critical' | 'strong' | 'moderate' | 'weak';
3
+ export interface SafeguardRelationship {
4
+ id: string;
5
+ type: RelationshipType;
6
+ strength: RelationshipStrength;
7
+ context: string;
8
+ bidirectional: boolean;
9
+ controlGroup?: string;
10
+ }
1
11
  export interface SafeguardElement {
2
12
  id: string;
3
13
  title: string;
@@ -10,8 +20,36 @@ export interface SafeguardElement {
10
20
  subTaxonomicalElements: string[];
11
21
  implementationSuggestions: string[];
12
22
  relatedSafeguards: string[];
13
- keywords: string[];
14
- systemPrompt?: {
23
+ enhancedRelationships?: SafeguardRelationship[];
24
+ systemPromptFull?: {
25
+ role: string;
26
+ context: string;
27
+ objective: string;
28
+ guidelines: string[];
29
+ outputFormat: string;
30
+ };
31
+ systemPromptPartial?: {
32
+ role: string;
33
+ context: string;
34
+ objective: string;
35
+ guidelines: string[];
36
+ outputFormat: string;
37
+ };
38
+ systemPromptFacilitates?: {
39
+ role: string;
40
+ context: string;
41
+ objective: string;
42
+ guidelines: string[];
43
+ outputFormat: string;
44
+ };
45
+ systemPromptGovernance?: {
46
+ role: string;
47
+ context: string;
48
+ objective: string;
49
+ guidelines: string[];
50
+ outputFormat: string;
51
+ };
52
+ systemPromptValidates?: {
15
53
  role: string;
16
54
  context: string;
17
55
  objective: string;
@@ -56,4 +94,49 @@ export interface QualityAssessment {
56
94
  gaps: string[];
57
95
  }
58
96
  export type CapabilityType = 'full' | 'partial' | 'facilitates' | 'governance' | 'validates';
97
+ /**
98
+ * Converts SafeguardRelationship[] to string[] for backward compatibility
99
+ */
100
+ export declare function relationshipsToStringArray(relationships: SafeguardRelationship[]): string[];
101
+ /**
102
+ * Converts string[] to basic SafeguardRelationship[] (when migrating legacy data)
103
+ */
104
+ export declare function stringArrayToRelationships(ids: string[], defaultType?: RelationshipType, defaultStrength?: RelationshipStrength): SafeguardRelationship[];
105
+ /**
106
+ * Validates that all referenced safeguard IDs exist in the provided set
107
+ */
108
+ export declare function validateSafeguardReferences(relationships: SafeguardRelationship[], validSafeguardIds: Set<string>): ValidationResult;
109
+ /**
110
+ * Validates bidirectional relationship consistency
111
+ * Returns relationships that claim to be bidirectional but lack reverse relationships
112
+ */
113
+ export declare function validateBidirectionalConsistency(safeguardId: string, relationships: SafeguardRelationship[], allSafeguards: Map<string, SafeguardElement>): ValidationResult;
114
+ /**
115
+ * Validates relationship data integrity for a single safeguard
116
+ */
117
+ export declare function validateSafeguardRelationships(safeguard: SafeguardElement, allSafeguards: Map<string, SafeguardElement>): ValidationResult;
118
+ /**
119
+ * Finds potential circular dependencies in relationships
120
+ */
121
+ export declare function detectCircularDependencies(allSafeguards: Map<string, SafeguardElement>): ValidationResult;
122
+ export interface ValidationResult {
123
+ isValid: boolean;
124
+ errors: string[];
125
+ }
126
+ /**
127
+ * Configuration for rate limiting middleware
128
+ */
129
+ export interface RateLimitConfig {
130
+ windowMs: number;
131
+ max: number;
132
+ skipIps?: string[];
133
+ }
134
+ /**
135
+ * Error response returned when rate limit is exceeded
136
+ */
137
+ export interface RateLimitErrorResponse {
138
+ error: string;
139
+ retryAfter?: number;
140
+ timestamp: string;
141
+ }
59
142
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IAEvB,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;IAE5E,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,yBAAyB,EAAE,MAAM,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,UAAU,GACV,WAAW,GACX,YAAY,GACZ,UAAU,CAAC;AAEf,MAAM,MAAM,oBAAoB,GAC5B,UAAU,GACV,QAAQ,GACR,UAAU,GACV,MAAM,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IAGpC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAG5B,qBAAqB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAGhD,gBAAgB,CAAC,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,mBAAmB,CAAC,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,sBAAsB,CAAC,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,qBAAqB,CAAC,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IAEvB,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;IAE5E,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,yBAAyB,EAAE,MAAM,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;AAI7F;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,MAAM,EAAE,CAE3F;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EAAE,EACb,WAAW,GAAE,gBAA6B,EAC1C,eAAe,GAAE,oBAAiC,GACjD,qBAAqB,EAAE,CAQzB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,qBAAqB,EAAE,EACtC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC7B,gBAAgB,CAalB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,qBAAqB,EAAE,EACtC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC3C,gBAAgB,CAyBlB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,gBAAgB,EAC3B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC3C,gBAAgB,CA0ClB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC3C,gBAAgB,CA2ClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,3 +1,134 @@
1
1
  // Shared TypeScript types for dual architecture
2
- export {};
2
+ // Utility functions for enhanced relationship system
3
+ /**
4
+ * Converts SafeguardRelationship[] to string[] for backward compatibility
5
+ */
6
+ export function relationshipsToStringArray(relationships) {
7
+ return relationships.map(rel => rel.id);
8
+ }
9
+ /**
10
+ * Converts string[] to basic SafeguardRelationship[] (when migrating legacy data)
11
+ */
12
+ export function stringArrayToRelationships(ids, defaultType = 'supports', defaultStrength = 'moderate') {
13
+ return ids.map(id => ({
14
+ id,
15
+ type: defaultType,
16
+ strength: defaultStrength,
17
+ context: `Legacy relationship to ${id}`,
18
+ bidirectional: false
19
+ }));
20
+ }
21
+ /**
22
+ * Validates that all referenced safeguard IDs exist in the provided set
23
+ */
24
+ export function validateSafeguardReferences(relationships, validSafeguardIds) {
25
+ const invalidIds = [];
26
+ for (const rel of relationships) {
27
+ if (!validSafeguardIds.has(rel.id)) {
28
+ invalidIds.push(rel.id);
29
+ }
30
+ }
31
+ return {
32
+ isValid: invalidIds.length === 0,
33
+ errors: invalidIds.map(id => `Invalid safeguard ID reference: ${id}`)
34
+ };
35
+ }
36
+ /**
37
+ * Validates bidirectional relationship consistency
38
+ * Returns relationships that claim to be bidirectional but lack reverse relationships
39
+ */
40
+ export function validateBidirectionalConsistency(safeguardId, relationships, allSafeguards) {
41
+ const errors = [];
42
+ for (const rel of relationships) {
43
+ if (rel.bidirectional) {
44
+ const targetSafeguard = allSafeguards.get(rel.id);
45
+ if (!targetSafeguard?.enhancedRelationships) {
46
+ errors.push(`Bidirectional relationship with ${rel.id} but target has no enhanced relationships`);
47
+ continue;
48
+ }
49
+ const reverseRelExists = targetSafeguard.enhancedRelationships.some(reverseRel => reverseRel.id === safeguardId && reverseRel.bidirectional);
50
+ if (!reverseRelExists) {
51
+ errors.push(`Bidirectional relationship with ${rel.id} but no reverse relationship found`);
52
+ }
53
+ }
54
+ }
55
+ return {
56
+ isValid: errors.length === 0,
57
+ errors
58
+ };
59
+ }
60
+ /**
61
+ * Validates relationship data integrity for a single safeguard
62
+ */
63
+ export function validateSafeguardRelationships(safeguard, allSafeguards) {
64
+ const errors = [];
65
+ if (!safeguard.enhancedRelationships) {
66
+ // Only validate basic string array consistency
67
+ if (safeguard.relatedSafeguards.length === 0) {
68
+ return { isValid: true, errors: [] };
69
+ }
70
+ const validIds = new Set(allSafeguards.keys());
71
+ const invalidBasicRefs = safeguard.relatedSafeguards.filter(id => !validIds.has(id));
72
+ if (invalidBasicRefs.length > 0) {
73
+ errors.push(...invalidBasicRefs.map(id => `Invalid basic reference: ${id}`));
74
+ }
75
+ }
76
+ else {
77
+ // Validate enhanced relationships
78
+ const validIds = new Set(allSafeguards.keys());
79
+ const refValidation = validateSafeguardReferences(safeguard.enhancedRelationships, validIds);
80
+ errors.push(...refValidation.errors);
81
+ const bidirValidation = validateBidirectionalConsistency(safeguard.id, safeguard.enhancedRelationships, allSafeguards);
82
+ errors.push(...bidirValidation.errors);
83
+ // Validate consistency between legacy and enhanced relationships
84
+ const enhancedIds = new Set(relationshipsToStringArray(safeguard.enhancedRelationships));
85
+ const legacyIds = new Set(safeguard.relatedSafeguards);
86
+ // Check if legacy array matches enhanced relationships
87
+ if (enhancedIds.size !== legacyIds.size ||
88
+ !Array.from(enhancedIds).every(id => legacyIds.has(id))) {
89
+ errors.push('Mismatch between relatedSafeguards and enhancedRelationships arrays');
90
+ }
91
+ }
92
+ return {
93
+ isValid: errors.length === 0,
94
+ errors
95
+ };
96
+ }
97
+ /**
98
+ * Finds potential circular dependencies in relationships
99
+ */
100
+ export function detectCircularDependencies(allSafeguards) {
101
+ const errors = [];
102
+ const visited = new Set();
103
+ const recursionStack = new Set();
104
+ function dfs(safeguardId, path) {
105
+ if (recursionStack.has(safeguardId)) {
106
+ errors.push(`Circular dependency detected: ${[...path, safeguardId].join(' -> ')}`);
107
+ return;
108
+ }
109
+ if (visited.has(safeguardId)) {
110
+ return;
111
+ }
112
+ visited.add(safeguardId);
113
+ recursionStack.add(safeguardId);
114
+ const safeguard = allSafeguards.get(safeguardId);
115
+ if (safeguard?.enhancedRelationships) {
116
+ const dependencies = safeguard.enhancedRelationships.filter(rel => rel.type === 'dependency' || rel.type === 'prerequisite');
117
+ for (const dep of dependencies) {
118
+ dfs(dep.id, [...path, safeguardId]);
119
+ }
120
+ }
121
+ recursionStack.delete(safeguardId);
122
+ }
123
+ // Check all safeguards for circular dependencies
124
+ for (const safeguardId of allSafeguards.keys()) {
125
+ if (!visited.has(safeguardId)) {
126
+ dfs(safeguardId, []);
127
+ }
128
+ }
129
+ return {
130
+ isValid: errors.length === 0,
131
+ errors
132
+ };
133
+ }
3
134
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,gDAAgD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "framework-mcp",
3
- "version": "1.5.3",
3
+ "version": "2.3.2",
4
4
  "description": "Pure Data Provider architecture serving authentic CIS Controls Framework data via MCP and HTTP API. Empowers LLMs with authoritative safeguards data for analysis. Supports Microsoft Copilot custom connectors and DigitalOcean App Services deployment.",
5
5
  "main": "dist/interfaces/http/http-server.js",
6
6
  "type": "module",
@@ -11,16 +11,18 @@
11
11
  "start:http": "node dist/interfaces/http/http-server.js",
12
12
  "dev": "tsc && npm run start:mcp",
13
13
  "dev:http": "tsc && npm run start:http",
14
- "prepare": "npm run build"
14
+ "prepare": "npm run build",
15
+ "standardize-prompts": "node scripts/standardize-prompts.js"
15
16
  },
16
17
  "bin": {
17
18
  "framework-mcp": "./dist/index.js"
18
19
  },
19
20
  "dependencies": {
20
- "@modelcontextprotocol/sdk": "^0.4.0",
21
+ "@modelcontextprotocol/sdk": "^1.29.0",
21
22
  "compression": "^1.8.1",
22
23
  "cors": "^2.8.5",
23
- "express": "^4.18.2",
24
+ "express": "^4.21.2",
25
+ "express-rate-limit": "^8.3.2",
24
26
  "helmet": "^8.1.0"
25
27
  },
26
28
  "devDependencies": {
@@ -28,6 +30,7 @@
28
30
  "@types/cors": "^2.8.19",
29
31
  "@types/express": "^4.17.17",
30
32
  "@types/node": "^20.0.0",
33
+ "ts-node": "^10.9.2",
31
34
  "typescript": "^5.0.0"
32
35
  },
33
36
  "keywords": [