@polka-codes/cli 0.10.23 → 0.10.25

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 (343) hide show
  1. package/dist/bin.cjs +143854 -0
  2. package/dist/bin.d.ts +2 -0
  3. package/dist/bin.d.ts.map +1 -0
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +9201 -9195
  7. package/dist/program.d.ts +3 -0
  8. package/dist/program.d.ts.map +1 -0
  9. package/package.json +6 -7
  10. package/cli.mjs +0 -2
  11. package/dist/ApiProviderConfig.js +0 -57
  12. package/dist/ApiProviderConfig.js.map +0 -1
  13. package/dist/ApiProviderConfig.test.js +0 -278
  14. package/dist/ApiProviderConfig.test.js.map +0 -1
  15. package/dist/agent/advanced-discovery.js +0 -604
  16. package/dist/agent/advanced-discovery.js.map +0 -1
  17. package/dist/agent/config.js +0 -139
  18. package/dist/agent/config.js.map +0 -1
  19. package/dist/agent/config.test.js +0 -140
  20. package/dist/agent/config.test.js.map +0 -1
  21. package/dist/agent/constants.js +0 -172
  22. package/dist/agent/constants.js.map +0 -1
  23. package/dist/agent/constants.test.js +0 -132
  24. package/dist/agent/constants.test.js.map +0 -1
  25. package/dist/agent/debug-logger.js +0 -281
  26. package/dist/agent/debug-logger.js.map +0 -1
  27. package/dist/agent/debug-logger.test.js +0 -294
  28. package/dist/agent/debug-logger.test.js.map +0 -1
  29. package/dist/agent/error-handling.js +0 -114
  30. package/dist/agent/error-handling.js.map +0 -1
  31. package/dist/agent/error-handling.test.js +0 -191
  32. package/dist/agent/error-handling.test.js.map +0 -1
  33. package/dist/agent/errors.js +0 -301
  34. package/dist/agent/errors.js.map +0 -1
  35. package/dist/agent/executor.js +0 -206
  36. package/dist/agent/executor.js.map +0 -1
  37. package/dist/agent/executor.test.js +0 -228
  38. package/dist/agent/executor.test.js.map +0 -1
  39. package/dist/agent/goal-decomposer.js +0 -281
  40. package/dist/agent/goal-decomposer.js.map +0 -1
  41. package/dist/agent/goal-decomposer.test.js +0 -225
  42. package/dist/agent/goal-decomposer.test.js.map +0 -1
  43. package/dist/agent/health-monitor.js +0 -89
  44. package/dist/agent/health-monitor.js.map +0 -1
  45. package/dist/agent/improvement-loop.js +0 -177
  46. package/dist/agent/improvement-loop.js.map +0 -1
  47. package/dist/agent/index.js +0 -38
  48. package/dist/agent/index.js.map +0 -1
  49. package/dist/agent/metrics.js +0 -158
  50. package/dist/agent/metrics.js.map +0 -1
  51. package/dist/agent/metrics.test.js +0 -311
  52. package/dist/agent/metrics.test.js.map +0 -1
  53. package/dist/agent/orchestrator.js +0 -438
  54. package/dist/agent/orchestrator.js.map +0 -1
  55. package/dist/agent/planner.js +0 -199
  56. package/dist/agent/planner.js.map +0 -1
  57. package/dist/agent/planner.test.js +0 -135
  58. package/dist/agent/planner.test.js.map +0 -1
  59. package/dist/agent/progress.js +0 -298
  60. package/dist/agent/progress.js.map +0 -1
  61. package/dist/agent/progress.test.js +0 -255
  62. package/dist/agent/progress.test.js.map +0 -1
  63. package/dist/agent/resource-monitor.js +0 -114
  64. package/dist/agent/resource-monitor.js.map +0 -1
  65. package/dist/agent/safety/approval.js +0 -178
  66. package/dist/agent/safety/approval.js.map +0 -1
  67. package/dist/agent/safety/approval.test.js +0 -142
  68. package/dist/agent/safety/approval.test.js.map +0 -1
  69. package/dist/agent/safety/checks.js +0 -152
  70. package/dist/agent/safety/checks.js.map +0 -1
  71. package/dist/agent/safety/checks.test.js +0 -89
  72. package/dist/agent/safety/checks.test.js.map +0 -1
  73. package/dist/agent/safety/interrupt.js +0 -92
  74. package/dist/agent/safety/interrupt.js.map +0 -1
  75. package/dist/agent/safety/interrupt.test.js +0 -53
  76. package/dist/agent/safety/interrupt.test.js.map +0 -1
  77. package/dist/agent/session.js +0 -117
  78. package/dist/agent/session.js.map +0 -1
  79. package/dist/agent/session.test.js +0 -213
  80. package/dist/agent/session.test.js.map +0 -1
  81. package/dist/agent/state-manager.js +0 -287
  82. package/dist/agent/state-manager.js.map +0 -1
  83. package/dist/agent/task-discovery.js +0 -433
  84. package/dist/agent/task-discovery.js.map +0 -1
  85. package/dist/agent/task-discovery.test.js +0 -40
  86. package/dist/agent/task-discovery.test.js.map +0 -1
  87. package/dist/agent/task-history.js +0 -128
  88. package/dist/agent/task-history.js.map +0 -1
  89. package/dist/agent/task-prioritizer.js +0 -286
  90. package/dist/agent/task-prioritizer.js.map +0 -1
  91. package/dist/agent/test-fixtures.js +0 -112
  92. package/dist/agent/test-fixtures.js.map +0 -1
  93. package/dist/agent/types.js +0 -15
  94. package/dist/agent/types.js.map +0 -1
  95. package/dist/agent/workflow-adapter.js +0 -219
  96. package/dist/agent/workflow-adapter.js.map +0 -1
  97. package/dist/agent/workflow-adapter.test.js +0 -11
  98. package/dist/agent/workflow-adapter.test.js.map +0 -1
  99. package/dist/agent/working-dir-discovery.js +0 -54
  100. package/dist/agent/working-dir-discovery.js.map +0 -1
  101. package/dist/agent/working-space.js +0 -484
  102. package/dist/agent/working-space.js.map +0 -1
  103. package/dist/agent/working-space.test.js +0 -436
  104. package/dist/agent/working-space.test.js.map +0 -1
  105. package/dist/api.js +0 -279
  106. package/dist/api.js.map +0 -1
  107. package/dist/builtin-commands.js +0 -20
  108. package/dist/builtin-commands.js.map +0 -1
  109. package/dist/commandSummarizer.js +0 -96
  110. package/dist/commandSummarizer.js.map +0 -1
  111. package/dist/commands/__tests__/command-detection.integration.test.js +0 -238
  112. package/dist/commands/__tests__/command-detection.integration.test.js.map +0 -1
  113. package/dist/commands/__tests__/script-generator.integration.test.js +0 -271
  114. package/dist/commands/__tests__/script-generator.integration.test.js.map +0 -1
  115. package/dist/commands/agent.js +0 -218
  116. package/dist/commands/agent.js.map +0 -1
  117. package/dist/commands/code.js +0 -102
  118. package/dist/commands/code.js.map +0 -1
  119. package/dist/commands/command.constants.js +0 -13
  120. package/dist/commands/command.constants.js.map +0 -1
  121. package/dist/commands/commit.js +0 -17
  122. package/dist/commands/commit.js.map +0 -1
  123. package/dist/commands/fix.js +0 -17
  124. package/dist/commands/fix.js.map +0 -1
  125. package/dist/commands/init.js +0 -501
  126. package/dist/commands/init.js.map +0 -1
  127. package/dist/commands/mcp-server.js +0 -122
  128. package/dist/commands/mcp-server.js.map +0 -1
  129. package/dist/commands/memory.js +0 -410
  130. package/dist/commands/memory.js.map +0 -1
  131. package/dist/commands/memory.test.js +0 -453
  132. package/dist/commands/memory.test.js.map +0 -1
  133. package/dist/commands/meta.js +0 -142
  134. package/dist/commands/meta.js.map +0 -1
  135. package/dist/commands/plan.js +0 -39
  136. package/dist/commands/plan.js.map +0 -1
  137. package/dist/commands/pr.js +0 -14
  138. package/dist/commands/pr.js.map +0 -1
  139. package/dist/commands/review-json.test.js +0 -33
  140. package/dist/commands/review-json.test.js.map +0 -1
  141. package/dist/commands/review.js +0 -137
  142. package/dist/commands/review.js.map +0 -1
  143. package/dist/commands/review.usage.test.js +0 -41
  144. package/dist/commands/review.usage.test.js.map +0 -1
  145. package/dist/commands/run.js +0 -107
  146. package/dist/commands/run.js.map +0 -1
  147. package/dist/commands/skills.js +0 -175
  148. package/dist/commands/skills.js.map +0 -1
  149. package/dist/commands/task.js +0 -34
  150. package/dist/commands/task.js.map +0 -1
  151. package/dist/commands/workflow.js +0 -117
  152. package/dist/commands/workflow.js.map +0 -1
  153. package/dist/configPrompt.js +0 -39
  154. package/dist/configPrompt.js.map +0 -1
  155. package/dist/env.js +0 -22
  156. package/dist/env.js.map +0 -1
  157. package/dist/errors.js +0 -132
  158. package/dist/errors.js.map +0 -1
  159. package/dist/errors.test.js +0 -21
  160. package/dist/errors.test.js.map +0 -1
  161. package/dist/file-attachments.js +0 -77
  162. package/dist/file-attachments.js.map +0 -1
  163. package/dist/file-attachments.test.js +0 -214
  164. package/dist/file-attachments.test.js.map +0 -1
  165. package/dist/getModel.js +0 -229
  166. package/dist/getModel.js.map +0 -1
  167. package/dist/getModel.test.js +0 -67
  168. package/dist/getModel.test.js.map +0 -1
  169. package/dist/getProviderOptions.js +0 -58
  170. package/dist/getProviderOptions.js.map +0 -1
  171. package/dist/git-operations.js +0 -363
  172. package/dist/git-operations.js.map +0 -1
  173. package/dist/git-operations.test.js +0 -81
  174. package/dist/git-operations.test.js.map +0 -1
  175. package/dist/index.js.map +0 -1
  176. package/dist/logger.js +0 -41
  177. package/dist/logger.js.map +0 -1
  178. package/dist/mcp/client.js +0 -11
  179. package/dist/mcp/client.js.map +0 -1
  180. package/dist/mcp/error-scenarios.test.js +0 -206
  181. package/dist/mcp/error-scenarios.test.js.map +0 -1
  182. package/dist/mcp/errors.js +0 -63
  183. package/dist/mcp/errors.js.map +0 -1
  184. package/dist/mcp/index.js +0 -9
  185. package/dist/mcp/index.js.map +0 -1
  186. package/dist/mcp/manager.js +0 -231
  187. package/dist/mcp/manager.js.map +0 -1
  188. package/dist/mcp/manager.test.js +0 -40
  189. package/dist/mcp/manager.test.js.map +0 -1
  190. package/dist/mcp/sdk-client.js +0 -166
  191. package/dist/mcp/sdk-client.js.map +0 -1
  192. package/dist/mcp/shared-types.js +0 -3
  193. package/dist/mcp/shared-types.js.map +0 -1
  194. package/dist/mcp/tools-integration.test.js +0 -198
  195. package/dist/mcp/tools-integration.test.js.map +0 -1
  196. package/dist/mcp/tools.js +0 -60
  197. package/dist/mcp/tools.js.map +0 -1
  198. package/dist/mcp/transport.js +0 -257
  199. package/dist/mcp/transport.js.map +0 -1
  200. package/dist/mcp/types.js +0 -3
  201. package/dist/mcp/types.js.map +0 -1
  202. package/dist/mcp-server/index.js +0 -5
  203. package/dist/mcp-server/index.js.map +0 -1
  204. package/dist/mcp-server/plan-formatting.test.js +0 -74
  205. package/dist/mcp-server/plan-formatting.test.js.map +0 -1
  206. package/dist/mcp-server/sdk-server.js +0 -102
  207. package/dist/mcp-server/sdk-server.js.map +0 -1
  208. package/dist/mcp-server/sdk-server.test.js +0 -363
  209. package/dist/mcp-server/sdk-server.test.js.map +0 -1
  210. package/dist/mcp-server/tools.js +0 -785
  211. package/dist/mcp-server/tools.js.map +0 -1
  212. package/dist/mcp-server/types.js +0 -3
  213. package/dist/mcp-server/types.js.map +0 -1
  214. package/dist/options.js +0 -85
  215. package/dist/options.js.map +0 -1
  216. package/dist/options.test.js +0 -177
  217. package/dist/options.test.js.map +0 -1
  218. package/dist/prices.js +0 -61
  219. package/dist/prices.js.map +0 -1
  220. package/dist/prices.test.js +0 -148
  221. package/dist/prices.test.js.map +0 -1
  222. package/dist/runWorkflow.js +0 -313
  223. package/dist/runWorkflow.js.map +0 -1
  224. package/dist/script/__tests__/execution.integration.test.js +0 -274
  225. package/dist/script/__tests__/execution.integration.test.js.map +0 -1
  226. package/dist/script/__tests__/runner.test.js +0 -176
  227. package/dist/script/__tests__/runner.test.js.map +0 -1
  228. package/dist/script/__tests__/validator.test.js +0 -180
  229. package/dist/script/__tests__/validator.test.js.map +0 -1
  230. package/dist/script/executor.js +0 -127
  231. package/dist/script/executor.js.map +0 -1
  232. package/dist/script/index.js +0 -4
  233. package/dist/script/index.js.map +0 -1
  234. package/dist/script/runner.js +0 -258
  235. package/dist/script/runner.js.map +0 -1
  236. package/dist/skillIntegration.js +0 -46
  237. package/dist/skillIntegration.js.map +0 -1
  238. package/dist/skillIntegration.test.js +0 -128
  239. package/dist/skillIntegration.test.js.map +0 -1
  240. package/dist/test/utils.js +0 -200
  241. package/dist/test/utils.js.map +0 -1
  242. package/dist/test/workflow-fixtures.js +0 -120
  243. package/dist/test/workflow-fixtures.js.map +0 -1
  244. package/dist/tool-implementations.js +0 -521
  245. package/dist/tool-implementations.js.map +0 -1
  246. package/dist/tool-implementations.skill-tools.test.js +0 -106
  247. package/dist/tool-implementations.skill-tools.test.js.map +0 -1
  248. package/dist/tools/getTodoItem.js +0 -33
  249. package/dist/tools/getTodoItem.js.map +0 -1
  250. package/dist/tools/gitDiff.js +0 -108
  251. package/dist/tools/gitDiff.js.map +0 -1
  252. package/dist/tools/index.js +0 -8
  253. package/dist/tools/index.js.map +0 -1
  254. package/dist/tools/listMemoryTopics.js +0 -24
  255. package/dist/tools/listMemoryTopics.js.map +0 -1
  256. package/dist/tools/listTodoItems.js +0 -35
  257. package/dist/tools/listTodoItems.js.map +0 -1
  258. package/dist/tools/listTodoItems.test.js +0 -89
  259. package/dist/tools/listTodoItems.test.js.map +0 -1
  260. package/dist/tools/readMemory.js +0 -33
  261. package/dist/tools/readMemory.js.map +0 -1
  262. package/dist/tools/updateMemory.js +0 -62
  263. package/dist/tools/updateMemory.js.map +0 -1
  264. package/dist/tools/updateMemory.test.js +0 -109
  265. package/dist/tools/updateMemory.test.js.map +0 -1
  266. package/dist/tools/updateTodoItem.js +0 -31
  267. package/dist/tools/updateTodoItem.js.map +0 -1
  268. package/dist/tools/utils/diffLineNumbers.js +0 -178
  269. package/dist/tools/utils/diffLineNumbers.js.map +0 -1
  270. package/dist/utils/cacheControl.js +0 -59
  271. package/dist/utils/cacheControl.js.map +0 -1
  272. package/dist/utils/cacheControl.test.js +0 -128
  273. package/dist/utils/cacheControl.test.js.map +0 -1
  274. package/dist/utils/command.js +0 -50
  275. package/dist/utils/command.js.map +0 -1
  276. package/dist/utils/shell.js +0 -56
  277. package/dist/utils/shell.js.map +0 -1
  278. package/dist/utils/userInput.js +0 -47
  279. package/dist/utils/userInput.js.map +0 -1
  280. package/dist/workflow-tools.js +0 -21
  281. package/dist/workflow-tools.js.map +0 -1
  282. package/dist/workflows/agent-builder.js +0 -90
  283. package/dist/workflows/agent-builder.js.map +0 -1
  284. package/dist/workflows/agent-builder.test.js +0 -115
  285. package/dist/workflows/agent-builder.test.js.map +0 -1
  286. package/dist/workflows/code.workflow.js +0 -145
  287. package/dist/workflows/code.workflow.js.map +0 -1
  288. package/dist/workflows/commit.workflow.js +0 -111
  289. package/dist/workflows/commit.workflow.js.map +0 -1
  290. package/dist/workflows/commit.workflow.test.js +0 -141
  291. package/dist/workflows/commit.workflow.test.js.map +0 -1
  292. package/dist/workflows/fix.workflow.js +0 -172
  293. package/dist/workflows/fix.workflow.js.map +0 -1
  294. package/dist/workflows/fix.workflow.test.js +0 -137
  295. package/dist/workflows/fix.workflow.test.js.map +0 -1
  296. package/dist/workflows/git-file-tools.js +0 -408
  297. package/dist/workflows/git-file-tools.js.map +0 -1
  298. package/dist/workflows/index.js +0 -12
  299. package/dist/workflows/index.js.map +0 -1
  300. package/dist/workflows/init-interactive.workflow.js +0 -198
  301. package/dist/workflows/init-interactive.workflow.js.map +0 -1
  302. package/dist/workflows/init.workflow.js +0 -41
  303. package/dist/workflows/init.workflow.js.map +0 -1
  304. package/dist/workflows/meta.workflow.js +0 -107
  305. package/dist/workflows/meta.workflow.js.map +0 -1
  306. package/dist/workflows/plan.workflow.js +0 -275
  307. package/dist/workflows/plan.workflow.js.map +0 -1
  308. package/dist/workflows/plan.workflow.test.js +0 -419
  309. package/dist/workflows/plan.workflow.test.js.map +0 -1
  310. package/dist/workflows/pr.workflow.js +0 -54
  311. package/dist/workflows/pr.workflow.js.map +0 -1
  312. package/dist/workflows/pr.workflow.test.js +0 -98
  313. package/dist/workflows/pr.workflow.test.js.map +0 -1
  314. package/dist/workflows/prompts/coder.js +0 -85
  315. package/dist/workflows/prompts/coder.js.map +0 -1
  316. package/dist/workflows/prompts/commit.js +0 -16
  317. package/dist/workflows/prompts/commit.js.map +0 -1
  318. package/dist/workflows/prompts/fix.js +0 -44
  319. package/dist/workflows/prompts/fix.js.map +0 -1
  320. package/dist/workflows/prompts/index.js +0 -10
  321. package/dist/workflows/prompts/index.js.map +0 -1
  322. package/dist/workflows/prompts/init.js +0 -48
  323. package/dist/workflows/prompts/init.js.map +0 -1
  324. package/dist/workflows/prompts/meta.js +0 -17
  325. package/dist/workflows/prompts/meta.js.map +0 -1
  326. package/dist/workflows/prompts/plan.js +0 -212
  327. package/dist/workflows/prompts/plan.js.map +0 -1
  328. package/dist/workflows/prompts/pr.js +0 -15
  329. package/dist/workflows/prompts/pr.js.map +0 -1
  330. package/dist/workflows/prompts/review.js +0 -145
  331. package/dist/workflows/prompts/review.js.map +0 -1
  332. package/dist/workflows/prompts/shared.js +0 -93
  333. package/dist/workflows/prompts/shared.js.map +0 -1
  334. package/dist/workflows/review.workflow.js +0 -357
  335. package/dist/workflows/review.workflow.js.map +0 -1
  336. package/dist/workflows/task.workflow.js +0 -47
  337. package/dist/workflows/task.workflow.js.map +0 -1
  338. package/dist/workflows/testing/helper.js +0 -41
  339. package/dist/workflows/testing/helper.js.map +0 -1
  340. package/dist/workflows/workflow.utils.js +0 -351
  341. package/dist/workflows/workflow.utils.js.map +0 -1
  342. package/dist/workflows/workflow.utils.test.js +0 -45
  343. package/dist/workflows/workflow.utils.test.js.map +0 -1
@@ -1,122 +0,0 @@
1
- // generated by polka.codes
2
- import { Command } from 'commander';
3
- import { createLogger } from '../logger';
4
- import { createPolkaCodesMcpServer, startStdioServer } from '../mcp-server/sdk-server';
5
- import { createPolkaCodesServerTools } from '../mcp-server/tools';
6
- export const mcpServerCommand = new Command('mcp-server')
7
- .description('Start polka-codes as an MCP server')
8
- .option('-c --config <paths>', 'Path to config file(s)', (value, prev) => prev.concat(value), [])
9
- .option('--api-provider <provider>', 'API provider')
10
- .option('--model <model>', 'Model ID')
11
- .option('--api-key <key>', 'API key')
12
- .option('-v, --verbose', 'Enable verbose logging', false)
13
- .action(async (options) => {
14
- // Configure logger to write to stderr (stdout is reserved for MCP protocol)
15
- const logger = createLogger({
16
- verbose: options.verbose ? 1 : 0,
17
- stream: process.stderr,
18
- });
19
- // Print usage information to stderr via logger
20
- logger.info('');
21
- logger.info('╔════════════════════════════════════════════════╗');
22
- logger.info('║ Polka Codes MCP Server ║');
23
- logger.info('╚════════════════════════════════════════════════╝');
24
- logger.info('');
25
- // Print server configuration if provided
26
- if (options.apiProvider || options.model) {
27
- logger.info('Server Configuration:');
28
- if (options.apiProvider) {
29
- logger.info(` Provider: ${options.apiProvider}`);
30
- }
31
- if (options.model) {
32
- logger.info(` Model: ${options.model}`);
33
- }
34
- logger.info('');
35
- }
36
- logger.info('Available Tools:');
37
- // Create tools (pass logger for workflow execution)
38
- const tools = createPolkaCodesServerTools(logger);
39
- // Create and start server using official SDK
40
- // Pass default provider configuration from CLI options
41
- const defaultProvider = {
42
- provider: options.apiProvider,
43
- model: options.model,
44
- apiKey: options.apiKey,
45
- };
46
- const server = createPolkaCodesMcpServer(tools, logger, defaultProvider);
47
- // Print available tools to stderr via logger
48
- for (const tool of tools) {
49
- logger.info(` • ${tool.name}`);
50
- logger.info(` ${tool.description}`);
51
- logger.info('');
52
- }
53
- logger.info('Configuration:');
54
- logger.info('');
55
- logger.info(' To use this MCP server with Claude Code, add to your config:');
56
- logger.info('');
57
- logger.info(' claude mcp add polka polka mcp-server');
58
- logger.info('');
59
- logger.info(' Or manually add to ~/.claude/config.json:');
60
- logger.info(' {');
61
- logger.info(' "mcpServers": {');
62
- logger.info(' "polka": {');
63
- logger.info(' "command": "polka",');
64
- logger.info(' "args": ["mcp-server"]');
65
- if (options.apiProvider || options.model) {
66
- logger.info(' "args": ["mcp-server"');
67
- if (options.apiProvider) {
68
- logger.info(` , "--api-provider", "${options.apiProvider}"`);
69
- }
70
- if (options.model) {
71
- logger.info(` , "--model", "${options.model}"`);
72
- }
73
- logger.info(' ]');
74
- }
75
- else {
76
- logger.info(' "args": ["mcp-server"]');
77
- }
78
- logger.info(' }');
79
- logger.info(' }');
80
- logger.info(' }');
81
- logger.info('');
82
- logger.info('Server-level Provider Options:');
83
- logger.info(' --api-provider <provider> Set default AI provider');
84
- logger.info(' --model <model> Set default model');
85
- logger.info(' --api-key <key> Set API key');
86
- logger.info('');
87
- logger.info('Per-call Override Options:');
88
- logger.info(' Each tool call can override the server defaults by including:');
89
- logger.info(' - provider: Override provider for this call');
90
- logger.info(' - model: Override model for this call');
91
- logger.info(' - parameters: Override model parameters for this call');
92
- logger.info('');
93
- logger.info('Press Ctrl+C to stop the server');
94
- logger.info('═════════════════════════════════════════════════════════════════');
95
- logger.info('');
96
- logger.info('Starting MCP server using official @modelcontextprotocol/sdk...');
97
- // Start server
98
- await startStdioServer(server, logger);
99
- logger.info('MCP server is running and listening for connections...');
100
- // Handle shutdown gracefully
101
- const shutdown = async () => {
102
- logger.info('Shutting down MCP server...');
103
- // Force exit after 5 seconds if graceful shutdown takes too long
104
- const timeout = setTimeout(() => {
105
- logger.warn('Forcing exit after timeout');
106
- process.exit(1);
107
- }, 5000);
108
- try {
109
- await server.close();
110
- }
111
- catch (error) {
112
- logger.error('Error closing server:', error);
113
- }
114
- finally {
115
- clearTimeout(timeout);
116
- }
117
- process.exit(0);
118
- };
119
- process.on('SIGINT', shutdown);
120
- process.on('SIGTERM', shutdown);
121
- });
122
- //# sourceMappingURL=mcp-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/commands/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -1,410 +0,0 @@
1
- // generated by polka.codes
2
- import { mkdir, readFile, writeFile } from 'node:fs/promises';
3
- import { dirname, resolve } from 'node:path';
4
- import { detectProjectScope, getGlobalConfigPath, loadConfigAtPath, MemoryManager, SQLiteMemoryStore, } from '@polka-codes/cli-shared';
5
- import { DEFAULT_MEMORY_CONFIG, resolveHomePath } from '@polka-codes/core';
6
- /**
7
- * Get memory store instance
8
- * @internal Exported for testing purposes
9
- */
10
- export async function getMemoryStore() {
11
- const globalConfigPath = getGlobalConfigPath();
12
- const config = (await loadConfigAtPath(globalConfigPath));
13
- const memoryConfig = config?.memory || DEFAULT_MEMORY_CONFIG;
14
- if (!memoryConfig.enabled || memoryConfig.type === 'memory') {
15
- console.error('Memory store is not enabled. Enable it in config with memory.enabled: true');
16
- process.exit(1);
17
- }
18
- const cwd = process.cwd();
19
- // Detect scope once and pass to SQLite store using shared utility
20
- const scope = detectProjectScope(cwd);
21
- // Create SQLite store implementation with scope
22
- const sqliteStore = new SQLiteMemoryStore(memoryConfig, scope);
23
- // Wrap with MemoryManager for core logic
24
- return new MemoryManager(sqliteStore);
25
- }
26
- /**
27
- * List memory entries
28
- */
29
- export async function memoryList(options) {
30
- const store = await getMemoryStore();
31
- try {
32
- const query = {
33
- scope: 'auto',
34
- };
35
- if (options.type)
36
- query.type = options.type;
37
- if (options.status)
38
- query.status = options.status;
39
- if (options.priority)
40
- query.priority = options.priority;
41
- if (options.tags)
42
- query.tags = options.tags.split(',');
43
- if (options.search)
44
- query.search = options.search;
45
- if (options.limit)
46
- query.limit = options.limit;
47
- if (options.offset)
48
- query.offset = options.offset;
49
- if (options.sortBy)
50
- query.sortBy = options.sortBy;
51
- if (options.sortOrder)
52
- query.sortOrder = options.sortOrder;
53
- const entries = await store.queryMemory(query, { operation: 'select' });
54
- if (options.format === 'json') {
55
- console.log(JSON.stringify(entries, null, 2));
56
- }
57
- else {
58
- // Table format
59
- if (!Array.isArray(entries) || entries.length === 0) {
60
- console.log('No entries found.');
61
- return;
62
- }
63
- console.log('\nMemory Entries:');
64
- console.log('─'.repeat(80));
65
- for (const entry of entries) {
66
- console.log(`\nName: ${entry.name}`);
67
- console.log(`Type: ${entry.entry_type}`);
68
- console.log(`Status: ${entry.status || 'N/A'}`);
69
- console.log(`Priority: ${entry.priority || 'N/A'}`);
70
- console.log(`Tags: ${entry.tags || 'N/A'}`);
71
- console.log(`Updated: ${new Date(entry.updated_at).toLocaleString()}`);
72
- console.log(`Content:\n${entry.content}`);
73
- console.log('─'.repeat(80));
74
- }
75
- console.log(`\nTotal: ${entries.length} entries`);
76
- }
77
- }
78
- finally {
79
- store.close();
80
- }
81
- }
82
- /**
83
- * Read a specific memory entry
84
- */
85
- export async function memoryRead(name, options) {
86
- const store = await getMemoryStore();
87
- try {
88
- const content = await store.readMemory(name);
89
- if (!content) {
90
- console.error(`Memory entry "${name}" not found.`);
91
- process.exit(1);
92
- }
93
- if (options.format === 'json') {
94
- console.log(JSON.stringify({ name, content }, null, 2));
95
- }
96
- else {
97
- console.log(content);
98
- }
99
- }
100
- finally {
101
- store.close();
102
- }
103
- }
104
- /**
105
- * Delete a memory entry
106
- */
107
- export async function memoryDelete(name, options) {
108
- if (!options.force) {
109
- console.log(`Are you sure you want to delete memory entry "${name}"?`);
110
- console.log('This action cannot be undone.');
111
- console.log('Use --force to skip this confirmation.');
112
- process.exit(1);
113
- }
114
- const store = await getMemoryStore();
115
- try {
116
- await store.updateMemory('remove', name, undefined);
117
- console.log(`Memory entry "${name}" deleted.`);
118
- }
119
- finally {
120
- store.close();
121
- }
122
- }
123
- /**
124
- * Rename a memory entry
125
- */
126
- export async function memoryRename(oldName, newName) {
127
- const store = await getMemoryStore();
128
- try {
129
- // Use transaction to atomically check for newName, fetch oldEntry, and perform rename
130
- // This prevents race conditions where concurrent processes could modify data
131
- await store.transaction(async () => {
132
- // Check if old entry exists (within transaction for consistency)
133
- const oldEntries = await store.queryMemory({ name: oldName }, { operation: 'select' });
134
- if (!Array.isArray(oldEntries) || oldEntries.length === 0) {
135
- throw new Error(`Memory entry "${oldName}" not found.`);
136
- }
137
- const oldEntry = oldEntries[0];
138
- // Check if new name already exists (within transaction for consistency)
139
- const newEntries = await store.queryMemory({ name: newName }, { operation: 'select' });
140
- if (Array.isArray(newEntries) && newEntries.length > 0) {
141
- throw new Error(`Memory entry "${newName}" already exists.`);
142
- }
143
- // Perform the rename
144
- await store.batchUpdateMemory([
145
- {
146
- operation: 'replace',
147
- name: newName,
148
- content: oldEntry.content,
149
- metadata: {
150
- entry_type: oldEntry.entry_type,
151
- status: oldEntry.status,
152
- priority: oldEntry.priority,
153
- tags: oldEntry.tags,
154
- created_at: oldEntry.created_at,
155
- updated_at: oldEntry.updated_at,
156
- last_accessed: oldEntry.last_accessed,
157
- },
158
- },
159
- { operation: 'remove', name: oldName },
160
- ]);
161
- });
162
- console.log(`Memory entry renamed from "${oldName}" to "${newName}".`);
163
- }
164
- catch (error) {
165
- if (error instanceof Error) {
166
- if (error.message.includes('already exists') || error.message.includes('not found')) {
167
- console.error(error.message);
168
- process.exit(1);
169
- }
170
- }
171
- throw error;
172
- }
173
- finally {
174
- store.close();
175
- }
176
- }
177
- /**
178
- * Export memory to JSON
179
- */
180
- export async function memoryExport(options) {
181
- const store = await getMemoryStore();
182
- try {
183
- const query = {};
184
- if (options.type)
185
- query.type = options.type;
186
- if (options.scope === 'global') {
187
- query.scope = 'global';
188
- }
189
- else if (options.scope === 'project') {
190
- query.scope = 'project';
191
- }
192
- else {
193
- query.scope = 'auto';
194
- }
195
- const entries = await store.queryMemory(query, { operation: 'select' });
196
- if (!Array.isArray(entries)) {
197
- console.error('Failed to export: query did not return entries');
198
- return;
199
- }
200
- const outputPath = options.output ? resolve(process.cwd(), options.output) : resolve(process.cwd(), `memory-export-${Date.now()}.json`);
201
- // Ensure directory exists
202
- await mkdir(dirname(outputPath), { recursive: true });
203
- await writeFile(outputPath, JSON.stringify(entries, null, 2));
204
- console.log(`Exported ${entries.length} entries to ${outputPath}`);
205
- }
206
- finally {
207
- store.close();
208
- }
209
- }
210
- /**
211
- * Import memory from JSON
212
- */
213
- export async function memoryImport(inputFile, options) {
214
- const store = await getMemoryStore();
215
- try {
216
- const inputPath = resolve(process.cwd(), inputFile);
217
- const data = await readFile(inputPath, 'utf-8');
218
- let entries;
219
- try {
220
- entries = JSON.parse(data);
221
- }
222
- catch (error) {
223
- console.error(`Failed to parse JSON from ${inputPath}:`, error);
224
- process.exit(1);
225
- }
226
- if (!Array.isArray(entries)) {
227
- console.error('Invalid import file format. Expected an array of memory entries.');
228
- process.exit(1);
229
- }
230
- // Collect all valid entries first, then batch import for better performance
231
- const validEntries = [];
232
- const validPriorities = ['low', 'medium', 'high', 'critical'];
233
- let skipped = 0;
234
- // If not merging, we need to check for existing entries upfront
235
- const existingNames = new Set();
236
- if (!options.merge) {
237
- const allEntries = await store.queryMemory({}, { operation: 'select' });
238
- if (Array.isArray(allEntries)) {
239
- for (const entry of allEntries) {
240
- existingNames.add(entry.name);
241
- }
242
- }
243
- }
244
- for (const entry of entries) {
245
- try {
246
- // Validate that entry is an object
247
- if (typeof entry !== 'object' || entry === null) {
248
- console.error('Skipping invalid entry: not an object');
249
- skipped++;
250
- continue;
251
- }
252
- const entryObj = entry;
253
- // Validate required fields
254
- if (!entryObj.name || typeof entryObj.name !== 'string') {
255
- console.error('Skipping invalid entry: missing or invalid name');
256
- skipped++;
257
- continue;
258
- }
259
- const entryName = entryObj.name;
260
- if (!entryObj.content || typeof entryObj.content !== 'string') {
261
- console.error(`Skipping entry "${entryName}": missing or invalid content`);
262
- skipped++;
263
- continue;
264
- }
265
- // Check if entry already exists (when not merging)
266
- if (existingNames.has(entryName)) {
267
- skipped++;
268
- continue;
269
- }
270
- // Validate priority if present
271
- let priority = entryObj.priority;
272
- if (priority && !validPriorities.includes(priority)) {
273
- console.warn(`Entry "${entryName}" has invalid priority "${priority}", defaulting to null`);
274
- priority = undefined;
275
- }
276
- // Validate and cast metadata fields
277
- const entryType = entryObj.entry_type;
278
- const validatedEntryType = typeof entryType === 'string' ? entryType : 'note';
279
- const status = entryObj.status;
280
- const validatedStatus = typeof status === 'string' ? status : undefined;
281
- const tags = entryObj.tags;
282
- const validatedTags = typeof tags === 'string' ? tags : undefined;
283
- // Preserve timestamps if available
284
- const createdAt = entryObj.created_at;
285
- const validatedCreatedAt = typeof createdAt === 'number' ? createdAt : undefined;
286
- const updatedAt = entryObj.updated_at;
287
- const validatedUpdatedAt = typeof updatedAt === 'number' ? updatedAt : undefined;
288
- const lastAccessed = entryObj.last_accessed;
289
- const validatedLastAccessed = typeof lastAccessed === 'number' ? lastAccessed : undefined;
290
- validEntries.push({
291
- operation: 'replace',
292
- name: entryName,
293
- content: entryObj.content,
294
- metadata: {
295
- entry_type: validatedEntryType,
296
- status: validatedStatus,
297
- priority: priority,
298
- tags: validatedTags,
299
- created_at: validatedCreatedAt,
300
- updated_at: validatedUpdatedAt,
301
- last_accessed: validatedLastAccessed,
302
- },
303
- });
304
- }
305
- catch (error) {
306
- console.error(`Failed to process entry:`, error);
307
- skipped++;
308
- }
309
- }
310
- // Batch import all valid entries in a single transaction
311
- if (validEntries.length > 0) {
312
- await store.batchUpdateMemory(validEntries);
313
- }
314
- console.log(`Imported ${validEntries.length} entries, skipped ${skipped} entries.`);
315
- }
316
- finally {
317
- store.close();
318
- }
319
- }
320
- /**
321
- * Show memory statistics
322
- */
323
- export async function memoryStatus() {
324
- const store = await getMemoryStore();
325
- try {
326
- const stats = await store.getStats();
327
- const globalConfigPath = getGlobalConfigPath();
328
- const config = (await loadConfigAtPath(globalConfigPath));
329
- const memoryConfig = config?.memory || { path: '~/.config/polkacodes/memory/memory.sqlite' };
330
- const dbPath = resolveHomePath(memoryConfig.path || '~/.config/polkacodes/memory/memory.sqlite');
331
- console.log('\nMemory Store Status:');
332
- console.log('─'.repeat(80));
333
- console.log(`Database: ${dbPath}`);
334
- console.log(`Total entries: ${stats.totalEntries}`);
335
- console.log(`Database size: ${(stats.databaseSize / 1024).toFixed(2)} KB`);
336
- console.log('\nEntries by type:');
337
- for (const [type, count] of Object.entries(stats.entriesByType)) {
338
- console.log(` ${type}: ${count}`);
339
- }
340
- console.log('─'.repeat(80));
341
- }
342
- finally {
343
- store.close();
344
- }
345
- }
346
- /**
347
- * Register memory commands
348
- */
349
- export function registerMemoryCommands(program) {
350
- const memoryCmd = program.command('memory').description('Memory management commands');
351
- memoryCmd
352
- .command('list')
353
- .description('List memory entries')
354
- .option('--type <type>', 'Filter by type')
355
- .option('--status <status>', 'Filter by status')
356
- .option('--priority <priority>', 'Filter by priority')
357
- .option('--tags <tags>', 'Filter by tags (comma-separated)')
358
- .option('--search <term>', 'Search in content and name')
359
- .option('--limit <number>', 'Limit results', parseInt)
360
- .option('--offset <number>', 'Offset results', parseInt)
361
- .option('--sort-by <field>', 'Sort by field (created, updated, accessed, name)')
362
- .option('--sort-order <order>', 'Sort order (asc, desc)', 'desc')
363
- .option('--format <format>', 'Output format (json, table)', 'table')
364
- .action(async (options) => {
365
- await memoryList(options);
366
- });
367
- memoryCmd
368
- .command('read <name>')
369
- .description('Read a specific memory entry')
370
- .option('--format <format>', 'Output format (json, text)', 'text')
371
- .action(async (name, options) => {
372
- await memoryRead(name, options);
373
- });
374
- memoryCmd
375
- .command('delete <name>')
376
- .description('Delete a memory entry')
377
- .option('--force', 'Skip confirmation')
378
- .action(async (name, options) => {
379
- await memoryDelete(name, options);
380
- });
381
- memoryCmd
382
- .command('rename <oldName> <newName>')
383
- .description('Rename a memory entry')
384
- .action(async (oldName, newName) => {
385
- await memoryRename(oldName, newName);
386
- });
387
- memoryCmd
388
- .command('export')
389
- .description('Export memory to JSON')
390
- .option('--output <file>', 'Output file path')
391
- .option('--type <type>', 'Filter by type')
392
- .option('--scope <scope>', 'Filter by scope (global, project)')
393
- .action(async (options) => {
394
- await memoryExport(options);
395
- });
396
- memoryCmd
397
- .command('import <file>')
398
- .description('Import memory from JSON')
399
- .option('--merge', 'Overwrite existing entries during import (default: skip existing entries)')
400
- .action(async (file, options) => {
401
- await memoryImport(file, options);
402
- });
403
- memoryCmd
404
- .command('status')
405
- .description('Show memory statistics')
406
- .action(async () => {
407
- await memoryStatus();
408
- });
409
- }
410
- //# sourceMappingURL=memory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"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"}