@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,114 +0,0 @@
1
- /**
2
- * Error handling utilities for the agent system
3
- *
4
- * Provides standardized error logging and suppression patterns
5
- * to improve debugging and production troubleshooting.
6
- */
7
- import { createErrorClass } from '@polka-codes/core';
8
- /**
9
- * Helper function to log message with optional stack trace
10
- */
11
- function logWithStack(logger, level, message, error, contextMessage) {
12
- logger[level](message);
13
- if (error?.stack) {
14
- logger.debug(`[${contextMessage}] Stack:`, error.stack);
15
- }
16
- }
17
- /**
18
- * Log strategies for different log levels
19
- * Each strategy handles logging at its specific level with appropriate stack trace handling
20
- */
21
- const logStrategies = {
22
- error: (logger, message, error, contextMessage) => {
23
- logWithStack(logger, 'error', message, error, contextMessage);
24
- },
25
- warn: (logger, message) => logger.warn(message),
26
- debug: (logger, message, error, contextMessage) => {
27
- logWithStack(logger, 'debug', message, error, contextMessage);
28
- },
29
- };
30
- export function logAndSuppress(logger, error, contextMessage, options = {}) {
31
- const { silent = false, level = 'debug', context = {} } = options;
32
- if (silent) {
33
- return;
34
- }
35
- // Extract error message
36
- const message = error instanceof Error ? error.message : String(error);
37
- // Build log message
38
- const fullContext = `[${contextMessage}] ${message}`;
39
- let contextString = '';
40
- if (Object.keys(context).length > 0) {
41
- try {
42
- contextString = ` ${JSON.stringify(context)}`;
43
- }
44
- catch {
45
- // If context contains circular references or can't be stringified,
46
- // fall back to a simple object representation
47
- contextString = ` [context data omitted - circular or non-serializable]`;
48
- }
49
- }
50
- const logMessage = `${fullContext}${contextString}`;
51
- // Use strategy pattern - select appropriate logging strategy
52
- const strategy = logStrategies[level] ?? logStrategies.debug;
53
- strategy(logger, logMessage, error instanceof Error ? error : undefined, contextMessage);
54
- }
55
- /**
56
- * Standard error types for better error categorization
57
- *
58
- * Using createErrorClass factory for consistent error handling
59
- * and proper stack trace preservation.
60
- */
61
- /**
62
- * Error thrown when a file system operation fails
63
- *
64
- * @param path - File or directory path
65
- * @param operation - Operation being performed (read, write, delete, etc.)
66
- * @param cause - Optional underlying error
67
- */
68
- export const FileSystemAccessError = createErrorClass('FileSystemAccessError', (args) => {
69
- const [path, operation] = args;
70
- return `Failed to ${operation} ${path}`;
71
- });
72
- /**
73
- * Error thrown when a command execution fails
74
- *
75
- * @param command - Command that was executed
76
- * @param exitCode - Exit code from the command
77
- * @param _stderr - Standard error output (not shown in message)
78
- * @param cause - Optional underlying error
79
- */
80
- export const CommandExecutionError = createErrorClass('CommandExecutionError', (args) => {
81
- const [command, exitCode] = args;
82
- return `Command failed with code ${exitCode}: ${command}`;
83
- });
84
- /**
85
- * Error thrown when JSON parsing fails
86
- *
87
- * @param filePath - Path to file being parsed
88
- * @param _rawContent - Raw content that failed to parse (not shown in message)
89
- * @param cause - Optional underlying error
90
- */
91
- export const JSONParseError = createErrorClass('JSONParseError', (args) => {
92
- const [filePath] = args;
93
- return `Failed to parse JSON from ${filePath}`;
94
- });
95
- /**
96
- * Safely parse JSON with error handling
97
- *
98
- * Unlike JSON.parse, this provides a structured error with file context.
99
- *
100
- * @param content - JSON string to parse
101
- * @param filePath - File path for error messages
102
- * @returns Parsed object
103
- * @throws {JSONParseError} If JSON parsing fails
104
- */
105
- export function safeJSONParse(content, filePath) {
106
- try {
107
- return JSON.parse(content);
108
- }
109
- catch (error) {
110
- // createErrorClass automatically extracts Error from last argument
111
- throw new JSONParseError(filePath, content, error);
112
- }
113
- }
114
- //# sourceMappingURL=error-handling.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-handling.js","sourceRoot":"","sources":["../../src/agent/error-handling.ts"],"names":[],"mappings":"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"}
@@ -1,191 +0,0 @@
1
- import { beforeEach, describe, expect, it } from 'bun:test';
2
- import { CommandExecutionError, FileSystemAccessError, JSONParseError, logAndSuppress, safeJSONParse } from './error-handling';
3
- describe('error-handling', () => {
4
- describe('logAndSuppress', () => {
5
- let mockLogger;
6
- let logs;
7
- beforeEach(() => {
8
- logs = [];
9
- mockLogger = {
10
- debug: (msg) => logs.push(`debug: ${msg}`),
11
- warn: (msg) => logs.push(`warn: ${msg}`),
12
- error: (msg) => logs.push(`error: ${msg}`),
13
- };
14
- });
15
- it('should log error with debug level by default', () => {
16
- const error = new Error('Test error');
17
- logAndSuppress(mockLogger, error, 'TestContext');
18
- expect(logs).toHaveLength(2); // message + stack
19
- expect(logs[0]).toContain('debug: [TestContext] Test error');
20
- });
21
- it('should log at warn level when specified', () => {
22
- const error = new Error('Test error');
23
- logAndSuppress(mockLogger, error, 'TestContext', { level: 'warn' });
24
- expect(logs).toHaveLength(1);
25
- expect(logs[0]).toContain('warn: [TestContext] Test error');
26
- });
27
- it('should log at error level when specified', () => {
28
- const error = new Error('Test error');
29
- logAndSuppress(mockLogger, error, 'TestContext', { level: 'error' });
30
- expect(logs).toHaveLength(2); // message + stack
31
- expect(logs[0]).toContain('error: [TestContext] Test error');
32
- });
33
- it('should include context in log message', () => {
34
- const error = new Error('Test error');
35
- logAndSuppress(mockLogger, error, 'TestContext', {
36
- context: { key: 'value' },
37
- });
38
- expect(logs[0]).toContain('key');
39
- expect(logs[0]).toContain('value');
40
- });
41
- it('should handle non-Error objects', () => {
42
- logAndSuppress(mockLogger, 'string error', 'TestContext');
43
- expect(logs).toHaveLength(1);
44
- expect(logs[0]).toContain('debug: [TestContext] string error');
45
- });
46
- it('should be silent when silent option is true', () => {
47
- const error = new Error('Test error');
48
- logAndSuppress(mockLogger, error, 'TestContext', { silent: true });
49
- expect(logs).toHaveLength(0);
50
- });
51
- it('should include stack trace for Error objects', () => {
52
- const error = new Error('Test error');
53
- logAndSuppress(mockLogger, error, 'TestContext');
54
- expect(logs).toHaveLength(2);
55
- expect(logs[1]).toContain('Stack:');
56
- });
57
- it('should not include stack trace for non-Error objects', () => {
58
- logAndSuppress(mockLogger, 'string error', 'TestContext');
59
- expect(logs).toHaveLength(1);
60
- });
61
- it('should handle empty context object', () => {
62
- const error = new Error('Test error');
63
- logAndSuppress(mockLogger, error, 'TestContext', {
64
- context: {},
65
- });
66
- expect(logs).toHaveLength(2);
67
- expect(logs[0]).not.toContain('{');
68
- });
69
- });
70
- describe('FileSystemAccessError', () => {
71
- it('should create error with path and operation', () => {
72
- const error = new FileSystemAccessError('/test/path', 'read');
73
- expect(error.name).toBe('FileSystemAccessError');
74
- expect(error.message).toContain('Failed to read /test/path');
75
- expect(error.message).toContain('/test/path');
76
- expect(error.stack).toContain('FileSystemAccessError');
77
- });
78
- it('should accept cause error', () => {
79
- const cause = new Error('Permission denied');
80
- const error = new FileSystemAccessError('/test/path', 'write', cause);
81
- expect(error.cause).toBe(cause);
82
- expect(error.message).toContain('Failed to write /test/path');
83
- });
84
- it('should work without cause', () => {
85
- const error = new FileSystemAccessError('/test/path', 'delete');
86
- expect(error.cause).toBeUndefined();
87
- expect(error.message).toContain('Failed to delete /test/path');
88
- });
89
- });
90
- describe('CommandExecutionError', () => {
91
- it('should create error with command, exit code, and stderr', () => {
92
- const error = new CommandExecutionError('npm install', 1, 'EACCES');
93
- expect(error.name).toBe('CommandExecutionError');
94
- expect(error.message).toContain('npm install');
95
- expect(error.message).toContain('code 1');
96
- expect(error.stack).toContain('CommandExecutionError');
97
- });
98
- it('should accept cause error', () => {
99
- const cause = new Error('Network timeout');
100
- const error = new CommandExecutionError('curl test.com', 28, 'Timeout', cause);
101
- expect(error.cause).toBe(cause);
102
- expect(error.message).toContain('curl test.com');
103
- expect(error.message).toContain('code 28');
104
- });
105
- it('should work without cause', () => {
106
- const error = new CommandExecutionError('ls', 0, '');
107
- expect(error.cause).toBeUndefined();
108
- expect(error.message).toContain('ls');
109
- expect(error.message).toContain('code 0');
110
- });
111
- });
112
- describe('JSONParseError', () => {
113
- it('should create error with file path and content', () => {
114
- const content = '{invalid json';
115
- const error = new JSONParseError('/test/config.json', content);
116
- expect(error.name).toBe('JSONParseError');
117
- expect(error.message).toContain('/test/config.json');
118
- expect(error.message).toContain('Failed to parse JSON');
119
- expect(error.stack).toContain('JSONParseError');
120
- });
121
- it('should accept cause error', () => {
122
- const cause = new Error('Unexpected token');
123
- const error = new JSONParseError('/test/data.json', '{}', cause);
124
- expect(error.cause).toBe(cause);
125
- expect(error.message).toContain('/test/data.json');
126
- });
127
- it('should work without cause', () => {
128
- const error = new JSONParseError('/test/config.json', '{}');
129
- expect(error.cause).toBeUndefined();
130
- expect(error.message).toContain('/test/config.json');
131
- });
132
- });
133
- describe('safeJSONParse', () => {
134
- it('should parse valid JSON', () => {
135
- const content = '{"key":"value"}';
136
- const result = safeJSONParse(content, '/test.json');
137
- expect(result.key).toBe('value');
138
- });
139
- it('should parse JSON arrays', () => {
140
- const content = '[1,2,3]';
141
- const result = safeJSONParse(content, '/test.json');
142
- expect(result).toEqual([1, 2, 3]);
143
- });
144
- it('should parse nested objects', () => {
145
- const content = '{"user":{"name":"test","age":25}}';
146
- const result = safeJSONParse(content, '/test.json');
147
- expect(result.user.name).toBe('test');
148
- expect(result.user.age).toBe(25);
149
- });
150
- it('should throw JSONParseError for invalid JSON', () => {
151
- const content = '{invalid';
152
- expect(() => safeJSONParse(content, '/test.json')).toThrow(JSONParseError);
153
- });
154
- it('should include file path in error', () => {
155
- const content = '{invalid';
156
- expect(() => safeJSONParse(content, '/config/test.json')).toThrow(JSONParseError);
157
- expect(() => safeJSONParse(content, '/config/test.json')).toThrow(expect.objectContaining({
158
- message: expect.stringContaining('/config/test.json'),
159
- cause: expect.any(Error),
160
- }));
161
- });
162
- it('should include raw content in error', () => {
163
- const content = '{invalid json';
164
- expect(() => safeJSONParse(content, '/test.json')).toThrow(JSONParseError);
165
- expect(() => safeJSONParse(content, '/test.json')).toThrow(expect.objectContaining({
166
- message: expect.stringContaining('/test.json'),
167
- cause: expect.any(Error),
168
- }));
169
- });
170
- it('should handle empty JSON object', () => {
171
- const content = '{}';
172
- const result = safeJSONParse(content, '/test.json');
173
- expect(result).toEqual({});
174
- });
175
- it('should handle null JSON', () => {
176
- const content = 'null';
177
- const result = safeJSONParse(content, '/test.json');
178
- expect(result).toBeNull();
179
- });
180
- it('should handle boolean values', () => {
181
- expect(safeJSONParse('true', '/test.json')).toEqual(true);
182
- expect(safeJSONParse('false', '/test.json')).toEqual(false);
183
- });
184
- it('should handle numbers', () => {
185
- expect(safeJSONParse('42', '/test.json')).toEqual(42);
186
- expect(safeJSONParse('3.14', '/test.json')).toEqual(3.14);
187
- expect(safeJSONParse('-10', '/test.json')).toEqual(-10);
188
- });
189
- });
190
- });
191
- //# sourceMappingURL=error-handling.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-handling.test.js","sourceRoot":"","sources":["../../src/agent/error-handling.test.ts"],"names":[],"mappings":"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"}
@@ -1,301 +0,0 @@
1
- /**
2
- * Format any error for display
3
- * Uses enhanced formatting for AgentError, basic formatting for other errors
4
- */
5
- export function formatError(error) {
6
- if (error instanceof AgentError) {
7
- return error.getFormattedMessage();
8
- }
9
- if (error instanceof Error) {
10
- return `❌ ${error.name}: ${error.message}\n ${error.stack || ''}`;
11
- }
12
- return `❌ Error: ${String(error)}`;
13
- }
14
- /**
15
- * Base agent error with enhanced context and suggestions
16
- */
17
- export class AgentError extends Error {
18
- code;
19
- details;
20
- suggestions;
21
- constructor(message, code, details, suggestions) {
22
- super(message);
23
- this.code = code;
24
- this.details = details;
25
- this.suggestions = suggestions;
26
- this.name = 'AgentError';
27
- }
28
- /**
29
- * Get formatted error message with suggestions
30
- */
31
- getFormattedMessage() {
32
- let output = `❌ ${this.message}\n`;
33
- output += ` Error Code: ${this.code}\n`;
34
- if (this.details && Object.keys(this.details).length > 0) {
35
- output += ` Details: ${JSON.stringify(this.details, null, 2)}\n`;
36
- }
37
- if (this.suggestions) {
38
- if (this.suggestions.suggestions.length > 0) {
39
- output += `\n 💡 Suggestions:\n`;
40
- this.suggestions.suggestions.forEach((s, i) => {
41
- output += ` ${i + 1}. ${s}\n`;
42
- });
43
- }
44
- if (this.suggestions.recovery && this.suggestions.recovery.length > 0) {
45
- output += `\n 🔧 Recovery Steps:\n`;
46
- this.suggestions.recovery.forEach((r, i) => {
47
- output += ` ${i + 1}. ${r}\n`;
48
- });
49
- }
50
- if (this.suggestions.files && this.suggestions.files.length > 0) {
51
- output += `\n 📁 Check Files:\n`;
52
- this.suggestions.files.forEach((f) => {
53
- output += ` - ${f}\n`;
54
- });
55
- }
56
- if (this.suggestions.docs && this.suggestions.docs.length > 0) {
57
- output += `\n 📚 Documentation:\n`;
58
- this.suggestions.docs.forEach((d) => {
59
- output += ` - ${d}\n`;
60
- });
61
- }
62
- }
63
- return output;
64
- }
65
- }
66
- /**
67
- * Invalid state transition error
68
- */
69
- export class StateTransitionError extends AgentError {
70
- constructor(from, to, reason) {
71
- const details = { from, to, reason };
72
- const suggestions = {
73
- suggestions: [
74
- `Check if the agent is in the correct state for this operation`,
75
- `Review the state machine in ARCHITECTURE.md`,
76
- `Ensure previous operations completed successfully`,
77
- ],
78
- recovery: [
79
- `Wait for current operation to complete`,
80
- `Call stop() to reset the agent to idle state`,
81
- `Check agent status with getCurrentStatus()`,
82
- ],
83
- files: [
84
- 'packages/cli/src/agent/orchestrator.ts',
85
- 'packages/cli/src/agent/state-manager.ts',
86
- 'packages/cli/src/agent/ARCHITECTURE.md',
87
- ],
88
- };
89
- super(`Invalid state transition from ${from} to ${to}${reason ? `: ${reason}` : ''}`, 'INVALID_STATE_TRANSITION', details, suggestions);
90
- this.name = 'StateTransitionError';
91
- }
92
- }
93
- /**
94
- * Task execution error
95
- */
96
- export class TaskExecutionError extends AgentError {
97
- originalError;
98
- constructor(taskId, message, originalError) {
99
- const details = { taskId, originalError: originalError?.message };
100
- const suggestions = {
101
- suggestions: [
102
- `Check the task logs for more details`,
103
- `Verify all required dependencies are installed`,
104
- `Ensure the task input is valid`,
105
- `Check if there are sufficient system resources`,
106
- ],
107
- recovery: [
108
- `Review the error details above`,
109
- `Fix the underlying issue and retry the task`,
110
- `Use --dry-run to test without making changes`,
111
- `Check logs in the state directory for full stack traces`,
112
- ],
113
- files: ['packages/cli/src/agent/executor.ts', 'packages/cli/src/agent/workflow-adapter.ts'],
114
- docs: ['Task Execution: packages/cli/src/agent/ARCHITECTURE.md#task-executor'],
115
- };
116
- super(`Task ${taskId} failed: ${message}`, 'TASK_EXECUTION_FAILED', details, suggestions);
117
- this.originalError = originalError;
118
- this.name = 'TaskExecutionError';
119
- }
120
- }
121
- /**
122
- * Workflow invocation error
123
- */
124
- export class WorkflowInvocationError extends AgentError {
125
- originalError;
126
- constructor(workflow, message, originalError) {
127
- const details = { workflow, originalError: originalError?.message };
128
- const suggestions = {
129
- suggestions: [
130
- `Verify the workflow name is correct`,
131
- `Check if the workflow exists in packages/cli/src/workflows/`,
132
- `Ensure workflow input matches expected schema`,
133
- `Check if the workflow was cancelled or timed out`,
134
- ],
135
- recovery: [
136
- `Check workflow implementation for issues`,
137
- `Verify all required tools are available`,
138
- `Review workflow input/output format`,
139
- `Test the workflow manually using the CLI`,
140
- ],
141
- files: ['packages/cli/src/agent/workflow-adapter.ts', `packages/cli/src/workflows/${workflow}.workflow.ts`],
142
- docs: ['Workflows: packages/cli/src/agent/ARCHITECTURE.md#workflow-adapter'],
143
- };
144
- super(`Workflow ${workflow} failed: ${message}`, 'WORKFLOW_INVOCATION_FAILED', details, suggestions);
145
- this.originalError = originalError;
146
- this.name = 'WorkflowInvocationError';
147
- }
148
- }
149
- /**
150
- * State corruption error
151
- */
152
- export class StateCorruptionError extends AgentError {
153
- details;
154
- constructor(message, details) {
155
- const suggestions = {
156
- suggestions: [
157
- `State file may have been modified externally`,
158
- `Disk corruption or filesystem issues`,
159
- `Concurrent writes to state file`,
160
- `Incomplete shutdown or crash`,
161
- ],
162
- recovery: [
163
- `Delete the corrupted state file in /tmp/polka-agent-*`,
164
- `Restart the agent to create a fresh state`,
165
- `Check filesystem health and disk space`,
166
- `Ensure no other agent instances are running`,
167
- ],
168
- files: ['packages/cli/src/agent/state-manager.ts', 'packages/cli/src/agent/session.ts'],
169
- };
170
- super(`Agent state corrupted: ${message}`, 'STATE_CORRUPTION', details, suggestions);
171
- this.details = details;
172
- this.name = 'StateCorruptionError';
173
- }
174
- }
175
- /**
176
- * Resource limit exceeded error
177
- */
178
- export class ResourceLimitError extends AgentError {
179
- constructor(limit, current, max) {
180
- const details = { limit, current, max, usagePercent: ((current / max) * 100).toFixed(1) };
181
- const suggestions = {
182
- suggestions: [
183
- `Increase the resource limit in agent config`,
184
- `Reduce task complexity or break into smaller tasks`,
185
- `Close other applications to free up resources`,
186
- `Check for memory leaks or inefficient operations`,
187
- ],
188
- recovery: [
189
- `Wait for current operations to complete`,
190
- `Adjust config.resourceLimits in agent config`,
191
- `Use smaller batch sizes for operations`,
192
- `Monitor resource usage with system tools`,
193
- ],
194
- files: ['packages/cli/src/agent/resource-monitor.ts', 'packages/cli/src/agent/config.ts'],
195
- };
196
- super(`Resource limit exceeded: ${limit} (${current}/${max})`, 'RESOURCE_LIMIT_EXCEEDED', details, suggestions);
197
- this.name = 'ResourceLimitError';
198
- }
199
- }
200
- /**
201
- * Configuration validation error
202
- */
203
- export class ConfigValidationError extends AgentError {
204
- validationErrors;
205
- constructor(message, validationErrors) {
206
- const details = { validationErrors };
207
- const suggestions = {
208
- suggestions: [
209
- `Review your agent configuration file`,
210
- `Check for required fields that are missing`,
211
- `Verify data types match expected values`,
212
- `Ensure enum values are from allowed set`,
213
- ],
214
- recovery: [
215
- `Fix the validation errors listed above`,
216
- `Use --config flag to specify valid config file`,
217
- `Check example config in packages/cli/src/agent/config.ts`,
218
- `Use default config preset: --preset balanced`,
219
- ],
220
- files: ['packages/cli/src/agent/config.ts', 'packages/cli/src/agent/types.ts'],
221
- docs: ['Configuration: packages/cli/src/agent/ARCHITECTURE.md#configuration'],
222
- };
223
- super(`Configuration validation failed: ${message}`, 'CONFIG_VALIDATION_FAILED', details, suggestions);
224
- this.validationErrors = validationErrors;
225
- this.name = 'ConfigValidationError';
226
- }
227
- }
228
- /**
229
- * Session conflict error
230
- */
231
- export class SessionConflictError extends AgentError {
232
- existingSession;
233
- constructor(sessionId, existingSession) {
234
- const details = { sessionId, existingSession };
235
- const suggestions = {
236
- suggestions: [
237
- `Another agent instance is already running`,
238
- `Previous session may not have shut down cleanly`,
239
- `Check for running agent processes`,
240
- ],
241
- recovery: [
242
- `Wait for the other session to complete`,
243
- `Stop the other agent instance if it's hung`,
244
- `Delete stale lock file: /tmp/polka-agent-*.lock`,
245
- `Check processes: ps aux | grep polka`,
246
- ],
247
- files: ['packages/cli/src/agent/session.ts', 'packages/cli/src/agent/orchestrator.ts'],
248
- };
249
- super(`Session conflict: ${sessionId} is already active`, 'SESSION_CONFLICT', details, suggestions);
250
- this.existingSession = existingSession;
251
- this.name = 'SessionConflictError';
252
- }
253
- }
254
- /**
255
- * Agent status error
256
- */
257
- export class AgentStatusError extends AgentError {
258
- constructor(message) {
259
- const suggestions = {
260
- suggestions: [
261
- `Agent may be in an invalid state`,
262
- `Check if the agent was properly initialized`,
263
- `Review the agent lifecycle in ARCHITECTURE.md`,
264
- ],
265
- recovery: [
266
- `Restart the agent to reset its state`,
267
- `Ensure initialize() was called before operations`,
268
- `Check agent state with getCurrentStatus()`,
269
- ],
270
- files: ['packages/cli/src/agent/orchestrator.ts', 'packages/cli/src/agent/ARCHITECTURE.md'],
271
- };
272
- super(message, 'AGENT_STATUS_ERROR', {}, suggestions);
273
- this.name = 'AgentStatusError';
274
- }
275
- }
276
- /**
277
- * Safety violation error
278
- */
279
- export class SafetyViolationError extends AgentError {
280
- constructor(message) {
281
- const suggestions = {
282
- suggestions: [
283
- `Operation was blocked for safety reasons`,
284
- `Review the approval workflow settings`,
285
- `Check if operation is in destructiveOperations blacklist`,
286
- `Ensure proper approval workflow is followed`,
287
- ],
288
- recovery: [
289
- `Adjust approval level in agent config`,
290
- `Manually approve the operation if safe`,
291
- `Update destructiveOperations config if needed`,
292
- `Use --yes flag for auto-approval (use with caution)`,
293
- ],
294
- files: ['packages/cli/src/agent/safety/checks.ts', 'packages/cli/src/agent/safety/approval.ts', 'packages/cli/src/agent/config.ts'],
295
- docs: ['Safety Features: packages/cli/src/agent/ARCHITECTURE.md#safety-features'],
296
- };
297
- super(`Safety violation: ${message}`, 'SAFETY_VIOLATION', {}, suggestions);
298
- this.name = 'SafetyViolationError';
299
- }
300
- }
301
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/agent/errors.ts"],"names":[],"mappings":"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"}