kemdicode-mcp 1.17.0 → 1.19.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.
Files changed (125) hide show
  1. package/README.md +189 -203
  2. package/dist/ai/execute.d.ts.map +1 -1
  3. package/dist/ai/execute.js +11 -1
  4. package/dist/ai/execute.js.map +1 -1
  5. package/dist/context/agent-monitor.d.ts +3 -3
  6. package/dist/context/agent-monitor.d.ts.map +1 -1
  7. package/dist/context/agent-monitor.js +15 -9
  8. package/dist/context/agent-monitor.js.map +1 -1
  9. package/dist/context/storage.d.ts.map +1 -1
  10. package/dist/context/storage.js +18 -2
  11. package/dist/context/storage.js.map +1 -1
  12. package/dist/kanban/kanban-store.d.ts +0 -18
  13. package/dist/kanban/kanban-store.d.ts.map +1 -1
  14. package/dist/kanban/kanban-store.js +99 -80
  15. package/dist/kanban/kanban-store.js.map +1 -1
  16. package/dist/recursive/tool-invoker.d.ts.map +1 -1
  17. package/dist/recursive/tool-invoker.js +40 -9
  18. package/dist/recursive/tool-invoker.js.map +1 -1
  19. package/dist/session/manager.d.ts.map +1 -1
  20. package/dist/session/manager.js +10 -3
  21. package/dist/session/manager.js.map +1 -1
  22. package/dist/tools/agents/agent-alert.tool.d.ts.map +1 -1
  23. package/dist/tools/agents/agent-alert.tool.js +7 -21
  24. package/dist/tools/agents/agent-alert.tool.js.map +1 -1
  25. package/dist/tools/agents/agent-inject.tool.d.ts.map +1 -1
  26. package/dist/tools/agents/agent-inject.tool.js +11 -23
  27. package/dist/tools/agents/agent-inject.tool.js.map +1 -1
  28. package/dist/tools/agents/agent-register.tool.d.ts.map +1 -1
  29. package/dist/tools/agents/agent-register.tool.js +1 -1
  30. package/dist/tools/agents/agent-register.tool.js.map +1 -1
  31. package/dist/tools/agents/queue-message.tool.js +2 -2
  32. package/dist/tools/agents/queue-message.tool.js.map +1 -1
  33. package/dist/tools/file/file-diff.tool.d.ts.map +1 -1
  34. package/dist/tools/file/file-diff.tool.js +86 -72
  35. package/dist/tools/file/file-diff.tool.js.map +1 -1
  36. package/dist/tools/file/file-read.tool.d.ts.map +1 -1
  37. package/dist/tools/file/file-read.tool.js +100 -123
  38. package/dist/tools/file/file-read.tool.js.map +1 -1
  39. package/dist/tools/file/file-tree.tool.js +1 -1
  40. package/dist/tools/file/file-tree.tool.js.map +1 -1
  41. package/dist/tools/file/file-write.tool.d.ts.map +1 -1
  42. package/dist/tools/file/file-write.tool.js +96 -102
  43. package/dist/tools/file/file-write.tool.js.map +1 -1
  44. package/dist/tools/git/git-log.tool.d.ts.map +1 -1
  45. package/dist/tools/git/git-log.tool.js +4 -1
  46. package/dist/tools/git/git-log.tool.js.map +1 -1
  47. package/dist/tools/kanban/board-create.tool.d.ts.map +1 -1
  48. package/dist/tools/kanban/board-create.tool.js +44 -35
  49. package/dist/tools/kanban/board-create.tool.js.map +1 -1
  50. package/dist/tools/kanban/board-invite.tool.d.ts.map +1 -1
  51. package/dist/tools/kanban/board-invite.tool.js +52 -42
  52. package/dist/tools/kanban/board-invite.tool.js.map +1 -1
  53. package/dist/tools/kanban/board-members.tool.d.ts.map +1 -1
  54. package/dist/tools/kanban/board-members.tool.js +123 -97
  55. package/dist/tools/kanban/board-members.tool.js.map +1 -1
  56. package/dist/tools/kanban/board-share.tool.d.ts.map +1 -1
  57. package/dist/tools/kanban/board-share.tool.js +48 -38
  58. package/dist/tools/kanban/board-share.tool.js.map +1 -1
  59. package/dist/tools/kanban/workspace-create.tool.d.ts.map +1 -1
  60. package/dist/tools/kanban/workspace-create.tool.js +41 -30
  61. package/dist/tools/kanban/workspace-create.tool.js.map +1 -1
  62. package/dist/tools/memory/checkpoint-restore.tool.d.ts.map +1 -1
  63. package/dist/tools/memory/checkpoint-restore.tool.js +1 -9
  64. package/dist/tools/memory/checkpoint-restore.tool.js.map +1 -1
  65. package/dist/tools/memory/checkpoint-save.tool.d.ts.map +1 -1
  66. package/dist/tools/memory/checkpoint-save.tool.js +2 -28
  67. package/dist/tools/memory/checkpoint-save.tool.js.map +1 -1
  68. package/dist/tools/memory/delete-memory.tool.d.ts.map +1 -1
  69. package/dist/tools/memory/delete-memory.tool.js +34 -35
  70. package/dist/tools/memory/delete-memory.tool.js.map +1 -1
  71. package/dist/tools/memory/edit-memory.tool.d.ts.map +1 -1
  72. package/dist/tools/memory/edit-memory.tool.js +89 -117
  73. package/dist/tools/memory/edit-memory.tool.js.map +1 -1
  74. package/dist/tools/memory/list-memories.tool.d.ts.map +1 -1
  75. package/dist/tools/memory/list-memories.tool.js +53 -46
  76. package/dist/tools/memory/list-memories.tool.js.map +1 -1
  77. package/dist/tools/memory/read-memory.tool.d.ts.map +1 -1
  78. package/dist/tools/memory/read-memory.tool.js +45 -39
  79. package/dist/tools/memory/read-memory.tool.js.map +1 -1
  80. package/dist/tools/memory/shared.d.ts +61 -0
  81. package/dist/tools/memory/shared.d.ts.map +1 -0
  82. package/dist/tools/memory/shared.js +63 -0
  83. package/dist/tools/memory/shared.js.map +1 -0
  84. package/dist/tools/memory/write-memory.tool.d.ts.map +1 -1
  85. package/dist/tools/memory/write-memory.tool.js +68 -107
  86. package/dist/tools/memory/write-memory.tool.js.map +1 -1
  87. package/dist/tools/multi-llm/consensus-prompt.tool.d.ts.map +1 -1
  88. package/dist/tools/multi-llm/consensus-prompt.tool.js +7 -3
  89. package/dist/tools/multi-llm/consensus-prompt.tool.js.map +1 -1
  90. package/dist/tools/registry.d.ts +13 -0
  91. package/dist/tools/registry.d.ts.map +1 -1
  92. package/dist/tools/registry.js +25 -0
  93. package/dist/tools/registry.js.map +1 -1
  94. package/dist/tools/session/session-create.tool.d.ts +8 -6
  95. package/dist/tools/session/session-create.tool.d.ts.map +1 -1
  96. package/dist/tools/session/session-create.tool.js +44 -34
  97. package/dist/tools/session/session-create.tool.js.map +1 -1
  98. package/dist/tools/session/session-delete.tool.d.ts +4 -2
  99. package/dist/tools/session/session-delete.tool.d.ts.map +1 -1
  100. package/dist/tools/session/session-delete.tool.js +51 -53
  101. package/dist/tools/session/session-delete.tool.js.map +1 -1
  102. package/dist/tools/specialized/code-review.tool.d.ts.map +1 -1
  103. package/dist/tools/specialized/code-review.tool.js +1 -0
  104. package/dist/tools/specialized/code-review.tool.js.map +1 -1
  105. package/dist/tools/system/config.tool.d.ts.map +1 -1
  106. package/dist/tools/system/config.tool.js +38 -5
  107. package/dist/tools/system/config.tool.js.map +1 -1
  108. package/dist/tools/system/shell-exec.tool.js +1 -1
  109. package/dist/tools/system/shell-exec.tool.js.map +1 -1
  110. package/dist/utils/format-helpers.d.ts +41 -0
  111. package/dist/utils/format-helpers.d.ts.map +1 -0
  112. package/dist/utils/format-helpers.js +76 -0
  113. package/dist/utils/format-helpers.js.map +1 -0
  114. package/dist/utils/projectContext.enhanced.d.ts.map +1 -1
  115. package/dist/utils/projectContext.enhanced.js +19 -4
  116. package/dist/utils/projectContext.enhanced.js.map +1 -1
  117. package/dist/utils/security.d.ts.map +1 -1
  118. package/dist/utils/security.js +11 -2
  119. package/dist/utils/security.js.map +1 -1
  120. package/dist/utils/validation.d.ts.map +1 -1
  121. package/dist/utils/validation.js +2 -4
  122. package/dist/utils/validation.js.map +1 -1
  123. package/dist/version.d.ts +1 -1
  124. package/dist/version.js +1 -1
  125. package/package.json +1 -1
@@ -23,30 +23,18 @@
23
23
  * @module tools/memory/read-memory
24
24
  */
25
25
  import { z } from 'zod';
26
- import { getSharedRedis } from '../../infrastructure/redis/connection.js';
27
- import { createHash } from 'crypto';
28
26
  import { Logger } from '../../utils/logger.js';
29
27
  import { checkRateLimit } from '../../utils/validation.js';
30
- /** Redis key prefix for memories */
31
- const MEMORY_PREFIX = 'mcp:memory:';
32
- const getRedis = getSharedRedis;
33
- /**
34
- * Generate project ID from current working directory
35
- */
36
- function getProjectId() {
37
- const cwd = process.cwd();
38
- return createHash('sha256').update(cwd).digest('hex').slice(0, 16);
39
- }
28
+ import { MEMORY_PREFIX, getRedis, getProjectId } from './shared.js';
40
29
  const schema = z.object({
41
- name: z.string().min(1).describe('Memory name'),
30
+ names: z.array(z.string().min(1)).min(1).max(20).describe('Memory names to retrieve (1-20)'),
42
31
  });
43
32
  export const readMemoryTool = {
44
33
  name: 'read-memory',
45
- description: 'Retrieve named memory from current project',
34
+ description: 'Retrieve 1-20 named memories from current project.',
46
35
  zodSchema: schema,
47
36
  execute: async (args) => {
48
- const { name } = args;
49
- // Rate limit check
37
+ const { names } = args;
50
38
  if (!checkRateLimit('memory-operations', { maxRequests: 200, windowMs: 60000 })) {
51
39
  return JSON.stringify({
52
40
  success: false,
@@ -55,33 +43,51 @@ export const readMemoryTool = {
55
43
  });
56
44
  }
57
45
  const projectId = getProjectId();
58
- const memoryKey = `${MEMORY_PREFIX}${projectId}:${name}`;
59
46
  try {
60
47
  const client = await getRedis();
61
- const data = await client.get(memoryKey);
62
- if (!data) {
63
- return JSON.stringify({
64
- success: false,
65
- error: `Memory '${name}' not found`,
66
- code: 'MEMORY_NOT_FOUND',
67
- name,
68
- projectId,
69
- });
48
+ // Pipeline: fetch all memories at once
49
+ const getPipeline = client.pipeline();
50
+ const ttlPipeline = client.pipeline();
51
+ for (const name of names) {
52
+ const memoryKey = `${MEMORY_PREFIX}${projectId}:${name}`;
53
+ getPipeline.get(memoryKey);
54
+ ttlPipeline.ttl(memoryKey);
70
55
  }
71
- const memory = JSON.parse(data);
72
- const ttl = await client.ttl(memoryKey);
73
- Logger.debug(`read-memory: retrieved '${name}' for project ${projectId}`);
56
+ const getResults = await getPipeline.exec();
57
+ const ttlResults = await ttlPipeline.exec();
58
+ const results = names.map((name, i) => {
59
+ const data = getResults?.[i]?.[1];
60
+ const ttl = ttlResults?.[i]?.[1] ?? -1;
61
+ if (!data) {
62
+ return {
63
+ name,
64
+ success: false,
65
+ error: `Memory '${name}' not found`,
66
+ code: 'MEMORY_NOT_FOUND',
67
+ };
68
+ }
69
+ const memory = JSON.parse(data);
70
+ Logger.debug(`read-memory: retrieved '${name}' for project ${projectId}`);
71
+ return {
72
+ name: memory.name,
73
+ success: true,
74
+ content: memory.content,
75
+ contentLength: memory.content.length,
76
+ tags: memory.tags,
77
+ createdAt: memory.createdAt,
78
+ updatedAt: memory.updatedAt,
79
+ ttlSeconds: ttl > 0 ? ttl : null,
80
+ ttlDays: ttl > 0 ? Math.round(ttl / 86400) : null,
81
+ };
82
+ });
83
+ const successful = results.filter((r) => r.success);
84
+ const failed = results.filter((r) => !r.success);
74
85
  return JSON.stringify({
75
- success: true,
76
- name: memory.name,
77
- projectId: memory.projectId,
78
- content: memory.content,
79
- contentLength: memory.content.length,
80
- tags: memory.tags,
81
- createdAt: memory.createdAt,
82
- updatedAt: memory.updatedAt,
83
- ttlSeconds: ttl > 0 ? ttl : null,
84
- ttlDays: ttl > 0 ? Math.round(ttl / 86400) : null,
86
+ success: failed.length === 0,
87
+ projectId,
88
+ found: successful.length,
89
+ notFound: failed.length,
90
+ results,
85
91
  });
86
92
  }
87
93
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"read-memory.tool.js","sourceRoot":"","sources":["../../../src/tools/memory/read-memory.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-memory.tool.js","sourceRoot":"","sources":["../../../src/tools/memory/read-memory.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * KemdiCode MCP Server
3
+ * Copyright (C) 2025-2026 Kemdi Sp. z o.o.
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ import { getSharedRedis } from '../../infrastructure/redis/connection.js';
19
+ import type { Redis } from 'ioredis';
20
+ /** Memory entry structure */
21
+ export interface ProjectMemory {
22
+ name: string;
23
+ projectId: string;
24
+ content: string;
25
+ createdAt: number;
26
+ updatedAt: number;
27
+ tags: string[];
28
+ }
29
+ /** Checkpoint entry structure */
30
+ export interface Checkpoint {
31
+ name: string;
32
+ projectId: string;
33
+ content: string;
34
+ createdAt: number;
35
+ updatedAt: number;
36
+ tags: string[];
37
+ }
38
+ /** Redis key prefixes */
39
+ export declare const MEMORY_PREFIX = "mcp:memory:";
40
+ export declare const MEMORY_INDEX_PREFIX = "mcp:memory:index:";
41
+ export declare const CHECKPOINT_PREFIX = "mcp:checkpoint:";
42
+ export declare const CHECKPOINT_INDEX_PREFIX = "mcp:checkpoint:index:";
43
+ /** Maximum content size: 1MB */
44
+ export declare const MAX_CONTENT_SIZE: number;
45
+ /** Default TTL: 30 days in seconds */
46
+ export declare const DEFAULT_MEMORY_TTL: number;
47
+ /** Default checkpoint TTL: 7 days in seconds */
48
+ export declare const DEFAULT_CHECKPOINT_TTL: number;
49
+ /** Shared Redis getter */
50
+ export declare const getRedis: typeof getSharedRedis;
51
+ /**
52
+ * Generate a unique project identifier from current working directory.
53
+ * Creates a SHA-256 hash of the CWD, truncated to 16 characters.
54
+ */
55
+ export declare function getProjectId(): string;
56
+ /**
57
+ * Retrieve the original creation timestamp of an existing entry.
58
+ * Used when overwriting to preserve the original createdAt.
59
+ */
60
+ export declare function getExistingCreatedAt(client: Redis, key: string): Promise<number | null>;
61
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/tools/memory/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,6BAA6B;AAC7B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,yBAAyB;AACzB,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAC3C,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AACvD,eAAO,MAAM,iBAAiB,oBAAoB,CAAC;AACnD,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAE/D,gCAAgC;AAChC,eAAO,MAAM,gBAAgB,QAAc,CAAC;AAE5C,sCAAsC;AACtC,eAAO,MAAM,kBAAkB,QAAoB,CAAC;AAEpD,gDAAgD;AAChD,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AAEvD,0BAA0B;AAC1B,eAAO,MAAM,QAAQ,uBAAiB,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW7F"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * KemdiCode MCP Server
3
+ * Copyright (C) 2025-2026 Kemdi Sp. z o.o.
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ /**
19
+ * Shared types and utilities for memory and checkpoint tools.
20
+ *
21
+ * @module tools/memory/shared
22
+ */
23
+ import { createHash } from 'crypto';
24
+ import { getSharedRedis } from '../../infrastructure/redis/connection.js';
25
+ /** Redis key prefixes */
26
+ export const MEMORY_PREFIX = 'mcp:memory:';
27
+ export const MEMORY_INDEX_PREFIX = 'mcp:memory:index:';
28
+ export const CHECKPOINT_PREFIX = 'mcp:checkpoint:';
29
+ export const CHECKPOINT_INDEX_PREFIX = 'mcp:checkpoint:index:';
30
+ /** Maximum content size: 1MB */
31
+ export const MAX_CONTENT_SIZE = 1024 * 1024;
32
+ /** Default TTL: 30 days in seconds */
33
+ export const DEFAULT_MEMORY_TTL = 30 * 24 * 60 * 60;
34
+ /** Default checkpoint TTL: 7 days in seconds */
35
+ export const DEFAULT_CHECKPOINT_TTL = 7 * 24 * 60 * 60;
36
+ /** Shared Redis getter */
37
+ export const getRedis = getSharedRedis;
38
+ /**
39
+ * Generate a unique project identifier from current working directory.
40
+ * Creates a SHA-256 hash of the CWD, truncated to 16 characters.
41
+ */
42
+ export function getProjectId() {
43
+ const cwd = process.cwd();
44
+ return createHash('sha256').update(cwd).digest('hex').slice(0, 16);
45
+ }
46
+ /**
47
+ * Retrieve the original creation timestamp of an existing entry.
48
+ * Used when overwriting to preserve the original createdAt.
49
+ */
50
+ export async function getExistingCreatedAt(client, key) {
51
+ try {
52
+ const data = await client.get(key);
53
+ if (data) {
54
+ const entry = JSON.parse(data);
55
+ return entry.createdAt;
56
+ }
57
+ }
58
+ catch {
59
+ // Ignore parse errors
60
+ }
61
+ return null;
62
+ }
63
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/tools/memory/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAuB1E,yBAAyB;AACzB,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AACnD,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAE/D,gCAAgC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,sCAAsC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAEpD,gDAAgD;AAChD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAEvD,0BAA0B;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAa,EAAE,GAAW;IACnE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0B,CAAC;YACxD,OAAO,KAAK,CAAC,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"write-memory.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/memory/write-memory.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAqD7C,eAAO,MAAM,eAAe,EAAE,WAwF7B,CAAC"}
1
+ {"version":3,"file":"write-memory.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/memory/write-memory.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAiC7C,eAAO,MAAM,eAAe,EAAE,WA0F7B,CAAC"}
@@ -24,49 +24,30 @@
24
24
  * @module tools/memory/write-memory
25
25
  */
26
26
  import { z } from 'zod';
27
- import { getSharedRedis } from '../../infrastructure/redis/connection.js';
28
- import { createHash } from 'crypto';
29
27
  import { Logger } from '../../utils/logger.js';
30
28
  import { checkRateLimit } from '../../utils/validation.js';
31
- /** Redis key prefix for memories */
32
- const MEMORY_PREFIX = 'mcp:memory:';
33
- const MEMORY_INDEX_PREFIX = 'mcp:memory:index:';
34
- /** Default TTL: 30 days in seconds */
35
- const DEFAULT_TTL = 30 * 24 * 60 * 60;
36
- /** Maximum memory content size: 1MB */
37
- const MAX_CONTENT_SIZE = 1024 * 1024;
38
- const getRedis = getSharedRedis;
39
- /**
40
- * Generate a unique project identifier from current working directory
41
- *
42
- * @description Creates a SHA-256 hash of the CWD, truncated to 16 characters.
43
- * This ensures memories are scoped to specific projects.
44
- * @returns {string} 16-character hex string project identifier
45
- * @internal
46
- */
47
- function getProjectId() {
48
- const cwd = process.cwd();
49
- return createHash('sha256').update(cwd).digest('hex').slice(0, 16);
50
- }
51
- const schema = z.object({
29
+ import { MEMORY_PREFIX, MEMORY_INDEX_PREFIX, DEFAULT_MEMORY_TTL, MAX_CONTENT_SIZE, getRedis, getProjectId, getExistingCreatedAt, } from './shared.js';
30
+ const memoryItemSchema = z.object({
52
31
  name: z
53
32
  .string()
54
33
  .min(1)
55
34
  .max(100)
56
35
  .regex(/^[a-zA-Z0-9_-]+$/, 'Name must be alphanumeric with dashes/underscores')
57
- .describe('Memory name, alphanumeric with dashes/underscores'),
36
+ .describe('Memory name'),
58
37
  content: z.string().min(1).describe('Content to store'),
59
38
  tags: z.array(z.string()).default([]).describe('Tags for categorization'),
60
39
  overwrite: z.boolean().default(false).describe('Overwrite if exists'),
61
- ttlDays: z.number().min(1).max(365).default(30).describe('Time-to-live in days'),
40
+ ttlDays: z.number().min(1).max(365).default(30).describe('TTL in days'),
41
+ });
42
+ const schema = z.object({
43
+ memories: z.array(memoryItemSchema).min(1).max(20).describe('Memories to store (1-20)'),
62
44
  });
63
45
  export const writeMemoryTool = {
64
46
  name: 'write-memory',
65
- description: 'Store named memory for current project, persists across sessions',
47
+ description: 'Store 1-20 named memories for current project. Returns results.',
66
48
  zodSchema: schema,
67
49
  execute: async (args) => {
68
- const { name, content, tags, overwrite, ttlDays } = args;
69
- // Rate limit check
50
+ const { memories } = args;
70
51
  if (!checkRateLimit('memory-operations', { maxRequests: 100, windowMs: 60000 })) {
71
52
  return JSON.stringify({
72
53
  success: false,
@@ -74,89 +55,69 @@ export const writeMemoryTool = {
74
55
  code: 'RATE_LIMIT_EXCEEDED',
75
56
  });
76
57
  }
77
- // Check content size
78
- if (content.length > MAX_CONTENT_SIZE) {
79
- return JSON.stringify({
80
- success: false,
81
- error: `Content too large: ${content.length} bytes (max: ${MAX_CONTENT_SIZE} bytes)`,
82
- code: 'CONTENT_TOO_LARGE',
83
- });
84
- }
85
58
  const projectId = getProjectId();
86
- const memoryKey = `${MEMORY_PREFIX}${projectId}:${name}`;
87
59
  const indexKey = `${MEMORY_INDEX_PREFIX}${projectId}`;
88
- try {
89
- const client = await getRedis();
90
- // Check if memory exists
91
- const existing = await client.exists(memoryKey);
92
- if (existing && !overwrite) {
93
- return JSON.stringify({
94
- success: false,
95
- error: `Memory '${name}' already exists. Use overwrite: true to replace.`,
96
- code: 'MEMORY_EXISTS',
97
- name,
60
+ const results = await Promise.all(memories.map(async (item) => {
61
+ try {
62
+ if (item.content.length > MAX_CONTENT_SIZE) {
63
+ return {
64
+ name: item.name,
65
+ success: false,
66
+ error: `Content too large: ${item.content.length} bytes`,
67
+ code: 'CONTENT_TOO_LARGE',
68
+ };
69
+ }
70
+ const memoryKey = `${MEMORY_PREFIX}${projectId}:${item.name}`;
71
+ const client = await getRedis();
72
+ const existing = await client.exists(memoryKey);
73
+ if (existing && !item.overwrite) {
74
+ return {
75
+ name: item.name,
76
+ success: false,
77
+ error: `Memory '${item.name}' already exists`,
78
+ code: 'MEMORY_EXISTS',
79
+ };
80
+ }
81
+ const now = Date.now();
82
+ const memory = {
83
+ name: item.name,
98
84
  projectId,
99
- });
85
+ content: item.content,
86
+ createdAt: existing ? ((await getExistingCreatedAt(client, memoryKey)) ?? now) : now,
87
+ updatedAt: now,
88
+ tags: item.tags,
89
+ };
90
+ const ttl = item.ttlDays * 24 * 60 * 60;
91
+ await client.setex(memoryKey, ttl, JSON.stringify(memory));
92
+ await client.sadd(indexKey, item.name);
93
+ await client.expire(indexKey, DEFAULT_MEMORY_TTL);
94
+ Logger.debug(`write-memory: stored '${item.name}' for project ${projectId}`);
95
+ return {
96
+ name: item.name,
97
+ success: true,
98
+ contentLength: item.content.length,
99
+ tags: item.tags,
100
+ ttlDays: item.ttlDays,
101
+ overwritten: existing > 0,
102
+ };
100
103
  }
101
- const now = Date.now();
102
- const memory = {
103
- name,
104
- projectId,
105
- content,
106
- createdAt: existing ? ((await getExistingCreatedAt(client, memoryKey)) ?? now) : now,
107
- updatedAt: now,
108
- tags,
109
- };
110
- const ttl = ttlDays * 24 * 60 * 60;
111
- // Store memory
112
- await client.setex(memoryKey, ttl, JSON.stringify(memory));
113
- // Update index
114
- await client.sadd(indexKey, name);
115
- await client.expire(indexKey, DEFAULT_TTL);
116
- Logger.debug(`write-memory: stored '${name}' for project ${projectId}`);
117
- return JSON.stringify({
118
- success: true,
119
- name,
120
- projectId,
121
- contentLength: content.length,
122
- tags,
123
- ttlDays,
124
- overwritten: existing > 0,
125
- createdAt: memory.createdAt,
126
- updatedAt: memory.updatedAt,
127
- });
128
- }
129
- catch (error) {
130
- const errorMessage = error instanceof Error ? error.message : String(error);
131
- Logger.error(`write-memory error: ${errorMessage}`);
132
- return JSON.stringify({
133
- success: false,
134
- error: errorMessage,
135
- code: 'STORAGE_ERROR',
136
- });
137
- }
104
+ catch (error) {
105
+ return {
106
+ name: item.name,
107
+ success: false,
108
+ error: error instanceof Error ? error.message : String(error),
109
+ };
110
+ }
111
+ }));
112
+ const successful = results.filter((r) => r.success);
113
+ const failed = results.filter((r) => !r.success);
114
+ return JSON.stringify({
115
+ success: failed.length === 0,
116
+ projectId,
117
+ stored: successful.length,
118
+ failed: failed.length,
119
+ results,
120
+ });
138
121
  },
139
122
  };
140
- /**
141
- * Retrieve the original creation timestamp of an existing memory
142
- *
143
- * @description Used when overwriting a memory to preserve the original createdAt
144
- * @param {Redis} client - Redis client instance
145
- * @param {string} key - Redis key for the memory
146
- * @returns {Promise<number | null>} Original createdAt timestamp or null
147
- * @internal
148
- */
149
- async function getExistingCreatedAt(client, key) {
150
- try {
151
- const data = await client.get(key);
152
- if (data) {
153
- const memory = JSON.parse(data);
154
- return memory.createdAt;
155
- }
156
- }
157
- catch {
158
- // Ignore parse errors
159
- }
160
- return null;
161
- }
162
123
  //# sourceMappingURL=write-memory.tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-memory.tool.js","sourceRoot":"","sources":["../../../src/tools/memory/write-memory.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-memory.tool.js","sourceRoot":"","sources":["../../../src/tools/memory/write-memory.tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"consensus-prompt.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-llm/consensus-prompt.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAwLlD,eAAO,MAAM,mBAAmB,EAAE,WAOjC,CAAC"}
1
+ {"version":3,"file":"consensus-prompt.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-llm/consensus-prompt.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA4LlD,eAAO,MAAM,mBAAmB,EAAE,WAOjC,CAAC"}
@@ -127,9 +127,13 @@ async function execute(args) {
127
127
  return output.join('\n');
128
128
  }
129
129
  const template = synthesisPrompt || DEFAULT_SYNTHESIS_PROMPT;
130
+ // Replace placeholders in safe order: board_responses first (cannot be user-controlled),
131
+ // then original_prompt. This prevents user prompt containing '{board_responses}' from
132
+ // being expanded into actual board data (template injection).
133
+ const boardResponsesContent = boardResponsesXml.join('\n\n');
130
134
  const ceoPrompt = template
131
- .replaceAll('{original_prompt}', prompt)
132
- .replaceAll('{board_responses}', boardResponsesXml.join('\n\n'));
135
+ .replaceAll('{board_responses}', boardResponsesContent)
136
+ .replaceAll('{original_prompt}', prompt);
133
137
  output.push('---\n');
134
138
  output.push('## CEO Decision\n');
135
139
  try {
@@ -139,7 +143,7 @@ async function execute(args) {
139
143
  model: ceoModel,
140
144
  messages: ceoMessages,
141
145
  temperature: 0.7,
142
- maxTokens: maxTokens ? maxTokens * 2 : 16384, // CEO gets more tokens
146
+ maxTokens: maxTokens ? Math.min(maxTokens * 2, 32768) : 16384, // CEO gets more tokens, capped at 32K
143
147
  stream: false,
144
148
  });
145
149
  const ceoDuration = Date.now() - ceoStart;
@@ -1 +1 @@
1
- {"version":3,"file":"consensus-prompt.tool.js","sourceRoot":"","sources":["../../../src/tools/multi-llm/consensus-prompt.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAkB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE1E,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmCd,CAAC;AAEpB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACjE,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,yBAAyB,CAAC;IACtC,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SAC7C,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,sBAAsB,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACvE,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6BAA6B,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CAC/E,CAAC,CAAC;AAEH,KAAK,UAAU,OAAO,CAAC,IAA6B;IAClD,MAAM,EACJ,MAAM,EACN,WAAW,EACX,QAAQ,EACR,KAAK,EACL,KAAK,EACL,eAAe,EACf,WAAW,EACX,SAAS,GACV,GAAG,IAA8B,CAAC;IAEnC,oBAAoB;IACpB,IAAI,WAA+B,CAAC;IACpC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,WAAW,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACxE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAkB,EAAE,UAAU,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,iDAAiD;IACjD,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,sBAAsB,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC;IAC/D,MAAM,CAAC,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAC3C,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC9B,KAAK,EAAE,SAAS;YAChB,QAAQ;YACR,WAAW;YACX,SAAS;YACT,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU;SAClC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,0BAA0B;IAC1B,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,OAAO,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEhB,iBAAiB,CAAC,IAAI,CACpB,iCAAiC,SAAS,8BAA8B,OAAO,kCAAkC,CAClH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,aAAa,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CACT,cAAc,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAC/F,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,IAAI,wBAAwB,CAAC;IAC7D,MAAM,SAAS,GAAG,QAAQ;SACvB,UAAU,CAAC,mBAAmB,EAAE,MAAM,CAAC;SACvC,UAAU,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAmB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC;YACjC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,uBAAuB;YACrE,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,OAAO,WAAW,OAAO,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,uBAAuB,aAAa,KAAK,CAAC,CAAC;IAEvD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,oGAAoG;QACpG,kDAAkD;IACpD,SAAS,EAAE,MAAM;IACjB,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"consensus-prompt.tool.js","sourceRoot":"","sources":["../../../src/tools/multi-llm/consensus-prompt.tool.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,17 @@ export type ToolExecutor<T = ToolArguments> = (args: T, onProgress?: ProgressCal
75
75
  * };
76
76
  * ```
77
77
  */
78
+ /** Tool category for discovery and grouping */
79
+ export type ToolCategory = 'code' | 'edit' | 'file' | 'git' | 'kanban' | 'context' | 'agents' | 'project' | 'system' | 'specialized' | 'recursive' | 'multi-llm' | 'memory';
80
+ /** Tool metadata for discovery, categorization and search */
81
+ export interface ToolMetadata {
82
+ /** Tool category for grouping */
83
+ category: ToolCategory;
84
+ /** Searchable tags */
85
+ tags?: string[];
86
+ /** Whether this tool is long-running (useful for progress reporting) */
87
+ longRunning?: boolean;
88
+ }
78
89
  export interface UnifiedTool<TSchema extends ZodSchema = ZodSchema> {
79
90
  /** Unique tool name (used in MCP protocol) */
80
91
  name: string;
@@ -88,6 +99,8 @@ export interface UnifiedTool<TSchema extends ZodSchema = ZodSchema> {
88
99
  };
89
100
  /** Set to true to skip auto-sharing context for this tool */
90
101
  skipContextShare?: boolean;
102
+ /** Tool metadata for discovery and categorization */
103
+ metadata?: ToolMetadata;
91
104
  /**
92
105
  * Tool execution function
93
106
  * When TSchema is explicitly provided, args is typed as z.infer<TSchema>
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}