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/README.md +130 -98
- package/dist/{chunk-5ZA77VUW.js → chunk-NSEHC6MZ.js} +3361 -1253
- package/dist/{chunk-P5V2VY6N.js → chunk-SV3CKPMF.js} +9872 -7659
- package/dist/cli.js +236 -52
- package/dist/index.d.ts +272 -161
- package/dist/index.js +2 -4
- package/dist/tools-QF7CPU2H.js +1 -0
- package/dist/worker-script.js +113 -23
- package/package.json +5 -2
- package/skills/README.md +2 -0
- package/skills/github-commander/SKILL.md +1 -0
- package/skills/github-commander/workflows/copilot-audit.md +50 -0
- package/skills/github-copilot-cli/SKILL.md +64 -0
- package/skills/package.json +2 -1
- package/dist/chunk-OKOVZ5QE.js +0 -28
- package/dist/chunk-WXDEVIFL.js +0 -1745
- package/dist/github-integration-YODGZH3K.js +0 -1
- package/dist/tools-WZUENKJ6.js +0 -3
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
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
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-
|
|
2
|
-
export { META_GROUPS, TOOL_GROUPS, calculateTokenSavings, filterTools, getAllToolNames, getFilterSummary, getToolFilterFromEnv, getToolGroup, isToolEnabled, parseToolFilter } from './chunk-
|
|
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';
|