@girardmedia/bootspring 3.3.2 → 3.3.3

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.
@@ -1,2 +0,0 @@
1
- 'use strict';
2
- module.exports = require('../core.js');
@@ -1,578 +0,0 @@
1
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
- import { ToolDefinition, ResourceDefinition, ToolHandler, ResourceHandler, InvokeToolOptions, InvokeToolResult, MCPToolResult, WorkflowDefinition, CapabilitiesManifest } from '@bootspring/types';
3
- export { InvocationContext, InvokeToolOptions, InvokeToolResult, ResourceDefinition, ResourceHandler, ToolDefinition, ToolHandler } from '@bootspring/types';
4
-
5
- /**
6
- * Bootspring MCP Server
7
- * Model Context Protocol server for AI assistant integration
8
- *
9
- * @package @bootspring/mcp
10
- * @module server
11
- */
12
-
13
- interface ValidationResult {
14
- valid: boolean;
15
- errors: string[];
16
- }
17
- interface RegistryExports {
18
- TOOLS: ToolDefinition[];
19
- RESOURCES: ResourceDefinition[];
20
- toolHandlers: Record<string, ToolHandler>;
21
- resourceHandlers: Record<string, ResourceHandler>;
22
- trackTelemetry: (event: string, payload: Record<string, unknown>) => void;
23
- }
24
- interface MCPServerOptions {
25
- name?: string;
26
- version?: string;
27
- registry: RegistryExports;
28
- onToolSuccess?: (toolName: string) => void;
29
- }
30
- interface BootstrapModule {
31
- getRegistry?: () => RegistryExports;
32
- main?: () => Promise<void>;
33
- default?: {
34
- getRegistry?: () => RegistryExports;
35
- main?: () => Promise<void>;
36
- };
37
- }
38
- interface ResolveRuntimeRegistryOptions {
39
- basePath?: string;
40
- defaultRegistry?: RegistryExports;
41
- loadModule?: (specifier: string) => Promise<BootstrapModule>;
42
- }
43
- declare function createServer(options: MCPServerOptions): Promise<Server>;
44
- declare function isRegistryPopulated(registry: RegistryExports): boolean;
45
- /**
46
- * @deprecated Legacy path resolution for pre-monorepo MCP installations.
47
- * Will be removed in v5.0. Use getRegistryExports() from @bootspring/mcp/registry instead.
48
- */
49
- declare function getLegacyRegistryCandidatePaths(basePath?: string): string[];
50
- declare function resolveRuntimeRegistry(options?: ResolveRuntimeRegistryOptions): Promise<RegistryExports | null>;
51
- declare function startStdioServer(options: MCPServerOptions): Promise<void>;
52
- declare function validateDependencies(): ValidationResult;
53
- declare function main(): Promise<void>;
54
-
55
- /**
56
- * MCP Registry
57
- * Central registry for tool/resource definitions and handler wiring
58
- *
59
- * @package @bootspring/mcp
60
- * @module registry
61
- */
62
-
63
- type CompatibilityRegistry = ReturnType<typeof createRegistryExports>;
64
- interface LegacyRegistryModule {
65
- TOOLS?: ToolDefinition[] | undefined;
66
- RESOURCES?: ResourceDefinition[] | undefined;
67
- toolHandlers?: Record<string, ToolHandler> | undefined;
68
- resourceHandlers?: Record<string, ResourceHandler> | undefined;
69
- trackTelemetry?: ((event: string, payload: Record<string, unknown>) => void) | undefined;
70
- getRegistry?: (() => CompatibilityRegistry) | undefined;
71
- getRegistryExports?: (() => CompatibilityRegistry) | undefined;
72
- default?: LegacyRegistryModule | undefined;
73
- }
74
- interface CompatibilityRegistryOptions {
75
- basePath?: string | undefined;
76
- defaultRegistry?: CompatibilityRegistry | undefined;
77
- loadModule?: ((candidatePath: string) => LegacyRegistryModule) | undefined;
78
- }
79
- /**
80
- * Register a tool with the MCP server
81
- */
82
- declare function registerTool(definition: ToolDefinition, handler: ToolHandler): void;
83
- /**
84
- * Register a resource with the MCP server
85
- */
86
- declare function registerResource(definition: ResourceDefinition, handler: ResourceHandler): void;
87
- /**
88
- * Load tools from a directory of tool modules
89
- */
90
- declare function loadToolsFromDirectory(toolsDir: string): void;
91
- /**
92
- * Invoke a tool from within another tool (tool-to-tool calls)
93
- */
94
- declare function invokeTool(toolName: string, args: Record<string, unknown>, options?: InvokeToolOptions): Promise<InvokeToolResult>;
95
- /**
96
- * Track telemetry events
97
- */
98
- declare function trackTelemetry(event: string, payload: Record<string, unknown>): void;
99
- declare function createRegistryExports(): {
100
- TOOLS: ToolDefinition[];
101
- RESOURCES: ResourceDefinition[];
102
- toolHandlers: Record<string, ToolHandler>;
103
- resourceHandlers: Record<string, ResourceHandler>;
104
- trackTelemetry: typeof trackTelemetry;
105
- };
106
- declare function getCompatibilityRegistryCandidatePaths(basePath?: string): string[];
107
- declare function resolveCompatibilityRegistry(options?: CompatibilityRegistryOptions): CompatibilityRegistry;
108
- /**
109
- * Clear the result cache
110
- */
111
- declare function clearCache(): void;
112
- /**
113
- * Get all registered tools
114
- */
115
- declare function getTools(): ToolDefinition[];
116
- /**
117
- * Get all registered resources
118
- */
119
- declare function getResources(): ResourceDefinition[];
120
- /**
121
- * Get all tool handlers
122
- */
123
- declare function getToolHandlers(): Record<string, ToolHandler>;
124
- /**
125
- * Get all resource handlers
126
- */
127
- declare function getResourceHandlers(): Record<string, ResourceHandler>;
128
- /**
129
- * Get the full registry export object
130
- */
131
- declare function getRegistryExports(): {
132
- TOOLS: ToolDefinition[];
133
- RESOURCES: ResourceDefinition[];
134
- toolHandlers: Record<string, ToolHandler>;
135
- resourceHandlers: Record<string, ResourceHandler>;
136
- trackTelemetry: typeof trackTelemetry;
137
- };
138
-
139
- /**
140
- * MCP Response Formatter
141
- * Creates well-structured, human-friendly tool responses
142
- *
143
- * @package @bootspring/mcp
144
- * @module response-formatter
145
- */
146
-
147
- interface SuccessOptions {
148
- summary?: string;
149
- data?: unknown;
150
- hints?: string[];
151
- meta?: Record<string, unknown>;
152
- }
153
- interface ListOptions<T> {
154
- title: string;
155
- items: T[];
156
- formatter?: (item: T, index: number) => string;
157
- emptyMessage?: string;
158
- hints?: string[];
159
- }
160
- interface AgentData {
161
- name: string;
162
- category?: string;
163
- description: string;
164
- expertise: string[];
165
- systemPrompt?: string;
166
- }
167
- interface SkillData {
168
- name: string;
169
- description: string;
170
- tags?: string[];
171
- }
172
- interface TodoItem {
173
- text: string;
174
- status?: string;
175
- }
176
- interface QualityGateResults {
177
- name?: string;
178
- gate?: string;
179
- status: 'pass' | 'fail';
180
- passed: number;
181
- failed: number;
182
- skipped?: number;
183
- results: Array<{
184
- name: string;
185
- status: 'pass' | 'fail' | 'skip';
186
- message?: string;
187
- }>;
188
- }
189
- interface ContextValidationResult {
190
- valid: boolean;
191
- errors?: string[];
192
- warnings?: string[];
193
- suggestions?: string[];
194
- }
195
- interface ProjectContextDisplay {
196
- project?: {
197
- name?: string;
198
- version?: string;
199
- };
200
- stack?: {
201
- framework?: string;
202
- language?: string;
203
- database?: string;
204
- };
205
- plugins?: Record<string, unknown>;
206
- }
207
- interface OrchestratorStatus {
208
- currentPhase?: string;
209
- availableAgents?: number;
210
- activeWorkflow?: string;
211
- activeWorkflowSignalProgress?: {
212
- completedSignals: unknown[];
213
- totalSignals: number;
214
- };
215
- recentSuggestions?: Array<{
216
- text?: string;
217
- } | string>;
218
- }
219
- interface PRDData {
220
- name: string;
221
- stories: Array<{
222
- title: string;
223
- status: string;
224
- }>;
225
- }
226
- interface ProgressInfo {
227
- completed: number;
228
- total: number;
229
- percentage: number;
230
- }
231
- interface AssistResponseData {
232
- confidenceTier?: 'high' | 'medium' | 'low' | 'very_low';
233
- understood?: {
234
- intent?: string;
235
- confidence?: number;
236
- description?: string;
237
- };
238
- primarySuggestion?: {
239
- message: string;
240
- };
241
- clarificationNeeded?: boolean;
242
- clarificationQuestion?: string;
243
- clarificationOptions?: string[];
244
- suggestions?: Array<{
245
- message: string;
246
- }>;
247
- memoryInsight?: {
248
- message: string;
249
- recommendation: string;
250
- };
251
- recommendedTool?: {
252
- name: string;
253
- args: Record<string, unknown>;
254
- reason: string;
255
- };
256
- }
257
- interface MCPToolResultWithMeta extends MCPToolResult {
258
- _meta?: Record<string, unknown>;
259
- }
260
- /**
261
- * Format a success response
262
- */
263
- declare function success(options: SuccessOptions): MCPToolResultWithMeta;
264
- /**
265
- * Format an error response
266
- */
267
- declare function error(message: string, suggestions?: string[]): MCPToolResult;
268
- /**
269
- * Format a warning response
270
- */
271
- declare function warning(message: string, suggestions?: string[]): MCPToolResult;
272
- /**
273
- * Format a list response
274
- */
275
- declare function list<T>(options: ListOptions<T>): MCPToolResult;
276
- /**
277
- * Format agent details
278
- */
279
- declare function agentDetails(id: string, agent: AgentData): MCPToolResult;
280
- /**
281
- * Format skill details
282
- */
283
- declare function skillDetails(id: string, skill: SkillData, content?: string | null): MCPToolResult;
284
- /**
285
- * Format todo list
286
- */
287
- declare function todoList(pending: TodoItem[], completed: TodoItem[]): MCPToolResult;
288
- /**
289
- * Format quality gate results
290
- */
291
- declare function qualityResults(results: QualityGateResults): MCPToolResult;
292
- /**
293
- * Format context validation results
294
- */
295
- declare function contextValidation(validation: ContextValidationResult): MCPToolResult;
296
- /**
297
- * Format project context summary
298
- */
299
- declare function contextSummary(ctx: ProjectContextDisplay): MCPToolResult;
300
- /**
301
- * Format orchestrator status
302
- */
303
- declare function orchestratorStatus(status: OrchestratorStatus): MCPToolResult;
304
- /**
305
- * Format PRD/loop status
306
- */
307
- declare function loopStatus(prd: PRDData, progress: ProgressInfo): MCPToolResult;
308
- /**
309
- * Generate a progress bar
310
- */
311
- declare function generateProgressBar(percentage: number): string;
312
- /**
313
- * Format assist response
314
- */
315
- declare function assistResponse(response: AssistResponseData): MCPToolResult;
316
-
317
- /**
318
- * MCP Capabilities
319
- * Capability manifest for assistant clients
320
- *
321
- * @package @bootspring/mcp
322
- * @module capabilities
323
- */
324
-
325
- interface BuildCapabilitiesOptions {
326
- tier?: string;
327
- entitled?: boolean;
328
- mode?: string;
329
- [key: string]: unknown;
330
- }
331
- interface WorkflowAccessContext {
332
- mode: string;
333
- tier: string;
334
- entitled: boolean;
335
- policyProfile: string;
336
- }
337
- interface PolicyProfile {
338
- id: string;
339
- allowExternalSkills: boolean;
340
- blockedWorkflows: string[];
341
- }
342
- interface FilteredWorkflows {
343
- allowed: WorkflowDefinition[];
344
- denied: WorkflowDefinition[];
345
- }
346
- interface CapabilitiesDeps {
347
- resolveWorkflowAccessContext: (options: BuildCapabilitiesOptions) => WorkflowAccessContext;
348
- filterAccessibleWorkflows: (workflows: WorkflowDefinition[], options: BuildCapabilitiesOptions) => FilteredWorkflows;
349
- getPolicyProfile: (profileId: string, options: BuildCapabilitiesOptions) => PolicyProfile;
350
- listWorkflows: () => WorkflowDefinition[];
351
- }
352
- /**
353
- * Build capabilities manifest
354
- */
355
- declare function buildCapabilities(deps: CapabilitiesDeps, options?: BuildCapabilitiesOptions): CapabilitiesManifest;
356
- /**
357
- * Build a default capabilities manifest for unauthenticated/local mode
358
- */
359
- declare function buildDefaultCapabilities(): CapabilitiesManifest;
360
-
361
- /**
362
- * MCP Tools — Docs Intelligence
363
- * 5 tools for AI-powered documentation generation, updates, drift detection,
364
- * quality improvement, and status checking.
365
- *
366
- * All tools call the server API — no IP in the MCP layer.
367
- * @package @bootspring/mcp
368
- */
369
-
370
- declare function registerDocsIntelligenceTools(): void;
371
- declare const DOCS_INTELLIGENCE_TOOLS: {
372
- definition: ToolDefinition;
373
- handler: ToolHandler;
374
- }[];
375
-
376
- /**
377
- * MCP Tools — Quality Intelligence
378
- * 3 tools for multi-agent quality analysis, history, and trend.
379
- *
380
- * All tools call the server API — no IP in the MCP layer.
381
- * @package @bootspring/mcp
382
- */
383
-
384
- declare function registerQualityIntelligenceTools(): void;
385
- declare const QUALITY_INTELLIGENCE_TOOLS: {
386
- definition: ToolDefinition;
387
- handler: ToolHandler;
388
- }[];
389
-
390
- /**
391
- * MCP Tools — Assistant Parity Matrix
392
- * 3 tools for assistant detection, listing, and parity checking.
393
- *
394
- * All tools call the server API — no IP in the MCP layer.
395
- * @package @bootspring/mcp
396
- */
397
-
398
- declare function registerAssistantParityTools(): void;
399
- declare const ASSISTANT_PARITY_TOOLS: {
400
- definition: ToolDefinition;
401
- handler: ToolHandler;
402
- }[];
403
-
404
- /**
405
- * MCP Tools — RBAC Management
406
- * 4 tools for project member management and audit access.
407
- *
408
- * All tools call the server API — no IP in the MCP layer.
409
- * @package @bootspring/mcp
410
- */
411
-
412
- declare const RBAC_TOOLS: ToolDefinition[];
413
- declare function registerRbacTools(): void;
414
-
415
- /**
416
- * MCP Tools — Metrics & Telemetry
417
- * 3 tools for KPIs, telemetry events, and experiment management.
418
- *
419
- * All tools call the server API — no IP in the MCP layer.
420
- * @package @bootspring/mcp
421
- */
422
-
423
- declare const METRICS_TOOLS: ToolDefinition[];
424
- declare function registerMetricsTools(): void;
425
-
426
- /**
427
- * MCP Tools — Audit Quality Gates
428
- * 4 tools for audit scanning, gate evaluation, findings, and regression.
429
- *
430
- * All tools call the server API — no IP in the MCP layer.
431
- * @package @bootspring/mcp
432
- */
433
-
434
- declare const AUDIT_TOOLS: ToolDefinition[];
435
- declare function registerAuditTools(): void;
436
-
437
- /**
438
- * MCP Tools — Release Engineering
439
- * 4 tools for release gates, prepare, history, and rollback.
440
- *
441
- * All tools call the server API — no IP in the MCP layer.
442
- * @package @bootspring/mcp
443
- */
444
-
445
- declare const RELEASE_TOOLS: ToolDefinition[];
446
- declare function registerReleaseTools(): void;
447
-
448
- /**
449
- * MCP Tools — Context Sync & Document Integrity
450
- * 4 tools for document tracking, integrity checks, sync operations, and conflict resolution.
451
- *
452
- * All tools call the server API — no IP in the MCP layer.
453
- * @package @bootspring/mcp
454
- */
455
-
456
- declare const SYNC_TOOLS: ToolDefinition[];
457
- declare function registerSyncTools(): void;
458
-
459
- /**
460
- * MCP Tools — Documentation Experience & Onboarding
461
- * 4 tools for checklists, progress, guides, and onboarding stats.
462
- *
463
- * All tools call the server API — no IP in the MCP layer.
464
- * @package @bootspring/mcp
465
- */
466
-
467
- declare const ONBOARDING_TOOLS: ToolDefinition[];
468
- declare function registerOnboardingTools(): void;
469
-
470
- /**
471
- * MCP Tools — Marketplace & Partner Integration
472
- * 4 tools for browsing integrations, managing installs, webhooks, and stats.
473
- *
474
- * All tools call the server API — no IP in the MCP layer.
475
- * @package @bootspring/mcp
476
- */
477
-
478
- declare const MARKETPLACE_TOOLS: ToolDefinition[];
479
- declare function registerMarketplaceTools(): void;
480
-
481
- /**
482
- * MCP Tools — Enterprise Compliance & Governance
483
- * 4 tools for controls, risks, actions, and compliance stats.
484
- *
485
- * All tools call the server API — no IP in the MCP layer.
486
- * @package @bootspring/mcp
487
- */
488
-
489
- declare const COMPLIANCE_TOOLS: ToolDefinition[];
490
- declare function registerComplianceTools(): void;
491
-
492
- /**
493
- * MCP Tools — Notification & Event System
494
- * 4 tools for events, notifications, subscriptions, and stats.
495
- *
496
- * All tools call the server API — no IP in the MCP layer.
497
- * @package @bootspring/mcp
498
- */
499
-
500
- declare const NOTIFICATION_TOOLS: ToolDefinition[];
501
- declare function registerNotificationTools(): void;
502
-
503
- /**
504
- * MCP Tools — Observer Intelligence Layer
505
- * 10 tools for session metrics, cost tracking, intelligence analysis,
506
- * pattern detection, alerts, trends, comparison, and optimization.
507
- *
508
- * All tools call the server API — no IP in the MCP layer.
509
- * @package @bootspring/mcp
510
- */
511
-
512
- declare const OBSERVER_TOOLS: ToolDefinition[];
513
- declare function registerObserverTools(): void;
514
-
515
- /**
516
- * @bootspring/mcp — Autopilot MCP Tools
517
- * 4 tools: autopilot-status, autopilot-config, autopilot-suggestions, autopilot-learning
518
- * @package @bootspring/mcp
519
- */
520
-
521
- declare const AUTOPILOT_TOOLS: ToolDefinition[];
522
- declare function registerAutopilotTools(): void;
523
-
524
- /**
525
- * @bootspring/mcp — Brain NLU Router MCP Tool
526
- * 1 tool: bootspring_brain — natural language router for skills, workflows, agents, pipelines.
527
- * @package @bootspring/mcp
528
- */
529
-
530
- declare const BRAIN_TOOLS: ToolDefinition[];
531
- declare function registerBrainTools(): void;
532
-
533
- /**
534
- * @bootspring/mcp — Swarm Intelligence MCP Tools
535
- * 3 tools: bootspring_swarm, bootspring_memory, bootspring_plan
536
- * @package @bootspring/mcp
537
- */
538
-
539
- declare const SWARM_TOOLS: ToolDefinition[];
540
- declare function registerSwarmTools(): void;
541
-
542
- /**
543
- * Local Sprint Stack artifact helpers.
544
- *
545
- * @package @bootspring/mcp
546
- */
547
- type SprintEvidenceKind = 'review' | 'qa' | 'security' | 'release' | 'learning';
548
- interface SprintArtifactResult {
549
- kind: string;
550
- path: string;
551
- action: 'wrote' | 'appended';
552
- }
553
- interface SprintArtifactHistoryItem {
554
- id: string;
555
- kind: 'plan' | 'note';
556
- label: string;
557
- path: string;
558
- updatedAt: string;
559
- detail: string;
560
- }
561
- interface SprintArtifactDetail {
562
- item: SprintArtifactHistoryItem;
563
- content: string;
564
- format: 'json' | 'markdown' | 'text';
565
- size: number;
566
- truncated: boolean;
567
- }
568
- declare const SPRINT_EVIDENCE_KINDS: SprintEvidenceKind[];
569
- declare function sprintDir(projectRoot?: string): string;
570
- declare function ensureSprintDir(projectRoot?: string): string;
571
- declare function appendSprintEvidenceNote(kind: SprintEvidenceKind, note: string, projectRoot?: string): SprintArtifactResult;
572
- declare function listSprintArtifacts(projectRoot?: string, limit?: number): SprintArtifactHistoryItem[];
573
- declare function readSprintArtifactDetail(artifactPath: string, projectRoot?: string, maxBytes?: number): SprintArtifactDetail | null;
574
-
575
- declare const SPRINT_TOOLS: ToolDefinition[];
576
- declare function registerSprintTools(): void;
577
-
578
- export { ASSISTANT_PARITY_TOOLS, AUDIT_TOOLS, AUTOPILOT_TOOLS, type AgentData, type AssistResponseData, BRAIN_TOOLS, type BuildCapabilitiesOptions, COMPLIANCE_TOOLS, type CapabilitiesDeps, type ContextValidationResult, DOCS_INTELLIGENCE_TOOLS, type FilteredWorkflows, type ListOptions, MARKETPLACE_TOOLS, type MCPServerOptions, type MCPToolResultWithMeta, METRICS_TOOLS, NOTIFICATION_TOOLS, OBSERVER_TOOLS, ONBOARDING_TOOLS, type OrchestratorStatus, type PRDData, type PolicyProfile, type ProgressInfo, type ProjectContextDisplay, QUALITY_INTELLIGENCE_TOOLS, type QualityGateResults, RBAC_TOOLS, RELEASE_TOOLS, type RegistryExports, SPRINT_EVIDENCE_KINDS, SPRINT_TOOLS, SWARM_TOOLS, SYNC_TOOLS, type SkillData, type SprintArtifactDetail, type SprintArtifactHistoryItem, type SprintArtifactResult, type SprintEvidenceKind, type SuccessOptions, type TodoItem, type ValidationResult, type WorkflowAccessContext, agentDetails, appendSprintEvidenceNote, assistResponse, buildCapabilities, buildDefaultCapabilities, clearCache, contextSummary, contextValidation, createServer, ensureSprintDir, error, generateProgressBar, getCompatibilityRegistryCandidatePaths, getLegacyRegistryCandidatePaths, getRegistryExports, getResourceHandlers, getResources, getToolHandlers, getTools, invokeTool, isRegistryPopulated, list, listSprintArtifacts, loadToolsFromDirectory, loopStatus, main, orchestratorStatus, qualityResults, readSprintArtifactDetail, registerAssistantParityTools, registerAuditTools, registerAutopilotTools, registerBrainTools, registerComplianceTools, registerDocsIntelligenceTools, registerMarketplaceTools, registerMetricsTools, registerNotificationTools, registerObserverTools, registerOnboardingTools, registerQualityIntelligenceTools, registerRbacTools, registerReleaseTools, registerResource, registerSprintTools, registerSwarmTools, registerSyncTools, registerTool, resolveCompatibilityRegistry, resolveRuntimeRegistry, skillDetails, sprintDir, startStdioServer, success, todoList, trackTelemetry, validateDependencies, warning };
package/dist/mcp/index.js DELETED
@@ -1,2 +0,0 @@
1
- 'use strict';
2
- module.exports = require('../mcp-server.js');