@polka-codes/cli 0.10.22 → 0.10.24

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 (350) hide show
  1. package/dist/index.js +3990 -353
  2. package/package.json +4 -4
  3. package/dist/ApiProviderConfig.js +0 -57
  4. package/dist/ApiProviderConfig.js.map +0 -1
  5. package/dist/ApiProviderConfig.test.js +0 -278
  6. package/dist/ApiProviderConfig.test.js.map +0 -1
  7. package/dist/agent/advanced-discovery.js +0 -604
  8. package/dist/agent/advanced-discovery.js.map +0 -1
  9. package/dist/agent/config.js +0 -139
  10. package/dist/agent/config.js.map +0 -1
  11. package/dist/agent/config.test.js +0 -140
  12. package/dist/agent/config.test.js.map +0 -1
  13. package/dist/agent/constants.js +0 -172
  14. package/dist/agent/constants.js.map +0 -1
  15. package/dist/agent/constants.test.js +0 -132
  16. package/dist/agent/constants.test.js.map +0 -1
  17. package/dist/agent/debug-logger.js +0 -281
  18. package/dist/agent/debug-logger.js.map +0 -1
  19. package/dist/agent/debug-logger.test.js +0 -294
  20. package/dist/agent/debug-logger.test.js.map +0 -1
  21. package/dist/agent/error-handling.js +0 -114
  22. package/dist/agent/error-handling.js.map +0 -1
  23. package/dist/agent/error-handling.test.js +0 -191
  24. package/dist/agent/error-handling.test.js.map +0 -1
  25. package/dist/agent/errors.js +0 -301
  26. package/dist/agent/errors.js.map +0 -1
  27. package/dist/agent/executor.js +0 -206
  28. package/dist/agent/executor.js.map +0 -1
  29. package/dist/agent/executor.test.js +0 -228
  30. package/dist/agent/executor.test.js.map +0 -1
  31. package/dist/agent/goal-decomposer.js +0 -281
  32. package/dist/agent/goal-decomposer.js.map +0 -1
  33. package/dist/agent/goal-decomposer.test.js +0 -225
  34. package/dist/agent/goal-decomposer.test.js.map +0 -1
  35. package/dist/agent/health-monitor.js +0 -89
  36. package/dist/agent/health-monitor.js.map +0 -1
  37. package/dist/agent/improvement-loop.js +0 -177
  38. package/dist/agent/improvement-loop.js.map +0 -1
  39. package/dist/agent/index.js +0 -38
  40. package/dist/agent/index.js.map +0 -1
  41. package/dist/agent/metrics.js +0 -158
  42. package/dist/agent/metrics.js.map +0 -1
  43. package/dist/agent/metrics.test.js +0 -311
  44. package/dist/agent/metrics.test.js.map +0 -1
  45. package/dist/agent/orchestrator.js +0 -438
  46. package/dist/agent/orchestrator.js.map +0 -1
  47. package/dist/agent/planner.js +0 -199
  48. package/dist/agent/planner.js.map +0 -1
  49. package/dist/agent/planner.test.js +0 -135
  50. package/dist/agent/planner.test.js.map +0 -1
  51. package/dist/agent/progress.js +0 -298
  52. package/dist/agent/progress.js.map +0 -1
  53. package/dist/agent/progress.test.js +0 -255
  54. package/dist/agent/progress.test.js.map +0 -1
  55. package/dist/agent/resource-monitor.js +0 -114
  56. package/dist/agent/resource-monitor.js.map +0 -1
  57. package/dist/agent/safety/approval.js +0 -178
  58. package/dist/agent/safety/approval.js.map +0 -1
  59. package/dist/agent/safety/approval.test.js +0 -142
  60. package/dist/agent/safety/approval.test.js.map +0 -1
  61. package/dist/agent/safety/checks.js +0 -152
  62. package/dist/agent/safety/checks.js.map +0 -1
  63. package/dist/agent/safety/checks.test.js +0 -89
  64. package/dist/agent/safety/checks.test.js.map +0 -1
  65. package/dist/agent/safety/interrupt.js +0 -92
  66. package/dist/agent/safety/interrupt.js.map +0 -1
  67. package/dist/agent/safety/interrupt.test.js +0 -53
  68. package/dist/agent/safety/interrupt.test.js.map +0 -1
  69. package/dist/agent/session.js +0 -117
  70. package/dist/agent/session.js.map +0 -1
  71. package/dist/agent/session.test.js +0 -213
  72. package/dist/agent/session.test.js.map +0 -1
  73. package/dist/agent/state-manager.js +0 -287
  74. package/dist/agent/state-manager.js.map +0 -1
  75. package/dist/agent/task-discovery.js +0 -433
  76. package/dist/agent/task-discovery.js.map +0 -1
  77. package/dist/agent/task-discovery.test.js +0 -40
  78. package/dist/agent/task-discovery.test.js.map +0 -1
  79. package/dist/agent/task-history.js +0 -128
  80. package/dist/agent/task-history.js.map +0 -1
  81. package/dist/agent/task-prioritizer.js +0 -286
  82. package/dist/agent/task-prioritizer.js.map +0 -1
  83. package/dist/agent/test-fixtures.js +0 -112
  84. package/dist/agent/test-fixtures.js.map +0 -1
  85. package/dist/agent/types.js +0 -15
  86. package/dist/agent/types.js.map +0 -1
  87. package/dist/agent/workflow-adapter.js +0 -219
  88. package/dist/agent/workflow-adapter.js.map +0 -1
  89. package/dist/agent/workflow-adapter.test.js +0 -11
  90. package/dist/agent/workflow-adapter.test.js.map +0 -1
  91. package/dist/agent/working-dir-discovery.js +0 -54
  92. package/dist/agent/working-dir-discovery.js.map +0 -1
  93. package/dist/agent/working-space.js +0 -484
  94. package/dist/agent/working-space.js.map +0 -1
  95. package/dist/agent/working-space.test.js +0 -436
  96. package/dist/agent/working-space.test.js.map +0 -1
  97. package/dist/api.js +0 -279
  98. package/dist/api.js.map +0 -1
  99. package/dist/builtin-commands.js +0 -20
  100. package/dist/builtin-commands.js.map +0 -1
  101. package/dist/chunk-2LRQ2QH6.js +0 -1353
  102. package/dist/chunk-FSNPWI3C.js +0 -128
  103. package/dist/chunk-HB7PTE3H.js +0 -176
  104. package/dist/chunk-LLMPMGV3.js +0 -140
  105. package/dist/chunk-NRDSZGMF.js +0 -675
  106. package/dist/chunk-UEEU3SCC.js +0 -390
  107. package/dist/chunk-YPUL66UK.js +0 -277
  108. package/dist/chunk-ZS4K5RFU.js +0 -176
  109. package/dist/chunk-ZU4UU65A.js +0 -40
  110. package/dist/code.workflow-5TAWK2DE.js +0 -10
  111. package/dist/commandSummarizer.js +0 -96
  112. package/dist/commandSummarizer.js.map +0 -1
  113. package/dist/commands/__tests__/command-detection.integration.test.js +0 -238
  114. package/dist/commands/__tests__/command-detection.integration.test.js.map +0 -1
  115. package/dist/commands/__tests__/script-generator.integration.test.js +0 -271
  116. package/dist/commands/__tests__/script-generator.integration.test.js.map +0 -1
  117. package/dist/commands/agent.js +0 -218
  118. package/dist/commands/agent.js.map +0 -1
  119. package/dist/commands/code.js +0 -102
  120. package/dist/commands/code.js.map +0 -1
  121. package/dist/commands/command.constants.js +0 -13
  122. package/dist/commands/command.constants.js.map +0 -1
  123. package/dist/commands/commit.js +0 -17
  124. package/dist/commands/commit.js.map +0 -1
  125. package/dist/commands/fix.js +0 -17
  126. package/dist/commands/fix.js.map +0 -1
  127. package/dist/commands/init.js +0 -501
  128. package/dist/commands/init.js.map +0 -1
  129. package/dist/commands/mcp-server.js +0 -122
  130. package/dist/commands/mcp-server.js.map +0 -1
  131. package/dist/commands/memory.js +0 -410
  132. package/dist/commands/memory.js.map +0 -1
  133. package/dist/commands/memory.test.js +0 -453
  134. package/dist/commands/memory.test.js.map +0 -1
  135. package/dist/commands/meta.js +0 -142
  136. package/dist/commands/meta.js.map +0 -1
  137. package/dist/commands/plan.js +0 -39
  138. package/dist/commands/plan.js.map +0 -1
  139. package/dist/commands/pr.js +0 -14
  140. package/dist/commands/pr.js.map +0 -1
  141. package/dist/commands/review-json.test.js +0 -33
  142. package/dist/commands/review-json.test.js.map +0 -1
  143. package/dist/commands/review.js +0 -137
  144. package/dist/commands/review.js.map +0 -1
  145. package/dist/commands/review.usage.test.js +0 -41
  146. package/dist/commands/review.usage.test.js.map +0 -1
  147. package/dist/commands/run.js +0 -107
  148. package/dist/commands/run.js.map +0 -1
  149. package/dist/commands/skills.js +0 -175
  150. package/dist/commands/skills.js.map +0 -1
  151. package/dist/commands/task.js +0 -34
  152. package/dist/commands/task.js.map +0 -1
  153. package/dist/commands/workflow.js +0 -117
  154. package/dist/commands/workflow.js.map +0 -1
  155. package/dist/commit.workflow-Z64PNSTS.js +0 -9
  156. package/dist/configPrompt.js +0 -39
  157. package/dist/configPrompt.js.map +0 -1
  158. package/dist/env.js +0 -22
  159. package/dist/env.js.map +0 -1
  160. package/dist/errors.js +0 -132
  161. package/dist/errors.js.map +0 -1
  162. package/dist/errors.test.js +0 -21
  163. package/dist/errors.test.js.map +0 -1
  164. package/dist/file-attachments.js +0 -77
  165. package/dist/file-attachments.js.map +0 -1
  166. package/dist/file-attachments.test.js +0 -214
  167. package/dist/file-attachments.test.js.map +0 -1
  168. package/dist/fix.workflow-KLHJU5Z6.js +0 -7
  169. package/dist/getModel.js +0 -229
  170. package/dist/getModel.js.map +0 -1
  171. package/dist/getModel.test.js +0 -67
  172. package/dist/getModel.test.js.map +0 -1
  173. package/dist/getProviderOptions.js +0 -58
  174. package/dist/getProviderOptions.js.map +0 -1
  175. package/dist/git-operations.js +0 -363
  176. package/dist/git-operations.js.map +0 -1
  177. package/dist/git-operations.test.js +0 -81
  178. package/dist/git-operations.test.js.map +0 -1
  179. package/dist/index.js.map +0 -1
  180. package/dist/logger.js +0 -41
  181. package/dist/logger.js.map +0 -1
  182. package/dist/mcp/client.js +0 -11
  183. package/dist/mcp/client.js.map +0 -1
  184. package/dist/mcp/error-scenarios.test.js +0 -206
  185. package/dist/mcp/error-scenarios.test.js.map +0 -1
  186. package/dist/mcp/errors.js +0 -63
  187. package/dist/mcp/errors.js.map +0 -1
  188. package/dist/mcp/index.js +0 -9
  189. package/dist/mcp/index.js.map +0 -1
  190. package/dist/mcp/manager.js +0 -231
  191. package/dist/mcp/manager.js.map +0 -1
  192. package/dist/mcp/manager.test.js +0 -40
  193. package/dist/mcp/manager.test.js.map +0 -1
  194. package/dist/mcp/sdk-client.js +0 -166
  195. package/dist/mcp/sdk-client.js.map +0 -1
  196. package/dist/mcp/shared-types.js +0 -3
  197. package/dist/mcp/shared-types.js.map +0 -1
  198. package/dist/mcp/tools-integration.test.js +0 -198
  199. package/dist/mcp/tools-integration.test.js.map +0 -1
  200. package/dist/mcp/tools.js +0 -60
  201. package/dist/mcp/tools.js.map +0 -1
  202. package/dist/mcp/transport.js +0 -257
  203. package/dist/mcp/transport.js.map +0 -1
  204. package/dist/mcp/types.js +0 -3
  205. package/dist/mcp/types.js.map +0 -1
  206. package/dist/mcp-server/index.js +0 -5
  207. package/dist/mcp-server/index.js.map +0 -1
  208. package/dist/mcp-server/plan-formatting.test.js +0 -74
  209. package/dist/mcp-server/plan-formatting.test.js.map +0 -1
  210. package/dist/mcp-server/sdk-server.js +0 -102
  211. package/dist/mcp-server/sdk-server.js.map +0 -1
  212. package/dist/mcp-server/sdk-server.test.js +0 -363
  213. package/dist/mcp-server/sdk-server.test.js.map +0 -1
  214. package/dist/mcp-server/tools.js +0 -785
  215. package/dist/mcp-server/tools.js.map +0 -1
  216. package/dist/mcp-server/types.js +0 -3
  217. package/dist/mcp-server/types.js.map +0 -1
  218. package/dist/options.js +0 -85
  219. package/dist/options.js.map +0 -1
  220. package/dist/options.test.js +0 -177
  221. package/dist/options.test.js.map +0 -1
  222. package/dist/plan.workflow-P2Y6W4FA.js +0 -8
  223. package/dist/prices.js +0 -61
  224. package/dist/prices.js.map +0 -1
  225. package/dist/prices.test.js +0 -148
  226. package/dist/prices.test.js.map +0 -1
  227. package/dist/review.workflow-I7RHWKU7.js +0 -8
  228. package/dist/runWorkflow.js +0 -313
  229. package/dist/runWorkflow.js.map +0 -1
  230. package/dist/script/__tests__/execution.integration.test.js +0 -274
  231. package/dist/script/__tests__/execution.integration.test.js.map +0 -1
  232. package/dist/script/__tests__/runner.test.js +0 -176
  233. package/dist/script/__tests__/runner.test.js.map +0 -1
  234. package/dist/script/__tests__/validator.test.js +0 -180
  235. package/dist/script/__tests__/validator.test.js.map +0 -1
  236. package/dist/script/executor.js +0 -127
  237. package/dist/script/executor.js.map +0 -1
  238. package/dist/script/index.js +0 -4
  239. package/dist/script/index.js.map +0 -1
  240. package/dist/script/runner.js +0 -258
  241. package/dist/script/runner.js.map +0 -1
  242. package/dist/sdk-client-KBYJRPEG.js +0 -155
  243. package/dist/skillIntegration.js +0 -46
  244. package/dist/skillIntegration.js.map +0 -1
  245. package/dist/skillIntegration.test.js +0 -128
  246. package/dist/skillIntegration.test.js.map +0 -1
  247. package/dist/test/utils.js +0 -200
  248. package/dist/test/utils.js.map +0 -1
  249. package/dist/test/workflow-fixtures.js +0 -120
  250. package/dist/test/workflow-fixtures.js.map +0 -1
  251. package/dist/tool-implementations.js +0 -521
  252. package/dist/tool-implementations.js.map +0 -1
  253. package/dist/tool-implementations.skill-tools.test.js +0 -106
  254. package/dist/tool-implementations.skill-tools.test.js.map +0 -1
  255. package/dist/tools/getTodoItem.js +0 -33
  256. package/dist/tools/getTodoItem.js.map +0 -1
  257. package/dist/tools/gitDiff.js +0 -108
  258. package/dist/tools/gitDiff.js.map +0 -1
  259. package/dist/tools/index.js +0 -8
  260. package/dist/tools/index.js.map +0 -1
  261. package/dist/tools/listMemoryTopics.js +0 -24
  262. package/dist/tools/listMemoryTopics.js.map +0 -1
  263. package/dist/tools/listTodoItems.js +0 -35
  264. package/dist/tools/listTodoItems.js.map +0 -1
  265. package/dist/tools/listTodoItems.test.js +0 -89
  266. package/dist/tools/listTodoItems.test.js.map +0 -1
  267. package/dist/tools/readMemory.js +0 -33
  268. package/dist/tools/readMemory.js.map +0 -1
  269. package/dist/tools/updateMemory.js +0 -62
  270. package/dist/tools/updateMemory.js.map +0 -1
  271. package/dist/tools/updateMemory.test.js +0 -109
  272. package/dist/tools/updateMemory.test.js.map +0 -1
  273. package/dist/tools/updateTodoItem.js +0 -31
  274. package/dist/tools/updateTodoItem.js.map +0 -1
  275. package/dist/tools/utils/diffLineNumbers.js +0 -178
  276. package/dist/tools/utils/diffLineNumbers.js.map +0 -1
  277. package/dist/utils/cacheControl.js +0 -59
  278. package/dist/utils/cacheControl.js.map +0 -1
  279. package/dist/utils/cacheControl.test.js +0 -128
  280. package/dist/utils/cacheControl.test.js.map +0 -1
  281. package/dist/utils/command.js +0 -50
  282. package/dist/utils/command.js.map +0 -1
  283. package/dist/utils/shell.js +0 -56
  284. package/dist/utils/shell.js.map +0 -1
  285. package/dist/utils/userInput.js +0 -47
  286. package/dist/utils/userInput.js.map +0 -1
  287. package/dist/workflow-tools.js +0 -21
  288. package/dist/workflow-tools.js.map +0 -1
  289. package/dist/workflows/agent-builder.js +0 -90
  290. package/dist/workflows/agent-builder.js.map +0 -1
  291. package/dist/workflows/agent-builder.test.js +0 -115
  292. package/dist/workflows/agent-builder.test.js.map +0 -1
  293. package/dist/workflows/code.workflow.js +0 -145
  294. package/dist/workflows/code.workflow.js.map +0 -1
  295. package/dist/workflows/commit.workflow.js +0 -111
  296. package/dist/workflows/commit.workflow.js.map +0 -1
  297. package/dist/workflows/commit.workflow.test.js +0 -141
  298. package/dist/workflows/commit.workflow.test.js.map +0 -1
  299. package/dist/workflows/fix.workflow.js +0 -172
  300. package/dist/workflows/fix.workflow.js.map +0 -1
  301. package/dist/workflows/fix.workflow.test.js +0 -137
  302. package/dist/workflows/fix.workflow.test.js.map +0 -1
  303. package/dist/workflows/git-file-tools.js +0 -408
  304. package/dist/workflows/git-file-tools.js.map +0 -1
  305. package/dist/workflows/index.js +0 -12
  306. package/dist/workflows/index.js.map +0 -1
  307. package/dist/workflows/init-interactive.workflow.js +0 -198
  308. package/dist/workflows/init-interactive.workflow.js.map +0 -1
  309. package/dist/workflows/init.workflow.js +0 -41
  310. package/dist/workflows/init.workflow.js.map +0 -1
  311. package/dist/workflows/meta.workflow.js +0 -107
  312. package/dist/workflows/meta.workflow.js.map +0 -1
  313. package/dist/workflows/plan.workflow.js +0 -275
  314. package/dist/workflows/plan.workflow.js.map +0 -1
  315. package/dist/workflows/plan.workflow.test.js +0 -419
  316. package/dist/workflows/plan.workflow.test.js.map +0 -1
  317. package/dist/workflows/pr.workflow.js +0 -54
  318. package/dist/workflows/pr.workflow.js.map +0 -1
  319. package/dist/workflows/pr.workflow.test.js +0 -98
  320. package/dist/workflows/pr.workflow.test.js.map +0 -1
  321. package/dist/workflows/prompts/coder.js +0 -85
  322. package/dist/workflows/prompts/coder.js.map +0 -1
  323. package/dist/workflows/prompts/commit.js +0 -16
  324. package/dist/workflows/prompts/commit.js.map +0 -1
  325. package/dist/workflows/prompts/fix.js +0 -44
  326. package/dist/workflows/prompts/fix.js.map +0 -1
  327. package/dist/workflows/prompts/index.js +0 -10
  328. package/dist/workflows/prompts/index.js.map +0 -1
  329. package/dist/workflows/prompts/init.js +0 -48
  330. package/dist/workflows/prompts/init.js.map +0 -1
  331. package/dist/workflows/prompts/meta.js +0 -17
  332. package/dist/workflows/prompts/meta.js.map +0 -1
  333. package/dist/workflows/prompts/plan.js +0 -212
  334. package/dist/workflows/prompts/plan.js.map +0 -1
  335. package/dist/workflows/prompts/pr.js +0 -15
  336. package/dist/workflows/prompts/pr.js.map +0 -1
  337. package/dist/workflows/prompts/review.js +0 -145
  338. package/dist/workflows/prompts/review.js.map +0 -1
  339. package/dist/workflows/prompts/shared.js +0 -93
  340. package/dist/workflows/prompts/shared.js.map +0 -1
  341. package/dist/workflows/review.workflow.js +0 -357
  342. package/dist/workflows/review.workflow.js.map +0 -1
  343. package/dist/workflows/task.workflow.js +0 -47
  344. package/dist/workflows/task.workflow.js.map +0 -1
  345. package/dist/workflows/testing/helper.js +0 -41
  346. package/dist/workflows/testing/helper.js.map +0 -1
  347. package/dist/workflows/workflow.utils.js +0 -351
  348. package/dist/workflows/workflow.utils.js.map +0 -1
  349. package/dist/workflows/workflow.utils.test.js +0 -45
  350. 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":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAA;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;KACtD,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,CAAC,KAAa,EAAE,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;KAClH,MAAM,CAAC,2BAA2B,EAAE,cAAc,CAAC;KACnD,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;KACrC,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC;KACpC,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAuG,EAAE,EAAE;IACxH,4EAA4E;IAC5E,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAA;IAEF,+CAA+C;IAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;IACjE,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;IACjE,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;IACjE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEf,yCAAyC;IACzC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACpC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;QACnD,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAE/B,oDAAoD;IACpD,MAAM,KAAK,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAEjD,6CAA6C;IAC7C,uDAAuD;IACvD,MAAM,eAAe,GAAG;QACtB,QAAQ,EAAE,OAAO,CAAC,WAAW;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAA;IACD,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;IAExE,6CAA6C;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACtC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAA;IAC7E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;IACtD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;IAC1D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAClC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC/B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IAC1C,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC7C,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;QAC5C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,kCAAkC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,KAAK,GAAG,CAAC,CAAA;QAC1D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC7C,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;IACnE,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;IAC7D,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACvD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IACzC,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;IAC9E,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC5D,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;IACtD,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;IACtE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;IAC9C,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;IAChF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEf,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;IAE9E,eAAe;IACf,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEtC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;IAErE,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAC1C,iEAAiE;QACjE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,EAAE,IAAI,CAAC,CAAA;QAER,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;QAC9C,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA"}
@@ -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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"}