@vinaes/succ 1.3.22 → 1.4.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 (226) hide show
  1. package/README.md +6 -2
  2. package/agents/succ-code-reviewer.md +1 -1
  3. package/agents/succ-diff-reviewer.md +1 -1
  4. package/agents/succ-general.md +1 -1
  5. package/dist/cli.js +13 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/analyze-agents.d.ts.map +1 -1
  8. package/dist/commands/analyze-agents.js +10 -11
  9. package/dist/commands/analyze-agents.js.map +1 -1
  10. package/dist/commands/analyze-recursive.d.ts.map +1 -1
  11. package/dist/commands/analyze-recursive.js +2 -1
  12. package/dist/commands/analyze-recursive.js.map +1 -1
  13. package/dist/commands/analyze-utils.d.ts +1 -1
  14. package/dist/commands/analyze-utils.d.ts.map +1 -1
  15. package/dist/commands/analyze-utils.js +1 -2
  16. package/dist/commands/analyze-utils.js.map +1 -1
  17. package/dist/commands/init-templates.js +2 -2
  18. package/dist/commands/soul.d.ts.map +1 -1
  19. package/dist/commands/soul.js +4 -44
  20. package/dist/commands/soul.js.map +1 -1
  21. package/dist/daemon/analyzer.js +2 -2
  22. package/dist/daemon/analyzer.js.map +1 -1
  23. package/dist/daemon/service.d.ts.map +1 -1
  24. package/dist/daemon/service.js +37 -3
  25. package/dist/daemon/service.js.map +1 -1
  26. package/dist/daemon/session-processor.d.ts.map +1 -1
  27. package/dist/daemon/session-processor.js +10 -184
  28. package/dist/daemon/session-processor.js.map +1 -1
  29. package/dist/lib/compact-briefing.d.ts.map +1 -1
  30. package/dist/lib/compact-briefing.js +8 -4
  31. package/dist/lib/compact-briefing.js.map +1 -1
  32. package/dist/lib/config-types.d.ts +9 -0
  33. package/dist/lib/config-types.d.ts.map +1 -1
  34. package/dist/lib/config-validation.d.ts.map +1 -1
  35. package/dist/lib/config-validation.js +1 -0
  36. package/dist/lib/config-validation.js.map +1 -1
  37. package/dist/lib/config.d.ts +14 -0
  38. package/dist/lib/config.d.ts.map +1 -1
  39. package/dist/lib/config.js +37 -0
  40. package/dist/lib/config.js.map +1 -1
  41. package/dist/lib/consolidate.d.ts.map +1 -1
  42. package/dist/lib/consolidate.js +7 -2
  43. package/dist/lib/consolidate.js.map +1 -1
  44. package/dist/lib/db/connection.d.ts.map +1 -1
  45. package/dist/lib/db/connection.js +8 -1
  46. package/dist/lib/db/connection.js.map +1 -1
  47. package/dist/lib/db/index.d.ts +1 -1
  48. package/dist/lib/db/index.d.ts.map +1 -1
  49. package/dist/lib/db/index.js +1 -1
  50. package/dist/lib/db/index.js.map +1 -1
  51. package/dist/lib/db/memories.d.ts +6 -0
  52. package/dist/lib/db/memories.d.ts.map +1 -1
  53. package/dist/lib/db/memories.js +34 -0
  54. package/dist/lib/db/memories.js.map +1 -1
  55. package/dist/lib/graph/llm-relations.d.ts.map +1 -1
  56. package/dist/lib/graph/llm-relations.js +7 -40
  57. package/dist/lib/graph/llm-relations.js.map +1 -1
  58. package/dist/lib/graph-export.js +1 -2
  59. package/dist/lib/graph-export.js.map +1 -1
  60. package/dist/lib/hook-rules.d.ts +31 -0
  61. package/dist/lib/hook-rules.d.ts.map +1 -0
  62. package/dist/lib/hook-rules.js +102 -0
  63. package/dist/lib/hook-rules.js.map +1 -0
  64. package/dist/lib/llm.d.ts +14 -0
  65. package/dist/lib/llm.d.ts.map +1 -1
  66. package/dist/lib/llm.js +30 -9
  67. package/dist/lib/llm.js.map +1 -1
  68. package/dist/lib/ort-session.d.ts.map +1 -1
  69. package/dist/lib/ort-session.js +0 -1
  70. package/dist/lib/ort-session.js.map +1 -1
  71. package/dist/lib/prd/generate.d.ts.map +1 -1
  72. package/dist/lib/prd/generate.js +2 -1
  73. package/dist/lib/prd/generate.js.map +1 -1
  74. package/dist/lib/prd/parse.d.ts.map +1 -1
  75. package/dist/lib/prd/parse.js +2 -1
  76. package/dist/lib/prd/parse.js.map +1 -1
  77. package/dist/lib/prd/prompt-builder.d.ts +9 -2
  78. package/dist/lib/prd/prompt-builder.d.ts.map +1 -1
  79. package/dist/lib/prd/prompt-builder.js +7 -8
  80. package/dist/lib/prd/prompt-builder.js.map +1 -1
  81. package/dist/lib/prd/runner.js +2 -1
  82. package/dist/lib/prd/runner.js.map +1 -1
  83. package/dist/lib/prd/team-runner.js +2 -1
  84. package/dist/lib/prd/team-runner.js.map +1 -1
  85. package/dist/lib/precompute-context.d.ts.map +1 -1
  86. package/dist/lib/precompute-context.js +7 -2
  87. package/dist/lib/precompute-context.js.map +1 -1
  88. package/dist/lib/public-api.d.ts +14 -4
  89. package/dist/lib/public-api.d.ts.map +1 -1
  90. package/dist/lib/public-api.js +14 -2
  91. package/dist/lib/public-api.js.map +1 -1
  92. package/dist/lib/query-expansion.d.ts.map +1 -1
  93. package/dist/lib/query-expansion.js +2 -12
  94. package/dist/lib/query-expansion.js.map +1 -1
  95. package/dist/lib/reflection-synthesizer.d.ts.map +1 -1
  96. package/dist/lib/reflection-synthesizer.js +2 -16
  97. package/dist/lib/reflection-synthesizer.js.map +1 -1
  98. package/dist/lib/session-summary.d.ts +1 -0
  99. package/dist/lib/session-summary.d.ts.map +1 -1
  100. package/dist/lib/session-summary.js +10 -2
  101. package/dist/lib/session-summary.js.map +1 -1
  102. package/dist/lib/skills.d.ts.map +1 -1
  103. package/dist/lib/skills.js +5 -5
  104. package/dist/lib/skills.js.map +1 -1
  105. package/dist/lib/storage/backends/postgresql.d.ts +1 -0
  106. package/dist/lib/storage/backends/postgresql.d.ts.map +1 -1
  107. package/dist/lib/storage/backends/postgresql.js +33 -0
  108. package/dist/lib/storage/backends/postgresql.js.map +1 -1
  109. package/dist/lib/storage/dispatcher.d.ts +1 -0
  110. package/dist/lib/storage/dispatcher.d.ts.map +1 -1
  111. package/dist/lib/storage/dispatcher.js +6 -0
  112. package/dist/lib/storage/dispatcher.js.map +1 -1
  113. package/dist/lib/storage/index.d.ts +1 -0
  114. package/dist/lib/storage/index.d.ts.map +1 -1
  115. package/dist/lib/storage/index.js +4 -0
  116. package/dist/lib/storage/index.js.map +1 -1
  117. package/dist/lib/supersession.d.ts.map +1 -1
  118. package/dist/lib/supersession.js +2 -15
  119. package/dist/lib/supersession.js.map +1 -1
  120. package/dist/mcp/helpers.d.ts +11 -0
  121. package/dist/mcp/helpers.d.ts.map +1 -1
  122. package/dist/mcp/helpers.js +35 -0
  123. package/dist/mcp/helpers.js.map +1 -1
  124. package/dist/mcp/profile.d.ts +16 -0
  125. package/dist/mcp/profile.d.ts.map +1 -0
  126. package/dist/mcp/profile.js +64 -0
  127. package/dist/mcp/profile.js.map +1 -0
  128. package/dist/mcp/server.d.ts +16 -15
  129. package/dist/mcp/server.d.ts.map +1 -1
  130. package/dist/mcp/server.js +119 -18
  131. package/dist/mcp/server.js.map +1 -1
  132. package/dist/mcp/tools/config.d.ts +1 -5
  133. package/dist/mcp/tools/config.d.ts.map +1 -1
  134. package/dist/mcp/tools/config.js +224 -180
  135. package/dist/mcp/tools/config.js.map +1 -1
  136. package/dist/mcp/tools/dead-end.d.ts.map +1 -1
  137. package/dist/mcp/tools/dead-end.js +20 -11
  138. package/dist/mcp/tools/dead-end.js.map +1 -1
  139. package/dist/mcp/tools/debug.d.ts.map +1 -1
  140. package/dist/mcp/tools/debug.js +76 -67
  141. package/dist/mcp/tools/debug.js.map +1 -1
  142. package/dist/mcp/tools/graph.d.ts +0 -1
  143. package/dist/mcp/tools/graph.d.ts.map +1 -1
  144. package/dist/mcp/tools/graph.js +91 -87
  145. package/dist/mcp/tools/graph.js.map +1 -1
  146. package/dist/mcp/tools/indexing.d.ts +1 -7
  147. package/dist/mcp/tools/indexing.d.ts.map +1 -1
  148. package/dist/mcp/tools/indexing.js +274 -261
  149. package/dist/mcp/tools/indexing.js.map +1 -1
  150. package/dist/mcp/tools/memory.d.ts.map +1 -1
  151. package/dist/mcp/tools/memory.js +124 -63
  152. package/dist/mcp/tools/memory.js.map +1 -1
  153. package/dist/mcp/tools/prd.d.ts +1 -7
  154. package/dist/mcp/tools/prd.d.ts.map +1 -1
  155. package/dist/mcp/tools/prd.js +240 -246
  156. package/dist/mcp/tools/prd.js.map +1 -1
  157. package/dist/mcp/tools/search.d.ts.map +1 -1
  158. package/dist/mcp/tools/search.js +91 -41
  159. package/dist/mcp/tools/search.js.map +1 -1
  160. package/dist/mcp/tools/status.d.ts +1 -5
  161. package/dist/mcp/tools/status.d.ts.map +1 -1
  162. package/dist/mcp/tools/status.js +310 -272
  163. package/dist/mcp/tools/status.js.map +1 -1
  164. package/dist/mcp/tools/web-fetch.d.ts +2 -1
  165. package/dist/mcp/tools/web-fetch.d.ts.map +1 -1
  166. package/dist/mcp/tools/web-fetch.js +68 -43
  167. package/dist/mcp/tools/web-fetch.js.map +1 -1
  168. package/dist/mcp/tools/web-search.d.ts +1 -6
  169. package/dist/mcp/tools/web-search.d.ts.map +1 -1
  170. package/dist/mcp/tools/web-search.js +266 -265
  171. package/dist/mcp/tools/web-search.js.map +1 -1
  172. package/dist/prompts/briefing.d.ts +10 -4
  173. package/dist/prompts/briefing.d.ts.map +1 -1
  174. package/dist/prompts/briefing.js +33 -35
  175. package/dist/prompts/briefing.js.map +1 -1
  176. package/dist/prompts/daemon.d.ts +5 -10
  177. package/dist/prompts/daemon.d.ts.map +1 -1
  178. package/dist/prompts/daemon.js +9 -18
  179. package/dist/prompts/daemon.js.map +1 -1
  180. package/dist/prompts/extraction.d.ts +19 -3
  181. package/dist/prompts/extraction.d.ts.map +1 -1
  182. package/dist/prompts/extraction.js +36 -45
  183. package/dist/prompts/extraction.js.map +1 -1
  184. package/dist/prompts/graph.d.ts +9 -0
  185. package/dist/prompts/graph.d.ts.map +1 -0
  186. package/dist/prompts/graph.js +27 -0
  187. package/dist/prompts/graph.js.map +1 -0
  188. package/dist/prompts/index.d.ts +16 -7
  189. package/dist/prompts/index.d.ts.map +1 -1
  190. package/dist/prompts/index.js +21 -7
  191. package/dist/prompts/index.js.map +1 -1
  192. package/dist/prompts/memory.d.ts +6 -3
  193. package/dist/prompts/memory.d.ts.map +1 -1
  194. package/dist/prompts/memory.js +9 -8
  195. package/dist/prompts/memory.js.map +1 -1
  196. package/dist/prompts/onboarding.d.ts +1 -1
  197. package/dist/prompts/onboarding.d.ts.map +1 -1
  198. package/dist/prompts/onboarding.js +2 -3
  199. package/dist/prompts/onboarding.js.map +1 -1
  200. package/dist/prompts/prd.d.ts +15 -6
  201. package/dist/prompts/prd.d.ts.map +1 -1
  202. package/dist/prompts/prd.js +44 -38
  203. package/dist/prompts/prd.js.map +1 -1
  204. package/dist/prompts/query-expansion.d.ts +8 -0
  205. package/dist/prompts/query-expansion.d.ts.map +1 -0
  206. package/dist/prompts/query-expansion.js +17 -0
  207. package/dist/prompts/query-expansion.js.map +1 -0
  208. package/dist/prompts/skills.d.ts +5 -10
  209. package/dist/prompts/skills.d.ts.map +1 -1
  210. package/dist/prompts/skills.js +9 -17
  211. package/dist/prompts/skills.js.map +1 -1
  212. package/dist/prompts/soul.d.ts +9 -0
  213. package/dist/prompts/soul.d.ts.map +1 -0
  214. package/dist/prompts/soul.js +47 -0
  215. package/dist/prompts/soul.js.map +1 -0
  216. package/dist/prompts/supersession.d.ts +9 -0
  217. package/dist/prompts/supersession.d.ts.map +1 -0
  218. package/dist/prompts/supersession.js +21 -0
  219. package/dist/prompts/supersession.js.map +1 -0
  220. package/dist/prompts/synthesis.d.ts +9 -0
  221. package/dist/prompts/synthesis.d.ts.map +1 -0
  222. package/dist/prompts/synthesis.js +22 -0
  223. package/dist/prompts/synthesis.js.map +1 -0
  224. package/hooks/succ-pre-tool.cjs +304 -76
  225. package/hooks/succ-session-start.cjs +58 -27
  226. package/package.json +5 -4
@@ -1,172 +1,188 @@
1
1
  /**
2
- * MCP Config tools
3
- *
4
- * - succ_config: Show current configuration
5
- * - succ_config_set: Update configuration values
6
- * - succ_checkpoint: Create and manage checkpoints
2
+ * MCP Config tool — succ_config with actions: show, set, checkpoint_create, checkpoint_list
7
3
  */
8
4
  import { z } from 'zod';
9
5
  import path from 'path';
10
6
  import fs from 'fs';
11
- import { closeDb } from '../../lib/storage/index.js';
7
+ import { gateAction } from '../profile.js';
8
+ import { closeDb, closeStorageDispatcher } from '../../lib/storage/index.js';
12
9
  import { getSuccDir } from '../../lib/config.js';
13
10
  import { projectPathParam, applyProjectPath } from '../helpers.js';
14
11
  export function registerConfigTools(server) {
15
- // Tool: succ_config - Show current configuration
16
- server.tool('succ_config', 'Get the current succ configuration with all settings and their effective values (with defaults applied). Shows embedding mode, analyze mode, quality scoring, graph settings, idle reflection, etc.', {
17
- project_path: projectPathParam,
18
- }, async ({ project_path }) => {
12
+ server.registerTool('succ_config', {
13
+ description: 'View or update succ configuration, or manage checkpoints (backups).\n\nExamples:\n- Show config: succ_config()\n- Set value: succ_config(action="set", key="llm.api_key", value="sk-...")\n- Create backup: succ_config(action="checkpoint_create", compress=true)\n- List backups: succ_config(action="checkpoint_list")',
14
+ inputSchema: {
15
+ action: z
16
+ .enum(['show', 'set', 'checkpoint_create', 'checkpoint_list'])
17
+ .optional()
18
+ .default('show')
19
+ .describe('show = display config, set = update value, checkpoint_create = backup, checkpoint_list = list backups'),
20
+ key: z
21
+ .string()
22
+ .optional()
23
+ .describe('Config key to set (e.g., "llm.api_key", "llm.embeddings.mode", "idle_reflection.enabled")'),
24
+ value: z
25
+ .string()
26
+ .optional()
27
+ .describe('Value to set (strings, numbers, booleans as strings: "true"/"false")'),
28
+ scope: z
29
+ .enum(['global', 'project'])
30
+ .optional()
31
+ .default('global')
32
+ .describe('Where to save: "global" (~/.succ/config.json) or "project" (.succ/config.json). Default: global'),
33
+ compress: z.boolean().optional().describe('Compress with gzip (default: false)'),
34
+ include_brain: z.boolean().optional().describe('Include brain vault files (default: true)'),
35
+ include_documents: z
36
+ .boolean()
37
+ .optional()
38
+ .describe('Include indexed documents (default: true)'),
39
+ project_path: projectPathParam,
40
+ },
41
+ annotations: {
42
+ readOnlyHint: false,
43
+ destructiveHint: false,
44
+ idempotentHint: false,
45
+ openWorldHint: false,
46
+ },
47
+ }, async ({ action, key, value, scope, compress, include_brain, include_documents, project_path, }) => {
19
48
  await applyProjectPath(project_path);
20
- try {
21
- const { getConfigDisplay, formatConfigDisplay } = await import('../../lib/config.js');
22
- const display = getConfigDisplay(true); // mask secrets
23
- return {
24
- content: [
25
- {
26
- type: 'text',
27
- text: formatConfigDisplay(display),
28
- },
29
- ],
30
- };
31
- }
32
- catch (error) {
33
- return {
34
- content: [
35
- {
36
- type: 'text',
37
- text: `Error getting config: ${error.message}`,
38
- },
39
- ],
40
- isError: true,
41
- };
42
- }
43
- });
44
- // Tool: succ_config_set - Update configuration values
45
- server.tool('succ_config_set', 'Update succ configuration values. Saves to global (~/.succ/config.json) or project (.succ/config.json). Common keys: llm.type (claude/api), llm.model, llm.api_key, llm.api_url, llm.embeddings.mode (local/api), llm.embeddings.model, llm.analyze.mode (claude/api), llm.analyze.model, llm.quality.mode (local/api), quality_scoring_enabled, sensitive_filter_enabled, graph_auto_link, idle_reflection.enabled, idle_watcher.enabled, retrieval.quality_boost_enabled, retrieval.quality_boost_weight, retrieval.mmr_enabled, retrieval.mmr_lambda, retrieval.query_expansion_enabled, retrieval.query_expansion_mode, error_reporting.enabled, error_reporting.level, error_reporting.max_file_size_mb, error_reporting.webhook_url, error_reporting.sentry_dsn, error_reporting.sentry_environment, error_reporting.sentry_sample_rate', {
46
- key: z
47
- .string()
48
- .describe('Config key to set (e.g., "llm.api_key", "llm.embeddings.mode", "idle_reflection.enabled")'),
49
- value: z
50
- .string()
51
- .describe('Value to set (strings, numbers, booleans as strings: "true"/"false")'),
52
- scope: z
53
- .enum(['global', 'project'])
54
- .optional()
55
- .default('global')
56
- .describe('Where to save: "global" (~/.succ/config.json) or "project" (.succ/config.json). Default: global'),
57
- project_path: projectPathParam,
58
- }, async ({ key, value, scope, project_path }) => {
59
- await applyProjectPath(project_path);
60
- try {
61
- const os = await import('os');
62
- // Determine config path based on scope
63
- let configDir;
64
- let configPath;
65
- if (scope === 'project') {
66
- const succDir = getSuccDir();
67
- if (!fs.existsSync(succDir)) {
49
+ const gated = gateAction('succ_config', action);
50
+ if (gated)
51
+ return gated;
52
+ switch (action) {
53
+ case 'show': {
54
+ try {
55
+ const { getConfigDisplay, formatConfigDisplay } = await import('../../lib/config.js');
56
+ const display = getConfigDisplay(true); // mask secrets
57
+ return {
58
+ content: [
59
+ {
60
+ type: 'text',
61
+ text: formatConfigDisplay(display),
62
+ },
63
+ ],
64
+ };
65
+ }
66
+ catch (error) {
68
67
  return {
69
68
  content: [
70
69
  {
71
70
  type: 'text',
72
- text: 'Project not initialized. Run `succ init` first or use scope="global".',
71
+ text: `Error getting config: ${error.message}`,
73
72
  },
74
73
  ],
75
74
  isError: true,
76
75
  };
77
76
  }
78
- configDir = succDir;
79
- configPath = path.join(succDir, 'config.json');
80
77
  }
81
- else {
82
- configDir = path.join(os.homedir(), '.succ');
83
- configPath = path.join(configDir, 'config.json');
84
- }
85
- // Load existing config
86
- let config = {};
87
- if (fs.existsSync(configPath)) {
88
- config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
89
- }
90
- // Parse value (handle booleans and numbers)
91
- let parsedValue = value;
92
- if (value === 'true')
93
- parsedValue = true;
94
- else if (value === 'false')
95
- parsedValue = false;
96
- else if (!isNaN(Number(value)) && value.trim() !== '')
97
- parsedValue = Number(value);
98
- // Handle nested keys (e.g., "idle_reflection.enabled")
99
- const keys = key.split('.');
100
- if (keys.length === 1) {
101
- config[key] = parsedValue;
102
- }
103
- else {
104
- // Navigate/create nested object
105
- let current = config;
106
- for (let i = 0; i < keys.length - 1; i++) {
107
- if (!current[keys[i]] || typeof current[keys[i]] !== 'object') {
108
- current[keys[i]] = {};
78
+ case 'set': {
79
+ if (!key || !value) {
80
+ return {
81
+ content: [
82
+ {
83
+ type: 'text',
84
+ text: 'Both "key" and "value" are required for action="set".',
85
+ },
86
+ ],
87
+ isError: true,
88
+ };
89
+ }
90
+ try {
91
+ const os = await import('os');
92
+ // Determine config path based on scope
93
+ let configDir;
94
+ let configPath;
95
+ if (scope === 'project') {
96
+ const succDir = getSuccDir();
97
+ if (!fs.existsSync(succDir)) {
98
+ return {
99
+ content: [
100
+ {
101
+ type: 'text',
102
+ text: 'Project not initialized. Run `succ init` first or use scope="global".',
103
+ },
104
+ ],
105
+ isError: true,
106
+ };
107
+ }
108
+ configDir = succDir;
109
+ configPath = path.join(succDir, 'config.json');
110
+ }
111
+ else {
112
+ configDir = path.join(os.homedir(), '.succ');
113
+ configPath = path.join(configDir, 'config.json');
114
+ }
115
+ // Load existing config
116
+ let config = {};
117
+ if (fs.existsSync(configPath)) {
118
+ config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
119
+ }
120
+ // Parse value (handle booleans and numbers)
121
+ let parsedValue = value;
122
+ if (value === 'true')
123
+ parsedValue = true;
124
+ else if (value === 'false')
125
+ parsedValue = false;
126
+ else if (!isNaN(Number(value)) && value.trim() !== '')
127
+ parsedValue = Number(value);
128
+ // Handle nested keys (e.g., "idle_reflection.enabled")
129
+ const keys = key.split('.');
130
+ if (keys.length === 1) {
131
+ config[key] = parsedValue;
132
+ }
133
+ else {
134
+ // Navigate/create nested object
135
+ let current = config;
136
+ for (let i = 0; i < keys.length - 1; i++) {
137
+ if (!current[keys[i]] || typeof current[keys[i]] !== 'object') {
138
+ current[keys[i]] = {};
139
+ }
140
+ current = current[keys[i]];
141
+ }
142
+ current[keys[keys.length - 1]] = parsedValue;
143
+ }
144
+ // Ensure config directory exists
145
+ if (!fs.existsSync(configDir)) {
146
+ fs.mkdirSync(configDir, { recursive: true });
109
147
  }
110
- current = current[keys[i]];
148
+ // Save config
149
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
150
+ return {
151
+ content: [
152
+ {
153
+ type: 'text',
154
+ text: `Config updated (${scope}): ${key} = ${JSON.stringify(parsedValue)}\nSaved to: ${configPath}`,
155
+ },
156
+ ],
157
+ };
158
+ }
159
+ catch (error) {
160
+ return {
161
+ content: [
162
+ {
163
+ type: 'text',
164
+ text: `Error setting config: ${error.message}`,
165
+ },
166
+ ],
167
+ isError: true,
168
+ };
111
169
  }
112
- current[keys[keys.length - 1]] = parsedValue;
113
- }
114
- // Ensure config directory exists
115
- if (!fs.existsSync(configDir)) {
116
- fs.mkdirSync(configDir, { recursive: true });
117
170
  }
118
- // Save config
119
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
120
- return {
121
- content: [
122
- {
123
- type: 'text',
124
- text: `Config updated (${scope}): ${key} = ${JSON.stringify(parsedValue)}\nSaved to: ${configPath}`,
125
- },
126
- ],
127
- };
128
- }
129
- catch (error) {
130
- return {
131
- content: [
132
- {
133
- type: 'text',
134
- text: `Error setting config: ${error.message}`,
135
- },
136
- ],
137
- isError: true,
138
- };
139
- }
140
- });
141
- // Tool: succ_checkpoint - Create and manage checkpoints (full backup/restore)
142
- server.tool('succ_checkpoint', 'Create or list checkpoints (full backup of memories, documents, brain vault). Use "create" to make a backup, "list" to see available checkpoints. Note: Restore requires CLI (succ checkpoint restore <file>).', {
143
- action: z
144
- .enum(['create', 'list'])
145
- .describe('Action: create (new checkpoint) or list (show available)'),
146
- compress: z.boolean().optional().describe('Compress with gzip (default: false)'),
147
- include_brain: z.boolean().optional().describe('Include brain vault files (default: true)'),
148
- include_documents: z
149
- .boolean()
150
- .optional()
151
- .describe('Include indexed documents (default: true)'),
152
- project_path: projectPathParam,
153
- }, async ({ action, compress, include_brain, include_documents, project_path }) => {
154
- await applyProjectPath(project_path);
155
- try {
156
- const { createCheckpoint, listCheckpoints, formatSize } = await import('../../lib/checkpoint.js');
157
- if (action === 'create') {
158
- const { checkpoint: cp, outputPath } = await createCheckpoint({
159
- includeBrain: include_brain ?? true,
160
- includeDocuments: include_documents ?? true,
161
- includeConfig: true,
162
- compress: compress ?? false,
163
- });
164
- const stat = fs.statSync(outputPath);
165
- return {
166
- content: [
167
- {
168
- type: 'text',
169
- text: `Checkpoint created successfully!
171
+ case 'checkpoint_create': {
172
+ try {
173
+ const { createCheckpoint, formatSize } = await import('../../lib/checkpoint.js');
174
+ const { checkpoint: cp, outputPath } = await createCheckpoint({
175
+ includeBrain: include_brain ?? true,
176
+ includeDocuments: include_documents ?? true,
177
+ includeConfig: true,
178
+ compress: compress ?? false,
179
+ });
180
+ const stat = fs.statSync(outputPath);
181
+ return {
182
+ content: [
183
+ {
184
+ type: 'text',
185
+ text: `Checkpoint created successfully!
170
186
 
171
187
  File: ${outputPath}
172
188
  Project: ${cp.project_name}
@@ -180,56 +196,84 @@ Contents:
180
196
  Brain files: ${cp.stats.brain_files_count}
181
197
 
182
198
  To restore: succ checkpoint restore "${outputPath}"`,
183
- },
184
- ],
185
- };
199
+ },
200
+ ],
201
+ };
202
+ }
203
+ catch (error) {
204
+ return {
205
+ content: [
206
+ {
207
+ type: 'text',
208
+ text: `Error: ${error.message}`,
209
+ },
210
+ ],
211
+ isError: true,
212
+ };
213
+ }
214
+ finally {
215
+ closeDb();
216
+ await closeStorageDispatcher();
217
+ }
186
218
  }
187
- else {
188
- // list
189
- const checkpoints = listCheckpoints();
190
- if (checkpoints.length === 0) {
219
+ case 'checkpoint_list': {
220
+ try {
221
+ const { listCheckpoints, formatSize } = await import('../../lib/checkpoint.js');
222
+ const checkpoints = listCheckpoints();
223
+ if (checkpoints.length === 0) {
224
+ return {
225
+ content: [
226
+ {
227
+ type: 'text',
228
+ text: 'No checkpoints found. Create one with: succ_config action="checkpoint_create"',
229
+ },
230
+ ],
231
+ };
232
+ }
233
+ const lines = ['Available checkpoints:\n'];
234
+ for (const cp of checkpoints) {
235
+ const compressed = cp.compressed ? ' (compressed)' : '';
236
+ const date = cp.created_at ? new Date(cp.created_at).toLocaleString() : 'unknown';
237
+ lines.push(` ${cp.name}${compressed}`);
238
+ lines.push(` Created: ${date}`);
239
+ lines.push(` Size: ${formatSize(cp.size)}`);
240
+ lines.push('');
241
+ }
242
+ lines.push(`Total: ${checkpoints.length} checkpoint(s)`);
243
+ return {
244
+ content: [
245
+ {
246
+ type: 'text',
247
+ text: lines.join('\n'),
248
+ },
249
+ ],
250
+ };
251
+ }
252
+ catch (error) {
191
253
  return {
192
254
  content: [
193
255
  {
194
256
  type: 'text',
195
- text: 'No checkpoints found. Create one with: succ_checkpoint action="create"',
257
+ text: `Error: ${error.message}`,
196
258
  },
197
259
  ],
260
+ isError: true,
198
261
  };
199
262
  }
200
- const lines = ['Available checkpoints:\n'];
201
- for (const cp of checkpoints) {
202
- const compressed = cp.compressed ? ' (compressed)' : '';
203
- const date = cp.created_at ? new Date(cp.created_at).toLocaleString() : 'unknown';
204
- lines.push(` ${cp.name}${compressed}`);
205
- lines.push(` Created: ${date}`);
206
- lines.push(` Size: ${formatSize(cp.size)}`);
207
- lines.push('');
263
+ finally {
264
+ closeDb();
208
265
  }
209
- lines.push(`Total: ${checkpoints.length} checkpoint(s)`);
266
+ }
267
+ default:
210
268
  return {
211
269
  content: [
212
270
  {
213
271
  type: 'text',
214
- text: lines.join('\n'),
272
+ text: `Unknown action: "${action}". Valid actions: show, set, checkpoint_create, checkpoint_list`,
215
273
  },
216
274
  ],
275
+ isError: true,
217
276
  };
218
- }
219
- }
220
- catch (error) {
221
- return {
222
- content: [
223
- {
224
- type: 'text',
225
- text: `Error: ${error.message}`,
226
- },
227
- ],
228
- isError: true,
229
- };
230
- }
231
- finally {
232
- closeDb();
233
277
  }
234
278
  });
235
279
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/mcp/tools/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/mcp/tools/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dead-end.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/dead-end.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QAsIrD"}
1
+ {"version":3,"file":"dead-end.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/dead-end.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QA+IrD"}
@@ -12,17 +12,26 @@ import { scoreMemory, passesQualityThreshold, formatQualityScore } from '../../l
12
12
  import { scanSensitive, formatMatches } from '../../lib/sensitive-filter.js';
13
13
  import { projectPathParam, applyProjectPath } from '../helpers.js';
14
14
  export function registerDeadEndTools(server) {
15
- server.tool('succ_dead_end', 'Record a failed approach to prevent retrying it. Stores "tried X, didn\'t work because Y" knowledge. Dead-ends are automatically boosted in recall results so AI agents see them before retrying a failed approach.', {
16
- approach: z.string().describe('What was tried (e.g., "Using Redis for session storage")'),
17
- why_failed: z
18
- .string()
19
- .describe('Why it failed (e.g., "Memory usage too high for our VPS tier")'),
20
- context: z
21
- .string()
22
- .optional()
23
- .describe('Additional context (file paths, error messages, etc.)'),
24
- tags: z.array(z.string()).optional().default([]).describe('Tags for categorization'),
25
- project_path: projectPathParam,
15
+ server.registerTool('succ_dead_end', {
16
+ description: 'Record a failed approach to prevent retrying it. Stores "tried X, didn\'t work because Y" knowledge. Dead-ends are automatically boosted in recall results so AI agents see them before retrying a failed approach.\n\nExamples:\n- succ_dead_end(approach="Redis for sessions", why_failed="Memory too high for VPS", tags=["infra"])',
17
+ inputSchema: {
18
+ approach: z.string().describe('What was tried (e.g., "Using Redis for session storage")'),
19
+ why_failed: z
20
+ .string()
21
+ .describe('Why it failed (e.g., "Memory usage too high for our VPS tier")'),
22
+ context: z
23
+ .string()
24
+ .optional()
25
+ .describe('Additional context (file paths, error messages, etc.)'),
26
+ tags: z.array(z.string()).optional().default([]).describe('Tags for categorization'),
27
+ project_path: projectPathParam,
28
+ },
29
+ annotations: {
30
+ readOnlyHint: false,
31
+ destructiveHint: false,
32
+ idempotentHint: false,
33
+ openWorldHint: false,
34
+ },
26
35
  }, async ({ approach, why_failed, context, tags, project_path }) => {
27
36
  await applyProjectPath(project_path);
28
37
  if (isGlobalOnlyMode()) {
@@ -1 +1 @@
1
- {"version":3,"file":"dead-end.js","sourceRoot":"","sources":["../../../src/mcp/tools/dead-end.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dead-end.js","sourceRoot":"","sources":["../../../src/mcp/tools/dead-end.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/debug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmCpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,QAqWnD"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/debug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmCpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,QA8WnD"}