@pcircle/memesh 2.8.0 → 2.8.2
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 +2 -27
- package/README.zh-TW.md +2 -23
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +0 -7
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +0 -7
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/zh-CN.d.ts.map +1 -1
- package/dist/i18n/locales/zh-CN.js +0 -7
- package/dist/i18n/locales/zh-CN.js.map +1 -1
- package/dist/i18n/locales/zh-TW.d.ts.map +1 -1
- package/dist/i18n/locales/zh-TW.js +0 -7
- package/dist/i18n/locales/zh-TW.js.map +1 -1
- package/dist/mcp/BuddyCommands.d.ts +0 -1
- package/dist/mcp/BuddyCommands.d.ts.map +1 -1
- package/dist/mcp/BuddyCommands.js +1 -105
- package/dist/mcp/BuddyCommands.js.map +1 -1
- package/dist/mcp/ServerInitializer.d.ts +0 -2
- package/dist/mcp/ServerInitializer.d.ts.map +1 -1
- package/dist/mcp/ServerInitializer.js +0 -13
- package/dist/mcp/ServerInitializer.js.map +1 -1
- package/dist/mcp/ToolDefinitions.d.ts.map +1 -1
- package/dist/mcp/ToolDefinitions.js +0 -114
- package/dist/mcp/ToolDefinitions.js.map +1 -1
- package/dist/mcp/ToolRouter.d.ts +0 -3
- package/dist/mcp/ToolRouter.d.ts.map +1 -1
- package/dist/mcp/ToolRouter.js +1 -48
- package/dist/mcp/ToolRouter.js.map +1 -1
- package/dist/mcp/handlers/index.d.ts +0 -1
- package/dist/mcp/handlers/index.d.ts.map +1 -1
- package/dist/mcp/handlers/index.js +0 -1
- package/dist/mcp/handlers/index.js.map +1 -1
- package/dist/mcp/resources/best-practices.md +0 -14
- package/dist/mcp/resources/buddy-do-skill.md +0 -1
- package/dist/mcp/resources/ccb-complete-guide.md +1 -91
- package/dist/mcp/resources/examples.md +0 -9
- package/dist/mcp/resources/quick-reference.md +0 -2
- package/dist/mcp/resources/usage-guide.md +0 -18
- package/dist/mcp/server-bootstrap.js +0 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +0 -15
- package/dist/mcp/server.js.map +1 -1
- package/dist/memory/index.d.ts +0 -3
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +0 -2
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/types/index.d.ts +0 -2
- package/dist/memory/types/index.d.ts.map +1 -1
- package/dist/memory/types/index.js +0 -1
- package/dist/memory/types/index.js.map +1 -1
- package/dist/ui/design-tokens.d.ts +0 -1
- package/dist/ui/design-tokens.d.ts.map +1 -1
- package/dist/ui/design-tokens.js +0 -10
- package/dist/ui/design-tokens.js.map +1 -1
- package/package.json +2 -2
- package/scripts/postinstall.js +1 -1
- package/dist/mcp/handlers/SecretHandlers.d.ts +0 -23
- package/dist/mcp/handlers/SecretHandlers.d.ts.map +0 -1
- package/dist/mcp/handlers/SecretHandlers.js +0 -277
- package/dist/mcp/handlers/SecretHandlers.js.map +0 -1
- package/dist/memory/SecretManager.d.ts +0 -41
- package/dist/memory/SecretManager.d.ts.map +0 -1
- package/dist/memory/SecretManager.js +0 -346
- package/dist/memory/SecretManager.js.map +0 -1
- package/dist/memory/types/secret-types.d.ts +0 -43
- package/dist/memory/types/secret-types.d.ts.map +0 -1
- package/dist/memory/types/secret-types.js +0 -51
- package/dist/memory/types/secret-types.js.map +0 -1
|
@@ -429,126 +429,12 @@ Requires MEMESH_API_KEY to be configured. Without it, all actions return a setup
|
|
|
429
429
|
openWorldHint: true,
|
|
430
430
|
},
|
|
431
431
|
};
|
|
432
|
-
const buddySecretStoreTool = {
|
|
433
|
-
name: 'memesh-secret-store',
|
|
434
|
-
aliases: ['buddy-secret-store'],
|
|
435
|
-
description: '🔐 Securely store API keys, tokens, or passwords. USE THIS when user shares sensitive credentials. ' +
|
|
436
|
-
'Encrypted with AES-256-GCM, stored locally. Decrypted values returned via MCP tool results. ' +
|
|
437
|
-
'Example: User says "save my OpenAI key sk-xxx" → call with name="openai_api_key", value="sk-xxx", type="api_key". ' +
|
|
438
|
-
'After storing, use buddy-secret-get to retrieve when needed for API calls.',
|
|
439
|
-
inputSchema: {
|
|
440
|
-
type: 'object',
|
|
441
|
-
properties: {
|
|
442
|
-
name: {
|
|
443
|
-
type: 'string',
|
|
444
|
-
description: 'Unique identifier for retrieval. Use snake_case, be descriptive. Examples: "openai_api_key", "github_token", "db_password"',
|
|
445
|
-
},
|
|
446
|
-
value: {
|
|
447
|
-
type: 'string',
|
|
448
|
-
description: 'The actual secret value (API key, token, password). Will be encrypted before storage.',
|
|
449
|
-
},
|
|
450
|
-
type: {
|
|
451
|
-
type: 'string',
|
|
452
|
-
enum: ['api_key', 'token', 'password', 'other'],
|
|
453
|
-
description: 'Category: api_key (OpenAI/Stripe/etc), token (OAuth/JWT), password (DB/service), other',
|
|
454
|
-
},
|
|
455
|
-
description: {
|
|
456
|
-
type: 'string',
|
|
457
|
-
description: 'What this secret is for. Helps identify purpose later. Example: "Production OpenAI API key for GPT-4"',
|
|
458
|
-
},
|
|
459
|
-
expiresIn: {
|
|
460
|
-
type: 'string',
|
|
461
|
-
description: 'Auto-delete after duration. Format: "30d" (days), "24h" (hours), "60m" (minutes). Default: 30d',
|
|
462
|
-
},
|
|
463
|
-
},
|
|
464
|
-
required: ['name', 'value', 'type'],
|
|
465
|
-
},
|
|
466
|
-
annotations: {
|
|
467
|
-
title: 'Secret Storage',
|
|
468
|
-
readOnlyHint: false,
|
|
469
|
-
destructiveHint: false,
|
|
470
|
-
idempotentHint: false,
|
|
471
|
-
openWorldHint: false,
|
|
472
|
-
},
|
|
473
|
-
};
|
|
474
|
-
const buddySecretGetTool = {
|
|
475
|
-
name: 'memesh-secret-get',
|
|
476
|
-
aliases: ['buddy-secret-get'],
|
|
477
|
-
description: '🔓 Retrieve a stored secret to use in API calls or configurations. USE THIS when you need a credential for an operation. ' +
|
|
478
|
-
'Returns the decrypted value directly. Example workflow: User asks "call OpenAI API" → ' +
|
|
479
|
-
'buddy-secret-get name="openai_api_key" → use returned value in API request header. ' +
|
|
480
|
-
'If unsure what secrets exist, call buddy-secret-list first.',
|
|
481
|
-
inputSchema: {
|
|
482
|
-
type: 'object',
|
|
483
|
-
properties: {
|
|
484
|
-
name: {
|
|
485
|
-
type: 'string',
|
|
486
|
-
description: 'Exact name used when storing. Run buddy-secret-list if you don\'t know available names.',
|
|
487
|
-
},
|
|
488
|
-
},
|
|
489
|
-
required: ['name'],
|
|
490
|
-
},
|
|
491
|
-
annotations: {
|
|
492
|
-
title: 'Secret Retrieval',
|
|
493
|
-
readOnlyHint: true,
|
|
494
|
-
destructiveHint: false,
|
|
495
|
-
idempotentHint: true,
|
|
496
|
-
openWorldHint: false,
|
|
497
|
-
},
|
|
498
|
-
};
|
|
499
|
-
const buddySecretListTool = {
|
|
500
|
-
name: 'memesh-secret-list',
|
|
501
|
-
aliases: ['buddy-secret-list'],
|
|
502
|
-
description: '📋 List all stored secrets (names, types, expiry dates - NOT the actual values). USE THIS to discover what credentials are available ' +
|
|
503
|
-
'before calling buddy-secret-get. Shows: name, type (api_key/token/password), creation date, expiry. ' +
|
|
504
|
-
'Example: User asks "do I have an API key stored?" → call this to check. No parameters needed.',
|
|
505
|
-
inputSchema: {
|
|
506
|
-
type: 'object',
|
|
507
|
-
properties: {},
|
|
508
|
-
},
|
|
509
|
-
annotations: {
|
|
510
|
-
title: 'Secret List',
|
|
511
|
-
readOnlyHint: true,
|
|
512
|
-
destructiveHint: false,
|
|
513
|
-
idempotentHint: true,
|
|
514
|
-
openWorldHint: false,
|
|
515
|
-
},
|
|
516
|
-
};
|
|
517
|
-
const buddySecretDeleteTool = {
|
|
518
|
-
name: 'memesh-secret-delete',
|
|
519
|
-
aliases: ['buddy-secret-delete'],
|
|
520
|
-
description: '🗑️ Permanently delete a stored secret. USE THIS for: (1) Key rotation - delete old key after storing new one, ' +
|
|
521
|
-
'(2) Cleanup - remove unused credentials, (3) Security - remove compromised keys immediately. ' +
|
|
522
|
-
'CAUTION: Irreversible. Verify the name with buddy-secret-list first if unsure. ' +
|
|
523
|
-
'Example: User says "remove my old API key" → buddy-secret-delete name="old_api_key".',
|
|
524
|
-
inputSchema: {
|
|
525
|
-
type: 'object',
|
|
526
|
-
properties: {
|
|
527
|
-
name: {
|
|
528
|
-
type: 'string',
|
|
529
|
-
description: 'Exact name of secret to delete. Use buddy-secret-list to confirm name before deleting.',
|
|
530
|
-
},
|
|
531
|
-
},
|
|
532
|
-
required: ['name'],
|
|
533
|
-
},
|
|
534
|
-
annotations: {
|
|
535
|
-
title: 'Secret Deletion',
|
|
536
|
-
readOnlyHint: false,
|
|
537
|
-
destructiveHint: true,
|
|
538
|
-
idempotentHint: true,
|
|
539
|
-
openWorldHint: false,
|
|
540
|
-
},
|
|
541
|
-
};
|
|
542
432
|
return [
|
|
543
433
|
buddyDoTool,
|
|
544
434
|
buddyRememberTool,
|
|
545
435
|
buddyHelpTool,
|
|
546
436
|
buddyRecordMistakeTool,
|
|
547
437
|
createEntitiesTool,
|
|
548
|
-
buddySecretStoreTool,
|
|
549
|
-
buddySecretGetTool,
|
|
550
|
-
buddySecretListTool,
|
|
551
|
-
buddySecretDeleteTool,
|
|
552
438
|
cloudSyncTool,
|
|
553
439
|
hookToolUseTool,
|
|
554
440
|
generateTestsTool,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolDefinitions.js","sourceRoot":"","sources":["../../src/mcp/ToolDefinitions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ToolDefinitions.js","sourceRoot":"","sources":["../../src/mcp/ToolDefinitions.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/ToolRouter.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import { RateLimiter } from '../utils/RateLimiter.js';
|
|
3
3
|
import { ToolHandlers, BuddyHandlers } from './handlers/index.js';
|
|
4
|
-
import type { SecretManager } from '../memory/SecretManager.js';
|
|
5
4
|
import type { KnowledgeGraph } from '../knowledge-graph/index.js';
|
|
6
5
|
export interface ToolRouterConfig {
|
|
7
6
|
rateLimiter: RateLimiter;
|
|
8
7
|
toolHandlers: ToolHandlers;
|
|
9
8
|
buddyHandlers: BuddyHandlers;
|
|
10
|
-
secretManager?: SecretManager;
|
|
11
9
|
knowledgeGraph?: KnowledgeGraph;
|
|
12
10
|
allowedOrigins?: string[];
|
|
13
11
|
transportMode?: 'stdio' | 'http';
|
|
@@ -16,7 +14,6 @@ export declare class ToolRouter {
|
|
|
16
14
|
private rateLimiter;
|
|
17
15
|
private toolHandlers;
|
|
18
16
|
private buddyHandlers;
|
|
19
|
-
private secretManager?;
|
|
20
17
|
private knowledgeGraph?;
|
|
21
18
|
private readonly allowedOrigins?;
|
|
22
19
|
private readonly transportMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolRouter.d.ts","sourceRoot":"","sources":["../../src/mcp/ToolRouter.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"ToolRouter.d.ts","sourceRoot":"","sources":["../../src/mcp/ToolRouter.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAMlE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAK7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAOhC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAM1B,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;AA6HD,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAC,CAAiB;IAExC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;gBAOrC,MAAM,EAAE,gBAAgB;IAkBpC,OAAO,CAAC,qBAAqB;IAkDvB,aAAa,CACjB,MAAM,EAAE,OAAO,EACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC;IA2D1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAKlC;IASF,OAAO,CAAC,YAAY;YAiCN,QAAQ;CA0DvB"}
|
package/dist/mcp/ToolRouter.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ValidationError, NotFoundError, OperationError } from '../errors/index.js';
|
|
2
|
-
import { handleBuddySecretStore, handleBuddySecretGet, handleBuddySecretList, handleBuddySecretDelete, } from './handlers/index.js';
|
|
3
2
|
import { handleCloudSync, CloudSyncInputSchema } from './tools/memesh-cloud-sync.js';
|
|
4
3
|
const TOOL_NAME_REGEX = /^[a-z0-9](?:[a-z0-9_-]{0,62}[a-z0-9])?$/;
|
|
5
4
|
const TOOL_NAME_MAX_LENGTH = 64;
|
|
@@ -42,7 +41,7 @@ function validateToolName(toolName) {
|
|
|
42
41
|
method: 'validateToolName',
|
|
43
42
|
providedName: safeName,
|
|
44
43
|
pattern: TOOL_NAME_REGEX.source,
|
|
45
|
-
hint: 'Example valid names: buddy-do, memesh-remember, memesh-
|
|
44
|
+
hint: 'Example valid names: buddy-do, memesh-remember, memesh-create-entities',
|
|
46
45
|
});
|
|
47
46
|
}
|
|
48
47
|
}
|
|
@@ -50,7 +49,6 @@ export class ToolRouter {
|
|
|
50
49
|
rateLimiter;
|
|
51
50
|
toolHandlers;
|
|
52
51
|
buddyHandlers;
|
|
53
|
-
secretManager;
|
|
54
52
|
knowledgeGraph;
|
|
55
53
|
allowedOrigins;
|
|
56
54
|
transportMode;
|
|
@@ -58,7 +56,6 @@ export class ToolRouter {
|
|
|
58
56
|
this.rateLimiter = config.rateLimiter;
|
|
59
57
|
this.toolHandlers = config.toolHandlers;
|
|
60
58
|
this.buddyHandlers = config.buddyHandlers;
|
|
61
|
-
this.secretManager = config.secretManager;
|
|
62
59
|
this.knowledgeGraph = config.knowledgeGraph;
|
|
63
60
|
this.allowedOrigins = config.allowedOrigins;
|
|
64
61
|
this.transportMode = config.transportMode || 'stdio';
|
|
@@ -129,10 +126,6 @@ export class ToolRouter {
|
|
|
129
126
|
static TOOL_ALIASES = {
|
|
130
127
|
'buddy-record-mistake': 'memesh-record-mistake',
|
|
131
128
|
'create-entities': 'memesh-create-entities',
|
|
132
|
-
'buddy-secret-store': 'memesh-secret-store',
|
|
133
|
-
'buddy-secret-get': 'memesh-secret-get',
|
|
134
|
-
'buddy-secret-list': 'memesh-secret-list',
|
|
135
|
-
'buddy-secret-delete': 'memesh-secret-delete',
|
|
136
129
|
'hook-tool-use': 'memesh-hook-tool-use',
|
|
137
130
|
'generate-tests': 'memesh-generate-tests',
|
|
138
131
|
};
|
|
@@ -169,46 +162,6 @@ export class ToolRouter {
|
|
|
169
162
|
if (resolvedToolName === 'memesh-generate-tests') {
|
|
170
163
|
return await this.toolHandlers.handleGenerateTests(args);
|
|
171
164
|
}
|
|
172
|
-
if (resolvedToolName === 'memesh-secret-store') {
|
|
173
|
-
if (!this.secretManager) {
|
|
174
|
-
throw new OperationError('Secret management is not configured', {
|
|
175
|
-
component: 'ToolRouter',
|
|
176
|
-
method: 'dispatch',
|
|
177
|
-
toolName,
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
return await handleBuddySecretStore(args, this.secretManager);
|
|
181
|
-
}
|
|
182
|
-
if (resolvedToolName === 'memesh-secret-get') {
|
|
183
|
-
if (!this.secretManager) {
|
|
184
|
-
throw new OperationError('Secret management is not configured', {
|
|
185
|
-
component: 'ToolRouter',
|
|
186
|
-
method: 'dispatch',
|
|
187
|
-
toolName: resolvedToolName,
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
return await handleBuddySecretGet(args, this.secretManager);
|
|
191
|
-
}
|
|
192
|
-
if (resolvedToolName === 'memesh-secret-list') {
|
|
193
|
-
if (!this.secretManager) {
|
|
194
|
-
throw new OperationError('Secret management is not configured', {
|
|
195
|
-
component: 'ToolRouter',
|
|
196
|
-
method: 'dispatch',
|
|
197
|
-
toolName: resolvedToolName,
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
return await handleBuddySecretList(args, this.secretManager);
|
|
201
|
-
}
|
|
202
|
-
if (resolvedToolName === 'memesh-secret-delete') {
|
|
203
|
-
if (!this.secretManager) {
|
|
204
|
-
throw new OperationError('Secret management is not configured', {
|
|
205
|
-
component: 'ToolRouter',
|
|
206
|
-
method: 'dispatch',
|
|
207
|
-
toolName: resolvedToolName,
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
return await handleBuddySecretDelete(args, this.secretManager);
|
|
211
|
-
}
|
|
212
165
|
if (resolvedToolName === 'memesh-cloud-sync') {
|
|
213
166
|
const validationResult = CloudSyncInputSchema.safeParse(args);
|
|
214
167
|
if (!validationResult.success) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolRouter.js","sourceRoot":"","sources":["../../src/mcp/ToolRouter.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolRouter.js","sourceRoot":"","sources":["../../src/mcp/ToolRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { ToolHandlers } from './ToolHandlers.js';
|
|
2
2
|
export { BuddyHandlers } from './BuddyHandlers.js';
|
|
3
3
|
export { setupResourceHandlers } from './ResourceHandlers.js';
|
|
4
|
-
export { handleBuddySecretStore, handleBuddySecretGet, handleBuddySecretList, handleBuddySecretDelete, parseExpiry, type BuddySecretStoreInput, type BuddySecretGetInput, type BuddySecretListInput, type BuddySecretDeleteInput, } from './SecretHandlers.js';
|
|
5
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { ToolHandlers } from './ToolHandlers.js';
|
|
2
2
|
export { BuddyHandlers } from './BuddyHandlers.js';
|
|
3
3
|
export { setupResourceHandlers } from './ResourceHandlers.js';
|
|
4
|
-
export { handleBuddySecretStore, handleBuddySecretGet, handleBuddySecretList, handleBuddySecretDelete, parseExpiry, } from './SecretHandlers.js';
|
|
5
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -42,20 +42,6 @@ Use memory before large refactors or architectural changes:
|
|
|
42
42
|
buddy-remember "why we chose SQLite"
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
## ✅ Use Workflow Guidance
|
|
46
|
-
|
|
47
|
-
When you finish a phase, ask for next steps:
|
|
48
|
-
```
|
|
49
|
-
get-workflow-guidance {"phase":"test-complete"}
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## ✅ Keep Sessions Healthy
|
|
53
|
-
|
|
54
|
-
Long sessions can degrade quality. Check health periodically:
|
|
55
|
-
```
|
|
56
|
-
get-session-health
|
|
57
|
-
```
|
|
58
|
-
|
|
59
45
|
## ✅ Prefer Smaller, Testable Chunks
|
|
60
46
|
|
|
61
47
|
- Aim for 2-5 minute tasks
|
|
@@ -76,7 +76,6 @@ To maximize the effectiveness of automatic memory tracking, structure task descr
|
|
|
76
76
|
`buddy-do` works seamlessly with:
|
|
77
77
|
- **buddy-remember**: Query knowledge captured from previous tasks
|
|
78
78
|
- **generate-tests**: Create implementation plans that reference past tasks
|
|
79
|
-
- **get-workflow-guidance**: Get contextual recommendations based on project phase
|
|
80
79
|
|
|
81
80
|
## See Also
|
|
82
81
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MeMesh - Complete Tool Guide
|
|
2
2
|
|
|
3
|
-
**For LLMs**: This guide helps you actively use MeMesh's
|
|
3
|
+
**For LLMs**: This guide helps you actively use MeMesh's tools. Use tools proactively based on triggers, not just when explicitly requested.
|
|
4
4
|
|
|
5
5
|
## Quick Reference: When to Use Each Tool
|
|
6
6
|
|
|
@@ -12,9 +12,6 @@
|
|
|
12
12
|
| "do this task..." | `buddy-do` | Execute with smart routing |
|
|
13
13
|
| "implement X..." | `buddy-do` | Task execution |
|
|
14
14
|
| "generate tests..." | `generate-tests` | Create test cases |
|
|
15
|
-
| "save this API key..." | `memesh-secret-store` | Store secrets securely |
|
|
16
|
-
| "get my token..." | `memesh-secret-get` | Retrieve secrets |
|
|
17
|
-
| "what's my progress..." | `get-session-health` | Check token usage |
|
|
18
15
|
|
|
19
16
|
---
|
|
20
17
|
|
|
@@ -121,42 +118,6 @@ memesh-create-entities({
|
|
|
121
118
|
|
|
122
119
|
---
|
|
123
120
|
|
|
124
|
-
## Workflow Tools (Automatic Guidance)
|
|
125
|
-
|
|
126
|
-
### get-workflow-guidance: Next Steps
|
|
127
|
-
**Triggers**: Automatically triggered after Write/Edit/Bash (via hooks)
|
|
128
|
-
|
|
129
|
-
**Manual use cases**:
|
|
130
|
-
- User asks "what should I do next?"
|
|
131
|
-
- Starting new phase (idle → code-written → test → commit)
|
|
132
|
-
- Unsure about workflow rules
|
|
133
|
-
|
|
134
|
-
**Phases**:
|
|
135
|
-
- `idle`: Starting fresh work
|
|
136
|
-
- `code-written`: Just finished coding
|
|
137
|
-
- `test-complete`: Tests just ran
|
|
138
|
-
- `commit-ready`: About to commit
|
|
139
|
-
- `committed`: Just committed
|
|
140
|
-
|
|
141
|
-
**Note**: Usually auto-triggered by `hook-tool-use`, rarely called manually.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
### get-session-health: Token Monitoring
|
|
146
|
-
**Triggers**: Long session, complex task, user asks about progress
|
|
147
|
-
|
|
148
|
-
**When to use**:
|
|
149
|
-
- Session feels slow or degraded
|
|
150
|
-
- User asks "how much context left?"
|
|
151
|
-
- Before starting memory-intensive work
|
|
152
|
-
- When considering session cleanup
|
|
153
|
-
|
|
154
|
-
**Example**:
|
|
155
|
-
```typescript
|
|
156
|
-
get-session-health()
|
|
157
|
-
// Returns: { tokenUsage, contextQuality, recommendations }
|
|
158
|
-
```
|
|
159
|
-
|
|
160
121
|
---
|
|
161
122
|
|
|
162
123
|
## Learning Tools (Improvement)
|
|
@@ -191,38 +152,6 @@ memesh-record-mistake({
|
|
|
191
152
|
|
|
192
153
|
---
|
|
193
154
|
|
|
194
|
-
## Secret Management (Security)
|
|
195
|
-
|
|
196
|
-
### memesh-secret-store/get/list/delete
|
|
197
|
-
**Triggers**: API key, token, password, credential, secret
|
|
198
|
-
|
|
199
|
-
**When to use**:
|
|
200
|
-
- User provides API key/token (offer to store securely)
|
|
201
|
-
- Need API key for integration (retrieve from storage)
|
|
202
|
-
- User asks "what secrets do I have?" (list)
|
|
203
|
-
- Rotating credentials (delete old, store new)
|
|
204
|
-
|
|
205
|
-
**Examples**:
|
|
206
|
-
```typescript
|
|
207
|
-
// User shares: "Here's the OpenAI API key: sk-..."
|
|
208
|
-
memesh-secret-store({
|
|
209
|
-
name: "openai-api-key",
|
|
210
|
-
value: "sk-...",
|
|
211
|
-
type: "api_key",
|
|
212
|
-
description: "OpenAI API key for GPT-4 integration"
|
|
213
|
-
})
|
|
214
|
-
|
|
215
|
-
// Later, when needed:
|
|
216
|
-
const key = memesh-secret-get({ name: "openai-api-key" })
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
**Best practices**:
|
|
220
|
-
- ALWAYS offer to store when user shares secret
|
|
221
|
-
- Use descriptive names (not "key1", "key2")
|
|
222
|
-
- Never log secret values (use masked output)
|
|
223
|
-
|
|
224
|
-
---
|
|
225
|
-
|
|
226
155
|
## Test Generation
|
|
227
156
|
|
|
228
157
|
### generate-tests: AI Test Creation
|
|
@@ -277,17 +206,6 @@ generate-tests({
|
|
|
277
206
|
→ Record root cause and solution
|
|
278
207
|
```
|
|
279
208
|
|
|
280
|
-
### Workflow 3: Secret Management
|
|
281
|
-
```
|
|
282
|
-
1. User shares API key
|
|
283
|
-
2. memesh-secret-store({ name: "...", value: "...", ... })
|
|
284
|
-
→ Store securely
|
|
285
|
-
3. Later: memesh-secret-get({ name: "..." })
|
|
286
|
-
→ Retrieve when needed
|
|
287
|
-
4. Eventually: memesh-secret-delete({ name: "..." })
|
|
288
|
-
→ Remove when rotating
|
|
289
|
-
```
|
|
290
|
-
|
|
291
209
|
---
|
|
292
210
|
|
|
293
211
|
## Proactive Tool Usage Rules
|
|
@@ -296,15 +214,9 @@ generate-tests({
|
|
|
296
214
|
- `buddy-remember` - Before implementing similar features
|
|
297
215
|
- `memesh-create-entities` - After completing significant work
|
|
298
216
|
- `memesh-record-mistake` - When user corrects you
|
|
299
|
-
- `memesh-secret-store` - When user shares credentials (ask first)
|
|
300
217
|
|
|
301
218
|
**SOMETIMES use proactively**:
|
|
302
219
|
- `generate-tests` - After implementing untested code (offer)
|
|
303
|
-
- `get-session-health` - Long sessions or complex work
|
|
304
|
-
**NEVER use without explicit request**:
|
|
305
|
-
- `memesh-secret-get` - Only when actually needed
|
|
306
|
-
- `memesh-secret-list/delete` - Only when user asks
|
|
307
|
-
|
|
308
220
|
---
|
|
309
221
|
|
|
310
222
|
## Anti-Patterns (What NOT to Do)
|
|
@@ -314,14 +226,12 @@ generate-tests({
|
|
|
314
226
|
- Call `buddy-do` for trivial tasks (use direct tools)
|
|
315
227
|
- Skip `memesh-create-entities` after major work
|
|
316
228
|
- Ignore `memesh-record-mistake` when corrected
|
|
317
|
-
- Store secrets without user consent
|
|
318
229
|
|
|
319
230
|
✅ **Do**:
|
|
320
231
|
- Use specific queries ("OAuth2 scope design decision")
|
|
321
232
|
- Let `buddy-do` handle complex multi-step tasks
|
|
322
233
|
- Proactively store knowledge after completion
|
|
323
234
|
- Immediately record mistakes for learning
|
|
324
|
-
- Offer to store secrets securely
|
|
325
235
|
|
|
326
236
|
---
|
|
327
237
|
|
|
@@ -44,13 +44,4 @@ buddy-remember "why we chose SQLite for local storage"
|
|
|
44
44
|
|
|
45
45
|
**Result**: A concise summary of the decision and its tradeoffs.
|
|
46
46
|
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Example 5: Workflow Guidance
|
|
50
|
-
|
|
51
|
-
**Request**:
|
|
52
|
-
```
|
|
53
|
-
get-workflow-guidance {"phase":"test-complete"}
|
|
54
|
-
```
|
|
55
47
|
|
|
56
|
-
**Result**: Next-step recommendations for code review and commit readiness.
|
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
buddy-do "<task description>" # Smart routing (recommended)
|
|
9
9
|
buddy-remember "<query>" # Recall project memory
|
|
10
10
|
buddy-help # Command help
|
|
11
|
-
get-session-health # Session health snapshot
|
|
12
|
-
get-workflow-guidance '{"phase":"code-written"}'
|
|
13
11
|
generate-tests '{"featureDescription":"..."}'
|
|
14
12
|
```
|
|
15
13
|
|
|
@@ -35,8 +35,6 @@ generate-tests "add email-based login"
|
|
|
35
35
|
- **buddy-do**: Execute tasks with smart routing
|
|
36
36
|
- **buddy-remember**: Recall project memory and decisions
|
|
37
37
|
- **buddy-help**: Command help and usage
|
|
38
|
-
- **get-session-health**: Check session health
|
|
39
|
-
- **get-workflow-guidance**: Next-step recommendations by phase
|
|
40
38
|
- **generate-tests**: Implementation plan generation
|
|
41
39
|
|
|
42
40
|
Note: `hook-tool-use` is internal and used by Claude Code hooks.
|
|
@@ -55,21 +53,6 @@ Use natural language and include intent, constraints, and file names when possib
|
|
|
55
53
|
"Draft README updates for new onboarding flow"
|
|
56
54
|
```
|
|
57
55
|
|
|
58
|
-
## 🔄 Workflow Guidance
|
|
59
|
-
|
|
60
|
-
MeMesh recognizes five phases:
|
|
61
|
-
- idle
|
|
62
|
-
- code-written
|
|
63
|
-
- test-complete
|
|
64
|
-
- commit-ready
|
|
65
|
-
- committed
|
|
66
|
-
|
|
67
|
-
Example usage:
|
|
68
|
-
```
|
|
69
|
-
get-workflow-guidance {"phase":"code-written"}
|
|
70
|
-
get-session-health
|
|
71
|
-
```
|
|
72
|
-
|
|
73
56
|
## 🧠 Project Memory
|
|
74
57
|
|
|
75
58
|
Project memory is updated automatically at key milestones and commit events. Use it to recall prior decisions and patterns:
|
|
@@ -83,7 +66,6 @@ buddy-remember "error handling strategy"
|
|
|
83
66
|
- Be specific: mention files, constraints, and expected behavior
|
|
84
67
|
- Use `buddy-remember` before large changes
|
|
85
68
|
- Ask for a plan before large features
|
|
86
|
-
- Check `get-session-health` on long sessions
|
|
87
69
|
|
|
88
70
|
## 📚 Additional Resources
|
|
89
71
|
|
|
File without changes
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AAmDA,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAOnE;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AAmDA,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAOnE;AA8BD,cAAM,wBAAwB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,eAAe,CAA8B;IAOrD,IAAW,YAAY,sDAEtB;IAOD,IAAW,aAAa,wDAEvB;IAiBD,OAAO;WAmDM,MAAM,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAiBxD,OAAO,CAAC,aAAa;IAwGf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBtB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA4GvD,OAAO,CAAC,mBAAmB;YA0Bb,QAAQ;YAkBR,eAAe;CAiE9B;AAGD,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -59,7 +59,6 @@ class ClaudeCodeBuddyMCPServer {
|
|
|
59
59
|
rateLimiter: this.components.rateLimiter,
|
|
60
60
|
toolHandlers: this.components.toolHandlers,
|
|
61
61
|
buddyHandlers: this.components.buddyHandlers,
|
|
62
|
-
secretManager: this.components.secretManager,
|
|
63
62
|
knowledgeGraph: this.components.knowledgeGraph,
|
|
64
63
|
});
|
|
65
64
|
this.components.toolInterface.attachToolDispatcher(this.toolRouter);
|
|
@@ -288,20 +287,6 @@ class ClaudeCodeBuddyMCPServer {
|
|
|
288
287
|
});
|
|
289
288
|
logger.error('Failed to close knowledge graph cleanly:', error);
|
|
290
289
|
}
|
|
291
|
-
try {
|
|
292
|
-
logger.info('Closing secret manager database...');
|
|
293
|
-
if (this.components.secretManager) {
|
|
294
|
-
this.components.secretManager.close();
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
catch (error) {
|
|
298
|
-
logError(error, {
|
|
299
|
-
component: 'ClaudeCodeBuddyMCPServer',
|
|
300
|
-
method: 'shutdown',
|
|
301
|
-
operation: 'closing secret manager',
|
|
302
|
-
});
|
|
303
|
-
logger.error('Failed to close secret manager cleanly:', error);
|
|
304
|
-
}
|
|
305
290
|
try {
|
|
306
291
|
logger.info('Stopping rate limiter...');
|
|
307
292
|
if (this.components.rateLimiter) {
|