context-gatekeeper 0.3.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 (305) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +774 -0
  3. package/README.zh.md +765 -0
  4. package/bin/context-gatekeeper-cli.js +60 -0
  5. package/dist/api/gdpr.d.ts +104 -0
  6. package/dist/api/gdpr.d.ts.map +1 -0
  7. package/dist/api/gdpr.js +229 -0
  8. package/dist/api/gdpr.js.map +1 -0
  9. package/dist/api/health-check.d.ts +13 -0
  10. package/dist/api/health-check.d.ts.map +1 -0
  11. package/dist/api/health-check.js +2 -0
  12. package/dist/api/health-check.js.map +1 -0
  13. package/dist/api/index.d.ts +7 -0
  14. package/dist/api/index.d.ts.map +1 -0
  15. package/dist/api/index.js +8 -0
  16. package/dist/api/index.js.map +1 -0
  17. package/dist/api/observability.d.ts +39 -0
  18. package/dist/api/observability.d.ts.map +1 -0
  19. package/dist/api/observability.js +132 -0
  20. package/dist/api/observability.js.map +1 -0
  21. package/dist/api/session-manager.d.ts +41 -0
  22. package/dist/api/session-manager.d.ts.map +1 -0
  23. package/dist/api/session-manager.js +129 -0
  24. package/dist/api/session-manager.js.map +1 -0
  25. package/dist/index.d.ts +2 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +7 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/mcp/server.d.ts +8 -0
  30. package/dist/mcp/server.d.ts.map +1 -0
  31. package/dist/mcp/server.js +613 -0
  32. package/dist/mcp/server.js.map +1 -0
  33. package/dist/mcp/tools/configure-llm.d.ts +26 -0
  34. package/dist/mcp/tools/configure-llm.d.ts.map +1 -0
  35. package/dist/mcp/tools/configure-llm.js +32 -0
  36. package/dist/mcp/tools/configure-llm.js.map +1 -0
  37. package/dist/mcp/tools/context-compress.d.ts +15 -0
  38. package/dist/mcp/tools/context-compress.d.ts.map +1 -0
  39. package/dist/mcp/tools/context-compress.js +15 -0
  40. package/dist/mcp/tools/context-compress.js.map +1 -0
  41. package/dist/mcp/tools/dual-mode-execute.d.ts +78 -0
  42. package/dist/mcp/tools/dual-mode-execute.d.ts.map +1 -0
  43. package/dist/mcp/tools/dual-mode-execute.js +299 -0
  44. package/dist/mcp/tools/dual-mode-execute.js.map +1 -0
  45. package/dist/mcp/tools/index.d.ts +19 -0
  46. package/dist/mcp/tools/index.d.ts.map +1 -0
  47. package/dist/mcp/tools/index.js +20 -0
  48. package/dist/mcp/tools/index.js.map +1 -0
  49. package/dist/mcp/tools/intelligent-recall.d.ts +67 -0
  50. package/dist/mcp/tools/intelligent-recall.d.ts.map +1 -0
  51. package/dist/mcp/tools/intelligent-recall.js +208 -0
  52. package/dist/mcp/tools/intelligent-recall.js.map +1 -0
  53. package/dist/mcp/tools/memory-anchor.d.ts +13 -0
  54. package/dist/mcp/tools/memory-anchor.d.ts.map +1 -0
  55. package/dist/mcp/tools/memory-anchor.js +16 -0
  56. package/dist/mcp/tools/memory-anchor.js.map +1 -0
  57. package/dist/mcp/tools/memory-delete-batch.d.ts +16 -0
  58. package/dist/mcp/tools/memory-delete-batch.d.ts.map +1 -0
  59. package/dist/mcp/tools/memory-delete-batch.js +26 -0
  60. package/dist/mcp/tools/memory-delete-batch.js.map +1 -0
  61. package/dist/mcp/tools/memory-extract.d.ts +68 -0
  62. package/dist/mcp/tools/memory-extract.d.ts.map +1 -0
  63. package/dist/mcp/tools/memory-extract.js +280 -0
  64. package/dist/mcp/tools/memory-extract.js.map +1 -0
  65. package/dist/mcp/tools/memory-recall.d.ts +42 -0
  66. package/dist/mcp/tools/memory-recall.d.ts.map +1 -0
  67. package/dist/mcp/tools/memory-recall.js +37 -0
  68. package/dist/mcp/tools/memory-recall.js.map +1 -0
  69. package/dist/mcp/tools/memory-report-usage.d.ts +17 -0
  70. package/dist/mcp/tools/memory-report-usage.d.ts.map +1 -0
  71. package/dist/mcp/tools/memory-report-usage.js +15 -0
  72. package/dist/mcp/tools/memory-report-usage.js.map +1 -0
  73. package/dist/mcp/tools/memory-search.d.ts +43 -0
  74. package/dist/mcp/tools/memory-search.d.ts.map +1 -0
  75. package/dist/mcp/tools/memory-search.js +38 -0
  76. package/dist/mcp/tools/memory-search.js.map +1 -0
  77. package/dist/mcp/tools/memory-session.d.ts +118 -0
  78. package/dist/mcp/tools/memory-session.d.ts.map +1 -0
  79. package/dist/mcp/tools/memory-session.js +113 -0
  80. package/dist/mcp/tools/memory-session.js.map +1 -0
  81. package/dist/mcp/tools/memory-stats.d.ts +10 -0
  82. package/dist/mcp/tools/memory-stats.d.ts.map +1 -0
  83. package/dist/mcp/tools/memory-stats.js +35 -0
  84. package/dist/mcp/tools/memory-stats.js.map +1 -0
  85. package/dist/mcp/tools/memory-store-batch.d.ts +49 -0
  86. package/dist/mcp/tools/memory-store-batch.d.ts.map +1 -0
  87. package/dist/mcp/tools/memory-store-batch.js +48 -0
  88. package/dist/mcp/tools/memory-store-batch.js.map +1 -0
  89. package/dist/mcp/tools/memory-store.d.ts +37 -0
  90. package/dist/mcp/tools/memory-store.d.ts.map +1 -0
  91. package/dist/mcp/tools/memory-store.js +34 -0
  92. package/dist/mcp/tools/memory-store.js.map +1 -0
  93. package/dist/mcp/tools/project-create.d.ts +16 -0
  94. package/dist/mcp/tools/project-create.d.ts.map +1 -0
  95. package/dist/mcp/tools/project-create.js +14 -0
  96. package/dist/mcp/tools/project-create.js.map +1 -0
  97. package/dist/models/types.d.ts +88 -0
  98. package/dist/models/types.d.ts.map +1 -0
  99. package/dist/models/types.js +19 -0
  100. package/dist/models/types.js.map +1 -0
  101. package/dist/schema/compression.d.ts +7 -0
  102. package/dist/schema/compression.d.ts.map +1 -0
  103. package/dist/schema/compression.js +66 -0
  104. package/dist/schema/compression.js.map +1 -0
  105. package/dist/schema/fulltext-search.d.ts +10 -0
  106. package/dist/schema/fulltext-search.d.ts.map +1 -0
  107. package/dist/schema/fulltext-search.js +73 -0
  108. package/dist/schema/fulltext-search.js.map +1 -0
  109. package/dist/schema/index.d.ts +9 -0
  110. package/dist/schema/index.d.ts.map +1 -0
  111. package/dist/schema/index.js +9 -0
  112. package/dist/schema/index.js.map +1 -0
  113. package/dist/schema/knowledge-graph.d.ts +108 -0
  114. package/dist/schema/knowledge-graph.d.ts.map +1 -0
  115. package/dist/schema/knowledge-graph.js +372 -0
  116. package/dist/schema/knowledge-graph.js.map +1 -0
  117. package/dist/schema/memory-session.d.ts +62 -0
  118. package/dist/schema/memory-session.d.ts.map +1 -0
  119. package/dist/schema/memory-session.js +258 -0
  120. package/dist/schema/memory-session.js.map +1 -0
  121. package/dist/schema/memory.d.ts +84 -0
  122. package/dist/schema/memory.d.ts.map +1 -0
  123. package/dist/schema/memory.js +622 -0
  124. package/dist/schema/memory.js.map +1 -0
  125. package/dist/schema/project.d.ts +8 -0
  126. package/dist/schema/project.d.ts.map +1 -0
  127. package/dist/schema/project.js +68 -0
  128. package/dist/schema/project.js.map +1 -0
  129. package/dist/schema/schema-init.d.ts +2 -0
  130. package/dist/schema/schema-init.d.ts.map +1 -0
  131. package/dist/schema/schema-init.js +199 -0
  132. package/dist/schema/schema-init.js.map +1 -0
  133. package/dist/schema/vector-index.d.ts +28 -0
  134. package/dist/schema/vector-index.d.ts.map +1 -0
  135. package/dist/schema/vector-index.js +179 -0
  136. package/dist/schema/vector-index.js.map +1 -0
  137. package/dist/scripts/agents/base.d.ts +89 -0
  138. package/dist/scripts/agents/base.d.ts.map +1 -0
  139. package/dist/scripts/agents/base.js +148 -0
  140. package/dist/scripts/agents/base.js.map +1 -0
  141. package/dist/scripts/agents/base.ts +193 -0
  142. package/dist/scripts/agents/claude-code.d.ts +21 -0
  143. package/dist/scripts/agents/claude-code.d.ts.map +1 -0
  144. package/dist/scripts/agents/claude-code.js +33 -0
  145. package/dist/scripts/agents/claude-code.js.map +1 -0
  146. package/dist/scripts/agents/claude-code.ts +36 -0
  147. package/dist/scripts/agents/claude-desktop.d.ts +25 -0
  148. package/dist/scripts/agents/claude-desktop.d.ts.map +1 -0
  149. package/dist/scripts/agents/claude-desktop.js +36 -0
  150. package/dist/scripts/agents/claude-desktop.js.map +1 -0
  151. package/dist/scripts/agents/claude-desktop.ts +39 -0
  152. package/dist/scripts/agents/cline.d.ts +22 -0
  153. package/dist/scripts/agents/cline.d.ts.map +1 -0
  154. package/dist/scripts/agents/cline.js +35 -0
  155. package/dist/scripts/agents/cline.js.map +1 -0
  156. package/dist/scripts/agents/cline.ts +38 -0
  157. package/dist/scripts/agents/continue.d.ts +20 -0
  158. package/dist/scripts/agents/continue.d.ts.map +1 -0
  159. package/dist/scripts/agents/continue.js +35 -0
  160. package/dist/scripts/agents/continue.js.map +1 -0
  161. package/dist/scripts/agents/continue.ts +38 -0
  162. package/dist/scripts/agents/cursor.d.ts +27 -0
  163. package/dist/scripts/agents/cursor.d.ts.map +1 -0
  164. package/dist/scripts/agents/cursor.js +38 -0
  165. package/dist/scripts/agents/cursor.js.map +1 -0
  166. package/dist/scripts/agents/cursor.ts +41 -0
  167. package/dist/scripts/cli/config-gen.d.ts +59 -0
  168. package/dist/scripts/cli/config-gen.d.ts.map +1 -0
  169. package/dist/scripts/cli/config-gen.js +156 -0
  170. package/dist/scripts/cli/config-gen.js.map +1 -0
  171. package/dist/scripts/cli/config-gen.ts +164 -0
  172. package/dist/scripts/cli/detect.d.ts +42 -0
  173. package/dist/scripts/cli/detect.d.ts.map +1 -0
  174. package/dist/scripts/cli/detect.js +131 -0
  175. package/dist/scripts/cli/detect.js.map +1 -0
  176. package/dist/scripts/cli/detect.ts +162 -0
  177. package/dist/scripts/cli/install.d.ts +31 -0
  178. package/dist/scripts/cli/install.d.ts.map +1 -0
  179. package/dist/scripts/cli/install.js +125 -0
  180. package/dist/scripts/cli/install.js.map +1 -0
  181. package/dist/scripts/cli/install.ts +157 -0
  182. package/dist/scripts/cli/status.d.ts +8 -0
  183. package/dist/scripts/cli/status.d.ts.map +1 -0
  184. package/dist/scripts/cli/status.js +39 -0
  185. package/dist/scripts/cli/status.js.map +1 -0
  186. package/dist/scripts/cli/status.ts +48 -0
  187. package/dist/scripts/cli/uninstall.d.ts +22 -0
  188. package/dist/scripts/cli/uninstall.d.ts.map +1 -0
  189. package/dist/scripts/cli/uninstall.js +141 -0
  190. package/dist/scripts/cli/uninstall.js.map +1 -0
  191. package/dist/scripts/cli/uninstall.ts +157 -0
  192. package/dist/scripts/cli.d.ts +23 -0
  193. package/dist/scripts/cli.d.ts.map +1 -0
  194. package/dist/scripts/cli.js +166 -0
  195. package/dist/scripts/cli.js.map +1 -0
  196. package/dist/scripts/cli.ts +173 -0
  197. package/dist/services/classifier/index.d.ts +36 -0
  198. package/dist/services/classifier/index.d.ts.map +1 -0
  199. package/dist/services/classifier/index.js +104 -0
  200. package/dist/services/classifier/index.js.map +1 -0
  201. package/dist/services/classifier/llm.d.ts +37 -0
  202. package/dist/services/classifier/llm.d.ts.map +1 -0
  203. package/dist/services/classifier/llm.js +119 -0
  204. package/dist/services/classifier/llm.js.map +1 -0
  205. package/dist/services/classifier/rules.d.ts +22 -0
  206. package/dist/services/classifier/rules.d.ts.map +1 -0
  207. package/dist/services/classifier/rules.js +98 -0
  208. package/dist/services/classifier/rules.js.map +1 -0
  209. package/dist/services/compressor/index.d.ts +3 -0
  210. package/dist/services/compressor/index.d.ts.map +1 -0
  211. package/dist/services/compressor/index.js +3 -0
  212. package/dist/services/compressor/index.js.map +1 -0
  213. package/dist/services/compressor/threshold.d.ts +35 -0
  214. package/dist/services/compressor/threshold.d.ts.map +1 -0
  215. package/dist/services/compressor/threshold.js +60 -0
  216. package/dist/services/compressor/threshold.js.map +1 -0
  217. package/dist/services/compressor/trigger.d.ts +24 -0
  218. package/dist/services/compressor/trigger.d.ts.map +1 -0
  219. package/dist/services/compressor/trigger.js +91 -0
  220. package/dist/services/compressor/trigger.js.map +1 -0
  221. package/dist/services/constraint-extractor.d.ts +25 -0
  222. package/dist/services/constraint-extractor.d.ts.map +1 -0
  223. package/dist/services/constraint-extractor.js +97 -0
  224. package/dist/services/constraint-extractor.js.map +1 -0
  225. package/dist/services/database-health.d.ts +22 -0
  226. package/dist/services/database-health.d.ts.map +1 -0
  227. package/dist/services/database-health.js +122 -0
  228. package/dist/services/database-health.js.map +1 -0
  229. package/dist/services/embedding-fixed.d.ts +9 -0
  230. package/dist/services/embedding-fixed.d.ts.map +1 -0
  231. package/dist/services/embedding-fixed.js +70 -0
  232. package/dist/services/embedding-fixed.js.map +1 -0
  233. package/dist/services/embedding-provider.d.ts +79 -0
  234. package/dist/services/embedding-provider.d.ts.map +1 -0
  235. package/dist/services/embedding-provider.js +229 -0
  236. package/dist/services/embedding-provider.js.map +1 -0
  237. package/dist/services/embedding.d.ts +17 -0
  238. package/dist/services/embedding.d.ts.map +1 -0
  239. package/dist/services/embedding.js +99 -0
  240. package/dist/services/embedding.js.map +1 -0
  241. package/dist/services/hnsw-index.d.ts +76 -0
  242. package/dist/services/hnsw-index.d.ts.map +1 -0
  243. package/dist/services/hnsw-index.js +301 -0
  244. package/dist/services/hnsw-index.js.map +1 -0
  245. package/dist/services/llm.d.ts +39 -0
  246. package/dist/services/llm.d.ts.map +1 -0
  247. package/dist/services/llm.js +207 -0
  248. package/dist/services/llm.js.map +1 -0
  249. package/dist/services/memory-tiers.d.ts +75 -0
  250. package/dist/services/memory-tiers.d.ts.map +1 -0
  251. package/dist/services/memory-tiers.js +275 -0
  252. package/dist/services/memory-tiers.js.map +1 -0
  253. package/dist/services/memory.d.ts +33 -0
  254. package/dist/services/memory.d.ts.map +1 -0
  255. package/dist/services/memory.js +209 -0
  256. package/dist/services/memory.js.map +1 -0
  257. package/dist/services/multi-agent-sharing.d.ts +83 -0
  258. package/dist/services/multi-agent-sharing.d.ts.map +1 -0
  259. package/dist/services/multi-agent-sharing.js +278 -0
  260. package/dist/services/multi-agent-sharing.js.map +1 -0
  261. package/dist/services/reranker.d.ts +88 -0
  262. package/dist/services/reranker.d.ts.map +1 -0
  263. package/dist/services/reranker.js +234 -0
  264. package/dist/services/reranker.js.map +1 -0
  265. package/dist/services/triple-extractor.d.ts +35 -0
  266. package/dist/services/triple-extractor.d.ts.map +1 -0
  267. package/dist/services/triple-extractor.js +293 -0
  268. package/dist/services/triple-extractor.js.map +1 -0
  269. package/dist/services/vector-provider.d.ts +40 -0
  270. package/dist/services/vector-provider.d.ts.map +1 -0
  271. package/dist/services/vector-provider.js +225 -0
  272. package/dist/services/vector-provider.js.map +1 -0
  273. package/dist/utils/after-chain-executor.d.ts +26 -0
  274. package/dist/utils/after-chain-executor.d.ts.map +1 -0
  275. package/dist/utils/after-chain-executor.js +135 -0
  276. package/dist/utils/after-chain-executor.js.map +1 -0
  277. package/dist/utils/after-chain.d.ts +94 -0
  278. package/dist/utils/after-chain.d.ts.map +1 -0
  279. package/dist/utils/after-chain.js +155 -0
  280. package/dist/utils/after-chain.js.map +1 -0
  281. package/dist/utils/db.d.ts +29 -0
  282. package/dist/utils/db.d.ts.map +1 -0
  283. package/dist/utils/db.js +201 -0
  284. package/dist/utils/db.js.map +1 -0
  285. package/dist/utils/encryption.d.ts +87 -0
  286. package/dist/utils/encryption.d.ts.map +1 -0
  287. package/dist/utils/encryption.js +175 -0
  288. package/dist/utils/encryption.js.map +1 -0
  289. package/dist/utils/errors.d.ts +35 -0
  290. package/dist/utils/errors.d.ts.map +1 -0
  291. package/dist/utils/errors.js +56 -0
  292. package/dist/utils/errors.js.map +1 -0
  293. package/dist/utils/logger.d.ts +27 -0
  294. package/dist/utils/logger.d.ts.map +1 -0
  295. package/dist/utils/logger.js +177 -0
  296. package/dist/utils/logger.js.map +1 -0
  297. package/dist/utils/priority.d.ts +26 -0
  298. package/dist/utils/priority.d.ts.map +1 -0
  299. package/dist/utils/priority.js +43 -0
  300. package/dist/utils/priority.js.map +1 -0
  301. package/dist/utils/watchdog.d.ts +57 -0
  302. package/dist/utils/watchdog.d.ts.map +1 -0
  303. package/dist/utils/watchdog.js +164 -0
  304. package/dist/utils/watchdog.js.map +1 -0
  305. package/package.json +78 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ export declare const ConfigureLLMInput: z.ZodObject<{
3
+ provider: z.ZodOptional<z.ZodEnum<["openai", "ollama", "anthropic", "none"]>>;
4
+ api_key: z.ZodOptional<z.ZodString>;
5
+ base_url: z.ZodOptional<z.ZodString>;
6
+ model: z.ZodOptional<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ provider?: "openai" | "ollama" | "anthropic" | "none" | undefined;
9
+ model?: string | undefined;
10
+ api_key?: string | undefined;
11
+ base_url?: string | undefined;
12
+ }, {
13
+ provider?: "openai" | "ollama" | "anthropic" | "none" | undefined;
14
+ model?: string | undefined;
15
+ api_key?: string | undefined;
16
+ base_url?: string | undefined;
17
+ }>;
18
+ export type ConfigureLLMInputType = z.infer<typeof ConfigureLLMInput>;
19
+ export declare function configureLLMTool(input: ConfigureLLMInputType): Promise<{
20
+ success: boolean;
21
+ provider: string;
22
+ model: string;
23
+ llm_available: boolean;
24
+ message: string;
25
+ }>;
26
+ //# sourceMappingURL=configure-llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-llm.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/configure-llm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEtE,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAC5E,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAsBD"}
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ import { configureLLM, getLLMConfig, isLLMAvailable } from '../../services/llm.js';
3
+ export const ConfigureLLMInput = z.object({
4
+ provider: z.enum(['openai', 'ollama', 'anthropic', 'none']).optional().describe('LLM provider'),
5
+ api_key: z.string().optional().describe('API key (or set OPENAI_API_KEY env var)'),
6
+ base_url: z.string().optional().describe('Base URL for API (optional)'),
7
+ model: z.string().optional().describe('Model name (e.g., gpt-3.5-turbo, llama3.2)')
8
+ });
9
+ export async function configureLLMTool(input) {
10
+ const newConfig = {};
11
+ if (input.provider)
12
+ newConfig.provider = input.provider;
13
+ if (input.api_key)
14
+ newConfig.apiKey = input.api_key;
15
+ if (input.base_url)
16
+ newConfig.baseUrl = input.base_url;
17
+ if (input.model)
18
+ newConfig.model = input.model;
19
+ configureLLM(newConfig);
20
+ const config = getLLMConfig();
21
+ const llmAvailable = await isLLMAvailable();
22
+ return {
23
+ success: true,
24
+ provider: config.provider,
25
+ model: config.model,
26
+ llm_available: llmAvailable,
27
+ message: llmAvailable
28
+ ? `${config.provider} configured successfully, LLM is available`
29
+ : `${config.provider} configured, LLM not available (check API key or connection)`
30
+ };
31
+ }
32
+ //# sourceMappingURL=configure-llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-llm.js","sourceRoot":"","sources":["../../../src/mcp/tools/configure-llm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC/F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAClF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;CACpF,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAA4B;IAOjE,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,IAAI,KAAK,CAAC,QAAQ;QAAE,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACxD,IAAI,KAAK,CAAC,OAAO;QAAE,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;IACpD,IAAI,KAAK,CAAC,QAAQ;QAAE,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IACvD,IAAI,KAAK,CAAC,KAAK;QAAE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAE/C,YAAY,CAAC,SAAgB,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,MAAM,cAAc,EAAE,CAAC;IAE5C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE,YAAY;YACnB,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,4CAA4C;YAChE,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,8DAA8D;KACrF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ export declare const ContextCompressInput: z.ZodObject<{
3
+ target_ratio: z.ZodOptional<z.ZodNumber>;
4
+ }, "strip", z.ZodTypeAny, {
5
+ target_ratio?: number | undefined;
6
+ }, {
7
+ target_ratio?: number | undefined;
8
+ }>;
9
+ export type ContextCompressInputType = z.infer<typeof ContextCompressInput>;
10
+ export declare function contextCompressTool(input: ContextCompressInputType): Promise<{
11
+ id: string;
12
+ compressed_count: number;
13
+ remaining_ratio: number;
14
+ }>;
15
+ //# sourceMappingURL=context-compress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-compress.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/context-compress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC;IAClF,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAC,CASD"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { getContextCompressor } from '../../services/compressor/trigger.js';
3
+ export const ContextCompressInput = z.object({
4
+ target_ratio: z.number().min(0).max(1).optional().describe('Target compression ratio (0-1)')
5
+ });
6
+ export async function contextCompressTool(input) {
7
+ const compressor = getContextCompressor();
8
+ const result = await compressor.compress(input.target_ratio);
9
+ return {
10
+ id: result.id,
11
+ compressed_count: result.compressedCount,
12
+ remaining_ratio: result.remainingRatio
13
+ };
14
+ }
15
+ //# sourceMappingURL=context-compress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-compress.js","sourceRoot":"","sources":["../../../src/mcp/tools/context-compress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CAC7F,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAA+B;IAKvE,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE7D,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,gBAAgB,EAAE,MAAM,CAAC,eAAe;QACxC,eAAe,EAAE,MAAM,CAAC,cAAc;KACvC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Dual-Mode Execution Tool
4
+ * Combines AutoSkill-style soft guidance with MPR-style hard admissibility
5
+ * Follows Meta-Policy Reflexion principles
6
+ */
7
+ export declare const DualModeExecuteInput: z.ZodObject<{
8
+ action: z.ZodString;
9
+ context: z.ZodString;
10
+ project_tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["soft_only", "hard_only", "dual"]>>>;
12
+ soft_guidance_style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["concise", "detailed", "minimal"]>>>;
13
+ hard_threshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ action: string;
16
+ context: string;
17
+ mode: "soft_only" | "hard_only" | "dual";
18
+ soft_guidance_style: "concise" | "detailed" | "minimal";
19
+ hard_threshold: number;
20
+ project_tags?: string[] | undefined;
21
+ }, {
22
+ action: string;
23
+ context: string;
24
+ project_tags?: string[] | undefined;
25
+ mode?: "soft_only" | "hard_only" | "dual" | undefined;
26
+ soft_guidance_style?: "concise" | "detailed" | "minimal" | undefined;
27
+ hard_threshold?: number | undefined;
28
+ }>;
29
+ export type DualModeExecuteInputType = z.infer<typeof DualModeExecuteInput>;
30
+ /**
31
+ * Constraint violation detail
32
+ */
33
+ export interface ConstraintViolation {
34
+ constraint: string;
35
+ priority: string;
36
+ severity: 'critical' | 'warning' | 'info';
37
+ matched_pattern: string;
38
+ suggestion: string;
39
+ }
40
+ /**
41
+ * Soft guidance response
42
+ */
43
+ export interface SoftGuidance {
44
+ injected_context: string;
45
+ suggested_modifications: string[];
46
+ relevant_preferences: string[];
47
+ relevant_workflows: string[];
48
+ }
49
+ /**
50
+ * Hard admissibility result
51
+ */
52
+ export interface HardAdmissibility {
53
+ allowed: boolean;
54
+ violations: ConstraintViolation[];
55
+ severity: 'proceed' | 'warn' | 'block';
56
+ fallback_suggestion: string;
57
+ }
58
+ /**
59
+ * Dual mode output
60
+ */
61
+ export interface DualModeExecuteOutput {
62
+ action: string;
63
+ soft_guidance: SoftGuidance | null;
64
+ hard_admissibility: HardAdmissibility | null;
65
+ final_decision: {
66
+ action: 'proceed' | 'modify' | 'block' | 'reconsider';
67
+ modified_action: string | null;
68
+ reasoning: string;
69
+ };
70
+ metadata: {
71
+ mode: string;
72
+ constraints_evaluated: number;
73
+ preferences_found: number;
74
+ execution_time_ms: number;
75
+ };
76
+ }
77
+ export declare function dualModeExecuteTool(input: DualModeExecuteInputType): Promise<DualModeExecuteOutput>;
78
+ //# sourceMappingURL=dual-mode-execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dual-mode-execute.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/dual-mode-execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAU/B,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,QAAQ,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,cAAc,EAAE;QACd,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;QACtD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,qBAAqB,EAAE,MAAM,CAAC;QAC9B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAyND,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAwGzG"}
@@ -0,0 +1,299 @@
1
+ import { z } from 'zod';
2
+ import { getMemoryService } from '../../services/memory.js';
3
+ /**
4
+ * Dual-Mode Execution Tool
5
+ * Combines AutoSkill-style soft guidance with MPR-style hard admissibility
6
+ * Follows Meta-Policy Reflexion principles
7
+ */
8
+ export const DualModeExecuteInput = z.object({
9
+ action: z.string().describe('Proposed action to validate'),
10
+ context: z.string().describe('Current execution context'),
11
+ project_tags: z.array(z.string()).optional().describe('Project tags for constraint lookup'),
12
+ mode: z.enum(['soft_only', 'hard_only', 'dual']).optional().default('dual')
13
+ .describe('Execution mode: soft (guidance), hard (check), or dual (both)'),
14
+ soft_guidance_style: z.enum(['concise', 'detailed', 'minimal']).optional().default('concise')
15
+ .describe('How much guidance to inject'),
16
+ hard_threshold: z.number().min(0).max(1).optional().default(0.5)
17
+ .describe('Threshold for hard admissibility')
18
+ });
19
+ /**
20
+ * Priority weights for severity
21
+ */
22
+ const PRIORITY_SEVERITY = {
23
+ 'anchored': 'critical',
24
+ 'constraint': 'warning',
25
+ 'decision': 'warning',
26
+ 'preference': 'info',
27
+ 'fact': 'info'
28
+ };
29
+ /**
30
+ * Soft mode: Inject guidance context
31
+ */
32
+ function generateSoftGuidance(action, memories, style) {
33
+ // Categorize memories
34
+ const anchors = memories.filter(m => m.priority === 'anchored');
35
+ const constraints = memories.filter(m => m.priority === 'constraint');
36
+ const decisions = memories.filter(m => m.priority === 'decision');
37
+ const preferences = memories.filter(m => m.priority === 'preference');
38
+ // Generate context based on style
39
+ let injected_context = '';
40
+ const sections = [];
41
+ if (style === 'minimal') {
42
+ // Only anchors
43
+ if (anchors.length > 0) {
44
+ sections.push(`Critical: ${anchors.map(a => a.content).join('; ')}`);
45
+ }
46
+ }
47
+ else if (style === 'concise') {
48
+ // Anchors + constraints
49
+ if (anchors.length > 0) {
50
+ sections.push(`## Critical Rules\n${anchors.map(a => `- ${a.content}`).join('\n')}`);
51
+ }
52
+ if (constraints.length > 0) {
53
+ sections.push(`\n## Constraints\n${constraints.map(c => `- ${c.content}`).join('\n')}`);
54
+ }
55
+ if (preferences.length > 0) {
56
+ sections.push(`\n## Preferences\n${preferences.slice(0, 2).map(p => `- ${p.content}`).join('\n')}`);
57
+ }
58
+ }
59
+ else {
60
+ // Full detail
61
+ if (anchors.length > 0) {
62
+ sections.push(`## Critical Rules\n${anchors.map(a => `- ${a.content}`).join('\n')}`);
63
+ }
64
+ if (constraints.length > 0) {
65
+ sections.push(`\n## Constraints\n${constraints.map(c => `- ${c.content}`).join('\n')}`);
66
+ }
67
+ if (decisions.length > 0) {
68
+ sections.push(`\n## Past Decisions\n${decisions.map(d => `- ${d.content}`).join('\n')}`);
69
+ }
70
+ if (preferences.length > 0) {
71
+ sections.push(`\n## Preferences\n${preferences.map(p => `- ${p.content}`).join('\n')}`);
72
+ }
73
+ }
74
+ injected_context = sections.join('\n');
75
+ // Generate suggestions
76
+ const suggested_modifications = [];
77
+ // Analyze action for potential improvements
78
+ const actionLower = action.toLowerCase();
79
+ for (const pref of preferences) {
80
+ if (actionLower.includes('class') && pref.content.toLowerCase().includes('functional')) {
81
+ suggested_modifications.push('Consider using functional patterns instead of classes');
82
+ }
83
+ if (actionLower.includes('var ') && pref.content.toLowerCase().includes('typescript')) {
84
+ suggested_modifications.push('Use TypeScript types instead of var');
85
+ }
86
+ }
87
+ return {
88
+ injected_context,
89
+ suggested_modifications,
90
+ relevant_preferences: preferences.map(p => p.content),
91
+ relevant_workflows: [] // Would come from workflow-type memories
92
+ };
93
+ }
94
+ /**
95
+ * Hard mode: Validate against constraints
96
+ */
97
+ function performHardAdmissibilityCheck(action, memories, _threshold) {
98
+ const violations = [];
99
+ const actionLower = action.toLowerCase();
100
+ // Extract constraint patterns
101
+ const NEGATION_PATTERNS = [
102
+ { pattern: /\bnever\s+(?:do\s+)?(?:use\s+)?(.+?)(?:\.|,|$)/gi, type: 'never' },
103
+ { pattern: /\bmust\s+not\s+(.+?)(?:\.|,|$)/gi, type: 'must not' },
104
+ { pattern: /\bdo\s+not\s+(.+?)(?:\.|,|$)/gi, type: 'do not' },
105
+ { pattern: /\bdont\s+(.+?)(?:\.|,|$)/gi, type: 'dont' },
106
+ { pattern: /\bavoid\s+(.+?)(?:\.|,|$)/gi, type: 'avoid' },
107
+ { pattern: /\bforbidden\s+to\s+(.+?)(?:\.|,|$)/gi, type: 'forbidden' },
108
+ { pattern: /\bonly\s+(.+?)(?:\.|,|$)/gi, type: 'only' },
109
+ ];
110
+ // Check each constraint
111
+ for (const memory of memories) {
112
+ if (memory.priority !== 'constraint' && memory.priority !== 'anchored') {
113
+ continue;
114
+ }
115
+ const contentLower = memory.content.toLowerCase();
116
+ // Check negation patterns
117
+ for (const { pattern, type } of NEGATION_PATTERNS) {
118
+ const matches = [...contentLower.matchAll(pattern)];
119
+ for (const match of matches) {
120
+ const prohibited = match[1]?.trim();
121
+ if (!prohibited)
122
+ continue;
123
+ // Check if action contains the prohibited pattern
124
+ const prohibitedWords = prohibited.split(/\s+/).slice(0, 3);
125
+ const matchCount = prohibitedWords.filter(w => actionLower.includes(w)).length;
126
+ if (matchCount >= Math.ceil(prohibitedWords.length * 0.6)) {
127
+ violations.push({
128
+ constraint: memory.content,
129
+ priority: memory.priority,
130
+ severity: PRIORITY_SEVERITY[memory.priority] || 'warning',
131
+ matched_pattern: `${type}: "${prohibited}"`,
132
+ suggestion: `Avoid ${type} pattern. ${prohibited} is prohibited.`
133
+ });
134
+ }
135
+ }
136
+ }
137
+ // Check for "must" requirements
138
+ const mustMatch = contentLower.match(/\bmust\s+(.+?)(?:\.|,|$)/i);
139
+ if (mustMatch) {
140
+ const requirement = mustMatch[1]?.trim();
141
+ if (requirement && !actionLower.includes(requirement.slice(0, Math.min(requirement.length, 10)))) {
142
+ violations.push({
143
+ constraint: memory.content,
144
+ priority: memory.priority,
145
+ severity: 'warning',
146
+ matched_pattern: `missing: "${requirement}"`,
147
+ suggestion: `Action should ${requirement}`
148
+ });
149
+ }
150
+ }
151
+ }
152
+ // Determine severity
153
+ const criticalCount = violations.filter(v => v.severity === 'critical').length;
154
+ const warningCount = violations.filter(v => v.severity === 'warning').length;
155
+ let severity;
156
+ let allowed;
157
+ if (criticalCount > 0) {
158
+ severity = 'block';
159
+ allowed = false;
160
+ }
161
+ else if (warningCount > 0) {
162
+ severity = 'warn';
163
+ allowed = true;
164
+ }
165
+ else {
166
+ severity = 'proceed';
167
+ allowed = true;
168
+ }
169
+ return {
170
+ allowed,
171
+ violations,
172
+ severity,
173
+ fallback_suggestion: violations.length > 0
174
+ ? `Address ${violations.length} constraint(s) before proceeding`
175
+ : 'Action approved'
176
+ };
177
+ }
178
+ /**
179
+ * Generate modified action based on violations
180
+ */
181
+ function generateModifiedAction(action, violations) {
182
+ const suggestions = [];
183
+ for (const violation of violations) {
184
+ if (violation.matched_pattern.startsWith('avoid:')) {
185
+ const match = violation.matched_pattern.match(/avoid:\s*"?(.+?)"?/);
186
+ if (match) {
187
+ suggestions.push(`Remove references to: ${match[1]}`);
188
+ }
189
+ }
190
+ if (violation.matched_pattern.startsWith('missing:')) {
191
+ const match = violation.matched_pattern.match(/missing:\s*"?(.+?)"?/);
192
+ if (match) {
193
+ suggestions.push(`Add: ${match[1]}`);
194
+ }
195
+ }
196
+ }
197
+ if (suggestions.length === 0)
198
+ return null;
199
+ return `${action}\n\n// Note: Please address the following before finalizing:\n${suggestions.map(s => `// - ${s}`).join('\n')}`;
200
+ }
201
+ const memoryService = getMemoryService();
202
+ export async function dualModeExecuteTool(input) {
203
+ const startTime = Date.now();
204
+ const { action, context, project_tags, mode = 'dual', soft_guidance_style = 'concise', hard_threshold = 0.5 } = input;
205
+ // Combine context with query for memory retrieval
206
+ const fullQuery = context ? `${context}\n\nAction: ${action}` : action;
207
+ // Retrieve relevant memories
208
+ const memories = memoryService.recallMemories({
209
+ query: fullQuery,
210
+ projectTags: project_tags,
211
+ limit: 20
212
+ });
213
+ // Execute based on mode
214
+ let softGuidance = null;
215
+ let hardAdmissibility = null;
216
+ if (mode === 'soft_only' || mode === 'dual') {
217
+ softGuidance = generateSoftGuidance(action, memories, soft_guidance_style);
218
+ }
219
+ if (mode === 'hard_only' || mode === 'dual') {
220
+ hardAdmissibility = performHardAdmissibilityCheck(action, memories, hard_threshold);
221
+ }
222
+ // Determine final decision
223
+ let finalDecision;
224
+ if (mode === 'soft_only') {
225
+ finalDecision = {
226
+ action: 'proceed',
227
+ modified_action: null,
228
+ reasoning: 'Soft guidance mode: action proceeds with injected context'
229
+ };
230
+ }
231
+ else if (mode === 'hard_only') {
232
+ if (!hardAdmissibility) {
233
+ finalDecision = { action: 'proceed', modified_action: null, reasoning: 'No constraints found' };
234
+ }
235
+ else if (hardAdmissibility.severity === 'block') {
236
+ finalDecision = {
237
+ action: 'block',
238
+ modified_action: null,
239
+ reasoning: `Blocked by ${hardAdmissibility.violations.filter(v => v.severity === 'critical').length} critical constraint(s)`
240
+ };
241
+ }
242
+ else if (hardAdmissibility.severity === 'warn') {
243
+ finalDecision = {
244
+ action: 'modify',
245
+ modified_action: null,
246
+ reasoning: `${hardAdmissibility.violations.length} warning(s) found`
247
+ };
248
+ }
249
+ else {
250
+ finalDecision = { action: 'proceed', modified_action: null, reasoning: 'Hard check passed' };
251
+ }
252
+ }
253
+ else {
254
+ // Dual mode
255
+ if (!hardAdmissibility) {
256
+ finalDecision = {
257
+ action: 'proceed',
258
+ modified_action: null,
259
+ reasoning: softGuidance
260
+ ? 'Soft guidance provided, no hard constraints found'
261
+ : 'No constraints found'
262
+ };
263
+ }
264
+ else if (!hardAdmissibility.allowed) {
265
+ finalDecision = {
266
+ action: 'block',
267
+ modified_action: null,
268
+ reasoning: `Blocked: ${hardAdmissibility.violations.map(v => v.matched_pattern).join(', ')}`
269
+ };
270
+ }
271
+ else if (hardAdmissibility.violations.length > 0) {
272
+ finalDecision = {
273
+ action: 'modify',
274
+ modified_action: generateModifiedAction(action, hardAdmissibility.violations),
275
+ reasoning: `${hardAdmissibility.violations.length} constraint(s) need addressing`
276
+ };
277
+ }
278
+ else {
279
+ finalDecision = {
280
+ action: 'proceed',
281
+ modified_action: null,
282
+ reasoning: 'All constraints satisfied'
283
+ };
284
+ }
285
+ }
286
+ return {
287
+ action,
288
+ soft_guidance: softGuidance,
289
+ hard_admissibility: hardAdmissibility,
290
+ final_decision: finalDecision,
291
+ metadata: {
292
+ mode,
293
+ constraints_evaluated: memories.filter(m => m.priority === 'constraint' || m.priority === 'anchored').length,
294
+ preferences_found: memories.filter(m => m.priority === 'preference').length,
295
+ execution_time_ms: Date.now() - startTime
296
+ }
297
+ };
298
+ }
299
+ //# sourceMappingURL=dual-mode-execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dual-mode-execute.js","sourceRoot":"","sources":["../../../src/mcp/tools/dual-mode-execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export { memoryStoreTool, MemoryStoreInput } from './memory-store.js';
2
+ export { memoryRecallTool, MemoryRecallInput } from './memory-recall.js';
3
+ export { memoryAnchorTool, MemoryAnchorInput } from './memory-anchor.js';
4
+ export { memoryReportUsageTool, MemoryReportUsageInput } from './memory-report-usage.js';
5
+ export { contextCompressTool, ContextCompressInput } from './context-compress.js';
6
+ export { projectCreateTool, ProjectCreateInput } from './project-create.js';
7
+ export { memoryStoreBatchTool, MemoryStoreBatchInput } from './memory-store-batch.js';
8
+ export { memoryDeleteBatchTool, MemoryDeleteBatchInput } from './memory-delete-batch.js';
9
+ export { memorySearchTool, MemorySearchInput } from './memory-search.js';
10
+ export { configureLLMTool, ConfigureLLMInput } from './configure-llm.js';
11
+ export { memoryStatsTool } from './memory-stats.js';
12
+ export { memoryExtractTool, MemoryExtractInput } from './memory-extract.js';
13
+ export type { MemoryExtractInputType, ExtractedConstraint, MemoryExtractOutput } from './memory-extract.js';
14
+ export { intelligentRecallTool, IntelligentRecallInput } from './intelligent-recall.js';
15
+ export type { IntelligentRecallInputType, RelevanceScore, IntelligentRecallOutput } from './intelligent-recall.js';
16
+ export { dualModeExecuteTool, DualModeExecuteInput } from './dual-mode-execute.js';
17
+ export type { DualModeExecuteInputType, ConstraintViolation, SoftGuidance, HardAdmissibility, DualModeExecuteOutput } from './dual-mode-execute.js';
18
+ export { memorySessionStoreTool, MemorySessionStoreInput, memorySessionGetTool, MemorySessionGetInput, memorySessionListTool, MemorySessionListInput, memorySessionDeleteTool, MemorySessionDeleteInput } from './memory-session.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG5G,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACxF,YAAY,EAAE,0BAA0B,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGnH,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnF,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGpJ,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,20 @@
1
+ export { memoryStoreTool, MemoryStoreInput } from './memory-store.js';
2
+ export { memoryRecallTool, MemoryRecallInput } from './memory-recall.js';
3
+ export { memoryAnchorTool, MemoryAnchorInput } from './memory-anchor.js';
4
+ export { memoryReportUsageTool, MemoryReportUsageInput } from './memory-report-usage.js';
5
+ export { contextCompressTool, ContextCompressInput } from './context-compress.js';
6
+ export { projectCreateTool, ProjectCreateInput } from './project-create.js';
7
+ export { memoryStoreBatchTool, MemoryStoreBatchInput } from './memory-store-batch.js';
8
+ export { memoryDeleteBatchTool, MemoryDeleteBatchInput } from './memory-delete-batch.js';
9
+ export { memorySearchTool, MemorySearchInput } from './memory-search.js';
10
+ export { configureLLMTool, ConfigureLLMInput } from './configure-llm.js';
11
+ export { memoryStatsTool } from './memory-stats.js';
12
+ // Phase 1: AutoSkill-style constraint extraction
13
+ export { memoryExtractTool, MemoryExtractInput } from './memory-extract.js';
14
+ // Phase 2: MemGate-style intelligent recall
15
+ export { intelligentRecallTool, IntelligentRecallInput } from './intelligent-recall.js';
16
+ // Phase 3: MPR-style dual-mode execution
17
+ export { dualModeExecuteTool, DualModeExecuteInput } from './dual-mode-execute.js';
18
+ // Session management
19
+ export { memorySessionStoreTool, MemorySessionStoreInput, memorySessionGetTool, MemorySessionGetInput, memorySessionListTool, MemorySessionListInput, memorySessionDeleteTool, MemorySessionDeleteInput } from './memory-session.js';
20
+ //# sourceMappingURL=index.js.map