@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,178 +0,0 @@
1
- // generated by polka.codes
2
- // Utility functions for parsing and annotating unified diff format with line numbers
3
- /**
4
- * Parse a unified diff hunk header
5
- * Format: @@ -oldStart,oldCount +newStart,newCount @@ optional context
6
- */
7
- export function parseHunkHeader(header) {
8
- const match = header.match(/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/);
9
- if (!match)
10
- return null;
11
- return {
12
- oldStart: parseInt(match[1], 10),
13
- oldCount: match[2] ? parseInt(match[2], 10) : 1,
14
- newStart: parseInt(match[3], 10),
15
- newCount: match[4] ? parseInt(match[4], 10) : 1,
16
- header,
17
- };
18
- }
19
- /**
20
- * Annotate a diff with line numbers for additions and deletions
21
- * Adds [Line N] for additions and [Line N removed] for deletions
22
- */
23
- export function annotateDiffWithLineNumbers(diff) {
24
- const lines = diff.split('\n');
25
- const annotatedLines = [];
26
- let currentNewLine = 0;
27
- let currentOldLine = 0;
28
- let inHunk = false;
29
- for (const line of lines) {
30
- // Check if this is a hunk header
31
- if (line.startsWith('@@')) {
32
- const hunk = parseHunkHeader(line);
33
- if (hunk) {
34
- currentOldLine = hunk.oldStart;
35
- currentNewLine = hunk.newStart;
36
- inHunk = true;
37
- }
38
- annotatedLines.push(line);
39
- continue;
40
- }
41
- // Skip file headers and other metadata
42
- if (line.startsWith('diff --git') || line.startsWith('index ') || line.startsWith('---') || line.startsWith('+++')) {
43
- annotatedLines.push(line);
44
- inHunk = false;
45
- continue;
46
- }
47
- // Only annotate lines within hunks
48
- if (!inHunk) {
49
- annotatedLines.push(line);
50
- continue;
51
- }
52
- // Handle diff lines
53
- if (line.startsWith('+') && !line.startsWith('+++')) {
54
- // Addition - annotate with new file line number
55
- annotatedLines.push(`${line} [Line ${currentNewLine}]`);
56
- currentNewLine++;
57
- }
58
- else if (line.startsWith('-') && !line.startsWith('---')) {
59
- // Deletion - annotate with old file line number
60
- annotatedLines.push(`${line} [Line ${currentOldLine} removed]`);
61
- currentOldLine++;
62
- }
63
- else if (line.startsWith(' ')) {
64
- // Context line - both line numbers advance
65
- annotatedLines.push(line);
66
- currentOldLine++;
67
- currentNewLine++;
68
- }
69
- else {
70
- // Other lines (shouldn't happen in a proper diff, but handle gracefully)
71
- annotatedLines.push(line);
72
- }
73
- }
74
- return annotatedLines.join('\n');
75
- }
76
- /**
77
- * Extract line ranges from a diff for a specific file
78
- * Returns an array of line ranges that were modified
79
- */
80
- export function extractModifiedLineRanges(diff, filePath) {
81
- const lines = diff.split('\n');
82
- const ranges = [];
83
- let currentFile = '';
84
- let currentNewLine = 0;
85
- let currentOldLine = 0;
86
- let inHunk = false;
87
- let addedLines = [];
88
- let removedLines = [];
89
- for (const line of lines) {
90
- // Track current file
91
- if (line.startsWith('diff --git')) {
92
- // Extract filename from diff header
93
- const match = line.match(/diff --git a\/(.*?) b\//);
94
- if (match) {
95
- currentFile = match[1];
96
- }
97
- // Reset for new file
98
- addedLines = [];
99
- removedLines = [];
100
- continue;
101
- }
102
- // Skip if we're looking for a specific file and this isn't it
103
- if (filePath && currentFile !== filePath) {
104
- continue;
105
- }
106
- // Check if this is a hunk header
107
- if (line.startsWith('@@')) {
108
- // Process any accumulated changes from previous hunk
109
- if (addedLines.length > 0 || removedLines.length > 0) {
110
- processAccumulatedChanges(addedLines, removedLines, ranges);
111
- addedLines = [];
112
- removedLines = [];
113
- }
114
- const hunk = parseHunkHeader(line);
115
- if (hunk) {
116
- currentOldLine = hunk.oldStart;
117
- currentNewLine = hunk.newStart;
118
- inHunk = true;
119
- }
120
- continue;
121
- }
122
- if (!inHunk)
123
- continue;
124
- // Track modifications
125
- if (line.startsWith('+') && !line.startsWith('+++')) {
126
- addedLines.push(currentNewLine);
127
- currentNewLine++;
128
- }
129
- else if (line.startsWith('-') && !line.startsWith('---')) {
130
- removedLines.push(currentOldLine);
131
- currentOldLine++;
132
- }
133
- else if (line.startsWith(' ')) {
134
- // Context line - process any accumulated changes
135
- if (addedLines.length > 0 || removedLines.length > 0) {
136
- processAccumulatedChanges(addedLines, removedLines, ranges);
137
- addedLines = [];
138
- removedLines = [];
139
- }
140
- currentOldLine++;
141
- currentNewLine++;
142
- }
143
- }
144
- // Process any remaining accumulated changes
145
- if (addedLines.length > 0 || removedLines.length > 0) {
146
- processAccumulatedChanges(addedLines, removedLines, ranges);
147
- }
148
- return ranges;
149
- }
150
- function processAccumulatedChanges(addedLines, removedLines, ranges) {
151
- if (addedLines.length > 0 && removedLines.length > 0) {
152
- // Modified lines
153
- if (addedLines.length > 0) {
154
- ranges.push({
155
- start: Math.min(...addedLines),
156
- end: Math.max(...addedLines),
157
- type: 'modified',
158
- });
159
- }
160
- }
161
- else if (addedLines.length > 0) {
162
- // Only additions
163
- ranges.push({
164
- start: Math.min(...addedLines),
165
- end: Math.max(...addedLines),
166
- type: 'added',
167
- });
168
- }
169
- else if (removedLines.length > 0) {
170
- // Only removals
171
- ranges.push({
172
- start: Math.min(...removedLines),
173
- end: Math.max(...removedLines),
174
- type: 'removed',
175
- });
176
- }
177
- }
178
- //# sourceMappingURL=diffLineNumbers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diffLineNumbers.js","sourceRoot":"","sources":["../../../src/tools/utils/diffLineNumbers.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- // Cache control configuration
2
- const CACHEABLE_MODELS = ['sonnet', 'opus', 'haiku', 'gemini'];
3
- /**
4
- * Checks if a model supports caching based on model ID
5
- */
6
- function isCacheableModel(modelId) {
7
- return CACHEABLE_MODELS.some((model) => modelId.includes(model));
8
- }
9
- /**
10
- * Determines the provider key for cache control based on provider string
11
- */
12
- function getProviderKey(provider) {
13
- if (provider === 'openrouter') {
14
- return 'openrouter';
15
- }
16
- if (provider.includes('anthropic')) {
17
- return 'anthropic';
18
- }
19
- return undefined;
20
- }
21
- /**
22
- * Applies cache control to messages for Anthropic and OpenRouter providers.
23
- * Adds ephemeral cache control to the last 2 user messages and system message.
24
- */
25
- export function applyCacheControl(messages, provider, modelId) {
26
- const providerKey = getProviderKey(provider);
27
- if (!providerKey || !isCacheableModel(modelId)) {
28
- return messages;
29
- }
30
- const providerOptions = { [providerKey]: { cacheControl: { type: 'ephemeral' } } };
31
- const newMessages = messages.slice();
32
- let userMessagesToUpdate = 2;
33
- // Iterate backwards to find the system message and the last two user messages
34
- for (let i = newMessages.length - 1; i >= 0; i--) {
35
- const message = newMessages[i];
36
- const isUser = message.role === 'user';
37
- const isSystem = message.role === 'system';
38
- if ((isUser && userMessagesToUpdate > 0) || isSystem) {
39
- newMessages[i] = {
40
- ...message,
41
- providerOptions: {
42
- ...message.providerOptions,
43
- [providerKey]: {
44
- ...(message.providerOptions?.[providerKey] ?? {}),
45
- ...providerOptions[providerKey],
46
- },
47
- },
48
- };
49
- if (isUser) {
50
- userMessagesToUpdate--;
51
- }
52
- else if (isSystem) {
53
- break; // Stop after updating the last system message
54
- }
55
- }
56
- }
57
- return newMessages;
58
- }
59
- //# sourceMappingURL=cacheControl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cacheControl.js","sourceRoot":"","sources":["../../src/utils/cacheControl.ts"],"names":[],"mappings":"AAEA,8BAA8B;AAC9B,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;AAE9D;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;AAClE,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAwB,EAAE,QAAgB,EAAE,OAAe;IAC3F,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IAE5C,IAAI,CAAC,WAAW,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IAElF,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;IACpC,IAAI,oBAAoB,GAAG,CAAC,CAAA;IAE5B,8EAA8E;IAC9E,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAA;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAA;QAE1C,IAAI,CAAC,MAAM,IAAI,oBAAoB,GAAG,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;YACrD,WAAW,CAAC,CAAC,CAAC,GAAG;gBACf,GAAG,OAAO;gBACV,eAAe,EAAE;oBACf,GAAG,OAAO,CAAC,eAAe;oBAC1B,CAAC,WAAW,CAAC,EAAE;wBACb,GAAG,CAAE,OAAO,CAAC,eAAe,EAAE,CAAC,WAAW,CAAyB,IAAI,EAAE,CAAC;wBAC1E,GAAG,eAAe,CAAC,WAAW,CAAC;qBAChC;iBACF;aACF,CAAA;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,oBAAoB,EAAE,CAAA;YACxB,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,MAAK,CAAC,8CAA8C;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC"}
@@ -1,128 +0,0 @@
1
- import { describe, expect, test } from 'bun:test';
2
- import { applyCacheControl } from './cacheControl';
3
- describe('applyCacheControl', () => {
4
- const baseMessages = [
5
- { role: 'system', content: 'System message' },
6
- { role: 'user', content: 'User message 1' },
7
- { role: 'assistant', content: 'Assistant message 1' },
8
- { role: 'user', content: 'User message 2' },
9
- { role: 'assistant', content: 'Assistant message 2' },
10
- { role: 'user', content: 'User message 3' },
11
- ];
12
- test('should not apply cache control for non-cacheable models', () => {
13
- const messages = applyCacheControl(baseMessages, 'anthropic', 'claude-2');
14
- expect(messages).toEqual(baseMessages);
15
- });
16
- test('should not apply cache control for unsupported providers', () => {
17
- const messages = applyCacheControl(baseMessages, 'openai', 'sonnet');
18
- expect(messages).toEqual(baseMessages);
19
- });
20
- test('should apply cache control for anthropic provider with a supported model', () => {
21
- const messages = applyCacheControl(baseMessages, 'anthropic', 'claude-3-sonnet-20240229');
22
- expect(messages).not.toEqual(baseMessages);
23
- // System message should have cache control
24
- expect(messages[0].providerOptions?.anthropic).toEqual({
25
- cacheControl: { type: 'ephemeral' },
26
- });
27
- // Last two user messages should have cache control
28
- expect(messages[3].providerOptions?.anthropic).toEqual({
29
- cacheControl: { type: 'ephemeral' },
30
- });
31
- expect(messages[5].providerOptions?.anthropic).toEqual({
32
- cacheControl: { type: 'ephemeral' },
33
- });
34
- // Other messages should not have cache control
35
- expect(messages[1].providerOptions).toBeUndefined();
36
- expect(messages[2].providerOptions).toBeUndefined();
37
- expect(messages[4].providerOptions).toBeUndefined();
38
- });
39
- test('should apply cache control for openrouter provider with a supported model', () => {
40
- const messages = applyCacheControl(baseMessages, 'openrouter', 'anthropic/claude-3-opus');
41
- expect(messages).not.toEqual(baseMessages);
42
- // System message should have cache control
43
- expect(messages[0].providerOptions?.openrouter).toEqual({
44
- cacheControl: { type: 'ephemeral' },
45
- });
46
- // Last two user messages should have cache control
47
- expect(messages[3].providerOptions?.openrouter).toEqual({
48
- cacheControl: { type: 'ephemeral' },
49
- });
50
- expect(messages[5].providerOptions?.openrouter).toEqual({
51
- cacheControl: { type: 'ephemeral' },
52
- });
53
- });
54
- test('should apply cache control for gemini models', () => {
55
- const messages = applyCacheControl(baseMessages, 'openrouter', 'google/gemini-pro');
56
- expect(messages).not.toEqual(baseMessages);
57
- // System message should have cache control
58
- expect(messages[0].providerOptions?.openrouter).toEqual({
59
- cacheControl: { type: 'ephemeral' },
60
- });
61
- // Last two user messages should have cache control
62
- expect(messages[3].providerOptions?.openrouter).toBeDefined();
63
- expect(messages[5].providerOptions?.openrouter).toBeDefined();
64
- });
65
- test('should handle fewer than two user messages', () => {
66
- const shortMessages = [
67
- { role: 'system', content: 'System message' },
68
- { role: 'user', content: 'User message 1' },
69
- ];
70
- const messages = applyCacheControl(shortMessages, 'anthropic', 'claude-3-sonnet-20240229');
71
- expect(messages).not.toEqual(shortMessages);
72
- // System message should have cache control
73
- expect(messages[0].providerOptions?.anthropic).toEqual({
74
- cacheControl: { type: 'ephemeral' },
75
- });
76
- // Only user message should have cache control
77
- expect(messages[1].providerOptions?.anthropic).toEqual({
78
- cacheControl: { type: 'ephemeral' },
79
- });
80
- });
81
- test('should work correctly without a system message', () => {
82
- const noSystemMessages = [
83
- { role: 'user', content: 'User message 1' },
84
- { role: 'assistant', content: 'Assistant message 1' },
85
- { role: 'user', content: 'User message 2' },
86
- { role: 'user', content: 'User message 3' },
87
- ];
88
- const messages = applyCacheControl(noSystemMessages, 'anthropic', 'claude-3-sonnet-20240229');
89
- expect(messages).not.toEqual(noSystemMessages);
90
- // Last two user messages should have cache control
91
- expect(messages[2].providerOptions?.anthropic).toEqual({
92
- cacheControl: { type: 'ephemeral' },
93
- });
94
- expect(messages[3].providerOptions?.anthropic).toEqual({
95
- cacheControl: { type: 'ephemeral' },
96
- });
97
- // First user message should not have cache control
98
- expect(messages[0].providerOptions).toBeUndefined();
99
- });
100
- test('should merge with existing providerOptions', () => {
101
- const messagesWithProviderOptions = [
102
- { role: 'system', content: 'System message' },
103
- { role: 'user', content: 'User message 1' },
104
- { role: 'assistant', content: 'Assistant message 1' },
105
- {
106
- role: 'user',
107
- content: 'User message 2',
108
- providerOptions: { anthropic: { someOtherOption: 'value' } },
109
- },
110
- { role: 'user', content: 'User message 3' },
111
- ];
112
- const messages = applyCacheControl(messagesWithProviderOptions, 'anthropic', 'claude-3-sonnet-20240229');
113
- expect(messages).not.toEqual(messagesWithProviderOptions);
114
- // Should preserve existing option and add cache control
115
- expect(messages[3].providerOptions?.anthropic).toEqual({
116
- someOtherOption: 'value',
117
- cacheControl: { type: 'ephemeral' },
118
- });
119
- // System message should have cache control
120
- expect(messages[0].providerOptions?.anthropic).toHaveProperty('cacheControl');
121
- });
122
- test('should not modify original messages array', () => {
123
- const originalMessages = [...baseMessages];
124
- applyCacheControl(baseMessages, 'anthropic', 'claude-3-sonnet-20240229');
125
- expect(baseMessages).toEqual(originalMessages);
126
- });
127
- });
128
- //# sourceMappingURL=cacheControl.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cacheControl.test.js","sourceRoot":"","sources":["../../src/utils/cacheControl.test.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Shared utilities for command-line command handlers
3
- */
4
- import { createLogger } from '../logger';
5
- /**
6
- * Get global options from the command hierarchy
7
- * Handles both top-level commands and subcommands
8
- *
9
- * @param command - The commander Command instance
10
- * @returns Global options object
11
- *
12
- * @example
13
- * ```ts
14
- * export async function runCommand(options, command: Command) {
15
- * const globalOpts = getGlobalOptions(command)
16
- * const { verbose, yes } = globalOpts
17
- * }
18
- * ```
19
- */
20
- export function getGlobalOptions(command) {
21
- return (command.parent ?? command).opts();
22
- }
23
- /**
24
- * Get base workflow options with standard defaults
25
- * This provides consistent interactive mode handling across all commands
26
- *
27
- * @param command - The commander Command instance
28
- * @returns Workflow options with interactive mode set based on --yes flag
29
- *
30
- * @example
31
- * ```ts
32
- * const workflowOpts = getBaseWorkflowOptions(command)
33
- * await code({
34
- * task: '...',
35
- * ...workflowOpts
36
- * })
37
- * ```
38
- */
39
- export function getBaseWorkflowOptions(command) {
40
- const globalOpts = getGlobalOptions(command);
41
- const verbose = globalOpts.silent ? -1 : (globalOpts.verbose ?? 0);
42
- // Create logger
43
- const logger = createLogger({ verbose });
44
- return {
45
- interactive: !globalOpts.yes,
46
- ...globalOpts,
47
- logger,
48
- };
49
- }
50
- //# sourceMappingURL=command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/utils/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,EAAgB,CAAA;AACzD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;IAElE,gBAAgB;IAChB,MAAM,MAAM,GAAW,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAEhD,OAAO;QACL,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG;QAC5B,GAAG,UAAU;QACb,MAAM;KACP,CAAA;AACH,CAAC"}
@@ -1,56 +0,0 @@
1
- /**
2
- * Shell utility functions for safe command execution
3
- */
4
- /**
5
- * Detect if running on Windows
6
- */
7
- function isWindows() {
8
- return process.platform === 'win32';
9
- }
10
- /**
11
- * Quote a string for safe shell execution (cross-platform)
12
- *
13
- * On Unix/Linux/macOS:
14
- * - Uses single-quote wrapping with proper escaping
15
- * - Handles spaces, special characters, and single quotes
16
- * - Pattern: 'original' becomes 'original'
17
- * - Pattern: it's becomes 'it'\''s'
18
- *
19
- * On Windows (cmd.exe):
20
- * - Uses double-quote wrapping
21
- * - Only escapes double quotes by doubling them ("")
22
- * - Most special characters (&, |, <, >, ^) are safe inside double quotes
23
- * - LIMITATION: %VAR% environment variables are expanded even inside double quotes
24
- * - Note: Quote doubling ("") works with Git/MinGW tools. Standard Windows apps
25
- * sometimes use backslash escaping (\") via CommandLineToArgvW, but Git
26
- * on Windows typically uses MSYS/Cygwin which handles doubled quotes correctly.
27
- *
28
- * This function is primarily used for git commands, which work well with
29
- * this quoting strategy on both platforms.
30
- *
31
- * @param str - The string to quote
32
- * @returns The safely quoted string for the current platform
33
- *
34
- * @example
35
- * ```ts
36
- * quoteForShell('filename.txt') // 'filename.txt' (Unix) or "filename.txt" (Windows)
37
- * quoteForShell('my file.txt') // 'my file.txt' (Unix) or "my file.txt" (Windows)
38
- * quoteForShell("it's great") // 'it'\''s great' (Unix) or "it's great" (Windows)
39
- * quoteForShell('$(rm -rf)') // '$(rm -rf)' (Unix) or "$(rm -rf)" (Windows)
40
- * quoteForShell('file with "quotes"') // 'file with "quotes"' (Unix) or "file with ""quotes""" (Windows)
41
- * ```
42
- */
43
- export function quoteForShell(str) {
44
- if (isWindows()) {
45
- // Windows cmd.exe quoting: wrap in double quotes and double internal quotes
46
- // This pattern works with Git/MinGW tools (MSYS/Cygwin runtime)
47
- // Note: %VAR% expansion still occurs inside double quotes - this is a cmd.exe limitation
48
- const escaped = str.replace(/"/g, '""');
49
- return `"${escaped}"`;
50
- }
51
- else {
52
- // Unix/Linux/macOS use single quotes (most robust)
53
- return `'${str.replace(/'/g, "'\\''")}'`;
54
- }
55
- }
56
- //# sourceMappingURL=shell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,4EAA4E;QAC5E,gEAAgE;QAChE,yFAAyF;QACzF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACvC,OAAO,IAAI,OAAO,GAAG,CAAA;IACvB,CAAC;SAAM,CAAC;QACN,mDAAmD;QACnD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAA;IAC1C,CAAC;AACH,CAAC"}
@@ -1,47 +0,0 @@
1
- // packages/cli/src/utils/userInput.ts
2
- import { confirm, input } from '@inquirer/prompts';
3
- import { readMultiline } from '@polka-codes/cli-shared';
4
- import chalk from 'chalk';
5
- import { UserCancelledError } from '../errors';
6
- export async function getUserInput(message, options = {}) {
7
- const { default: defaultValue, throwOnCancel = false } = options;
8
- try {
9
- let result = await input({
10
- message: `${message}${chalk.gray(' (type .m for multiline)')}`,
11
- default: defaultValue,
12
- });
13
- if (result === '.m') {
14
- result = await readMultiline('Enter multiline text (Ctrl+D to finish):');
15
- }
16
- return result;
17
- }
18
- catch (error) {
19
- if (error instanceof Error && error.name === 'ExitPromptError') {
20
- if (throwOnCancel) {
21
- throw new UserCancelledError();
22
- }
23
- return undefined;
24
- }
25
- throw error;
26
- }
27
- }
28
- export async function getConfirmation(message, options = {}) {
29
- const { default: defaultValue = true, throwOnCancel = false } = options;
30
- try {
31
- const result = await confirm({
32
- message,
33
- default: defaultValue,
34
- });
35
- return result;
36
- }
37
- catch (error) {
38
- if (error instanceof Error && error.name === 'ExitPromptError') {
39
- if (throwOnCancel) {
40
- throw new UserCancelledError();
41
- }
42
- return false;
43
- }
44
- throw error;
45
- }
46
- }
47
- //# sourceMappingURL=userInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"userInput.js","sourceRoot":"","sources":["../../src/utils/userInput.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAe,EACf,UAAyD,EAAE;IAE3D,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAChE,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,MAAM,KAAK,CAAC;YACvB,OAAO,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE;YAC9D,OAAO,EAAE,YAAY;SACtB,CAAC,CAAA;QACF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,GAAG,MAAM,aAAa,CAAC,0CAA0C,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC/D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,IAAI,kBAAkB,EAAE,CAAA;YAChC,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,UAA0D,EAAE;IACjH,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IACvE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;YAC3B,OAAO;YACP,OAAO,EAAE,YAAY;SACtB,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC/D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,IAAI,kBAAkB,EAAE,CAAA;YAChC,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * CLI Tool Registry Type Definitions
3
- *
4
- * This file defines the CliToolRegistry which extends AgentToolRegistry with
5
- * CLI-specific tools. The tools are organized by domain:
6
- *
7
- * - **Git Operations**: createCommit, printChangeFile
8
- * - **User Interaction**: confirm, input, select
9
- * - **File Operations**: readFile, writeToFile
10
- * - **Command Execution**: executeCommand
11
- * - **Memory Management**: getMemoryContext, readMemory, listMemoryTopics, updateMemory
12
- * - **Todo Management**: listTodoItems, getTodoItem, updateTodoItem
13
- * - **Remote Operations**: createPullRequest, runAgent
14
- *
15
- * The AgentToolRegistry (from @polka-codes/core) provides additional tools like:
16
- * - replaceInFile, searchFiles, listFiles
17
- * - generateText, invokeTool
18
- * - And more...
19
- */
20
- export {};
21
- //# sourceMappingURL=workflow-tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-tools.js","sourceRoot":"","sources":["../src/workflow-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}