memory-journal-mcp 3.0.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/.dockerignore +88 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +76 -0
- package/.github/ISSUE_TEMPLATE/config.yml +11 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +89 -0
- package/.github/ISSUE_TEMPLATE/question.md +63 -0
- package/.github/dependabot.yml +110 -0
- package/.github/pull_request_template.md +110 -0
- package/.github/workflows/DOCKER_DEPLOYMENT_SETUP.md +346 -0
- package/.github/workflows/codeql.yml +45 -0
- package/.github/workflows/dependabot-auto-merge.yml +42 -0
- package/.github/workflows/docker-publish.yml +277 -0
- package/.github/workflows/lint-and-test.yml +58 -0
- package/.github/workflows/publish-npm.yml +75 -0
- package/.github/workflows/secrets-scanning.yml +32 -0
- package/.github/workflows/security-update.yml +99 -0
- package/.memory-journal-team.db +0 -0
- package/.trivyignore +18 -0
- package/CHANGELOG.md +19 -0
- package/CODE_OF_CONDUCT.md +128 -0
- package/CONTRIBUTING.md +209 -0
- package/DOCKER_README.md +377 -0
- package/Dockerfile +64 -0
- package/LICENSE +21 -0
- package/README.md +461 -0
- package/SECURITY.md +200 -0
- package/VERSION +1 -0
- package/dist/cli.d.ts +5 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +42 -0
- package/dist/cli.js.map +1 -0
- package/dist/constants/ServerInstructions.d.ts +8 -0
- package/dist/constants/ServerInstructions.d.ts.map +1 -0
- package/dist/constants/ServerInstructions.js +26 -0
- package/dist/constants/ServerInstructions.js.map +1 -0
- package/dist/database/SqliteAdapter.d.ts +198 -0
- package/dist/database/SqliteAdapter.d.ts.map +1 -0
- package/dist/database/SqliteAdapter.js +736 -0
- package/dist/database/SqliteAdapter.js.map +1 -0
- package/dist/filtering/ToolFilter.d.ts +63 -0
- package/dist/filtering/ToolFilter.d.ts.map +1 -0
- package/dist/filtering/ToolFilter.js +242 -0
- package/dist/filtering/ToolFilter.js.map +1 -0
- package/dist/github/GitHubIntegration.d.ts +91 -0
- package/dist/github/GitHubIntegration.d.ts.map +1 -0
- package/dist/github/GitHubIntegration.js +317 -0
- package/dist/github/GitHubIntegration.js.map +1 -0
- package/dist/handlers/prompts/index.d.ts +28 -0
- package/dist/handlers/prompts/index.d.ts.map +1 -0
- package/dist/handlers/prompts/index.js +366 -0
- package/dist/handlers/prompts/index.js.map +1 -0
- package/dist/handlers/resources/index.d.ts +27 -0
- package/dist/handlers/resources/index.d.ts.map +1 -0
- package/dist/handlers/resources/index.js +453 -0
- package/dist/handlers/resources/index.js.map +1 -0
- package/dist/handlers/tools/index.d.ts +26 -0
- package/dist/handlers/tools/index.d.ts.map +1 -0
- package/dist/handlers/tools/index.js +982 -0
- package/dist/handlers/tools/index.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/server/McpServer.d.ts +18 -0
- package/dist/server/McpServer.d.ts.map +1 -0
- package/dist/server/McpServer.js +171 -0
- package/dist/server/McpServer.js.map +1 -0
- package/dist/types/index.d.ts +300 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +15 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/McpLogger.d.ts +61 -0
- package/dist/utils/McpLogger.d.ts.map +1 -0
- package/dist/utils/McpLogger.js +113 -0
- package/dist/utils/McpLogger.js.map +1 -0
- package/dist/utils/logger.d.ts +30 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +70 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/vector/VectorSearchManager.d.ts +63 -0
- package/dist/vector/VectorSearchManager.d.ts.map +1 -0
- package/dist/vector/VectorSearchManager.js +235 -0
- package/dist/vector/VectorSearchManager.js.map +1 -0
- package/docker-compose.yml +37 -0
- package/eslint.config.js +86 -0
- package/mcp-config-example.json +21 -0
- package/package.json +71 -0
- package/releases/release-notes-v2.2.0.md +165 -0
- package/releases/release-notes.md +214 -0
- package/releases/v3.0.0.md +236 -0
- package/server.json +42 -0
- package/src/cli.ts +52 -0
- package/src/constants/ServerInstructions.ts +25 -0
- package/src/database/SqliteAdapter.ts +952 -0
- package/src/filtering/ToolFilter.ts +271 -0
- package/src/github/GitHubIntegration.ts +409 -0
- package/src/handlers/prompts/index.ts +420 -0
- package/src/handlers/resources/index.ts +529 -0
- package/src/handlers/tools/index.ts +1081 -0
- package/src/index.ts +53 -0
- package/src/server/McpServer.ts +230 -0
- package/src/types/index.ts +435 -0
- package/src/types/sql.js.d.ts +34 -0
- package/src/utils/McpLogger.ts +155 -0
- package/src/utils/logger.ts +98 -0
- package/src/vector/VectorSearchManager.ts +277 -0
- package/tools.json +300 -0
- package/tsconfig.json +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteAdapter.js","sourceRoot":"","sources":["../../src/database/SqliteAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Journal MCP Server - Tool Filtering
|
|
3
|
+
*
|
|
4
|
+
* Configurable tool filtering system with groups and meta-groups.
|
|
5
|
+
* Matches mysql-mcp filtering syntax and patterns.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolGroup, MetaGroup, ToolFilterConfig } from '../types/index.js';
|
|
8
|
+
export type { ToolFilterConfig } from '../types/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* Tool group definitions mapping group names to tool names
|
|
11
|
+
*
|
|
12
|
+
* All 24 tools are categorized here for filtering support.
|
|
13
|
+
*/
|
|
14
|
+
export declare const TOOL_GROUPS: Record<ToolGroup, string[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Meta-group definitions mapping shortcuts to groups
|
|
17
|
+
*/
|
|
18
|
+
export declare const META_GROUPS: Record<MetaGroup, ToolGroup[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Get all tool names across all groups
|
|
21
|
+
*/
|
|
22
|
+
export declare function getAllToolNames(): string[];
|
|
23
|
+
/**
|
|
24
|
+
* Get the group for a specific tool
|
|
25
|
+
*/
|
|
26
|
+
export declare function getToolGroup(toolName: string): ToolGroup | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Parse a tool filter string into configuration
|
|
29
|
+
*
|
|
30
|
+
* Syntax:
|
|
31
|
+
* - `starter` - Use starter preset (whitelist mode)
|
|
32
|
+
* - `core,search` - Enable specific groups (whitelist mode)
|
|
33
|
+
* - `full,-admin` - All tools except admin group
|
|
34
|
+
* - `starter,-delete_entry` - Starter without specific tool
|
|
35
|
+
* - `+semantic_search` - Add specific tool to current set
|
|
36
|
+
*/
|
|
37
|
+
export declare function parseToolFilter(filterString: string): ToolFilterConfig;
|
|
38
|
+
/**
|
|
39
|
+
* Check if a tool is enabled based on filter string
|
|
40
|
+
*/
|
|
41
|
+
export declare function isToolEnabled(toolName: string, filterConfig: ToolFilterConfig): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Filter tools array based on filter configuration
|
|
44
|
+
*/
|
|
45
|
+
export declare function filterTools<T extends {
|
|
46
|
+
name: string;
|
|
47
|
+
}>(tools: T[], filterConfig: ToolFilterConfig): T[];
|
|
48
|
+
/**
|
|
49
|
+
* Get tool filter from environment variable
|
|
50
|
+
*/
|
|
51
|
+
export declare function getToolFilterFromEnv(): ToolFilterConfig | null;
|
|
52
|
+
/**
|
|
53
|
+
* Calculate token savings from filtering
|
|
54
|
+
*/
|
|
55
|
+
export declare function calculateTokenSavings(totalTools: number, enabledTools: number, avgTokensPerTool?: number): {
|
|
56
|
+
reduction: number;
|
|
57
|
+
savedTokens: number;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Get human-readable filter summary
|
|
61
|
+
*/
|
|
62
|
+
export declare function getFilterSummary(filterConfig: ToolFilterConfig): string;
|
|
63
|
+
//# sourceMappingURL=ToolFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolFilter.d.ts","sourceRoot":"","sources":["../../src/filtering/ToolFilter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EAET,gBAAgB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CA4CnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAKtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAM1C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAOpE;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,CA+FtE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAEvF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAClD,KAAK,EAAE,CAAC,EAAE,EACV,YAAY,EAAE,gBAAgB,GAC/B,CAAC,EAAE,CAEL;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,GAAG,IAAI,CAI9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,gBAAgB,SAAM,GACvB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAI5C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,GAAG,MAAM,CAMvE"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Journal MCP Server - Tool Filtering
|
|
3
|
+
*
|
|
4
|
+
* Configurable tool filtering system with groups and meta-groups.
|
|
5
|
+
* Matches mysql-mcp filtering syntax and patterns.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Tool group definitions mapping group names to tool names
|
|
9
|
+
*
|
|
10
|
+
* All 24 tools are categorized here for filtering support.
|
|
11
|
+
*/
|
|
12
|
+
export const TOOL_GROUPS = {
|
|
13
|
+
core: [
|
|
14
|
+
'create_entry',
|
|
15
|
+
'get_entry_by_id',
|
|
16
|
+
'get_recent_entries',
|
|
17
|
+
'create_entry_minimal',
|
|
18
|
+
'test_simple',
|
|
19
|
+
'list_tags',
|
|
20
|
+
],
|
|
21
|
+
search: [
|
|
22
|
+
'search_entries',
|
|
23
|
+
'search_by_date_range',
|
|
24
|
+
'semantic_search',
|
|
25
|
+
'get_vector_index_stats',
|
|
26
|
+
],
|
|
27
|
+
analytics: [
|
|
28
|
+
'get_statistics',
|
|
29
|
+
'get_cross_project_insights',
|
|
30
|
+
],
|
|
31
|
+
relationships: [
|
|
32
|
+
'link_entries',
|
|
33
|
+
'visualize_relationships',
|
|
34
|
+
],
|
|
35
|
+
export: [
|
|
36
|
+
'export_entries',
|
|
37
|
+
],
|
|
38
|
+
admin: [
|
|
39
|
+
'update_entry',
|
|
40
|
+
'delete_entry',
|
|
41
|
+
'rebuild_vector_index',
|
|
42
|
+
'add_to_vector_index',
|
|
43
|
+
],
|
|
44
|
+
github: [
|
|
45
|
+
'get_github_issues',
|
|
46
|
+
'get_github_prs',
|
|
47
|
+
'get_github_issue',
|
|
48
|
+
'get_github_pr',
|
|
49
|
+
'get_github_context',
|
|
50
|
+
],
|
|
51
|
+
backup: [
|
|
52
|
+
'backup_journal',
|
|
53
|
+
'list_backups',
|
|
54
|
+
'restore_backup',
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Meta-group definitions mapping shortcuts to groups
|
|
59
|
+
*/
|
|
60
|
+
export const META_GROUPS = {
|
|
61
|
+
starter: ['core', 'search'],
|
|
62
|
+
essential: ['core'],
|
|
63
|
+
full: ['core', 'search', 'analytics', 'relationships', 'export', 'admin', 'github', 'backup'],
|
|
64
|
+
readonly: ['core', 'search', 'analytics', 'relationships', 'export'],
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Get all tool names across all groups
|
|
68
|
+
*/
|
|
69
|
+
export function getAllToolNames() {
|
|
70
|
+
const allTools = [];
|
|
71
|
+
for (const tools of Object.values(TOOL_GROUPS)) {
|
|
72
|
+
allTools.push(...tools);
|
|
73
|
+
}
|
|
74
|
+
return allTools;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get the group for a specific tool
|
|
78
|
+
*/
|
|
79
|
+
export function getToolGroup(toolName) {
|
|
80
|
+
for (const [group, tools] of Object.entries(TOOL_GROUPS)) {
|
|
81
|
+
if (tools.includes(toolName)) {
|
|
82
|
+
return group;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Check if a string is a valid group name
|
|
89
|
+
*/
|
|
90
|
+
function isGroup(name) {
|
|
91
|
+
return name in TOOL_GROUPS;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Check if a string is a valid meta-group name
|
|
95
|
+
*/
|
|
96
|
+
function isMetaGroup(name) {
|
|
97
|
+
return name in META_GROUPS;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Parse a tool filter string into configuration
|
|
101
|
+
*
|
|
102
|
+
* Syntax:
|
|
103
|
+
* - `starter` - Use starter preset (whitelist mode)
|
|
104
|
+
* - `core,search` - Enable specific groups (whitelist mode)
|
|
105
|
+
* - `full,-admin` - All tools except admin group
|
|
106
|
+
* - `starter,-delete_entry` - Starter without specific tool
|
|
107
|
+
* - `+semantic_search` - Add specific tool to current set
|
|
108
|
+
*/
|
|
109
|
+
export function parseToolFilter(filterString) {
|
|
110
|
+
const rules = [];
|
|
111
|
+
const parts = filterString.split(',').map(p => p.trim()).filter(Boolean);
|
|
112
|
+
// Determine if we're in whitelist or blacklist mode
|
|
113
|
+
// If first item has no prefix and is a group/metagroup, we're in whitelist mode
|
|
114
|
+
let enabledTools = new Set();
|
|
115
|
+
let isWhitelistMode = false;
|
|
116
|
+
for (let i = 0; i < parts.length; i++) {
|
|
117
|
+
const part = parts[i];
|
|
118
|
+
if (!part)
|
|
119
|
+
continue;
|
|
120
|
+
const isAdd = part.startsWith('+');
|
|
121
|
+
const isRemove = part.startsWith('-');
|
|
122
|
+
const name = (isAdd || isRemove) ? part.slice(1) : part;
|
|
123
|
+
if (i === 0 && !isAdd && !isRemove) {
|
|
124
|
+
// First item without prefix - whitelist mode
|
|
125
|
+
isWhitelistMode = true;
|
|
126
|
+
if (isMetaGroup(name)) {
|
|
127
|
+
// Expand meta-group to groups
|
|
128
|
+
for (const group of META_GROUPS[name]) {
|
|
129
|
+
enabledTools = new Set([...enabledTools, ...TOOL_GROUPS[group]]);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else if (isGroup(name)) {
|
|
133
|
+
enabledTools = new Set([...enabledTools, ...TOOL_GROUPS[name]]);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
// Single tool
|
|
137
|
+
enabledTools.add(name);
|
|
138
|
+
}
|
|
139
|
+
rules.push({
|
|
140
|
+
type: 'include',
|
|
141
|
+
target: name,
|
|
142
|
+
isGroup: isGroup(name) || isMetaGroup(name),
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
else if (isRemove) {
|
|
146
|
+
// Remove group or tool
|
|
147
|
+
if (isGroup(name)) {
|
|
148
|
+
for (const tool of TOOL_GROUPS[name]) {
|
|
149
|
+
enabledTools.delete(tool);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
enabledTools.delete(name);
|
|
154
|
+
}
|
|
155
|
+
rules.push({
|
|
156
|
+
type: 'exclude',
|
|
157
|
+
target: name,
|
|
158
|
+
isGroup: isGroup(name),
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// Add group or tool (with or without + prefix)
|
|
163
|
+
if (isMetaGroup(name)) {
|
|
164
|
+
for (const group of META_GROUPS[name]) {
|
|
165
|
+
enabledTools = new Set([...enabledTools, ...TOOL_GROUPS[group]]);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else if (isGroup(name)) {
|
|
169
|
+
enabledTools = new Set([...enabledTools, ...TOOL_GROUPS[name]]);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
enabledTools.add(name);
|
|
173
|
+
}
|
|
174
|
+
rules.push({
|
|
175
|
+
type: 'include',
|
|
176
|
+
target: name,
|
|
177
|
+
isGroup: isGroup(name) || isMetaGroup(name),
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// If no filter specified or starting with removal, start with all tools
|
|
182
|
+
if (!isWhitelistMode && rules.length > 0 && rules[0]?.type === 'exclude') {
|
|
183
|
+
enabledTools = new Set(getAllToolNames());
|
|
184
|
+
// Re-apply rules
|
|
185
|
+
for (const rule of rules) {
|
|
186
|
+
if (rule.type === 'exclude') {
|
|
187
|
+
if (isGroup(rule.target)) {
|
|
188
|
+
for (const tool of TOOL_GROUPS[rule.target]) {
|
|
189
|
+
enabledTools.delete(tool);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
enabledTools.delete(rule.target);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return {
|
|
199
|
+
raw: filterString,
|
|
200
|
+
rules,
|
|
201
|
+
enabledTools,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Check if a tool is enabled based on filter string
|
|
206
|
+
*/
|
|
207
|
+
export function isToolEnabled(toolName, filterConfig) {
|
|
208
|
+
return filterConfig.enabledTools.has(toolName);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Filter tools array based on filter configuration
|
|
212
|
+
*/
|
|
213
|
+
export function filterTools(tools, filterConfig) {
|
|
214
|
+
return tools.filter(tool => isToolEnabled(tool.name, filterConfig));
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Get tool filter from environment variable
|
|
218
|
+
*/
|
|
219
|
+
export function getToolFilterFromEnv() {
|
|
220
|
+
const filterString = process.env['MEMORY_JOURNAL_MCP_TOOL_FILTER'];
|
|
221
|
+
if (!filterString)
|
|
222
|
+
return null;
|
|
223
|
+
return parseToolFilter(filterString);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Calculate token savings from filtering
|
|
227
|
+
*/
|
|
228
|
+
export function calculateTokenSavings(totalTools, enabledTools, avgTokensPerTool = 150) {
|
|
229
|
+
const savedTokens = (totalTools - enabledTools) * avgTokensPerTool;
|
|
230
|
+
const reduction = ((totalTools - enabledTools) / totalTools) * 100;
|
|
231
|
+
return { reduction, savedTokens };
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Get human-readable filter summary
|
|
235
|
+
*/
|
|
236
|
+
export function getFilterSummary(filterConfig) {
|
|
237
|
+
const total = getAllToolNames().length;
|
|
238
|
+
const enabled = filterConfig.enabledTools.size;
|
|
239
|
+
const { reduction } = calculateTokenSavings(total, enabled);
|
|
240
|
+
return `${enabled}/${total} tools enabled (${reduction.toFixed(0)}% reduction)`;
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=ToolFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolFilter.js","sourceRoot":"","sources":["../../src/filtering/ToolFilter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Journal MCP Server - GitHub Integration
|
|
3
|
+
*
|
|
4
|
+
* GitHub API integration using @octokit/rest for API access
|
|
5
|
+
* and simple-git for local repository operations.
|
|
6
|
+
*/
|
|
7
|
+
import type { GitHubIssue, GitHubPullRequest, GitHubWorkflowRun, ProjectContext } from '../types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Local repository information
|
|
10
|
+
*/
|
|
11
|
+
export interface RepoInfo {
|
|
12
|
+
owner: string | null;
|
|
13
|
+
repo: string | null;
|
|
14
|
+
branch: string | null;
|
|
15
|
+
remoteUrl: string | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* GitHub issue details (extended)
|
|
19
|
+
*/
|
|
20
|
+
export interface IssueDetails extends GitHubIssue {
|
|
21
|
+
body: string | null;
|
|
22
|
+
labels: string[];
|
|
23
|
+
assignees: string[];
|
|
24
|
+
createdAt: string;
|
|
25
|
+
updatedAt: string;
|
|
26
|
+
closedAt: string | null;
|
|
27
|
+
commentsCount: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* GitHub PR details (extended)
|
|
31
|
+
*/
|
|
32
|
+
export interface PullRequestDetails extends GitHubPullRequest {
|
|
33
|
+
body: string | null;
|
|
34
|
+
draft: boolean;
|
|
35
|
+
headBranch: string;
|
|
36
|
+
baseBranch: string;
|
|
37
|
+
author: string;
|
|
38
|
+
createdAt: string;
|
|
39
|
+
updatedAt: string;
|
|
40
|
+
mergedAt: string | null;
|
|
41
|
+
closedAt: string | null;
|
|
42
|
+
additions: number;
|
|
43
|
+
deletions: number;
|
|
44
|
+
changedFiles: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* GitHubIntegration - Handles GitHub API and local git operations
|
|
48
|
+
*/
|
|
49
|
+
export declare class GitHubIntegration {
|
|
50
|
+
private octokit;
|
|
51
|
+
private git;
|
|
52
|
+
private readonly token;
|
|
53
|
+
constructor(workingDir?: string);
|
|
54
|
+
/**
|
|
55
|
+
* Check if GitHub API is available (token present)
|
|
56
|
+
*/
|
|
57
|
+
isApiAvailable(): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Get local repository information
|
|
60
|
+
*/
|
|
61
|
+
getRepoInfo(): Promise<RepoInfo>;
|
|
62
|
+
/**
|
|
63
|
+
* Parse owner and repo from GitHub remote URL
|
|
64
|
+
*/
|
|
65
|
+
private parseRemoteUrl;
|
|
66
|
+
/**
|
|
67
|
+
* Get repository issues
|
|
68
|
+
*/
|
|
69
|
+
getIssues(owner: string, repo: string, state?: 'open' | 'closed' | 'all', limit?: number): Promise<GitHubIssue[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Get issue details
|
|
72
|
+
*/
|
|
73
|
+
getIssue(owner: string, repo: string, issueNumber: number): Promise<IssueDetails | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Get repository pull requests
|
|
76
|
+
*/
|
|
77
|
+
getPullRequests(owner: string, repo: string, state?: 'open' | 'closed' | 'all', limit?: number): Promise<GitHubPullRequest[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Get PR details
|
|
80
|
+
*/
|
|
81
|
+
getPullRequest(owner: string, repo: string, prNumber: number): Promise<PullRequestDetails | null>;
|
|
82
|
+
/**
|
|
83
|
+
* Get workflow runs from GitHub Actions
|
|
84
|
+
*/
|
|
85
|
+
getWorkflowRuns(owner: string, repo: string, limit?: number): Promise<GitHubWorkflowRun[]>;
|
|
86
|
+
/**
|
|
87
|
+
* Get full repository context (issues, PRs, branch info)
|
|
88
|
+
*/
|
|
89
|
+
getRepoContext(): Promise<ProjectContext>;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=GitHubIntegration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubIntegration.d.ts","sourceRoot":"","sources":["../../src/github/GitHubIntegration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACR,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACjB,MAAM,mBAAmB,CAAC;AAM3B;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC7C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IACzD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,GAAG,CAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;gBAE/B,UAAU,SAAM;IA6B5B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAwBtC;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;OAEG;IACG,SAAS,CACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAM,GAAG,QAAQ,GAAG,KAAc,EACzC,KAAK,SAAK,GACX,OAAO,CAAC,WAAW,EAAE,CAAC;IAiCzB;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA0C9F;;OAEG;IACG,eAAe,CACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAM,GAAG,QAAQ,GAAG,KAAc,EACzC,KAAK,SAAK,GACX,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA8B/B;;OAEG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IA0CvG;;OAEG;IACG,eAAe,CACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,SAAK,GACX,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAiC/B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;CA+BlD"}
|