@j0hanz/memory-mcp 1.0.1 → 1.2.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/completions/index.d.ts.map +1 -1
- package/dist/completions/index.js +3 -3
- package/dist/completions/index.js.map +1 -1
- package/dist/lib/errors.d.ts +1 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +1 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/instructions.d.ts.map +1 -1
- package/dist/lib/instructions.js +2 -19
- package/dist/lib/instructions.js.map +1 -1
- package/dist/lib/sql.d.ts +17 -0
- package/dist/lib/sql.d.ts.map +1 -0
- package/dist/lib/sql.js +18 -0
- package/dist/lib/sql.js.map +1 -0
- package/dist/lib/tool-contracts.d.ts +18 -0
- package/dist/lib/tool-contracts.d.ts.map +1 -0
- package/dist/lib/tool-contracts.js +175 -0
- package/dist/lib/tool-contracts.js.map +1 -0
- package/dist/lib/tool-response.d.ts.map +1 -1
- package/dist/lib/tool-response.js +7 -8
- package/dist/lib/tool-response.js.map +1 -1
- package/dist/prompts/index.js +2 -2
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +74 -10
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/instructions.d.ts +2 -0
- package/dist/resources/instructions.d.ts.map +1 -0
- package/dist/resources/instructions.js +106 -0
- package/dist/resources/instructions.js.map +1 -0
- package/dist/resources/server-config.d.ts +2 -0
- package/dist/resources/server-config.d.ts.map +1 -0
- package/dist/resources/server-config.js +72 -0
- package/dist/resources/server-config.js.map +1 -0
- package/dist/resources/tool-catalog.d.ts +2 -0
- package/dist/resources/tool-catalog.d.ts.map +1 -0
- package/dist/resources/tool-catalog.js +64 -0
- package/dist/resources/tool-catalog.js.map +1 -0
- package/dist/resources/tool-info.d.ts +5 -0
- package/dist/resources/tool-info.d.ts.map +1 -0
- package/dist/resources/tool-info.js +129 -0
- package/dist/resources/tool-info.js.map +1 -0
- package/dist/resources/workflows.d.ts +2 -0
- package/dist/resources/workflows.d.ts.map +1 -0
- package/dist/resources/workflows.js +55 -0
- package/dist/resources/workflows.js.map +1 -0
- package/dist/schemas/inputs.d.ts +1 -1
- package/dist/schemas/inputs.d.ts.map +1 -1
- package/dist/schemas/inputs.js +55 -27
- package/dist/schemas/inputs.js.map +1 -1
- package/dist/schemas/outputs.d.ts.map +1 -1
- package/dist/schemas/outputs.js +144 -91
- package/dist/schemas/outputs.js.map +1 -1
- package/dist/tools/create-relationship.d.ts.map +1 -1
- package/dist/tools/create-relationship.js +10 -8
- package/dist/tools/create-relationship.js.map +1 -1
- package/dist/tools/delete-memories.d.ts.map +1 -1
- package/dist/tools/delete-memories.js +19 -15
- package/dist/tools/delete-memories.js.map +1 -1
- package/dist/tools/delete-memory.js +11 -9
- package/dist/tools/delete-memory.js.map +1 -1
- package/dist/tools/delete-relationship.d.ts.map +1 -1
- package/dist/tools/delete-relationship.js +10 -8
- package/dist/tools/delete-relationship.js.map +1 -1
- package/dist/tools/get-memory.d.ts.map +1 -1
- package/dist/tools/get-memory.js +11 -9
- package/dist/tools/get-memory.js.map +1 -1
- package/dist/tools/get-relationships.d.ts.map +1 -1
- package/dist/tools/get-relationships.js +46 -26
- package/dist/tools/get-relationships.js.map +1 -1
- package/dist/tools/memory-stats.d.ts.map +1 -1
- package/dist/tools/memory-stats.js +19 -35
- package/dist/tools/memory-stats.js.map +1 -1
- package/dist/tools/progress.d.ts.map +1 -1
- package/dist/tools/progress.js +13 -8
- package/dist/tools/progress.js.map +1 -1
- package/dist/tools/recall.js +15 -15
- package/dist/tools/recall.js.map +1 -1
- package/dist/tools/result.d.ts +2 -0
- package/dist/tools/result.d.ts.map +1 -1
- package/dist/tools/result.js +5 -0
- package/dist/tools/result.js.map +1 -1
- package/dist/tools/retrieve-context.d.ts.map +1 -1
- package/dist/tools/retrieve-context.js +38 -26
- package/dist/tools/retrieve-context.js.map +1 -1
- package/dist/tools/search-memories.d.ts.map +1 -1
- package/dist/tools/search-memories.js +10 -8
- package/dist/tools/search-memories.js.map +1 -1
- package/dist/tools/store-memories.d.ts.map +1 -1
- package/dist/tools/store-memories.js +19 -15
- package/dist/tools/store-memories.js.map +1 -1
- package/dist/tools/store-memory.js +11 -10
- package/dist/tools/store-memory.js.map +1 -1
- package/dist/tools/update-memory.d.ts.map +1 -1
- package/dist/tools/update-memory.js +47 -32
- package/dist/tools/update-memory.js.map +1 -1
- package/package.json +1 -2
- package/dist/instructions.md +0 -169
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/completions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/completions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAgB9C,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,OAAO,GACV,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAQ7B"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
const HASH_MAX_LENGTH = 64;
|
|
2
2
|
const HASH_COMPLETION_LIMIT = 101;
|
|
3
3
|
const HASH_COMPLETION_SQL = `SELECT hash FROM memories WHERE hash LIKE ? ESCAPE '\\' ORDER BY hash LIMIT ${HASH_COMPLETION_LIMIT}`;
|
|
4
|
+
function escapeLikePattern(value) {
|
|
5
|
+
return value.replace(/[%_\\]/g, '\\$&');
|
|
6
|
+
}
|
|
4
7
|
function normalizeHashPrefix(value) {
|
|
5
8
|
return escapeLikePattern(value.slice(0, HASH_MAX_LENGTH));
|
|
6
9
|
}
|
|
@@ -14,7 +17,4 @@ export function createHashCompletionCallback(db) {
|
|
|
14
17
|
.map((row) => row.hash);
|
|
15
18
|
};
|
|
16
19
|
}
|
|
17
|
-
function escapeLikePattern(value) {
|
|
18
|
-
return value.replace(/[%_\\]/g, '\\$&');
|
|
19
|
-
}
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/completions/index.ts"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,mBAAmB,GAAG,+EAA+E,qBAAqB,EAAE,CAAC;AAEnI,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,4BAA4B,CAC1C,EAAW;IAEX,OAAO,CAAC,KAAa,EAAY,EAAE;QACjC,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,EAAE;aACN,WAAW,CAAU,mBAAmB,CAAC;aACzC,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC;aACxB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/completions/index.ts"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,mBAAmB,GAAG,+EAA+E,qBAAqB,EAAE,CAAC;AAEnI,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,4BAA4B,CAC1C,EAAW;IAEX,OAAO,CAAC,KAAa,EAAY,EAAE;QACjC,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,EAAE;aACN,WAAW,CAAU,mBAAmB,CAAC;aACzC,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC;aACxB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/lib/errors.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export declare const E_NOT_FOUND = "E_NOT_FOUND";
|
|
|
2
2
|
export declare const E_INVALID_CURSOR = "E_INVALID_CURSOR";
|
|
3
3
|
export declare const E_DB_ERROR = "E_DB_ERROR";
|
|
4
4
|
export declare const E_CONFLICT = "E_CONFLICT";
|
|
5
|
+
export declare const E_CANCELLED = "E_CANCELLED";
|
|
5
6
|
export declare const E_UNKNOWN = "E_UNKNOWN";
|
|
6
7
|
export declare function getErrorMessage(err: unknown): string;
|
|
7
8
|
export declare function rethrowMcpError(err: unknown): void;
|
package/dist/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,SAAS,cAAc,CAAC;AAGrC,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAIpD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAElD"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,SAAS,cAAc,CAAC;AAGrC,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAIpD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAElD"}
|
package/dist/lib/errors.js
CHANGED
|
@@ -3,6 +3,7 @@ export const E_NOT_FOUND = 'E_NOT_FOUND';
|
|
|
3
3
|
export const E_INVALID_CURSOR = 'E_INVALID_CURSOR';
|
|
4
4
|
export const E_DB_ERROR = 'E_DB_ERROR';
|
|
5
5
|
export const E_CONFLICT = 'E_CONFLICT';
|
|
6
|
+
export const E_CANCELLED = 'E_CANCELLED';
|
|
6
7
|
export const E_UNKNOWN = 'E_UNKNOWN';
|
|
7
8
|
const UNKNOWN_ERROR_MESSAGE = 'Unknown error occurred';
|
|
8
9
|
export function getErrorMessage(err) {
|
package/dist/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAEvD,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,GAAG,YAAY,QAAQ;QAAE,MAAM,GAAG,CAAC;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAEvD,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,GAAG,YAAY,QAAQ;QAAE,MAAM,GAAG,CAAC;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/lib/instructions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/lib/instructions.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,IAAI,MAAM,CAOzC"}
|
package/dist/lib/instructions.js
CHANGED
|
@@ -1,27 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { fileURLToPath } from 'node:url';
|
|
4
|
-
const BASE_DIR = fileURLToPath(new URL('.', import.meta.url));
|
|
5
|
-
const FALLBACK_INSTRUCTIONS = '# Memory instructions\n\nSee the README for usage details.';
|
|
6
|
-
const INSTRUCTION_PATHS = [
|
|
7
|
-
join(BASE_DIR, '..', 'instructions.md'),
|
|
8
|
-
join(BASE_DIR, '..', '..', 'src', 'instructions.md'),
|
|
9
|
-
];
|
|
1
|
+
import { buildServerInstructions } from '../resources/instructions.js';
|
|
10
2
|
let cachedInstructions;
|
|
11
3
|
export function loadInstructions() {
|
|
12
4
|
if (cachedInstructions !== undefined) {
|
|
13
5
|
return cachedInstructions;
|
|
14
6
|
}
|
|
15
|
-
|
|
16
|
-
try {
|
|
17
|
-
cachedInstructions = readFileSync(p, 'utf8');
|
|
18
|
-
return cachedInstructions;
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
// try next path
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
cachedInstructions = FALLBACK_INSTRUCTIONS;
|
|
7
|
+
cachedInstructions = buildServerInstructions();
|
|
25
8
|
return cachedInstructions;
|
|
26
9
|
}
|
|
27
10
|
//# sourceMappingURL=instructions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/lib/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/lib/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,IAAI,kBAAsC,CAAC;AAE3C,MAAM,UAAU,gBAAgB;IAC9B,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,kBAAkB,GAAG,uBAAuB,EAAE,CAAC;IAC/C,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Shared SQL statement constants. Centralised here to ensure all callers
|
|
2
|
+
* cache the same string key via `prepareOnce`. */
|
|
3
|
+
/** Insert or silently ignore a duplicate memory (content+tags hash is PK). */
|
|
4
|
+
export declare const INSERT_MEMORY_SQL = "INSERT OR IGNORE INTO memories (hash, content, tags, memory_type, importance, created_at, updated_at)\n VALUES (?, ?, ?, ?, ?, ?, ?)";
|
|
5
|
+
/** Delete one memory row by hash. Relationships cascade via FK. */
|
|
6
|
+
export declare const DELETE_MEMORY_SQL = "DELETE FROM memories WHERE hash = ?";
|
|
7
|
+
/** Fetch a full memory row by hash. */
|
|
8
|
+
export declare const SELECT_MEMORY_BY_HASH_SQL = "SELECT * FROM memories WHERE hash = ?";
|
|
9
|
+
/** Check existence: returns only the hash column to minimise data transfer. */
|
|
10
|
+
export declare const SELECT_MEMORY_HASH_SQL = "SELECT hash FROM memories WHERE hash = ?";
|
|
11
|
+
/** Aggregate memory store stats in a single scan. */
|
|
12
|
+
export declare const MEMORY_AGGREGATE_SQL = "SELECT COUNT(*) AS total, MIN(created_at) AS oldest, MAX(created_at) AS newest, AVG(importance) AS avg_importance FROM memories";
|
|
13
|
+
/** Total relationship count. */
|
|
14
|
+
export declare const RELATIONSHIP_COUNT_SQL = "SELECT COUNT(*) AS total FROM relationships";
|
|
15
|
+
/** Per-type memory breakdown. */
|
|
16
|
+
export declare const TYPE_COUNTS_SQL = "SELECT memory_type, COUNT(*) AS count FROM memories GROUP BY memory_type ORDER BY count DESC";
|
|
17
|
+
//# sourceMappingURL=sql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/lib/sql.ts"],"names":[],"mappings":"AAAA;mDACmD;AAEnD,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,0IACC,CAAC;AAEhC,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,wCAAwC,CAAC;AAEvE,uCAAuC;AACvC,eAAO,MAAM,yBAAyB,0CACG,CAAC;AAE1C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,6CACS,CAAC;AAE7C,qDAAqD;AACrD,eAAO,MAAM,oBAAoB,oIACkG,CAAC;AAEpI,gCAAgC;AAChC,eAAO,MAAM,sBAAsB,gDACY,CAAC;AAEhD,iCAAiC;AACjC,eAAO,MAAM,eAAe,iGACoE,CAAC"}
|
package/dist/lib/sql.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Shared SQL statement constants. Centralised here to ensure all callers
|
|
2
|
+
* cache the same string key via `prepareOnce`. */
|
|
3
|
+
/** Insert or silently ignore a duplicate memory (content+tags hash is PK). */
|
|
4
|
+
export const INSERT_MEMORY_SQL = `INSERT OR IGNORE INTO memories (hash, content, tags, memory_type, importance, created_at, updated_at)
|
|
5
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`;
|
|
6
|
+
/** Delete one memory row by hash. Relationships cascade via FK. */
|
|
7
|
+
export const DELETE_MEMORY_SQL = 'DELETE FROM memories WHERE hash = ?';
|
|
8
|
+
/** Fetch a full memory row by hash. */
|
|
9
|
+
export const SELECT_MEMORY_BY_HASH_SQL = 'SELECT * FROM memories WHERE hash = ?';
|
|
10
|
+
/** Check existence: returns only the hash column to minimise data transfer. */
|
|
11
|
+
export const SELECT_MEMORY_HASH_SQL = 'SELECT hash FROM memories WHERE hash = ?';
|
|
12
|
+
/** Aggregate memory store stats in a single scan. */
|
|
13
|
+
export const MEMORY_AGGREGATE_SQL = 'SELECT COUNT(*) AS total, MIN(created_at) AS oldest, MAX(created_at) AS newest, AVG(importance) AS avg_importance FROM memories';
|
|
14
|
+
/** Total relationship count. */
|
|
15
|
+
export const RELATIONSHIP_COUNT_SQL = 'SELECT COUNT(*) AS total FROM relationships';
|
|
16
|
+
/** Per-type memory breakdown. */
|
|
17
|
+
export const TYPE_COUNTS_SQL = 'SELECT memory_type, COUNT(*) AS count FROM memories GROUP BY memory_type ORDER BY count DESC';
|
|
18
|
+
//# sourceMappingURL=sql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/lib/sql.ts"],"names":[],"mappings":"AAAA;mDACmD;AAEnD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG;+BACF,CAAC;AAEhC,mEAAmE;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,qCAAqC,CAAC;AAEvE,uCAAuC;AACvC,MAAM,CAAC,MAAM,yBAAyB,GACpC,uCAAuC,CAAC;AAE1C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GACjC,0CAA0C,CAAC;AAE7C,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAC/B,iIAAiI,CAAC;AAEpI,gCAAgC;AAChC,MAAM,CAAC,MAAM,sBAAsB,GACjC,6CAA6C,CAAC;AAEhD,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAC1B,8FAA8F,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type z } from 'zod/v4';
|
|
2
|
+
export interface ToolContract {
|
|
3
|
+
name: string;
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
inputSchema: z.ZodType;
|
|
7
|
+
outputSchema: z.ZodType;
|
|
8
|
+
annotations: {
|
|
9
|
+
readOnlyHint?: boolean;
|
|
10
|
+
idempotentHint?: boolean;
|
|
11
|
+
destructiveHint?: boolean;
|
|
12
|
+
openWorldHint?: boolean;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare const TOOL_CONTRACTS: ToolContract[];
|
|
16
|
+
export declare function getToolContracts(): ToolContract[];
|
|
17
|
+
export declare function getToolContract(name: string): ToolContract;
|
|
18
|
+
//# sourceMappingURL=tool-contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-contracts.d.ts","sourceRoot":"","sources":["../../src/lib/tool-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,QAAQ,CAAC;AAgChC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;IACvB,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC;IACxB,WAAW,EAAE;QACX,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED,eAAO,MAAM,cAAc,EAAE,YAAY,EA6KxC,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,YAAY,EAAE,CAEjD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAM1D"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import {} from 'zod/v4';
|
|
2
|
+
import { CreateRelationshipInputSchema, DeleteMemoriesInputSchema, DeleteMemoryInputSchema, DeleteRelationshipInputSchema, GetMemoryInputSchema, GetRelationshipsInputSchema, MemoryStatsInputSchema, RecallInputSchema, RetrieveContextInputSchema, SearchMemoriesInputSchema, StoreMemoriesInputSchema, StoreMemoryInputSchema, UpdateMemoryInputSchema, } from '../schemas/inputs.js';
|
|
3
|
+
import { BatchResultSchema, CreateRelationshipResultSchema, DeleteRelationshipResultSchema, DeleteResultSchema, MemoryResultSchema, RecallResultSchema, RelationshipResultSchema, RetrieveContextResultSchema, SearchResultSchema, StatsResultSchema, StoreResultSchema, UpdateResultSchema, } from '../schemas/outputs.js';
|
|
4
|
+
export const TOOL_CONTRACTS = [
|
|
5
|
+
{
|
|
6
|
+
name: 'store_memory',
|
|
7
|
+
title: 'Store Memory',
|
|
8
|
+
description: 'Store a single memory with content, tags, and optional type/importance. Returns the SHA-256 hash. Idempotent — storing the same content+tags returns the existing hash with `created: false`. For storing multiple memories at once, prefer `store_memories`.',
|
|
9
|
+
inputSchema: StoreMemoryInputSchema,
|
|
10
|
+
outputSchema: StoreResultSchema,
|
|
11
|
+
annotations: {
|
|
12
|
+
readOnlyHint: false,
|
|
13
|
+
idempotentHint: true,
|
|
14
|
+
destructiveHint: false,
|
|
15
|
+
openWorldHint: false,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: 'store_memories',
|
|
20
|
+
title: 'Store Memories (Batch)',
|
|
21
|
+
description: 'Store up to 50 memories atomically. Each item is independently idempotent — same content+tags returns existing hash with `created: false`. Returns per-item results. Transaction rolls back entirely on unexpected error.',
|
|
22
|
+
inputSchema: StoreMemoriesInputSchema,
|
|
23
|
+
outputSchema: BatchResultSchema,
|
|
24
|
+
annotations: {
|
|
25
|
+
readOnlyHint: false,
|
|
26
|
+
idempotentHint: true,
|
|
27
|
+
destructiveHint: false,
|
|
28
|
+
openWorldHint: false,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'get_memory',
|
|
33
|
+
title: 'Get Memory',
|
|
34
|
+
description: 'Retrieve a single memory by its exact SHA-256 hash. Returns the full memory object or E_NOT_FOUND. Use `search_memories` or `recall` when you do not know the exact hash.',
|
|
35
|
+
inputSchema: GetMemoryInputSchema,
|
|
36
|
+
outputSchema: MemoryResultSchema,
|
|
37
|
+
annotations: {
|
|
38
|
+
readOnlyHint: true,
|
|
39
|
+
destructiveHint: false,
|
|
40
|
+
openWorldHint: false,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'search_memories',
|
|
45
|
+
title: 'Search Memories',
|
|
46
|
+
description: 'Full-text search over memory content and tags using FTS5. Returns ranked results with cursor pagination. Query terms are individually matched (all-OR logic; FTS5 phrase operators and negation are not supported). Use `recall` when you need to follow relationships between memories after the search.',
|
|
47
|
+
inputSchema: SearchMemoriesInputSchema,
|
|
48
|
+
outputSchema: SearchResultSchema,
|
|
49
|
+
annotations: {
|
|
50
|
+
readOnlyHint: true,
|
|
51
|
+
destructiveHint: false,
|
|
52
|
+
openWorldHint: false,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'retrieve_context',
|
|
57
|
+
title: 'Retrieve Context',
|
|
58
|
+
description: 'FTS search with automatic token-budget management. Returns relevance-ranked memories totalling at most `token_budget` tokens. `strategy` controls sort: `relevance` (FTS rank, default), `importance` (highest first), or `recency` (newest first). Returns `truncated: true` when budget was reached before all candidates were included.',
|
|
59
|
+
inputSchema: RetrieveContextInputSchema,
|
|
60
|
+
outputSchema: RetrieveContextResultSchema,
|
|
61
|
+
annotations: {
|
|
62
|
+
readOnlyHint: true,
|
|
63
|
+
destructiveHint: false,
|
|
64
|
+
openWorldHint: false,
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: 'recall',
|
|
69
|
+
title: 'Recall (BFS Graph Traversal)',
|
|
70
|
+
description: 'Search for memories and explore their connections (knowledge graph). FTS search then BFS graph traversal up to `depth` hops. Returns all discovered memories and edges. Use when exploring memory relationships or understanding context. Emits progress per hop. Returns `aborted: true` with partial results when safety limits are hit (env: RECALL_MAX_FRONTIER_SIZE, RECALL_MAX_EDGE_ROWS, RECALL_MAX_VISITED_NODES).',
|
|
71
|
+
inputSchema: RecallInputSchema,
|
|
72
|
+
outputSchema: RecallResultSchema,
|
|
73
|
+
annotations: {
|
|
74
|
+
readOnlyHint: true,
|
|
75
|
+
destructiveHint: false,
|
|
76
|
+
openWorldHint: false,
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: 'update_memory',
|
|
81
|
+
title: 'Update Memory',
|
|
82
|
+
description: 'Replace the content (and optionally tags) of an existing memory. Returns both old and new SHA-256 hashes, since content changes alter the hash. Returns E_NOT_FOUND if the memory does not exist; E_CONFLICT if the new content+tags already maps to an existing hash.',
|
|
83
|
+
inputSchema: UpdateMemoryInputSchema,
|
|
84
|
+
outputSchema: UpdateResultSchema,
|
|
85
|
+
annotations: {
|
|
86
|
+
readOnlyHint: false,
|
|
87
|
+
destructiveHint: true,
|
|
88
|
+
openWorldHint: false,
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: 'delete_memory',
|
|
93
|
+
title: 'Delete Memory',
|
|
94
|
+
description: 'Delete a single memory by its SHA-256 hash. Cascade-deletes all relationships involving it. Returns E_NOT_FOUND if the hash does not exist.',
|
|
95
|
+
inputSchema: DeleteMemoryInputSchema,
|
|
96
|
+
outputSchema: DeleteResultSchema,
|
|
97
|
+
annotations: {
|
|
98
|
+
readOnlyHint: false,
|
|
99
|
+
destructiveHint: true,
|
|
100
|
+
openWorldHint: false,
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: 'delete_memories',
|
|
105
|
+
title: 'Delete Memories (Batch)',
|
|
106
|
+
description: 'Delete up to 50 memories atomically. Cascade-deletes all relationships for each hash. Per-item `deleted: false` means the hash was not found — not an error, the batch still succeeds. Transaction rolls back entirely on unexpected error.',
|
|
107
|
+
inputSchema: DeleteMemoriesInputSchema,
|
|
108
|
+
outputSchema: BatchResultSchema,
|
|
109
|
+
annotations: {
|
|
110
|
+
readOnlyHint: false,
|
|
111
|
+
destructiveHint: true,
|
|
112
|
+
openWorldHint: false,
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: 'create_relationship',
|
|
117
|
+
title: 'Create Relationship',
|
|
118
|
+
description: 'Create a directed labeled edge between two memories. Idempotent — re-creating an existing relationship is a no-op and returns `created: false`. Both endpoint memories must already exist, otherwise returns E_NOT_FOUND for the missing endpoint.',
|
|
119
|
+
inputSchema: CreateRelationshipInputSchema,
|
|
120
|
+
outputSchema: CreateRelationshipResultSchema,
|
|
121
|
+
annotations: {
|
|
122
|
+
readOnlyHint: false,
|
|
123
|
+
idempotentHint: true,
|
|
124
|
+
destructiveHint: false,
|
|
125
|
+
openWorldHint: false,
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: 'delete_relationship',
|
|
130
|
+
title: 'Delete Relationship',
|
|
131
|
+
description: 'Remove a single directed relationship edge between two memories. All three fields (from_hash, to_hash, relation_type) must match exactly. Returns E_NOT_FOUND if the exact relationship does not exist.',
|
|
132
|
+
inputSchema: DeleteRelationshipInputSchema,
|
|
133
|
+
outputSchema: DeleteRelationshipResultSchema,
|
|
134
|
+
annotations: {
|
|
135
|
+
readOnlyHint: false,
|
|
136
|
+
destructiveHint: true,
|
|
137
|
+
openWorldHint: false,
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: 'get_relationships',
|
|
142
|
+
title: 'Get Relationships',
|
|
143
|
+
description: 'Retrieve all relationships for a memory, with the related memory inlined. Filter by direction (outgoing | incoming | both). Returns E_NOT_FOUND if the source memory does not exist.',
|
|
144
|
+
inputSchema: GetRelationshipsInputSchema,
|
|
145
|
+
outputSchema: RelationshipResultSchema,
|
|
146
|
+
annotations: {
|
|
147
|
+
readOnlyHint: true,
|
|
148
|
+
destructiveHint: false,
|
|
149
|
+
openWorldHint: false,
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: 'memory_stats',
|
|
154
|
+
title: 'Memory Stats',
|
|
155
|
+
description: 'Return aggregate statistics: total memories, total relationships, oldest/newest timestamps, average importance, and per-type counts. No input required.',
|
|
156
|
+
inputSchema: MemoryStatsInputSchema,
|
|
157
|
+
outputSchema: StatsResultSchema,
|
|
158
|
+
annotations: {
|
|
159
|
+
readOnlyHint: true,
|
|
160
|
+
destructiveHint: false,
|
|
161
|
+
openWorldHint: false,
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
];
|
|
165
|
+
export function getToolContracts() {
|
|
166
|
+
return TOOL_CONTRACTS;
|
|
167
|
+
}
|
|
168
|
+
export function getToolContract(name) {
|
|
169
|
+
const contract = TOOL_CONTRACTS.find((c) => c.name === name);
|
|
170
|
+
if (!contract) {
|
|
171
|
+
throw new Error(`Tool contract not found: ${name}`);
|
|
172
|
+
}
|
|
173
|
+
return contract;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=tool-contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-contracts.js","sourceRoot":"","sources":["../../src/lib/tool-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-response.d.ts","sourceRoot":"","sources":["../../src/lib/tool-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-response.d.ts","sourceRoot":"","sources":["../../src/lib/tool-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAyBzE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,cAAc,CAKhB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,cAAc,CAKhB"}
|
|
@@ -7,17 +7,16 @@ function createStructuredError(code, message) {
|
|
|
7
7
|
error: { code, message },
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
|
-
function
|
|
10
|
+
export function createToolResponse(payload) {
|
|
11
11
|
return {
|
|
12
|
-
content: [toTextContent(
|
|
13
|
-
structuredContent:
|
|
14
|
-
...(isError ? { isError: true } : {}),
|
|
12
|
+
content: [toTextContent(payload)],
|
|
13
|
+
structuredContent: payload,
|
|
15
14
|
};
|
|
16
15
|
}
|
|
17
|
-
export function createToolResponse(payload) {
|
|
18
|
-
return buildResponse(payload);
|
|
19
|
-
}
|
|
20
16
|
export function createErrorResponse(code, message) {
|
|
21
|
-
return
|
|
17
|
+
return {
|
|
18
|
+
content: [toTextContent(createStructuredError(code, message))],
|
|
19
|
+
isError: true,
|
|
20
|
+
};
|
|
22
21
|
}
|
|
23
22
|
//# sourceMappingURL=tool-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-response.js","sourceRoot":"","sources":["../../src/lib/tool-response.ts"],"names":[],"mappings":"AAWA,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"tool-response.js","sourceRoot":"","sources":["../../src/lib/tool-response.ts"],"names":[],"mappings":"AAWA,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAgC;IAEhC,OAAO;QACL,OAAO,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACjC,iBAAiB,EAAE,OAAO;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,OAAO,EAAE,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
|
package/dist/prompts/index.js
CHANGED
|
@@ -6,7 +6,7 @@ function createHelpMessages(instructions) {
|
|
|
6
6
|
role: 'user',
|
|
7
7
|
content: {
|
|
8
8
|
type: 'text',
|
|
9
|
-
text: '
|
|
9
|
+
text: 'How do I use the memory tools?',
|
|
10
10
|
},
|
|
11
11
|
},
|
|
12
12
|
{
|
|
@@ -21,7 +21,7 @@ function createHelpMessages(instructions) {
|
|
|
21
21
|
const HELP_MESSAGES = createHelpMessages(INSTRUCTIONS_CONTENT);
|
|
22
22
|
const GET_HELP_PROMPT_CONFIG = {
|
|
23
23
|
title: 'Get Help',
|
|
24
|
-
description: 'Return
|
|
24
|
+
description: 'Return full usage instructions: tool inventory, routing decisions, error codes, data model limits, and workflow patterns.',
|
|
25
25
|
};
|
|
26
26
|
const GET_HELP_PROMPT_NAME = 'get-help';
|
|
27
27
|
export function registerAllPrompts(server) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAC;AAEhD,SAAS,kBAAkB,CAAC,YAAoB;IAC9C,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAC;AAEhD,SAAS,kBAAkB,CAAC,YAAoB;IAC9C,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gCAAgC;aACvC;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;aACnB;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;AAE/D,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE,UAAU;IACjB,WAAW,EACT,2HAA2H;CACrH,CAAC;AACX,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAExC,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QACzE,QAAQ,EAAE,aAAa;KACxB,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AA2E9C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAkJzE"}
|
package/dist/resources/index.js
CHANGED
|
@@ -2,10 +2,22 @@ import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
2
2
|
import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
|
|
3
3
|
import { createHashCompletionCallback } from '../completions/index.js';
|
|
4
4
|
import { loadInstructions } from '../lib/instructions.js';
|
|
5
|
+
import { SELECT_MEMORY_BY_HASH_SQL } from '../lib/sql.js';
|
|
5
6
|
import { parseMemoryRow } from '../lib/types.js';
|
|
7
|
+
import { buildServerConfig } from './server-config.js';
|
|
8
|
+
import { buildToolCatalog } from './tool-catalog.js';
|
|
9
|
+
import { getToolInfo, getToolNames } from './tool-info.js';
|
|
10
|
+
import { buildWorkflowGuide } from './workflows.js';
|
|
6
11
|
const HASH_REGEX = /^[a-f0-9]{64}$/;
|
|
7
12
|
const INSTRUCTIONS_URI = 'internal://instructions';
|
|
13
|
+
const TOOL_CATALOG_URI = 'internal://tool-catalog';
|
|
14
|
+
const TOOL_INFO_URI_TEMPLATE = 'internal://tool-info/{toolName}';
|
|
15
|
+
const WORKFLOWS_URI = 'internal://workflows';
|
|
16
|
+
const SERVER_CONFIG_URI = 'internal://server-config';
|
|
8
17
|
const MEMORY_RESOURCE_URI_TEMPLATE = 'memory://memories/{hash}';
|
|
18
|
+
function createMarkdownContent(uri, text) {
|
|
19
|
+
return { uri, mimeType: 'text/markdown', text };
|
|
20
|
+
}
|
|
9
21
|
function createJsonContent(uri, payload) {
|
|
10
22
|
return {
|
|
11
23
|
uri,
|
|
@@ -22,33 +34,85 @@ function getSingleVariable(value) {
|
|
|
22
34
|
return Array.isArray(value) ? value[0] : value;
|
|
23
35
|
}
|
|
24
36
|
function readMemoryByHash(db, hash) {
|
|
25
|
-
return db
|
|
26
|
-
.prepareOnce('SELECT * FROM memories WHERE hash = ?')
|
|
27
|
-
.get(hash);
|
|
37
|
+
return db.prepareOnce(SELECT_MEMORY_BY_HASH_SQL).get(hash);
|
|
28
38
|
}
|
|
39
|
+
// --- Pre-computed static content ---
|
|
29
40
|
const INSTRUCTIONS_CONTENT = loadInstructions();
|
|
41
|
+
const TOOL_CATALOG_CONTENT = buildToolCatalog();
|
|
42
|
+
const WORKFLOW_GUIDE_CONTENT = buildWorkflowGuide();
|
|
43
|
+
const SERVER_CONFIG_CONTENT = buildServerConfig();
|
|
44
|
+
// --- Registration ---
|
|
30
45
|
export function registerAllResources(server, db) {
|
|
46
|
+
// internal://instructions
|
|
31
47
|
server.registerResource('instructions', INSTRUCTIONS_URI, {
|
|
32
48
|
title: 'Memory Instructions',
|
|
33
|
-
description: '
|
|
49
|
+
description: 'Complete usage guide: tool inventory, routing decisions, error codes, data model, and workflow patterns. Read this first.',
|
|
34
50
|
mimeType: 'text/markdown',
|
|
35
51
|
annotations: { audience: ['assistant'], priority: 0.9 },
|
|
52
|
+
}, () => ({
|
|
53
|
+
contents: [createMarkdownContent(INSTRUCTIONS_URI, INSTRUCTIONS_CONTENT)],
|
|
54
|
+
}));
|
|
55
|
+
// internal://tool-catalog
|
|
56
|
+
server.registerResource('tool-catalog', TOOL_CATALOG_URI, {
|
|
57
|
+
title: 'Tool Catalog',
|
|
58
|
+
description: 'Tool reference table, optional parameter matrix, and cross-tool data flow.',
|
|
59
|
+
mimeType: 'text/markdown',
|
|
60
|
+
annotations: { audience: ['assistant'], priority: 0.7 },
|
|
61
|
+
}, () => ({
|
|
62
|
+
contents: [createMarkdownContent(TOOL_CATALOG_URI, TOOL_CATALOG_CONTENT)],
|
|
63
|
+
}));
|
|
64
|
+
// internal://tool-info/{toolName}
|
|
65
|
+
server.registerResource('tool-info', new ResourceTemplate(TOOL_INFO_URI_TEMPLATE, {
|
|
66
|
+
list: undefined,
|
|
67
|
+
complete: {
|
|
68
|
+
toolName: (value) => getToolNames().filter((n) => n.startsWith(value)),
|
|
69
|
+
},
|
|
70
|
+
}), {
|
|
71
|
+
title: 'Tool Info',
|
|
72
|
+
description: 'Per-tool detail: parameters, behavior, and output shape. Supports toolName auto-completion.',
|
|
73
|
+
mimeType: 'text/markdown',
|
|
74
|
+
annotations: { audience: ['assistant'], priority: 0.6 },
|
|
75
|
+
}, (uri, variables) => {
|
|
76
|
+
const toolName = getSingleVariable(variables['toolName']);
|
|
77
|
+
if (!toolName) {
|
|
78
|
+
throw new McpError(ErrorCode.InvalidParams, 'Missing toolName parameter');
|
|
79
|
+
}
|
|
80
|
+
const info = getToolInfo(toolName);
|
|
81
|
+
if (!info) {
|
|
82
|
+
throw new McpError(ErrorCode.InvalidParams, `Unknown tool: ${toolName}`);
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
contents: [createMarkdownContent(uri.href, info)],
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
// internal://workflows
|
|
89
|
+
server.registerResource('workflows', WORKFLOWS_URI, {
|
|
90
|
+
title: 'Workflow Guide',
|
|
91
|
+
description: 'Recommended multi-step workflow sequences with guardrails and tool reference.',
|
|
92
|
+
mimeType: 'text/markdown',
|
|
93
|
+
annotations: { audience: ['assistant'], priority: 0.7 },
|
|
94
|
+
}, () => ({
|
|
95
|
+
contents: [createMarkdownContent(WORKFLOWS_URI, WORKFLOW_GUIDE_CONTENT)],
|
|
96
|
+
}));
|
|
97
|
+
// internal://server-config
|
|
98
|
+
server.registerResource('server-config', SERVER_CONFIG_URI, {
|
|
99
|
+
title: 'Server Configuration',
|
|
100
|
+
description: 'Runtime configuration, environment variables, capabilities, and data limits.',
|
|
101
|
+
mimeType: 'text/markdown',
|
|
102
|
+
annotations: { audience: ['user', 'assistant'], priority: 0.5 },
|
|
36
103
|
}, () => ({
|
|
37
104
|
contents: [
|
|
38
|
-
|
|
39
|
-
uri: INSTRUCTIONS_URI,
|
|
40
|
-
mimeType: 'text/markdown',
|
|
41
|
-
text: INSTRUCTIONS_CONTENT,
|
|
42
|
-
},
|
|
105
|
+
createMarkdownContent(SERVER_CONFIG_URI, SERVER_CONFIG_CONTENT),
|
|
43
106
|
],
|
|
44
107
|
}));
|
|
108
|
+
// memory://memories/{hash}
|
|
45
109
|
const hashCompletion = createHashCompletionCallback(db);
|
|
46
110
|
server.registerResource('memory', new ResourceTemplate(MEMORY_RESOURCE_URI_TEMPLATE, {
|
|
47
111
|
list: undefined,
|
|
48
112
|
complete: { hash: hashCompletion },
|
|
49
113
|
}), {
|
|
50
114
|
title: 'Memory',
|
|
51
|
-
description: '
|
|
115
|
+
description: 'Fetch a single memory object by exact SHA-256 hash. Supports hash auto-completion. Returns { error } if the hash does not exist.',
|
|
52
116
|
mimeType: 'application/json',
|
|
53
117
|
annotations: { audience: ['assistant'], priority: 0.7 },
|
|
54
118
|
}, (uri, variables) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAG3E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/resources/instructions.ts"],"names":[],"mappings":"AAsFA,wBAAgB,uBAAuB,IAAI,MAAM,CA0BhD"}
|