couchloop-eq-mcp 1.1.3 → 1.1.6

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 (89) hide show
  1. package/README.md +6 -0
  2. package/dist/clients/shrinkChatClient.d.ts +4 -4
  3. package/dist/index.js +168 -6
  4. package/dist/index.js.map +1 -1
  5. package/dist/server/chatgpt-mcp.d.ts.map +1 -1
  6. package/dist/server/chatgpt-mcp.js +112 -2
  7. package/dist/server/chatgpt-mcp.js.map +1 -1
  8. package/dist/server/http-mcp.d.ts +11 -0
  9. package/dist/server/http-mcp.d.ts.map +1 -0
  10. package/dist/server/http-mcp.js +431 -0
  11. package/dist/server/http-mcp.js.map +1 -0
  12. package/dist/server/index.d.ts.map +1 -1
  13. package/dist/server/index.js +28 -3
  14. package/dist/server/index.js.map +1 -1
  15. package/dist/server/sse.d.ts +1 -1
  16. package/dist/server/sse.d.ts.map +1 -1
  17. package/dist/server/sse.js +320 -69
  18. package/dist/server/sse.js.map +1 -1
  19. package/dist/tools/check-versions.d.ts +7 -7
  20. package/dist/tools/check-versions.d.ts.map +1 -1
  21. package/dist/tools/check-versions.js +17 -22
  22. package/dist/tools/check-versions.js.map +1 -1
  23. package/dist/tools/checkpoint.d.ts +4 -18
  24. package/dist/tools/checkpoint.d.ts.map +1 -1
  25. package/dist/tools/checkpoint.js +85 -11
  26. package/dist/tools/checkpoint.js.map +1 -1
  27. package/dist/tools/comprehensive-code-review.d.ts +78 -0
  28. package/dist/tools/comprehensive-code-review.d.ts.map +1 -0
  29. package/dist/tools/comprehensive-code-review.js +177 -0
  30. package/dist/tools/comprehensive-code-review.js.map +1 -0
  31. package/dist/tools/comprehensive-package-audit.d.ts +75 -0
  32. package/dist/tools/comprehensive-package-audit.d.ts.map +1 -0
  33. package/dist/tools/comprehensive-package-audit.js +151 -0
  34. package/dist/tools/comprehensive-package-audit.js.map +1 -0
  35. package/dist/tools/detect-build-context.d.ts +59 -0
  36. package/dist/tools/detect-build-context.d.ts.map +1 -0
  37. package/dist/tools/detect-build-context.js +80 -0
  38. package/dist/tools/detect-build-context.js.map +1 -0
  39. package/dist/tools/generate-upgrade-report.d.ts +85 -0
  40. package/dist/tools/generate-upgrade-report.d.ts.map +1 -0
  41. package/dist/tools/generate-upgrade-report.js +102 -0
  42. package/dist/tools/generate-upgrade-report.js.map +1 -0
  43. package/dist/tools/index-full.d.ts +1355 -0
  44. package/dist/tools/index-full.d.ts.map +1 -0
  45. package/dist/tools/index-full.js +611 -0
  46. package/dist/tools/index-full.js.map +1 -0
  47. package/dist/tools/index.d.ts +27 -968
  48. package/dist/tools/index.d.ts.map +1 -1
  49. package/dist/tools/index.js +29 -531
  50. package/dist/tools/index.js.map +1 -1
  51. package/dist/tools/insight.d.ts +25 -6
  52. package/dist/tools/insight.d.ts.map +1 -1
  53. package/dist/tools/insight.js +2 -1
  54. package/dist/tools/insight.js.map +1 -1
  55. package/dist/tools/prevent-ai-errors.d.ts +85 -0
  56. package/dist/tools/prevent-ai-errors.d.ts.map +1 -0
  57. package/dist/tools/prevent-ai-errors.js +97 -0
  58. package/dist/tools/prevent-ai-errors.js.map +1 -0
  59. package/dist/tools/primary-tools.d.ts +430 -0
  60. package/dist/tools/primary-tools.d.ts.map +1 -0
  61. package/dist/tools/primary-tools.js +294 -0
  62. package/dist/tools/primary-tools.js.map +1 -0
  63. package/dist/tools/sendMessage.d.ts +3 -5
  64. package/dist/tools/sendMessage.d.ts.map +1 -1
  65. package/dist/tools/sendMessage.js +47 -22
  66. package/dist/tools/sendMessage.js.map +1 -1
  67. package/dist/tools/session-manager.d.ts +32 -0
  68. package/dist/tools/session-manager.d.ts.map +1 -0
  69. package/dist/tools/session-manager.js +184 -0
  70. package/dist/tools/session-manager.js.map +1 -0
  71. package/dist/tools/smart-context.d.ts +66 -0
  72. package/dist/tools/smart-context.d.ts.map +1 -0
  73. package/dist/tools/smart-context.js +167 -0
  74. package/dist/tools/smart-context.js.map +1 -0
  75. package/dist/tools/validate_packages.d.ts.map +1 -1
  76. package/dist/tools/validate_packages.js +6 -4
  77. package/dist/tools/validate_packages.js.map +1 -1
  78. package/dist/types/checkpoint.d.ts +59 -4
  79. package/dist/types/checkpoint.d.ts.map +1 -1
  80. package/dist/types/checkpoint.js +20 -1
  81. package/dist/types/checkpoint.js.map +1 -1
  82. package/dist/types/journey.d.ts +6 -6
  83. package/dist/types/session.d.ts +3 -3
  84. package/dist/utils/sanitize.d.ts +24 -0
  85. package/dist/utils/sanitize.d.ts.map +1 -0
  86. package/dist/utils/sanitize.js +117 -0
  87. package/dist/utils/sanitize.js.map +1 -0
  88. package/dist/workflows/index.d.ts +1 -1
  89. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-full.d.ts","sourceRoot":"","sources":["../../src/tools/index-full.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAwB,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAItF,OAAO,EAAuB,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAA0B,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAA6B,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAA+B,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC5G,OAAO,EAAiC,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AAClH,OAAO,EAAoB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EAEZ,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,wBAAsB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8kB/B"}
@@ -0,0 +1,611 @@
1
+ import { createSession, resumeSession } from './session.js';
2
+ import { endSession } from './session-manager.js';
3
+ import { saveCheckpoint, getCheckpoints } from './checkpoint.js';
4
+ import { listJourneys, getJourneyStatus } from './journey.js';
5
+ import { saveInsight, getInsights, getUserContext } from './insight.js';
6
+ import { sendMessage } from './sendMessage.js';
7
+ import { validatePackagesTool, handleValidatePackages } from './validate_packages.js';
8
+ import { preReviewCodeTool, handlePreReviewCode } from './pre-review-code.js';
9
+ import { scanSecurityTool, handleScanSecurity } from './scan-security.js';
10
+ import { detectCodeSmellTool, handleDetectCodeSmell } from './detect-code-smell.js';
11
+ import { preventAIErrorsTool, handlePreventAIErrors } from './prevent-ai-errors.js';
12
+ import { detectBuildContextTool, handleDetectBuildContext } from './detect-build-context.js';
13
+ import { generateUpgradeReportTool, handleGenerateUpgradeReport } from './generate-upgrade-report.js';
14
+ import { comprehensiveCodeReviewTool, handleComprehensiveCodeReview } from './comprehensive-code-review.js';
15
+ import { comprehensivePackageAuditTool, handleComprehensivePackageAudit } from './comprehensive-package-audit.js';
16
+ import { smartContextTool, handleSmartContext } from './smart-context.js';
17
+ import { protectFiles, getProtectionStatus, getOperationHistory, listBackups, rollbackFile, enableCodeFreeze, disableCodeFreeze, } from './protect-files.js';
18
+ import { preserveContext } from './preserve-context.js';
19
+ import { checkVersionsTool, handleCheckVersions } from './check-versions.js';
20
+ import { logger } from '../utils/logger.js';
21
+ export async function setupTools() {
22
+ const tools = [
23
+ {
24
+ definition: {
25
+ name: 'create_session',
26
+ description: 'Start a new guided session. Optionally specify a journey to follow.',
27
+ annotations: {
28
+ readOnlyHint: false,
29
+ destructiveHint: false,
30
+ openWorldHint: false,
31
+ },
32
+ inputSchema: {
33
+ type: 'object',
34
+ properties: {
35
+ journey_slug: {
36
+ type: 'string',
37
+ description: 'Optional journey to follow (e.g., "daily-reflection")',
38
+ },
39
+ context: {
40
+ type: 'string',
41
+ description: 'Brief context for this session',
42
+ },
43
+ },
44
+ required: [],
45
+ },
46
+ },
47
+ handler: createSession
48
+ },
49
+ {
50
+ definition: {
51
+ name: 'send_message',
52
+ description: 'Send a message through the therapeutic AI stack with crisis detection and emotional support. Session is created automatically if not provided.',
53
+ annotations: {
54
+ readOnlyHint: false,
55
+ destructiveHint: false,
56
+ openWorldHint: true,
57
+ },
58
+ inputSchema: {
59
+ type: 'object',
60
+ properties: {
61
+ session_id: {
62
+ type: 'string',
63
+ description: 'Session ID (optional - auto-created if not provided)',
64
+ },
65
+ message: {
66
+ type: 'string',
67
+ description: 'The message to send',
68
+ },
69
+ save_checkpoint: {
70
+ type: 'boolean',
71
+ description: 'Whether to save this exchange as a checkpoint (default: false)',
72
+ },
73
+ checkpoint_key: {
74
+ type: 'string',
75
+ description: 'Custom key for the checkpoint if saving',
76
+ },
77
+ advance_step: {
78
+ type: 'boolean',
79
+ description: 'Whether to advance to next journey step after response (default: false)',
80
+ },
81
+ include_memory: {
82
+ type: 'boolean',
83
+ description: 'Include session memory context (default: true)',
84
+ },
85
+ system_prompt: {
86
+ type: 'string',
87
+ description: 'Optional custom system prompt',
88
+ },
89
+ conversation_type: {
90
+ type: 'string',
91
+ description: 'Type of conversation (e.g., "therapeutic", "crisis", "casual")',
92
+ },
93
+ },
94
+ required: ['message'],
95
+ },
96
+ },
97
+ handler: sendMessage
98
+ },
99
+ {
100
+ definition: {
101
+ name: 'resume_session',
102
+ description: 'Resume a previously paused session. Returns current state and next step.',
103
+ annotations: {
104
+ readOnlyHint: true,
105
+ destructiveHint: false,
106
+ openWorldHint: false,
107
+ },
108
+ inputSchema: {
109
+ type: 'object',
110
+ properties: {
111
+ session_id: {
112
+ type: 'string',
113
+ description: 'Session ID to resume (omit to resume most recent)',
114
+ },
115
+ },
116
+ required: [],
117
+ },
118
+ },
119
+ handler: resumeSession
120
+ },
121
+ {
122
+ definition: {
123
+ name: 'end_session',
124
+ description: 'End the current session. Call this when done with stateful operations.',
125
+ annotations: {
126
+ readOnlyHint: false,
127
+ destructiveHint: false,
128
+ openWorldHint: false,
129
+ },
130
+ inputSchema: {
131
+ type: 'object',
132
+ properties: {
133
+ session_id: {
134
+ type: 'string',
135
+ description: 'Session ID to end (optional - ends current session if not provided)',
136
+ },
137
+ },
138
+ required: [],
139
+ },
140
+ },
141
+ handler: endSession
142
+ },
143
+ {
144
+ definition: {
145
+ name: 'save_checkpoint',
146
+ description: 'Save progress, capture insights, and preserve context in one unified operation. Consolidates checkpoint, insight, and context preservation functionality.',
147
+ annotations: {
148
+ readOnlyHint: false,
149
+ destructiveHint: false,
150
+ openWorldHint: false,
151
+ },
152
+ inputSchema: {
153
+ type: 'object',
154
+ properties: {
155
+ session_id: {
156
+ type: 'string',
157
+ description: 'Session ID (optional - auto-created if not provided)',
158
+ },
159
+ key: {
160
+ type: 'string',
161
+ description: 'What is being captured (e.g., "mood", "reflection", "gratitude")',
162
+ },
163
+ value: {
164
+ // Using empty schema {} to allow any JSON value type
165
+ type: 'object',
166
+ additionalProperties: true,
167
+ description: 'The captured content (can be any JSON value: string, number, object, array, etc.)',
168
+ },
169
+ advance_step: {
170
+ type: 'boolean',
171
+ description: 'Whether to advance to next journey step (default: true)',
172
+ },
173
+ // === Consolidated insight functionality ===
174
+ save_as_insight: {
175
+ type: 'boolean',
176
+ description: 'Also save this as a user insight for long-term recall (default: false)',
177
+ },
178
+ insight_tags: {
179
+ type: 'array',
180
+ items: { type: 'string' },
181
+ description: 'Tags for the insight if saving as insight',
182
+ },
183
+ // === Consolidated context preservation ===
184
+ preserve_context: {
185
+ type: 'boolean',
186
+ description: 'Also store as persistent project context to prevent AI amnesia (default: false)',
187
+ },
188
+ context_category: {
189
+ type: 'string',
190
+ enum: ['architecture', 'requirements', 'constraints', 'decisions', 'technical-patterns', 'project-metadata'],
191
+ description: 'Category for context preservation',
192
+ },
193
+ // === Governance ===
194
+ governance_check: {
195
+ type: 'boolean',
196
+ description: 'Run governance validation on the value (default: true)',
197
+ },
198
+ },
199
+ required: ['key', 'value'],
200
+ },
201
+ },
202
+ handler: saveCheckpoint
203
+ },
204
+ {
205
+ definition: {
206
+ name: 'get_checkpoints',
207
+ description: 'Get all checkpoints for a session. Uses current session if not specified.',
208
+ annotations: {
209
+ readOnlyHint: true,
210
+ destructiveHint: false,
211
+ openWorldHint: false,
212
+ },
213
+ inputSchema: {
214
+ type: 'object',
215
+ properties: {
216
+ session_id: {
217
+ type: 'string',
218
+ description: 'Session ID (optional - uses current session if not provided)',
219
+ },
220
+ },
221
+ required: [],
222
+ },
223
+ },
224
+ handler: getCheckpoints
225
+ },
226
+ {
227
+ definition: {
228
+ name: 'list_journeys',
229
+ description: 'List available guided journeys/experiences.',
230
+ annotations: {
231
+ readOnlyHint: true,
232
+ destructiveHint: false,
233
+ openWorldHint: false,
234
+ },
235
+ inputSchema: {
236
+ type: 'object',
237
+ properties: {
238
+ tag: {
239
+ type: 'string',
240
+ description: 'Filter by tag (e.g., "reflection", "gratitude")',
241
+ },
242
+ },
243
+ required: [],
244
+ },
245
+ },
246
+ handler: listJourneys
247
+ },
248
+ {
249
+ definition: {
250
+ name: 'get_journey_status',
251
+ description: 'Get current progress in a session/journey.',
252
+ annotations: {
253
+ readOnlyHint: true,
254
+ destructiveHint: false,
255
+ openWorldHint: false,
256
+ },
257
+ inputSchema: {
258
+ type: 'object',
259
+ properties: {
260
+ session_id: {
261
+ type: 'string',
262
+ description: 'Session ID to check',
263
+ },
264
+ },
265
+ required: ['session_id'],
266
+ },
267
+ },
268
+ handler: getJourneyStatus
269
+ },
270
+ {
271
+ definition: {
272
+ name: 'save_insight',
273
+ description: 'Capture a meaningful insight or realization from the conversation.',
274
+ annotations: {
275
+ readOnlyHint: false,
276
+ destructiveHint: false,
277
+ openWorldHint: false,
278
+ },
279
+ inputSchema: {
280
+ type: 'object',
281
+ properties: {
282
+ content: {
283
+ type: 'string',
284
+ description: 'The insight to save',
285
+ },
286
+ session_id: {
287
+ type: 'string',
288
+ description: 'Optional session to link this insight to',
289
+ },
290
+ tags: {
291
+ type: 'array',
292
+ items: { type: 'string' },
293
+ description: 'Optional tags for categorization',
294
+ },
295
+ },
296
+ required: ['content'],
297
+ },
298
+ },
299
+ handler: saveInsight
300
+ },
301
+ {
302
+ definition: {
303
+ name: 'get_insights',
304
+ description: 'Get user insights, optionally filtered by session.',
305
+ annotations: {
306
+ readOnlyHint: true,
307
+ destructiveHint: false,
308
+ openWorldHint: false,
309
+ },
310
+ inputSchema: {
311
+ type: 'object',
312
+ properties: {
313
+ session_id: {
314
+ type: 'string',
315
+ description: 'Optional session ID to filter insights',
316
+ },
317
+ limit: {
318
+ type: 'number',
319
+ description: 'Maximum number of insights to return (default: 10)',
320
+ },
321
+ auth: {
322
+ type: 'object',
323
+ description: 'Authentication context for user identification',
324
+ properties: {
325
+ token: {
326
+ type: 'string',
327
+ description: 'OAuth access token or session identifier',
328
+ },
329
+ user_id: {
330
+ type: 'string',
331
+ description: 'External user identifier from OAuth provider',
332
+ },
333
+ client_id: {
334
+ type: 'string',
335
+ description: 'Client application identifier',
336
+ },
337
+ },
338
+ },
339
+ },
340
+ required: [],
341
+ },
342
+ },
343
+ handler: getInsights
344
+ },
345
+ {
346
+ definition: {
347
+ name: 'get_user_context',
348
+ description: 'Get relevant context about this user for personalization.',
349
+ annotations: {
350
+ readOnlyHint: true,
351
+ destructiveHint: false,
352
+ openWorldHint: false,
353
+ },
354
+ inputSchema: {
355
+ type: 'object',
356
+ properties: {
357
+ include_recent_insights: {
358
+ type: 'boolean',
359
+ description: 'Include recent insights (default: true)',
360
+ },
361
+ include_session_history: {
362
+ type: 'boolean',
363
+ description: 'Include recent session summaries (default: true)',
364
+ },
365
+ },
366
+ required: [],
367
+ },
368
+ },
369
+ handler: getUserContext
370
+ },
371
+ {
372
+ definition: validatePackagesTool,
373
+ handler: handleValidatePackages
374
+ },
375
+ {
376
+ definition: preReviewCodeTool,
377
+ handler: handlePreReviewCode
378
+ },
379
+ {
380
+ definition: scanSecurityTool,
381
+ handler: handleScanSecurity
382
+ },
383
+ {
384
+ definition: detectCodeSmellTool,
385
+ handler: handleDetectCodeSmell
386
+ },
387
+ {
388
+ definition: preventAIErrorsTool,
389
+ handler: handlePreventAIErrors
390
+ },
391
+ {
392
+ definition: detectBuildContextTool,
393
+ handler: handleDetectBuildContext
394
+ },
395
+ {
396
+ definition: generateUpgradeReportTool,
397
+ handler: handleGenerateUpgradeReport
398
+ },
399
+ // === COMPOSITE TOOLS (bundled for maximum impact, minimal thinking) ===
400
+ {
401
+ definition: comprehensiveCodeReviewTool,
402
+ handler: handleComprehensiveCodeReview
403
+ },
404
+ {
405
+ definition: comprehensivePackageAuditTool,
406
+ handler: handleComprehensivePackageAudit
407
+ },
408
+ {
409
+ definition: smartContextTool,
410
+ handler: handleSmartContext
411
+ },
412
+ {
413
+ definition: {
414
+ name: 'protect_files',
415
+ description: 'Prevents accidental file deletion and destructive operations. Validates operations against protected paths and patterns, creates automatic backups, and provides rollback capability.',
416
+ annotations: {
417
+ readOnlyHint: false,
418
+ destructiveHint: false,
419
+ openWorldHint: false,
420
+ },
421
+ inputSchema: {
422
+ type: 'object',
423
+ properties: {
424
+ operation: {
425
+ type: 'string',
426
+ enum: ['delete', 'overwrite', 'move'],
427
+ description: 'Type of file operation to protect',
428
+ },
429
+ path: {
430
+ type: 'string',
431
+ description: 'Path to file or directory being modified',
432
+ },
433
+ target_path: {
434
+ type: 'string',
435
+ description: 'Destination path (required for move operations)',
436
+ },
437
+ force: {
438
+ type: 'boolean',
439
+ description: 'Force operation (bypasses some safety checks)',
440
+ },
441
+ reason: {
442
+ type: 'string',
443
+ description: 'Reason for the operation',
444
+ },
445
+ },
446
+ required: ['operation', 'path'],
447
+ },
448
+ },
449
+ handler: protectFiles,
450
+ },
451
+ {
452
+ definition: {
453
+ name: 'get_protection_status',
454
+ description: 'Get current file protection status, configuration, and backup statistics.',
455
+ annotations: {
456
+ readOnlyHint: true,
457
+ destructiveHint: false,
458
+ openWorldHint: false,
459
+ },
460
+ inputSchema: {
461
+ type: 'object',
462
+ properties: {},
463
+ required: [],
464
+ },
465
+ },
466
+ handler: getProtectionStatus,
467
+ },
468
+ {
469
+ definition: {
470
+ name: 'get_operation_history',
471
+ description: 'Get history of file operations that were attempted or executed.',
472
+ annotations: {
473
+ readOnlyHint: true,
474
+ destructiveHint: false,
475
+ openWorldHint: false,
476
+ },
477
+ inputSchema: {
478
+ type: 'object',
479
+ properties: {
480
+ limit: {
481
+ type: 'number',
482
+ description: 'Maximum number of operations to return (default: 50)',
483
+ },
484
+ },
485
+ required: [],
486
+ },
487
+ },
488
+ handler: getOperationHistory,
489
+ },
490
+ {
491
+ definition: {
492
+ name: 'list_backups',
493
+ description: 'List all available backup snapshots that can be restored.',
494
+ annotations: {
495
+ readOnlyHint: true,
496
+ destructiveHint: false,
497
+ openWorldHint: false,
498
+ },
499
+ inputSchema: {
500
+ type: 'object',
501
+ properties: {},
502
+ required: [],
503
+ },
504
+ },
505
+ handler: listBackups,
506
+ },
507
+ {
508
+ definition: {
509
+ name: 'rollback_file',
510
+ description: 'Restore a file from a backup snapshot (undo a file modification/deletion).',
511
+ annotations: {
512
+ readOnlyHint: false,
513
+ destructiveHint: true,
514
+ openWorldHint: false,
515
+ },
516
+ inputSchema: {
517
+ type: 'object',
518
+ properties: {
519
+ backup_id: {
520
+ type: 'string',
521
+ description: 'ID of the backup to restore from',
522
+ },
523
+ },
524
+ required: ['backup_id'],
525
+ },
526
+ },
527
+ handler: rollbackFile,
528
+ },
529
+ {
530
+ definition: {
531
+ name: 'enable_code_freeze',
532
+ description: 'Enable code freeze mode - all file operations require explicit approval (critical protection mode).',
533
+ annotations: {
534
+ readOnlyHint: false,
535
+ destructiveHint: false,
536
+ openWorldHint: false,
537
+ },
538
+ inputSchema: {
539
+ type: 'object',
540
+ properties: {},
541
+ required: [],
542
+ },
543
+ },
544
+ handler: enableCodeFreeze,
545
+ },
546
+ {
547
+ definition: {
548
+ name: 'disable_code_freeze',
549
+ description: 'Disable code freeze mode - resume normal file operation protection rules.',
550
+ annotations: {
551
+ readOnlyHint: false,
552
+ destructiveHint: false,
553
+ openWorldHint: false,
554
+ },
555
+ inputSchema: {
556
+ type: 'object',
557
+ properties: {},
558
+ required: [],
559
+ },
560
+ },
561
+ handler: disableCodeFreeze,
562
+ },
563
+ {
564
+ definition: {
565
+ name: 'preserve_context',
566
+ description: 'Store, retrieve, and manage important project context to prevent AI amnesia when context windows fill up. Preserves architectural decisions, requirements, constraints, and technical patterns across conversations.',
567
+ annotations: {
568
+ readOnlyHint: false,
569
+ destructiveHint: false,
570
+ openWorldHint: false,
571
+ },
572
+ inputSchema: {
573
+ type: 'object',
574
+ properties: {
575
+ action: {
576
+ type: 'string',
577
+ enum: ['store', 'retrieve', 'check'],
578
+ description: 'Action to perform: "store" (save context), "retrieve" (get stored context), or "check" (view status)',
579
+ },
580
+ category: {
581
+ type: 'string',
582
+ enum: ['architecture', 'requirements', 'constraints', 'decisions', 'technical-patterns', 'project-metadata'],
583
+ description: 'Context category (required for store, optional for retrieve)',
584
+ },
585
+ content: {
586
+ type: 'string',
587
+ description: 'Content to store (required for store action)',
588
+ },
589
+ search_term: {
590
+ type: 'string',
591
+ description: 'Search term for retrieving context (optional)',
592
+ },
593
+ include_metadata: {
594
+ type: 'boolean',
595
+ description: 'Include usage metadata in response (for check action, default: false)',
596
+ },
597
+ },
598
+ required: ['action'],
599
+ },
600
+ },
601
+ handler: preserveContext,
602
+ },
603
+ {
604
+ definition: checkVersionsTool,
605
+ handler: handleCheckVersions
606
+ }
607
+ ];
608
+ logger.info(`Prepared ${tools.length} MCP tools`);
609
+ return tools;
610
+ }
611
+ //# sourceMappingURL=index-full.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-full.js","sourceRoot":"","sources":["../../src/tools/index-full.ts"],"names":[],"mappings":"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"}