@polka-codes/cli 0.10.23 → 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 (335) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +3 -3
  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/commandSummarizer.js +0 -96
  102. package/dist/commandSummarizer.js.map +0 -1
  103. package/dist/commands/__tests__/command-detection.integration.test.js +0 -238
  104. package/dist/commands/__tests__/command-detection.integration.test.js.map +0 -1
  105. package/dist/commands/__tests__/script-generator.integration.test.js +0 -271
  106. package/dist/commands/__tests__/script-generator.integration.test.js.map +0 -1
  107. package/dist/commands/agent.js +0 -218
  108. package/dist/commands/agent.js.map +0 -1
  109. package/dist/commands/code.js +0 -102
  110. package/dist/commands/code.js.map +0 -1
  111. package/dist/commands/command.constants.js +0 -13
  112. package/dist/commands/command.constants.js.map +0 -1
  113. package/dist/commands/commit.js +0 -17
  114. package/dist/commands/commit.js.map +0 -1
  115. package/dist/commands/fix.js +0 -17
  116. package/dist/commands/fix.js.map +0 -1
  117. package/dist/commands/init.js +0 -501
  118. package/dist/commands/init.js.map +0 -1
  119. package/dist/commands/mcp-server.js +0 -122
  120. package/dist/commands/mcp-server.js.map +0 -1
  121. package/dist/commands/memory.js +0 -410
  122. package/dist/commands/memory.js.map +0 -1
  123. package/dist/commands/memory.test.js +0 -453
  124. package/dist/commands/memory.test.js.map +0 -1
  125. package/dist/commands/meta.js +0 -142
  126. package/dist/commands/meta.js.map +0 -1
  127. package/dist/commands/plan.js +0 -39
  128. package/dist/commands/plan.js.map +0 -1
  129. package/dist/commands/pr.js +0 -14
  130. package/dist/commands/pr.js.map +0 -1
  131. package/dist/commands/review-json.test.js +0 -33
  132. package/dist/commands/review-json.test.js.map +0 -1
  133. package/dist/commands/review.js +0 -137
  134. package/dist/commands/review.js.map +0 -1
  135. package/dist/commands/review.usage.test.js +0 -41
  136. package/dist/commands/review.usage.test.js.map +0 -1
  137. package/dist/commands/run.js +0 -107
  138. package/dist/commands/run.js.map +0 -1
  139. package/dist/commands/skills.js +0 -175
  140. package/dist/commands/skills.js.map +0 -1
  141. package/dist/commands/task.js +0 -34
  142. package/dist/commands/task.js.map +0 -1
  143. package/dist/commands/workflow.js +0 -117
  144. package/dist/commands/workflow.js.map +0 -1
  145. package/dist/configPrompt.js +0 -39
  146. package/dist/configPrompt.js.map +0 -1
  147. package/dist/env.js +0 -22
  148. package/dist/env.js.map +0 -1
  149. package/dist/errors.js +0 -132
  150. package/dist/errors.js.map +0 -1
  151. package/dist/errors.test.js +0 -21
  152. package/dist/errors.test.js.map +0 -1
  153. package/dist/file-attachments.js +0 -77
  154. package/dist/file-attachments.js.map +0 -1
  155. package/dist/file-attachments.test.js +0 -214
  156. package/dist/file-attachments.test.js.map +0 -1
  157. package/dist/getModel.js +0 -229
  158. package/dist/getModel.js.map +0 -1
  159. package/dist/getModel.test.js +0 -67
  160. package/dist/getModel.test.js.map +0 -1
  161. package/dist/getProviderOptions.js +0 -58
  162. package/dist/getProviderOptions.js.map +0 -1
  163. package/dist/git-operations.js +0 -363
  164. package/dist/git-operations.js.map +0 -1
  165. package/dist/git-operations.test.js +0 -81
  166. package/dist/git-operations.test.js.map +0 -1
  167. package/dist/index.js.map +0 -1
  168. package/dist/logger.js +0 -41
  169. package/dist/logger.js.map +0 -1
  170. package/dist/mcp/client.js +0 -11
  171. package/dist/mcp/client.js.map +0 -1
  172. package/dist/mcp/error-scenarios.test.js +0 -206
  173. package/dist/mcp/error-scenarios.test.js.map +0 -1
  174. package/dist/mcp/errors.js +0 -63
  175. package/dist/mcp/errors.js.map +0 -1
  176. package/dist/mcp/index.js +0 -9
  177. package/dist/mcp/index.js.map +0 -1
  178. package/dist/mcp/manager.js +0 -231
  179. package/dist/mcp/manager.js.map +0 -1
  180. package/dist/mcp/manager.test.js +0 -40
  181. package/dist/mcp/manager.test.js.map +0 -1
  182. package/dist/mcp/sdk-client.js +0 -166
  183. package/dist/mcp/sdk-client.js.map +0 -1
  184. package/dist/mcp/shared-types.js +0 -3
  185. package/dist/mcp/shared-types.js.map +0 -1
  186. package/dist/mcp/tools-integration.test.js +0 -198
  187. package/dist/mcp/tools-integration.test.js.map +0 -1
  188. package/dist/mcp/tools.js +0 -60
  189. package/dist/mcp/tools.js.map +0 -1
  190. package/dist/mcp/transport.js +0 -257
  191. package/dist/mcp/transport.js.map +0 -1
  192. package/dist/mcp/types.js +0 -3
  193. package/dist/mcp/types.js.map +0 -1
  194. package/dist/mcp-server/index.js +0 -5
  195. package/dist/mcp-server/index.js.map +0 -1
  196. package/dist/mcp-server/plan-formatting.test.js +0 -74
  197. package/dist/mcp-server/plan-formatting.test.js.map +0 -1
  198. package/dist/mcp-server/sdk-server.js +0 -102
  199. package/dist/mcp-server/sdk-server.js.map +0 -1
  200. package/dist/mcp-server/sdk-server.test.js +0 -363
  201. package/dist/mcp-server/sdk-server.test.js.map +0 -1
  202. package/dist/mcp-server/tools.js +0 -785
  203. package/dist/mcp-server/tools.js.map +0 -1
  204. package/dist/mcp-server/types.js +0 -3
  205. package/dist/mcp-server/types.js.map +0 -1
  206. package/dist/options.js +0 -85
  207. package/dist/options.js.map +0 -1
  208. package/dist/options.test.js +0 -177
  209. package/dist/options.test.js.map +0 -1
  210. package/dist/prices.js +0 -61
  211. package/dist/prices.js.map +0 -1
  212. package/dist/prices.test.js +0 -148
  213. package/dist/prices.test.js.map +0 -1
  214. package/dist/runWorkflow.js +0 -313
  215. package/dist/runWorkflow.js.map +0 -1
  216. package/dist/script/__tests__/execution.integration.test.js +0 -274
  217. package/dist/script/__tests__/execution.integration.test.js.map +0 -1
  218. package/dist/script/__tests__/runner.test.js +0 -176
  219. package/dist/script/__tests__/runner.test.js.map +0 -1
  220. package/dist/script/__tests__/validator.test.js +0 -180
  221. package/dist/script/__tests__/validator.test.js.map +0 -1
  222. package/dist/script/executor.js +0 -127
  223. package/dist/script/executor.js.map +0 -1
  224. package/dist/script/index.js +0 -4
  225. package/dist/script/index.js.map +0 -1
  226. package/dist/script/runner.js +0 -258
  227. package/dist/script/runner.js.map +0 -1
  228. package/dist/skillIntegration.js +0 -46
  229. package/dist/skillIntegration.js.map +0 -1
  230. package/dist/skillIntegration.test.js +0 -128
  231. package/dist/skillIntegration.test.js.map +0 -1
  232. package/dist/test/utils.js +0 -200
  233. package/dist/test/utils.js.map +0 -1
  234. package/dist/test/workflow-fixtures.js +0 -120
  235. package/dist/test/workflow-fixtures.js.map +0 -1
  236. package/dist/tool-implementations.js +0 -521
  237. package/dist/tool-implementations.js.map +0 -1
  238. package/dist/tool-implementations.skill-tools.test.js +0 -106
  239. package/dist/tool-implementations.skill-tools.test.js.map +0 -1
  240. package/dist/tools/getTodoItem.js +0 -33
  241. package/dist/tools/getTodoItem.js.map +0 -1
  242. package/dist/tools/gitDiff.js +0 -108
  243. package/dist/tools/gitDiff.js.map +0 -1
  244. package/dist/tools/index.js +0 -8
  245. package/dist/tools/index.js.map +0 -1
  246. package/dist/tools/listMemoryTopics.js +0 -24
  247. package/dist/tools/listMemoryTopics.js.map +0 -1
  248. package/dist/tools/listTodoItems.js +0 -35
  249. package/dist/tools/listTodoItems.js.map +0 -1
  250. package/dist/tools/listTodoItems.test.js +0 -89
  251. package/dist/tools/listTodoItems.test.js.map +0 -1
  252. package/dist/tools/readMemory.js +0 -33
  253. package/dist/tools/readMemory.js.map +0 -1
  254. package/dist/tools/updateMemory.js +0 -62
  255. package/dist/tools/updateMemory.js.map +0 -1
  256. package/dist/tools/updateMemory.test.js +0 -109
  257. package/dist/tools/updateMemory.test.js.map +0 -1
  258. package/dist/tools/updateTodoItem.js +0 -31
  259. package/dist/tools/updateTodoItem.js.map +0 -1
  260. package/dist/tools/utils/diffLineNumbers.js +0 -178
  261. package/dist/tools/utils/diffLineNumbers.js.map +0 -1
  262. package/dist/utils/cacheControl.js +0 -59
  263. package/dist/utils/cacheControl.js.map +0 -1
  264. package/dist/utils/cacheControl.test.js +0 -128
  265. package/dist/utils/cacheControl.test.js.map +0 -1
  266. package/dist/utils/command.js +0 -50
  267. package/dist/utils/command.js.map +0 -1
  268. package/dist/utils/shell.js +0 -56
  269. package/dist/utils/shell.js.map +0 -1
  270. package/dist/utils/userInput.js +0 -47
  271. package/dist/utils/userInput.js.map +0 -1
  272. package/dist/workflow-tools.js +0 -21
  273. package/dist/workflow-tools.js.map +0 -1
  274. package/dist/workflows/agent-builder.js +0 -90
  275. package/dist/workflows/agent-builder.js.map +0 -1
  276. package/dist/workflows/agent-builder.test.js +0 -115
  277. package/dist/workflows/agent-builder.test.js.map +0 -1
  278. package/dist/workflows/code.workflow.js +0 -145
  279. package/dist/workflows/code.workflow.js.map +0 -1
  280. package/dist/workflows/commit.workflow.js +0 -111
  281. package/dist/workflows/commit.workflow.js.map +0 -1
  282. package/dist/workflows/commit.workflow.test.js +0 -141
  283. package/dist/workflows/commit.workflow.test.js.map +0 -1
  284. package/dist/workflows/fix.workflow.js +0 -172
  285. package/dist/workflows/fix.workflow.js.map +0 -1
  286. package/dist/workflows/fix.workflow.test.js +0 -137
  287. package/dist/workflows/fix.workflow.test.js.map +0 -1
  288. package/dist/workflows/git-file-tools.js +0 -408
  289. package/dist/workflows/git-file-tools.js.map +0 -1
  290. package/dist/workflows/index.js +0 -12
  291. package/dist/workflows/index.js.map +0 -1
  292. package/dist/workflows/init-interactive.workflow.js +0 -198
  293. package/dist/workflows/init-interactive.workflow.js.map +0 -1
  294. package/dist/workflows/init.workflow.js +0 -41
  295. package/dist/workflows/init.workflow.js.map +0 -1
  296. package/dist/workflows/meta.workflow.js +0 -107
  297. package/dist/workflows/meta.workflow.js.map +0 -1
  298. package/dist/workflows/plan.workflow.js +0 -275
  299. package/dist/workflows/plan.workflow.js.map +0 -1
  300. package/dist/workflows/plan.workflow.test.js +0 -419
  301. package/dist/workflows/plan.workflow.test.js.map +0 -1
  302. package/dist/workflows/pr.workflow.js +0 -54
  303. package/dist/workflows/pr.workflow.js.map +0 -1
  304. package/dist/workflows/pr.workflow.test.js +0 -98
  305. package/dist/workflows/pr.workflow.test.js.map +0 -1
  306. package/dist/workflows/prompts/coder.js +0 -85
  307. package/dist/workflows/prompts/coder.js.map +0 -1
  308. package/dist/workflows/prompts/commit.js +0 -16
  309. package/dist/workflows/prompts/commit.js.map +0 -1
  310. package/dist/workflows/prompts/fix.js +0 -44
  311. package/dist/workflows/prompts/fix.js.map +0 -1
  312. package/dist/workflows/prompts/index.js +0 -10
  313. package/dist/workflows/prompts/index.js.map +0 -1
  314. package/dist/workflows/prompts/init.js +0 -48
  315. package/dist/workflows/prompts/init.js.map +0 -1
  316. package/dist/workflows/prompts/meta.js +0 -17
  317. package/dist/workflows/prompts/meta.js.map +0 -1
  318. package/dist/workflows/prompts/plan.js +0 -212
  319. package/dist/workflows/prompts/plan.js.map +0 -1
  320. package/dist/workflows/prompts/pr.js +0 -15
  321. package/dist/workflows/prompts/pr.js.map +0 -1
  322. package/dist/workflows/prompts/review.js +0 -145
  323. package/dist/workflows/prompts/review.js.map +0 -1
  324. package/dist/workflows/prompts/shared.js +0 -93
  325. package/dist/workflows/prompts/shared.js.map +0 -1
  326. package/dist/workflows/review.workflow.js +0 -357
  327. package/dist/workflows/review.workflow.js.map +0 -1
  328. package/dist/workflows/task.workflow.js +0 -47
  329. package/dist/workflows/task.workflow.js.map +0 -1
  330. package/dist/workflows/testing/helper.js +0 -41
  331. package/dist/workflows/testing/helper.js.map +0 -1
  332. package/dist/workflows/workflow.utils.js +0 -351
  333. package/dist/workflows/workflow.utils.js.map +0 -1
  334. package/dist/workflows/workflow.utils.test.js +0 -45
  335. package/dist/workflows/workflow.utils.test.js.map +0 -1
@@ -1,286 +0,0 @@
1
- import { Priority } from './types';
2
- /**
3
- * Dynamic task prioritizer
4
- *
5
- * Adjusts task priorities based on:
6
- * - Historical execution success/failure
7
- * - Dependency relationships
8
- * - File change frequency
9
- * - Task age
10
- * - Cluster of similar failures
11
- */
12
- export class TaskPrioritizer {
13
- #executionHistory = new Map();
14
- #fileChangeFrequency = new Map();
15
- #MAX_HISTORY_SIZE = 100;
16
- #HIGH_PRIORITY_THRESHOLD = 850;
17
- #LOW_PRIORITY_THRESHOLD = 350;
18
- /**
19
- * Prioritize a list of tasks
20
- */
21
- prioritizeTasks(tasks, allTasks) {
22
- if (tasks.length === 0) {
23
- return tasks;
24
- }
25
- // Calculate priority for each task
26
- const prioritized = tasks.map((task) => {
27
- const result = this.calculatePriority(task, allTasks);
28
- return {
29
- task,
30
- result,
31
- adjustedPriority: result.adjustedPriority,
32
- };
33
- });
34
- // Sort by adjusted priority (highest first)
35
- prioritized.sort((a, b) => b.adjustedPriority - a.adjustedPriority);
36
- // Return tasks in priority order
37
- return prioritized.map((p) => {
38
- // Update task priority
39
- const updatedTask = { ...p.task, priority: p.adjustedPriority };
40
- return updatedTask;
41
- });
42
- }
43
- /**
44
- * Calculate dynamic priority for a task
45
- */
46
- calculatePriority(task, allTasks) {
47
- const originalPriority = task.priority;
48
- const factors = this.gatherFactors(task, allTasks);
49
- const adjustment = this.calculateAdjustment(task, factors);
50
- const adjustedPriority = this.applyAdjustment(originalPriority, adjustment);
51
- const reasoning = this.generateReasoning(task, factors, adjustment);
52
- const confidence = this.calculateConfidence(factors);
53
- return {
54
- originalPriority,
55
- adjustedPriority,
56
- reasoning,
57
- confidence,
58
- };
59
- }
60
- /**
61
- * Gather priority adjustment factors
62
- */
63
- gatherFactors(task, allTasks) {
64
- // Check if task failed before
65
- const history = this.#executionHistory.get(task.id) || [];
66
- const failedBefore = history.some((h) => !h.success);
67
- // Check if task is blocked
68
- const blocked = task.dependencies.length > 0 &&
69
- task.dependencies.some((depId) => {
70
- const dep = allTasks.find((t) => t.id === depId);
71
- return dep && dep.status !== 'completed';
72
- });
73
- // Check if task blocks others
74
- const blocksOthers = allTasks.some((t) => t.dependencies.includes(task.id) && t.status !== 'completed');
75
- // Check file change frequency
76
- let hotFile = false;
77
- for (const file of task.files) {
78
- const freq = this.#fileChangeFrequency.get(file) || 0;
79
- if (freq > 5) {
80
- // Changed more than 5 times recently
81
- hotFile = true;
82
- break;
83
- }
84
- }
85
- // Check for problematic area (similar tasks failed)
86
- const problematicArea = this.isProblematicArea(task);
87
- // Task age
88
- const age = Date.now() - task.createdAt;
89
- return {
90
- failedBefore,
91
- blocked,
92
- blocksOthers,
93
- hotFile,
94
- problematicArea,
95
- age,
96
- retryCount: task.retryCount || 0,
97
- };
98
- }
99
- /**
100
- * Calculate priority adjustment score
101
- */
102
- calculateAdjustment(_task, factors) {
103
- let adjustment = 0;
104
- // Failed before (+200)
105
- if (factors.failedBefore) {
106
- adjustment += 200;
107
- }
108
- // Blocked (-150)
109
- if (factors.blocked) {
110
- adjustment -= 150;
111
- }
112
- // Blocks others (+100)
113
- if (factors.blocksOthers) {
114
- adjustment += 100;
115
- }
116
- // Hot file (+150)
117
- if (factors.hotFile) {
118
- adjustment += 150;
119
- }
120
- // Problematic area (+100)
121
- if (factors.problematicArea) {
122
- adjustment += 100;
123
- }
124
- // Old task (+50 per day, max 150)
125
- const ageInDays = factors.age / (1000 * 60 * 60 * 24);
126
- if (ageInDays > 1) {
127
- adjustment += Math.min(Math.floor(ageInDays) * 50, 150);
128
- }
129
- // High retry count (+100 per retry, max 300)
130
- if (factors.retryCount > 0) {
131
- adjustment += Math.min(factors.retryCount * 100, 300);
132
- }
133
- return adjustment;
134
- }
135
- /**
136
- * Apply adjustment to original priority
137
- */
138
- applyAdjustment(original, adjustment) {
139
- let adjusted = original + adjustment;
140
- // Clamp to valid priority range
141
- adjusted = Math.max(Priority.TRIVIAL, Math.min(Priority.CRITICAL, adjusted));
142
- return adjusted;
143
- }
144
- /**
145
- * Generate human-readable reasoning
146
- */
147
- generateReasoning(task, factors, adjustment) {
148
- const reasons = [];
149
- if (factors.failedBefore) {
150
- reasons.push('failed previously');
151
- }
152
- if (factors.blocked) {
153
- reasons.push('blocked by dependencies');
154
- }
155
- if (factors.blocksOthers) {
156
- reasons.push('blocks other tasks');
157
- }
158
- if (factors.hotFile) {
159
- reasons.push('frequently changed file');
160
- }
161
- if (factors.problematicArea) {
162
- reasons.push('problematic code area');
163
- }
164
- if (factors.age > 86400000) {
165
- // More than 1 day
166
- reasons.push('old task');
167
- }
168
- if (factors.retryCount > 0) {
169
- reasons.push(`retry attempt ${factors.retryCount + 1}`);
170
- }
171
- if (reasons.length === 0) {
172
- return `Priority ${task.priority} (no adjustment)`;
173
- }
174
- const direction = adjustment > 0 ? 'increased' : 'decreased';
175
- return `Priority ${direction} from ${task.priority} to ${task.priority + adjustment} (${reasons.join(', ')})`;
176
- }
177
- /**
178
- * Calculate confidence score
179
- */
180
- calculateConfidence(factors) {
181
- let confidence = 0.5; // Base confidence
182
- // More factors = higher confidence
183
- if (factors.failedBefore)
184
- confidence += 0.15;
185
- if (factors.blocked)
186
- confidence += 0.1;
187
- if (factors.blocksOthers)
188
- confidence += 0.1;
189
- if (factors.hotFile)
190
- confidence += 0.1;
191
- if (factors.problematicArea)
192
- confidence += 0.15;
193
- if (factors.retryCount > 0)
194
- confidence += 0.1;
195
- return Math.min(confidence, 1.0);
196
- }
197
- /**
198
- * Check if task is in a problematic area
199
- */
200
- isProblematicArea(task) {
201
- // Check if similar tasks (same files) failed recently
202
- for (const file of task.files) {
203
- const history = this.#executionHistory.get(file) || [];
204
- const recentFailures = history.filter((h) => !h.success && Date.now() - h.timestamp < 3600000);
205
- if (recentFailures.length >= 2) {
206
- return true;
207
- }
208
- }
209
- return false;
210
- }
211
- /**
212
- * Record task execution result
213
- */
214
- recordExecution(taskId, success) {
215
- const history = this.#executionHistory.get(taskId) || [];
216
- history.push({
217
- success,
218
- timestamp: Date.now(),
219
- });
220
- // Trim history if too large
221
- if (history.length > this.#MAX_HISTORY_SIZE) {
222
- history.shift();
223
- }
224
- this.#executionHistory.set(taskId, history);
225
- }
226
- /**
227
- * Record file change
228
- */
229
- recordFileChange(file) {
230
- const current = this.#fileChangeFrequency.get(file) || 0;
231
- this.#fileChangeFrequency.set(file, current + 1);
232
- // Decay old frequencies periodically (not implemented here)
233
- }
234
- /**
235
- * Reset all history
236
- */
237
- resetHistory() {
238
- this.#executionHistory.clear();
239
- this.#fileChangeFrequency.clear();
240
- }
241
- /**
242
- * Get high priority tasks
243
- */
244
- getHighPriorityTasks(tasks) {
245
- return tasks.filter((t) => t.priority >= this.#HIGH_PRIORITY_THRESHOLD);
246
- }
247
- /**
248
- * Get low priority tasks
249
- */
250
- getLowPriorityTasks(tasks) {
251
- return tasks.filter((t) => t.priority <= this.#LOW_PRIORITY_THRESHOLD);
252
- }
253
- /**
254
- * Get critical tasks
255
- */
256
- getCriticalTasks(tasks) {
257
- return tasks.filter((t) => t.priority === Priority.CRITICAL);
258
- }
259
- /**
260
- * Get prioritization statistics
261
- */
262
- getStatistics() {
263
- let totalExecutions = 0;
264
- let totalSuccesses = 0;
265
- const fileFailures = new Map();
266
- for (const [taskId, history] of this.#executionHistory.entries()) {
267
- totalExecutions += history.length;
268
- totalSuccesses += history.filter((h) => h.success).length;
269
- // Track failures per file (assuming taskId maps to file)
270
- const failures = history.filter((h) => !h.success).length;
271
- if (failures > 0) {
272
- fileFailures.set(taskId, failures);
273
- }
274
- }
275
- const mostProblematicFiles = Array.from(fileFailures.entries())
276
- .map(([file, failures]) => ({ file, failures }))
277
- .sort((a, b) => b.failures - a.failures)
278
- .slice(0, 10);
279
- return {
280
- totalTasksTracked: this.#executionHistory.size,
281
- averageSuccessRate: totalExecutions > 0 ? totalSuccesses / totalExecutions : 1,
282
- mostProblematicFiles,
283
- };
284
- }
285
- }
286
- //# sourceMappingURL=task-prioritizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-prioritizer.js","sourceRoot":"","sources":["../../src/agent/task-prioritizer.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- /**
2
- * Test fixtures and mock utilities for agent testing
3
- *
4
- * Provides properly typed mock objects and factory functions
5
- * to replace unsafe `as any` assertions in tests.
6
- */
7
- /**
8
- * Mock logger for testing
9
- */
10
- export function createMockLogger() {
11
- return {
12
- info: () => { },
13
- warn: () => { },
14
- error: () => { },
15
- debug: () => { },
16
- };
17
- }
18
- /**
19
- * Mock step function for testing
20
- */
21
- export function createMockStepFn() {
22
- return async (_name, optionsOrFn, fn) => {
23
- const actualFn = fn || optionsOrFn;
24
- if (typeof actualFn === 'function') {
25
- return await actualFn();
26
- }
27
- throw new Error('Expected function');
28
- };
29
- }
30
- /**
31
- * Mock tools for testing
32
- */
33
- export function createMockTools() {
34
- return {
35
- executeCommand: async () => ({
36
- exitCode: 0,
37
- stdout: '',
38
- stderr: '',
39
- }),
40
- readFile: async () => ({ content: '' }),
41
- listFiles: async () => [],
42
- writeToFile: async () => { },
43
- removeFile: async () => { },
44
- updateMemory: async () => { },
45
- readMemory: async () => '',
46
- listMemoryTopics: async () => [],
47
- getMemoryContext: async () => '',
48
- };
49
- }
50
- /**
51
- * Mock workflow context for testing
52
- */
53
- export function createMockContext(overrides) {
54
- return {
55
- logger: createMockLogger(),
56
- tools: createMockTools(),
57
- step: createMockStepFn(),
58
- workingDir: '/test/workspace',
59
- stateDir: '/test/state',
60
- sessionId: 'test-session-123',
61
- ...overrides,
62
- };
63
- }
64
- /**
65
- * Mock agent config for testing
66
- */
67
- export function createMockConfig() {
68
- return {
69
- resourceLimits: {
70
- maxMemory: 1024,
71
- maxSessionTime: 60,
72
- maxTaskExecutionTime: 30,
73
- },
74
- approval: {
75
- level: 'none',
76
- autoApproveSafeTasks: true,
77
- maxAutoApprovalCost: 100,
78
- },
79
- destructiveOperations: {
80
- allowBranchDeletion: false,
81
- allowForcePush: false,
82
- allowStagingReset: false,
83
- },
84
- discovery: {
85
- strategy: 'default',
86
- maxTasksPerIteration: 10,
87
- taskPrioritization: true,
88
- },
89
- stateDir: '/test/state',
90
- };
91
- }
92
- /**
93
- * Mock agent state for testing
94
- */
95
- export function createMockState() {
96
- return {
97
- currentMode: 'idle',
98
- currentGoal: null,
99
- config: createMockConfig(),
100
- taskQueue: [],
101
- completedTasks: [],
102
- failedTasks: [],
103
- startTime: Date.now(),
104
- lastActivity: Date.now(),
105
- sessionMetadata: {
106
- pid: process.pid,
107
- hostname: 'localhost',
108
- username: 'test-user',
109
- },
110
- };
111
- }
112
- //# sourceMappingURL=test-fixtures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-fixtures.js","sourceRoot":"","sources":["../../src/agent/test-fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Core type definitions for the autonomous agent system
3
- */
4
- /**
5
- * Priority levels (enum-based for clarity)
6
- */
7
- export var Priority;
8
- (function (Priority) {
9
- Priority[Priority["CRITICAL"] = 1000] = "CRITICAL";
10
- Priority[Priority["HIGH"] = 800] = "HIGH";
11
- Priority[Priority["MEDIUM"] = 600] = "MEDIUM";
12
- Priority[Priority["LOW"] = 400] = "LOW";
13
- Priority[Priority["TRIVIAL"] = 200] = "TRIVIAL";
14
- })(Priority || (Priority = {}));
15
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8BH;;GAEG;AACH,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,kDAAe,CAAA;IACf,yCAAU,CAAA;IACV,6CAAY,CAAA;IACZ,uCAAS,CAAA;IACT,+CAAa,CAAA;AACf,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB"}
@@ -1,219 +0,0 @@
1
- import { WorkflowInvocationError } from './errors';
2
- /**
3
- * Adapts existing workflow outputs to WorkflowExecutionResult format
4
- *
5
- * This layer bridges the gap between existing workflows (which have varying
6
- * return types) and the unified WorkflowExecutionResult format expected by
7
- * the agent orchestrator.
8
- */
9
- /**
10
- * Adapt code workflow result
11
- */
12
- export async function adaptCodeWorkflow(input, context) {
13
- try {
14
- // Dynamic import to avoid circular dependencies
15
- const { codeWorkflow } = await import('../workflows/code.workflow');
16
- const result = await codeWorkflow(input, context);
17
- if (result.success) {
18
- return {
19
- success: true,
20
- data: result,
21
- output: result.summaries.join('\n'),
22
- };
23
- }
24
- else {
25
- return {
26
- success: false,
27
- error: new Error(result.reason || 'Code workflow failed'),
28
- };
29
- }
30
- }
31
- catch (error) {
32
- throw new WorkflowInvocationError('code', error instanceof Error ? error.message : String(error), error instanceof Error ? error : undefined);
33
- }
34
- }
35
- /**
36
- * Adapt fix workflow result
37
- */
38
- export async function adaptFixWorkflow(input, context) {
39
- try {
40
- const { fixWorkflow } = await import('../workflows/fix.workflow');
41
- const result = await fixWorkflow(input, context);
42
- if (result.success) {
43
- return {
44
- success: true,
45
- data: result,
46
- output: result.summaries.join('\n') || 'Fix applied',
47
- };
48
- }
49
- else {
50
- return {
51
- success: false,
52
- error: new Error(result.reason || 'Fix workflow failed'),
53
- };
54
- }
55
- }
56
- catch (error) {
57
- throw new WorkflowInvocationError('fix', error instanceof Error ? error.message : String(error), error instanceof Error ? error : undefined);
58
- }
59
- }
60
- /**
61
- * Adapt plan workflow result
62
- */
63
- export async function adaptPlanWorkflow(input, context) {
64
- try {
65
- const { planWorkflow } = await import('../workflows/plan.workflow');
66
- const result = await planWorkflow(input, context);
67
- if (!result) {
68
- return {
69
- success: false,
70
- error: new Error('Plan not approved'),
71
- };
72
- }
73
- return {
74
- success: true,
75
- data: result,
76
- output: result.plan || 'Plan created',
77
- filesModified: result.files.map((f) => f.path),
78
- };
79
- }
80
- catch (error) {
81
- throw new WorkflowInvocationError('plan', error instanceof Error ? error.message : String(error), error instanceof Error ? error : undefined);
82
- }
83
- }
84
- /**
85
- * Adapt review workflow result
86
- */
87
- export async function adaptReviewWorkflow(input, context) {
88
- try {
89
- const { reviewWorkflow } = await import('../workflows/review.workflow');
90
- const result = await reviewWorkflow(input, context);
91
- // Review workflow always returns successfully
92
- return {
93
- success: true,
94
- data: result,
95
- output: result.overview || 'Review complete',
96
- };
97
- }
98
- catch (error) {
99
- throw new WorkflowInvocationError('review', error instanceof Error ? error.message : String(error), error instanceof Error ? error : undefined);
100
- }
101
- }
102
- /**
103
- * Adapt commit workflow result
104
- */
105
- export async function adaptCommitWorkflow(input, context) {
106
- try {
107
- const { commitWorkflow } = await import('../workflows/commit.workflow');
108
- const result = await commitWorkflow(input, context);
109
- // Commit workflow returns string | void
110
- if (typeof result === 'string') {
111
- return {
112
- success: true,
113
- data: result,
114
- output: `Committed: ${result}`,
115
- };
116
- }
117
- else {
118
- return {
119
- success: true,
120
- data: null,
121
- output: 'Commit workflow completed',
122
- };
123
- }
124
- }
125
- catch (error) {
126
- throw new WorkflowInvocationError('commit', error instanceof Error ? error.message : String(error), error instanceof Error ? error : undefined);
127
- }
128
- }
129
- /**
130
- * Generic workflow invoker
131
- * Routes to the appropriate adapter based on workflow name
132
- *
133
- * @param workflowName - The name of the workflow to invoke
134
- * @param input - Input data for the workflow
135
- * @param context - Workflow context (logger, tools, etc.)
136
- * @param signal - Optional AbortSignal for cancellation
137
- */
138
- export async function invokeWorkflow(workflowName, input, context, signal) {
139
- // Check if operation was aborted before starting
140
- if (signal?.aborted) {
141
- const abortReason = signal.reason ? String(signal.reason) : 'Workflow was cancelled before execution';
142
- throw new WorkflowInvocationError(workflowName, abortReason);
143
- }
144
- // Create a wrapped context that can check abort status
145
- const wrappedContext = signal
146
- ? {
147
- ...context,
148
- checkAbort: () => {
149
- if (signal.aborted) {
150
- const reason = signal.reason ? String(signal.reason) : 'Workflow was cancelled';
151
- throw new WorkflowInvocationError(workflowName, reason);
152
- }
153
- },
154
- }
155
- : context;
156
- // Cast input to proper workflow input type based on workflow name
157
- // The caller is responsible for passing the correct input structure
158
- const workflowInput = input;
159
- // NOTE: Type assertion to CliToolRegistry is needed here because:
160
- // - invokeWorkflow is generic (accepts any ToolRegistry)
161
- // - Actual workflow adapters require CliToolRegistry (full tool set)
162
- // - Agent command currently provides AgentToolsRegistry (subset)
163
- //
164
- // This is a known limitation - see agent.ts lines 86-102 for the TODO
165
- // about refactoring to provide full tool support to the agent.
166
- //
167
- // Runtime errors will occur if workflows try to use tools not provided by the caller.
168
- const cliContext = wrappedContext;
169
- switch (workflowName) {
170
- case 'code':
171
- return adaptCodeWorkflow(workflowInput, cliContext);
172
- case 'fix':
173
- return adaptFixWorkflow(workflowInput, cliContext);
174
- case 'plan':
175
- return adaptPlanWorkflow(workflowInput, cliContext);
176
- case 'review':
177
- return adaptReviewWorkflow(workflowInput, cliContext);
178
- case 'commit':
179
- return adaptCommitWorkflow(workflowInput, cliContext);
180
- default:
181
- throw new WorkflowInvocationError(workflowName, `Unknown workflow: ${workflowName}`);
182
- }
183
- }
184
- /**
185
- * Execute workflow with timeout
186
- * Wraps workflow execution with timeout protection
187
- */
188
- export async function invokeWorkflowWithTimeout(workflowName, input, context, timeoutMs) {
189
- const timeoutPromise = new Promise((_, reject) => {
190
- setTimeout(() => {
191
- reject(new Error(`Workflow ${workflowName} timed out after ${timeoutMs}ms`));
192
- }, timeoutMs);
193
- });
194
- try {
195
- return await Promise.race([invokeWorkflow(workflowName, input, context), timeoutPromise]);
196
- }
197
- catch (error) {
198
- if (error instanceof Error && error.message.includes('timed out')) {
199
- return {
200
- success: false,
201
- error,
202
- };
203
- }
204
- throw error;
205
- }
206
- }
207
- /**
208
- * @deprecated Use invokeWorkflow instead
209
- */
210
- export const WorkflowAdapter = {
211
- adaptCodeWorkflow,
212
- adaptFixWorkflow,
213
- adaptPlanWorkflow,
214
- adaptReviewWorkflow,
215
- adaptCommitWorkflow,
216
- invokeWorkflow,
217
- invokeWorkflowWithTimeout,
218
- };
219
- //# sourceMappingURL=workflow-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-adapter.js","sourceRoot":"","sources":["../../src/agent/workflow-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- /**
3
- * Workflow adapter tests
4
- *
5
- * Note: Unit tests for invokeWorkflow are skipped due to mock.module() state leakage
6
- * from other test files (particularly executor.test.ts which mocks './workflow-adapter').
7
- * The production code is well-tested by integration tests and the executor tests.
8
- */
9
- // Empty test file to maintain test structure
10
- // Actual testing is done via integration tests
11
- //# sourceMappingURL=workflow-adapter.test.js.map