memory-journal-mcp 7.4.0 → 7.6.0

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.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,148 @@
1
+ /** Audit log configuration */
2
+ interface AuditConfig {
3
+ /** Master switch — false means no interceptor is created */
4
+ enabled: boolean;
5
+ /** Absolute path to the JSONL output file, or "stderr" for container mode */
6
+ logPath: string;
7
+ /** When true, tool arguments are omitted from entries */
8
+ redact: boolean;
9
+ /** When true, read-scoped tools are also logged (default: false) */
10
+ auditReads: boolean;
11
+ /** Maximum log file size in bytes before rotation (default: 10MB). 0 = no rotation. */
12
+ maxSizeBytes: number;
13
+ }
14
+
15
+ /**
16
+ * Memory Journal MCP Server - Tool Filtering
17
+ *
18
+ * Configurable tool filtering system with groups and meta-groups.
19
+ * Matches mysql-mcp filtering syntax and patterns.
20
+ */
21
+
22
+ /**
23
+ * Tool group definitions mapping group names to tool names
24
+ *
25
+ * All 70 tools are categorized here for filtering support.
26
+ */
27
+ declare const TOOL_GROUPS: Record<ToolGroup, string[]>;
28
+ /**
29
+ * Meta-group definitions mapping shortcuts to groups
30
+ */
31
+ declare const META_GROUPS: Record<MetaGroup, ToolGroup[]>;
32
+ /**
33
+ * Get all tool names across all groups
34
+ */
35
+ declare function getAllToolNames(): string[];
36
+ /**
37
+ * Get the group for a specific tool
38
+ */
39
+ declare function getToolGroup(toolName: string): ToolGroup | undefined;
40
+ /**
41
+ * Parse a tool filter string into configuration
42
+ *
43
+ * Syntax:
44
+ * - `starter` - Use starter preset (whitelist mode)
45
+ * - `core,search` - Enable specific groups (whitelist mode)
46
+ * - `full,-admin` - All tools except admin group
47
+ * - `starter,-delete_entry` - Starter without specific tool
48
+ * - `+semantic_search` - Add specific tool to current set
49
+ */
50
+ declare function parseToolFilter(filterString: string): ToolFilterConfig;
51
+ /**
52
+ * Check if a tool is enabled based on filter string
53
+ */
54
+ declare function isToolEnabled(toolName: string, filterConfig: ToolFilterConfig): boolean;
55
+ /**
56
+ * Filter tools array based on filter configuration
57
+ */
58
+ declare function filterTools<T extends {
59
+ name: string;
60
+ }>(tools: T[], filterConfig: ToolFilterConfig): T[];
61
+ /**
62
+ * Get tool filter from environment variable
63
+ */
64
+ declare function getToolFilterFromEnv(): ToolFilterConfig | null;
65
+ /**
66
+ * Calculate token savings from filtering
67
+ */
68
+ declare function calculateTokenSavings(totalTools: number, enabledTools: number, avgTokensPerTool?: number): {
69
+ reduction: number;
70
+ savedTokens: number;
71
+ };
72
+ /**
73
+ * Get human-readable filter summary
74
+ */
75
+ declare function getFilterSummary(filterConfig: ToolFilterConfig): string;
76
+
77
+ /**
78
+ * Memory Journal MCP Server - Scheduler
79
+ *
80
+ * Lightweight in-process scheduler for periodic maintenance jobs.
81
+ * Only meaningful for HTTP/SSE transport (long-lived server processes).
82
+ * Uses setInterval for simplicity — no external dependencies.
83
+ */
84
+
85
+ /** Scheduler configuration options */
86
+ interface SchedulerOptions {
87
+ /** Automated backup interval in minutes (0 = disabled) */
88
+ backupIntervalMinutes: number;
89
+ /** Max backups to retain during automated cleanup */
90
+ keepBackups: number;
91
+ /** Database optimize interval in minutes (0 = disabled) */
92
+ vacuumIntervalMinutes: number;
93
+ /** Vector index rebuild interval in minutes (0 = disabled) */
94
+ rebuildIndexIntervalMinutes: number;
95
+ /** Analytics digest interval in minutes (0 = disabled; recommended: 1440 for daily) */
96
+ digestIntervalMinutes: number;
97
+ }
98
+
99
+ /**
100
+ * Memory Journal MCP Server - Resource Shared Types & Helpers
101
+ *
102
+ * Shared types, helpers, and utilities used by all resource group modules.
103
+ */
104
+
105
+ /**
106
+ * Configuration for the memory://briefing resource.
107
+ * All values have sensible defaults — users opt-in via env vars or CLI flags.
108
+ */
109
+ interface BriefingConfig {
110
+ /** Number of recent journal entries to include (default: 3) */
111
+ entryCount: number;
112
+ /** Number of recent session summaries to display (default: 1) */
113
+ summaryCount?: number;
114
+ /** Include team DB entries in briefing preview (default: false) */
115
+ includeTeam: boolean;
116
+ /** Number of open issues to list with titles; 0 = count only (default: 0) */
117
+ issueCount: number;
118
+ /** Number of PRs to list with titles; 0 = count only (default: 0) */
119
+ prCount: number;
120
+ /** Show PR status breakdown (open/merged/closed) instead of simple count (default: false) */
121
+ prStatusBreakdown: boolean;
122
+ /** Number of milestones to list in briefing; 0 = hide (default: 3) */
123
+ milestoneCount?: number;
124
+ /** Path to the user's rules file (e.g., .gemini/GEMINI.md) for awareness in briefing */
125
+ rulesFilePath?: string;
126
+ /** Path to the user's skills directory for awareness in briefing */
127
+ skillsDirPath?: string;
128
+ /** Number of recent workflow runs to list; 0 = latest-only status (default: 0) */
129
+ workflowCount: number;
130
+ /** Show workflow run status breakdown (passing/failing/pending) (default: false) */
131
+ workflowStatusBreakdown: boolean;
132
+ /** Aggregate Copilot review state across recent PRs in briefing (default: false) */
133
+ copilotReviews: boolean;
134
+ /** Workflow summary string for the memory://workflows resource (env: MEMORY_JOURNAL_WORKFLOW_SUMMARY) */
135
+ workflowSummary?: string;
136
+ /** Default GitHub Project number for Kanban resources and issue tools (env: DEFAULT_PROJECT_NUMBER) */
137
+ defaultProjectNumber?: number;
138
+ /** Project registry mapping dynamic repo IDs to local paths and kanban boards */
139
+ projectRegistry?: Record<string, ProjectRegistryEntry>;
140
+ /** Hush Protocol flag vocabulary passed from CLI/env */
141
+ flagVocabulary?: string[];
142
+ /** Allowlisted directory roots for strict filesystem jailing of agent read access */
143
+ allowedIoRoots?: string[];
144
+ }
145
+
1
146
  /**
2
147
  * Memory Journal MCP Server - Tool Filtering Types
3
148
  */
@@ -38,7 +183,7 @@ interface ToolFilterConfig {
38
183
  /**
39
184
  * Entry types for journal entries
40
185
  */
41
- type EntryType = 'personal_reflection' | 'project_decision' | 'technical_achievement' | 'bug_fix' | 'feature_implementation' | 'code_review' | 'meeting_notes' | 'learning' | 'research' | 'planning' | 'retrospective' | 'standup' | 'technical_note' | 'development_note' | 'enhancement' | 'milestone' | 'system_integration_test' | 'test_entry' | 'other';
186
+ type EntryType = 'personal_reflection' | 'project_decision' | 'technical_achievement' | 'bug_fix' | 'feature_implementation' | 'code_review' | 'meeting_notes' | 'learning' | 'research' | 'planning' | 'retrospective' | 'standup' | 'technical_note' | 'development_note' | 'enhancement' | 'milestone' | 'flag' | 'system_integration_test' | 'test_entry' | 'other';
42
187
  /**
43
188
  * Significance types for important entries
44
189
  */
@@ -82,6 +227,7 @@ interface JournalEntry {
82
227
  workflowRunId?: number | null;
83
228
  workflowName?: string | null;
84
229
  workflowStatus?: string | null;
230
+ importanceScore?: number;
85
231
  }
86
232
  /**
87
233
  * Tag entity
@@ -210,6 +356,7 @@ interface ProjectContext {
210
356
  pullRequests: GitHubPullRequest[];
211
357
  workflowRuns: GitHubWorkflowRun[];
212
358
  milestones: GitHubMilestone[];
359
+ degraded?: string[];
213
360
  }
214
361
 
215
362
  /**
@@ -263,6 +410,12 @@ interface ToolDefinition {
263
410
  outputSchema?: unknown;
264
411
  /** Behavioral hints for AI clients */
265
412
  annotations: ToolAnnotations;
413
+ /** Security capabilities required to execute this tool */
414
+ capabilities?: {
415
+ requiresTeamScope?: boolean;
416
+ requiresAdminScope?: boolean;
417
+ mutatesState?: boolean;
418
+ };
266
419
  /** Tool handler function */
267
420
  handler: (params: unknown) => unknown;
268
421
  }
@@ -270,6 +423,7 @@ interface ProjectRegistryEntry {
270
423
  path: string;
271
424
  project_number?: number;
272
425
  }
426
+
273
427
  /**
274
428
  * Resource definition for MCP
275
429
  */
@@ -286,6 +440,11 @@ interface ResourceDefinition {
286
440
  mimeType: string;
287
441
  /** Resource metadata annotations */
288
442
  annotations?: ResourceAnnotations;
443
+ /** Security capabilities required to read this resource */
444
+ capabilities?: {
445
+ requiresTeamScope?: boolean;
446
+ requiresAdminScope?: boolean;
447
+ };
289
448
  /** Resource handler - NOTE: db is passed at runtime, not in the definition */
290
449
  handler: (uri: string) => Promise<unknown>;
291
450
  }
@@ -330,6 +489,8 @@ interface ServerConfig {
330
489
  modelName: string;
331
490
  /** Briefing depth for AI client instructions */
332
491
  instructionLevel?: 'essential' | 'standard' | 'full';
492
+ /** Hush Protocol flag vocabulary (defaults: blocker, needs_review, help_requested, fyi) */
493
+ flagVocabulary?: string[];
333
494
  }
334
495
  /**
335
496
  * Default configuration values
@@ -364,12 +525,9 @@ interface CreateEntryInput {
364
525
  workflowRunId?: number;
365
526
  workflowName?: string;
366
527
  workflowStatus?: 'queued' | 'in_progress' | 'completed';
528
+ author?: string;
367
529
  }
368
530
 
369
- interface QueryResult {
370
- columns: string[];
371
- values: unknown[][];
372
- }
373
531
  /**
374
532
  * The public facade representing the capabilities of any memory-journal DB adapter
375
533
  */
@@ -382,6 +540,10 @@ interface IDatabaseAdapter {
382
540
  getEntryById(id: number): JournalEntry | null;
383
541
  getEntryByIdIncludeDeleted(id: number): JournalEntry | null;
384
542
  getEntriesByIds(ids: number[]): Map<number, JournalEntry>;
543
+ getEntriesByIdsWithImportance(ids: number[]): Map<number, {
544
+ entry: JournalEntry;
545
+ importance: ImportanceResult;
546
+ }>;
385
547
  calculateImportance(entryId: number): ImportanceResult;
386
548
  getRecentEntries(limit?: number, isPersonal?: boolean, sortBy?: 'timestamp' | 'importance'): JournalEntry[];
387
549
  getEntriesPage(offset: number, limit: number): JournalEntry[];
@@ -391,6 +553,18 @@ interface IDatabaseAdapter {
391
553
  entryType?: EntryType;
392
554
  tags?: string[];
393
555
  isPersonal?: boolean;
556
+ significanceType?: string;
557
+ autoContext?: string | null;
558
+ projectNumber?: number;
559
+ projectOwner?: string;
560
+ issueNumber?: number;
561
+ issueUrl?: string;
562
+ prNumber?: number;
563
+ prUrl?: string;
564
+ prStatus?: string;
565
+ workflowRunId?: number;
566
+ workflowName?: string;
567
+ workflowStatus?: string;
394
568
  }): JournalEntry | null;
395
569
  deleteEntry(id: number, permanent?: boolean): boolean;
396
570
  searchEntries(query: string, options?: {
@@ -419,7 +593,13 @@ interface IDatabaseAdapter {
419
593
  sortBy?: 'timestamp' | 'importance';
420
594
  }): JournalEntry[];
421
595
  getStatistics(groupBy?: 'day' | 'week' | 'month' | 'year', startDate?: string, endDate?: string, projectBreakdown?: boolean): Record<string, unknown>;
596
+ getAuthorStatistics(): {
597
+ author: string;
598
+ count: number;
599
+ }[];
600
+ getAuthorsForEntries(entryIds: number[]): Map<number, string | null>;
422
601
  getTagsForEntry(entryId: number): string[];
602
+ getTagsForEntries(entryIds: number[]): Map<number, string[]>;
423
603
  listTags(): Tag[];
424
604
  mergeTags(sourceTag: string, targetTag: string): {
425
605
  entriesUpdated: number;
@@ -427,6 +607,7 @@ interface IDatabaseAdapter {
427
607
  };
428
608
  linkEntries(fromEntryId: number, toEntryId: number, relationshipType: RelationshipType, description?: string): Relationship;
429
609
  getRelationships(entryId: number): Relationship[];
610
+ getRelationshipsForEntries(entryIds: number[]): Map<number, Relationship[]>;
430
611
  getBackupsDir(): string;
431
612
  exportToFile(backupName?: string): Promise<{
432
613
  filename: string;
@@ -443,7 +624,7 @@ interface IDatabaseAdapter {
443
624
  deleted: string[];
444
625
  kept: number;
445
626
  };
446
- restoreFromFile(filename: string): Promise<{
627
+ restoreFromFile(filename: string, runtime?: unknown): Promise<{
447
628
  restoredFrom: string;
448
629
  previousEntryCount: number;
449
630
  newEntryCount: number;
@@ -467,9 +648,6 @@ interface IDatabaseAdapter {
467
648
  } | null;
468
649
  };
469
650
  };
470
- getRawDb(): unknown;
471
- pragma(command: string): void;
472
- executeRawQuery(sql: string, params?: unknown[]): QueryResult[];
473
651
  saveAnalyticsSnapshot(type: string, data: Record<string, unknown>): number;
474
652
  getLatestAnalyticsSnapshot(type: string): {
475
653
  id: number;
@@ -481,157 +659,85 @@ interface IDatabaseAdapter {
481
659
  createdAt: string;
482
660
  data: Record<string, unknown>;
483
661
  }[];
484
- }
485
-
486
- /**
487
- * Memory Journal MCP Server - Scheduler
488
- *
489
- * Lightweight in-process scheduler for periodic maintenance jobs.
490
- * Only meaningful for HTTP/SSE transport (long-lived server processes).
491
- * Uses setInterval for simplicity — no external dependencies.
492
- */
493
-
494
- /** Scheduler configuration options */
495
- interface SchedulerOptions {
496
- /** Automated backup interval in minutes (0 = disabled) */
497
- backupIntervalMinutes: number;
498
- /** Max backups to retain during automated cleanup */
499
- keepBackups: number;
500
- /** Database optimize interval in minutes (0 = disabled) */
501
- vacuumIntervalMinutes: number;
502
- /** Vector index rebuild interval in minutes (0 = disabled) */
503
- rebuildIndexIntervalMinutes: number;
504
- /** Analytics digest interval in minutes (0 = disabled; recommended: 1440 for daily) */
505
- digestIntervalMinutes: number;
506
- }
507
-
508
- /**
509
- * memory-journal-mcp - Sandbox Factory
510
- *
511
- * Mode selection factory for choosing between VM and Worker sandboxes.
512
- * Allows runtime configuration of the sandbox mode.
513
- */
514
-
515
- /** Available sandbox modes */
516
- type SandboxMode = 'vm' | 'worker';
517
-
518
- /**
519
- * Memory Journal MCP Server - Tool Filtering
520
- *
521
- * Configurable tool filtering system with groups and meta-groups.
522
- * Matches mysql-mcp filtering syntax and patterns.
523
- */
524
-
525
- /**
526
- * Tool group definitions mapping group names to tool names
527
- *
528
- * All 68 tools are categorized here for filtering support.
529
- */
530
- declare const TOOL_GROUPS: Record<ToolGroup, string[]>;
531
- /**
532
- * Meta-group definitions mapping shortcuts to groups
533
- */
534
- declare const META_GROUPS: Record<MetaGroup, ToolGroup[]>;
535
- /**
536
- * Get all tool names across all groups
537
- */
538
- declare function getAllToolNames(): string[];
539
- /**
540
- * Get the group for a specific tool
541
- */
542
- declare function getToolGroup(toolName: string): ToolGroup | undefined;
543
- /**
544
- * Parse a tool filter string into configuration
545
- *
546
- * Syntax:
547
- * - `starter` - Use starter preset (whitelist mode)
548
- * - `core,search` - Enable specific groups (whitelist mode)
549
- * - `full,-admin` - All tools except admin group
550
- * - `starter,-delete_entry` - Starter without specific tool
551
- * - `+semantic_search` - Add specific tool to current set
552
- */
553
- declare function parseToolFilter(filterString: string): ToolFilterConfig;
554
- /**
555
- * Check if a tool is enabled based on filter string
556
- */
557
- declare function isToolEnabled(toolName: string, filterConfig: ToolFilterConfig): boolean;
558
- /**
559
- * Filter tools array based on filter configuration
560
- */
561
- declare function filterTools<T extends {
562
- name: string;
563
- }>(tools: T[], filterConfig: ToolFilterConfig): T[];
564
- /**
565
- * Get tool filter from environment variable
566
- */
567
- declare function getToolFilterFromEnv(): ToolFilterConfig | null;
568
- /**
569
- * Calculate token savings from filtering
570
- */
571
- declare function calculateTokenSavings(totalTools: number, enabledTools: number, avgTokensPerTool?: number): {
572
- reduction: number;
573
- savedTokens: number;
574
- };
575
- /**
576
- * Get human-readable filter summary
577
- */
578
- declare function getFilterSummary(filterConfig: ToolFilterConfig): string;
579
-
580
- /**
581
- * Memory Journal MCP Server - Resource Shared Types & Helpers
582
- *
583
- * Shared types, helpers, and utilities used by all resource group modules.
584
- */
585
-
586
- /**
587
- * Configuration for the memory://briefing resource.
588
- * All values have sensible defaults — users opt-in via env vars or CLI flags.
589
- */
590
- interface BriefingConfig {
591
- /** Number of recent journal entries to include (default: 3) */
592
- entryCount: number;
593
- /** Number of recent session summaries to display (default: 1) */
594
- summaryCount?: number;
595
- /** Include team DB entries in briefing preview (default: false) */
596
- includeTeam: boolean;
597
- /** Number of open issues to list with titles; 0 = count only (default: 0) */
598
- issueCount: number;
599
- /** Number of PRs to list with titles; 0 = count only (default: 0) */
600
- prCount: number;
601
- /** Show PR status breakdown (open/merged/closed) instead of simple count (default: false) */
602
- prStatusBreakdown: boolean;
603
- /** Number of milestones to list in briefing; 0 = hide (default: 3) */
604
- milestoneCount?: number;
605
- /** Path to the user's rules file (e.g., .gemini/GEMINI.md) for awareness in briefing */
606
- rulesFilePath?: string;
607
- /** Path to the user's skills directory for awareness in briefing */
608
- skillsDirPath?: string;
609
- /** Number of recent workflow runs to list; 0 = latest-only status (default: 0) */
610
- workflowCount: number;
611
- /** Show workflow run status breakdown (passing/failing/pending) (default: false) */
612
- workflowStatusBreakdown: boolean;
613
- /** Aggregate Copilot review state across recent PRs in briefing (default: false) */
614
- copilotReviews: boolean;
615
- /** Workflow summary string for the memory://workflows resource (env: MEMORY_JOURNAL_WORKFLOW_SUMMARY) */
616
- workflowSummary?: string;
617
- /** Default GitHub Project number for Kanban resources and issue tools (env: DEFAULT_PROJECT_NUMBER) */
618
- defaultProjectNumber?: number;
619
- /** Project registry mapping dynamic repo IDs to local paths and kanban boards */
620
- projectRegistry?: Record<string, ProjectRegistryEntry>;
621
- }
622
-
623
- /** Audit log configuration */
624
- interface AuditConfig {
625
- /** Master switch — false means no interceptor is created */
626
- enabled: boolean;
627
- /** Absolute path to the JSONL output file, or "stderr" for container mode */
628
- logPath: string;
629
- /** When true, tool arguments are omitted from entries */
630
- redact: boolean;
631
- /** When true, read-scoped tools are also logged (default: false) */
632
- auditReads: boolean;
633
- /** Maximum log file size in bytes before rotation (default: 10MB). 0 = no rotation. */
634
- maxSizeBytes: number;
662
+ computeDigest(): Record<string, unknown>;
663
+ pragma(command: string): void;
664
+ getCrossProjectInsights(options: {
665
+ startDate?: string;
666
+ endDate?: string;
667
+ minEntries: number;
668
+ inactiveThresholdDays: number;
669
+ }): {
670
+ projects: Record<string, unknown>[];
671
+ inactiveProjects: {
672
+ project_number: number;
673
+ last_entry_date: string;
674
+ }[];
675
+ };
676
+ visualizeRelationships(options: {
677
+ entryId?: number;
678
+ tags?: string[];
679
+ relationshipType?: string;
680
+ depth: number;
681
+ limit: number;
682
+ }): {
683
+ nodes: {
684
+ id: string | number;
685
+ label: string;
686
+ group: string;
687
+ metadata?: Record<string, unknown>;
688
+ }[];
689
+ edges: {
690
+ from: string | number;
691
+ to: string | number;
692
+ label: string;
693
+ type: string;
694
+ }[];
695
+ };
696
+ getTeamCollaborationMatrix(options: {
697
+ period: string;
698
+ limit: number;
699
+ }): {
700
+ totalAuthors: number;
701
+ totalEntries: number;
702
+ authorActivity: {
703
+ author: string;
704
+ period: string;
705
+ entryCount: number;
706
+ }[];
707
+ crossAuthorLinks: {
708
+ fromAuthor: string;
709
+ toAuthor: string;
710
+ linkCount: number;
711
+ }[];
712
+ impactFactor: {
713
+ author: string;
714
+ inboundLinks: number;
715
+ }[];
716
+ };
717
+ getWorkflowActionEntries(limit: number): JournalEntry[];
718
+ getSignificantEntries(limit: number, projectNumber?: number): JournalEntry[];
719
+ getRecentGraphRelationships(limit: number): {
720
+ from_entry_id: number;
721
+ to_entry_id: number;
722
+ relationship_type: string;
723
+ from_content: string;
724
+ to_content: string;
725
+ }[];
726
+ upsertVector(entryId: number, embedding: Float32Array): void;
727
+ upsertVectors(vectors: {
728
+ entryId: number;
729
+ embedding: Float32Array;
730
+ }[]): void;
731
+ searchVectors(embedding: Float32Array, limit: number): {
732
+ entry_id: number;
733
+ distance: number;
734
+ }[];
735
+ getVector(entryId: number): Float32Array | null;
736
+ deleteVector(entryId: number): void;
737
+ clearVectors(): void;
738
+ getVectorCount(): number;
739
+ cleanupStaleVectors(): void;
740
+ executeInTransaction<T>(cb: () => T): T;
635
741
  }
636
742
 
637
743
  /**
@@ -654,16 +760,21 @@ interface ServerOptions {
654
760
  authToken?: string;
655
761
  enableHSTS?: boolean;
656
762
  scheduler?: SchedulerOptions;
657
- sandboxMode?: SandboxMode;
658
763
  oauthEnabled?: boolean;
659
764
  oauthIssuer?: string;
660
765
  oauthAudience?: string;
661
766
  oauthJwksUri?: string;
662
767
  oauthClockTolerance?: number;
768
+ allowPlaintextLoopbackOAuth?: boolean;
769
+ trustProxy?: boolean;
770
+ publicOrigin?: string;
663
771
  briefingConfig?: BriefingConfig;
664
772
  projectRegistry?: Record<string, ProjectRegistryEntry>;
665
773
  instructionLevel?: 'essential' | 'standard' | 'full';
666
774
  auditConfig?: AuditConfig;
775
+ flagVocabulary?: string[];
776
+ allowedIoRoots?: string[];
777
+ codemodeInternalFullAccess?: boolean;
667
778
  }
668
779
  /**
669
780
  * Create and start the MCP server
package/dist/index.js CHANGED
@@ -1,7 +1,5 @@
1
- export { VERSION, createServer } from './chunk-5ZA77VUW.js';
2
- export { META_GROUPS, TOOL_GROUPS, calculateTokenSavings, filterTools, getAllToolNames, getFilterSummary, getToolFilterFromEnv, getToolGroup, isToolEnabled, parseToolFilter } from './chunk-P5V2VY6N.js';
3
- import './chunk-OKOVZ5QE.js';
4
- export { logger } from './chunk-WXDEVIFL.js';
1
+ export { VERSION, createServer } from './chunk-NSEHC6MZ.js';
2
+ export { META_GROUPS, TOOL_GROUPS, calculateTokenSavings, filterTools, getAllToolNames, getFilterSummary, getToolFilterFromEnv, getToolGroup, isToolEnabled, logger, parseToolFilter } from './chunk-SV3CKPMF.js';
5
3
 
6
4
  // src/types/index.ts
7
5
  var DEFAULT_CONFIG = {
@@ -0,0 +1 @@
1
+ export { callTool, getTools } from './chunk-SV3CKPMF.js';