@tyvm/knowhow 0.0.93 → 0.0.94

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 (264) hide show
  1. package/package.json +3 -2
  2. package/ts_build/package.json +3 -2
  3. package/ts_build/src/cli.js +0 -0
  4. package/ts_build/src/agents/tools/asana/definitions.d.ts +0 -202
  5. package/ts_build/src/agents/tools/asana/definitions.js +0 -197
  6. package/ts_build/src/agents/tools/asana/definitions.js.map +0 -1
  7. package/ts_build/src/agents/tools/asana/index.d.ts +0 -8
  8. package/ts_build/src/agents/tools/asana/index.js +0 -98
  9. package/ts_build/src/agents/tools/asana/index.js.map +0 -1
  10. package/ts_build/src/agents/tools/ast/astAppendNode.d.ts +0 -1
  11. package/ts_build/src/agents/tools/ast/astAppendNode.js +0 -8
  12. package/ts_build/src/agents/tools/ast/astAppendNode.js.map +0 -1
  13. package/ts_build/src/agents/tools/ast/astDeleteNode.d.ts +0 -1
  14. package/ts_build/src/agents/tools/ast/astDeleteNode.js +0 -8
  15. package/ts_build/src/agents/tools/ast/astDeleteNode.js.map +0 -1
  16. package/ts_build/src/agents/tools/ast/astEditNode.d.ts +0 -1
  17. package/ts_build/src/agents/tools/ast/astEditNode.js +0 -8
  18. package/ts_build/src/agents/tools/ast/astEditNode.js.map +0 -1
  19. package/ts_build/src/agents/tools/ast/astGetPathForLine.d.ts +0 -1
  20. package/ts_build/src/agents/tools/ast/astGetPathForLine.js +0 -8
  21. package/ts_build/src/agents/tools/ast/astGetPathForLine.js.map +0 -1
  22. package/ts_build/src/agents/tools/ast/astListPaths.d.ts +0 -1
  23. package/ts_build/src/agents/tools/ast/astListPaths.js +0 -8
  24. package/ts_build/src/agents/tools/ast/astListPaths.js.map +0 -1
  25. package/ts_build/src/agents/tools/ast/index.d.ts +0 -5
  26. package/ts_build/src/agents/tools/ast/index.js +0 -14
  27. package/ts_build/src/agents/tools/ast/index.js.map +0 -1
  28. package/ts_build/src/agents/tools/astAppendNode.d.ts +0 -1
  29. package/ts_build/src/agents/tools/astAppendNode.js +0 -98
  30. package/ts_build/src/agents/tools/astAppendNode.js.map +0 -1
  31. package/ts_build/src/agents/tools/astDeleteNode.d.ts +0 -1
  32. package/ts_build/src/agents/tools/astDeleteNode.js +0 -95
  33. package/ts_build/src/agents/tools/astDeleteNode.js.map +0 -1
  34. package/ts_build/src/agents/tools/astEditNode.d.ts +0 -1
  35. package/ts_build/src/agents/tools/astEditNode.js +0 -98
  36. package/ts_build/src/agents/tools/astEditNode.js.map +0 -1
  37. package/ts_build/src/agents/tools/astGetPathForLine.d.ts +0 -1
  38. package/ts_build/src/agents/tools/astGetPathForLine.js +0 -89
  39. package/ts_build/src/agents/tools/astGetPathForLine.js.map +0 -1
  40. package/ts_build/src/agents/tools/astListPaths.d.ts +0 -1
  41. package/ts_build/src/agents/tools/astListPaths.js +0 -82
  42. package/ts_build/src/agents/tools/astListPaths.js.map +0 -1
  43. package/ts_build/src/agents/tools/github/definitions.d.ts +0 -47
  44. package/ts_build/src/agents/tools/github/definitions.js +0 -86
  45. package/ts_build/src/agents/tools/github/definitions.js.map +0 -1
  46. package/ts_build/src/agents/tools/github/index.d.ts +0 -789
  47. package/ts_build/src/agents/tools/github/index.js +0 -56
  48. package/ts_build/src/agents/tools/github/index.js.map +0 -1
  49. package/ts_build/src/agents/tools/startChatTask.d.ts +0 -13
  50. package/ts_build/src/agents/tools/startChatTask.js +0 -73
  51. package/ts_build/src/agents/tools/startChatTask.js.map +0 -1
  52. package/ts_build/src/agents/vim/vim.d.ts +0 -13
  53. package/ts_build/src/agents/vim/vim.js +0 -170
  54. package/ts_build/src/agents/vim/vim.js.map +0 -1
  55. package/ts_build/src/chat/ChatCommandHandler.d.ts +0 -36
  56. package/ts_build/src/chat/ChatCommandHandler.js +0 -268
  57. package/ts_build/src/chat/ChatCommandHandler.js.map +0 -1
  58. package/ts_build/src/chat/ChatInputManager.d.ts +0 -22
  59. package/ts_build/src/chat/ChatInputManager.js +0 -85
  60. package/ts_build/src/chat/ChatInputManager.js.map +0 -1
  61. package/ts_build/src/chat/ChatManager.d.ts +0 -49
  62. package/ts_build/src/chat/ChatManager.js +0 -271
  63. package/ts_build/src/chat/ChatManager.js.map +0 -1
  64. package/ts_build/src/chat/ChatSession.d.ts +0 -32
  65. package/ts_build/src/chat/ChatSession.js +0 -3
  66. package/ts_build/src/chat/ChatSession.js.map +0 -1
  67. package/ts_build/src/chat/ChatSessionManager.d.ts +0 -19
  68. package/ts_build/src/chat/ChatSessionManager.js +0 -188
  69. package/ts_build/src/chat/ChatSessionManager.js.map +0 -1
  70. package/ts_build/src/chat/ChatStateManager.d.ts +0 -58
  71. package/ts_build/src/chat/ChatStateManager.js +0 -156
  72. package/ts_build/src/chat/ChatStateManager.js.map +0 -1
  73. package/ts_build/src/chat/InterruptibleInput.d.ts +0 -20
  74. package/ts_build/src/chat/InterruptibleInput.js +0 -109
  75. package/ts_build/src/chat/InterruptibleInput.js.map +0 -1
  76. package/ts_build/src/chat/interfaces/ChatModule.d.ts +0 -6
  77. package/ts_build/src/chat/interfaces/ChatModule.js +0 -3
  78. package/ts_build/src/chat/interfaces/ChatModule.js.map +0 -1
  79. package/ts_build/src/chat-old.d.ts +0 -13
  80. package/ts_build/src/chat-old.js +0 -340
  81. package/ts_build/src/chat-old.js.map +0 -1
  82. package/ts_build/src/chat2.d.ts +0 -3
  83. package/ts_build/src/chat2.js +0 -47
  84. package/ts_build/src/chat2.js.map +0 -1
  85. package/ts_build/src/dockerWorker.d.ts +0 -22
  86. package/ts_build/src/dockerWorker.js +0 -210
  87. package/ts_build/src/dockerWorker.js.map +0 -1
  88. package/ts_build/src/plugins/asana.d.ts +0 -19
  89. package/ts_build/src/plugins/asana.js +0 -124
  90. package/ts_build/src/plugins/asana.js.map +0 -1
  91. package/ts_build/src/plugins/downloader/downloader.d.ts +0 -26
  92. package/ts_build/src/plugins/downloader/downloader.js +0 -324
  93. package/ts_build/src/plugins/downloader/downloader.js.map +0 -1
  94. package/ts_build/src/plugins/downloader/plugin.d.ts +0 -12
  95. package/ts_build/src/plugins/downloader/plugin.js +0 -98
  96. package/ts_build/src/plugins/downloader/plugin.js.map +0 -1
  97. package/ts_build/src/plugins/downloader/types.d.ts +0 -88
  98. package/ts_build/src/plugins/downloader/types.js +0 -79
  99. package/ts_build/src/plugins/downloader/types.js.map +0 -1
  100. package/ts_build/src/plugins/figma.d.ts +0 -25
  101. package/ts_build/src/plugins/figma.js +0 -134
  102. package/ts_build/src/plugins/figma.js.map +0 -1
  103. package/ts_build/src/plugins/github.d.ts +0 -1227
  104. package/ts_build/src/plugins/github.js +0 -182
  105. package/ts_build/src/plugins/github.js.map +0 -1
  106. package/ts_build/src/plugins/jira.d.ts +0 -18
  107. package/ts_build/src/plugins/jira.js +0 -104
  108. package/ts_build/src/plugins/jira.js.map +0 -1
  109. package/ts_build/src/plugins/linear.d.ts +0 -26
  110. package/ts_build/src/plugins/linear.js +0 -194
  111. package/ts_build/src/plugins/linear.js.map +0 -1
  112. package/ts_build/src/plugins/notion.d.ts +0 -35
  113. package/ts_build/src/plugins/notion.js +0 -141
  114. package/ts_build/src/plugins/notion.js.map +0 -1
  115. package/ts_build/src/plugins/tree-sitter/editor.d.ts +0 -5
  116. package/ts_build/src/plugins/tree-sitter/editor.js +0 -16
  117. package/ts_build/src/plugins/tree-sitter/editor.js.map +0 -1
  118. package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.d.ts +0 -29
  119. package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.js +0 -538
  120. package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.js.map +0 -1
  121. package/ts_build/src/plugins/tree-sitter/human-readable-paths.d.ts +0 -22
  122. package/ts_build/src/plugins/tree-sitter/human-readable-paths.js +0 -332
  123. package/ts_build/src/plugins/tree-sitter/human-readable-paths.js.map +0 -1
  124. package/ts_build/src/plugins/tree-sitter/lang-packs/index.d.ts +0 -8
  125. package/ts_build/src/plugins/tree-sitter/lang-packs/index.js +0 -26
  126. package/ts_build/src/plugins/tree-sitter/lang-packs/index.js.map +0 -1
  127. package/ts_build/src/plugins/tree-sitter/lang-packs/java.d.ts +0 -2
  128. package/ts_build/src/plugins/tree-sitter/lang-packs/java.js +0 -61
  129. package/ts_build/src/plugins/tree-sitter/lang-packs/java.js.map +0 -1
  130. package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.d.ts +0 -2
  131. package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.js +0 -59
  132. package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.js.map +0 -1
  133. package/ts_build/src/plugins/tree-sitter/lang-packs/python.d.ts +0 -2
  134. package/ts_build/src/plugins/tree-sitter/lang-packs/python.js +0 -47
  135. package/ts_build/src/plugins/tree-sitter/lang-packs/python.js.map +0 -1
  136. package/ts_build/src/plugins/tree-sitter/lang-packs/types.d.ts +0 -43
  137. package/ts_build/src/plugins/tree-sitter/lang-packs/types.js +0 -3
  138. package/ts_build/src/plugins/tree-sitter/lang-packs/types.js.map +0 -1
  139. package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.d.ts +0 -2
  140. package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.js +0 -50
  141. package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.js.map +0 -1
  142. package/ts_build/src/plugins/tree-sitter/parser.d.ts +0 -40
  143. package/ts_build/src/plugins/tree-sitter/parser.js +0 -36
  144. package/ts_build/src/plugins/tree-sitter/parser.js.map +0 -1
  145. package/ts_build/src/plugins/tree-sitter/simple-paths.d.ts +0 -9
  146. package/ts_build/src/plugins/tree-sitter/simple-paths.js +0 -10
  147. package/ts_build/src/plugins/tree-sitter/simple-paths.js.map +0 -1
  148. package/ts_build/src/services/AgentSynchronization.d.ts +0 -29
  149. package/ts_build/src/services/AgentSynchronization.js +0 -178
  150. package/ts_build/src/services/AgentSynchronization.js.map +0 -1
  151. package/ts_build/src/services/GitHub.d.ts +0 -10
  152. package/ts_build/src/services/GitHub.js +0 -51
  153. package/ts_build/src/services/GitHub.js.map +0 -1
  154. package/ts_build/src/utils/PersistentInputManager.d.ts +0 -28
  155. package/ts_build/src/utils/PersistentInputManager.js +0 -293
  156. package/ts_build/src/utils/PersistentInputManager.js.map +0 -1
  157. package/ts_build/src/worker/handlers/proxyHandler.d.ts +0 -2
  158. package/ts_build/src/worker/handlers/proxyHandler.js +0 -41
  159. package/ts_build/src/worker/handlers/proxyHandler.js.map +0 -1
  160. package/ts_build/src/worker/tools/index.d.ts +0 -1
  161. package/ts_build/src/worker/tools/index.js +0 -18
  162. package/ts_build/src/worker/tools/index.js.map +0 -1
  163. package/ts_build/src/worker/tools/portForwarding.d.ts +0 -49
  164. package/ts_build/src/worker/tools/portForwarding.js +0 -173
  165. package/ts_build/src/worker/tools/portForwarding.js.map +0 -1
  166. package/ts_build/src/worker/types/proxy.d.ts +0 -18
  167. package/ts_build/src/worker/types/proxy.js +0 -3
  168. package/ts_build/src/worker/types/proxy.js.map +0 -1
  169. package/ts_build/src/worker-entrypoint.d.ts +0 -2
  170. package/ts_build/src/worker-entrypoint.js +0 -39
  171. package/ts_build/src/worker-entrypoint.js.map +0 -1
  172. package/ts_build/src/workerSync.d.ts +0 -8
  173. package/ts_build/src/workerSync.js +0 -120
  174. package/ts_build/src/workerSync.js.map +0 -1
  175. package/ts_build/src/workers/tools/listForwardedPorts.d.ts +0 -10
  176. package/ts_build/src/workers/tools/listForwardedPorts.js +0 -22
  177. package/ts_build/src/workers/tools/listForwardedPorts.js.map +0 -1
  178. package/ts_build/tests/integration/figma.test.d.ts +0 -1
  179. package/ts_build/tests/integration/figma.test.js +0 -47
  180. package/ts_build/tests/integration/figma.test.js.map +0 -1
  181. package/ts_build/tests/integration/fileblocks/readwrite.test.d.ts +0 -1
  182. package/ts_build/tests/integration/fileblocks/readwrite.test.js +0 -96
  183. package/ts_build/tests/integration/fileblocks/readwrite.test.js.map +0 -1
  184. package/ts_build/tests/integration/patching.test.d.ts +0 -1
  185. package/ts_build/tests/integration/patching.test.js +0 -116
  186. package/ts_build/tests/integration/patching.test.js.map +0 -1
  187. package/ts_build/tests/languagePlugin.test.d.ts +0 -1
  188. package/ts_build/tests/languagePlugin.test.js +0 -284
  189. package/ts_build/tests/languagePlugin.test.js.map +0 -1
  190. package/ts_build/tests/manual/agent-events/event-handler-reliability.test.d.ts +0 -1
  191. package/ts_build/tests/manual/agent-events/event-handler-reliability.test.js +0 -315
  192. package/ts_build/tests/manual/agent-events/event-handler-reliability.test.js.map +0 -1
  193. package/ts_build/tests/manual/persistent-input-test.d.ts +0 -1
  194. package/ts_build/tests/manual/persistent-input-test.js +0 -35
  195. package/ts_build/tests/manual/persistent-input-test.js.map +0 -1
  196. package/ts_build/tests/services/Plugins/plugin-event-integration.test.d.ts +0 -1
  197. package/ts_build/tests/services/Plugins/plugin-event-integration.test.js +0 -232
  198. package/ts_build/tests/services/Plugins/plugin-event-integration.test.js.map +0 -1
  199. package/ts_build/tests/tree-sitter/editor.test.d.ts +0 -1
  200. package/ts_build/tests/tree-sitter/editor.test.js +0 -85
  201. package/ts_build/tests/tree-sitter/editor.test.js.map +0 -1
  202. package/ts_build/tests/tree-sitter/invalid.test.d.ts +0 -1
  203. package/ts_build/tests/tree-sitter/invalid.test.js +0 -198
  204. package/ts_build/tests/tree-sitter/invalid.test.js.map +0 -1
  205. package/ts_build/tests/tree-sitter/paths/common-edits.test.d.ts +0 -1
  206. package/ts_build/tests/tree-sitter/paths/common-edits.test.js +0 -347
  207. package/ts_build/tests/tree-sitter/paths/common-edits.test.js.map +0 -1
  208. package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.d.ts +0 -1
  209. package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.js +0 -35
  210. package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.js.map +0 -1
  211. package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.d.ts +0 -1
  212. package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.js +0 -38
  213. package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.js.map +0 -1
  214. package/ts_build/tests/tree-sitter/paths/debug-paths.test.d.ts +0 -1
  215. package/ts_build/tests/tree-sitter/paths/debug-paths.test.js +0 -74
  216. package/ts_build/tests/tree-sitter/paths/debug-paths.test.js.map +0 -1
  217. package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.d.ts +0 -1
  218. package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.js +0 -302
  219. package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.js.map +0 -1
  220. package/ts_build/tests/tree-sitter/paths/paths.test.d.ts +0 -1
  221. package/ts_build/tests/tree-sitter/paths/paths.test.js +0 -116
  222. package/ts_build/tests/tree-sitter/paths/paths.test.js.map +0 -1
  223. package/ts_build/tests/tree-sitter/paths/simple-paths.test.d.ts +0 -1
  224. package/ts_build/tests/tree-sitter/paths/simple-paths.test.js +0 -302
  225. package/ts_build/tests/tree-sitter/paths/simple-paths.test.js.map +0 -1
  226. package/ts_build/tests/tree-sitter/sample-after.d.ts +0 -11
  227. package/ts_build/tests/tree-sitter/sample-after.js +0 -44
  228. package/ts_build/tests/tree-sitter/sample-after.js.map +0 -1
  229. package/ts_build/tests/tree-sitter/sample-before.d.ts +0 -9
  230. package/ts_build/tests/tree-sitter/sample-before.js +0 -28
  231. package/ts_build/tests/tree-sitter/sample-before.js.map +0 -1
  232. package/ts_build/tests/tree-sitter/test-files/completely-broken.d.ts +0 -2
  233. package/ts_build/tests/tree-sitter/test-files/completely-broken.js +0 -17
  234. package/ts_build/tests/tree-sitter/test-files/completely-broken.js.map +0 -1
  235. package/ts_build/tests/tree-sitter/test-files/duplicate-braces.d.ts +0 -8
  236. package/ts_build/tests/tree-sitter/test-files/duplicate-braces.js +0 -38
  237. package/ts_build/tests/tree-sitter/test-files/duplicate-braces.js.map +0 -1
  238. package/ts_build/tests/tree-sitter/test-files/invalid-nesting.d.ts +0 -8
  239. package/ts_build/tests/tree-sitter/test-files/invalid-nesting.js +0 -38
  240. package/ts_build/tests/tree-sitter/test-files/invalid-nesting.js.map +0 -1
  241. package/ts_build/tests/tree-sitter/test-files/malformed-signature.d.ts +0 -8
  242. package/ts_build/tests/tree-sitter/test-files/malformed-signature.js +0 -38
  243. package/ts_build/tests/tree-sitter/test-files/malformed-signature.js.map +0 -1
  244. package/ts_build/tests/tree-sitter/test-files/mismatched-parens.d.ts +0 -10
  245. package/ts_build/tests/tree-sitter/test-files/mismatched-parens.js +0 -38
  246. package/ts_build/tests/tree-sitter/test-files/mismatched-parens.js.map +0 -1
  247. package/ts_build/tests/tree-sitter/test-files/missing-semicolon.d.ts +0 -8
  248. package/ts_build/tests/tree-sitter/test-files/missing-semicolon.js +0 -38
  249. package/ts_build/tests/tree-sitter/test-files/missing-semicolon.js.map +0 -1
  250. package/ts_build/tests/tree-sitter/test-files/partially-broken.d.ts +0 -6
  251. package/ts_build/tests/tree-sitter/test-files/partially-broken.js +0 -20
  252. package/ts_build/tests/tree-sitter/test-files/partially-broken.js.map +0 -1
  253. package/ts_build/tests/tree-sitter/test-files/specific-errors.d.ts +0 -7
  254. package/ts_build/tests/tree-sitter/test-files/specific-errors.js +0 -14
  255. package/ts_build/tests/tree-sitter/test-files/specific-errors.js.map +0 -1
  256. package/ts_build/tests/tree-sitter/test-files/unclosed-string.d.ts +0 -8
  257. package/ts_build/tests/tree-sitter/test-files/unclosed-string.js +0 -38
  258. package/ts_build/tests/tree-sitter/test-files/unclosed-string.js.map +0 -1
  259. package/ts_build/tests/tree-sitter/tree-sitter.test.d.ts +0 -0
  260. package/ts_build/tests/tree-sitter/tree-sitter.test.js +0 -4
  261. package/ts_build/tests/tree-sitter/tree-sitter.test.js.map +0 -1
  262. package/ts_build/tests/worker/handlers/proxyHandler.test.d.ts +0 -1
  263. package/ts_build/tests/worker/handlers/proxyHandler.test.js +0 -170
  264. package/ts_build/tests/worker/handlers/proxyHandler.test.js.map +0 -1
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const utils_1 = require("../../src/utils");
4
- async function testPersistentInput() {
5
- console.log("=== Persistent Input Test ===");
6
- console.log("This test will output logs every 2 seconds while you type.");
7
- console.log("The input prompt should remain visible at the bottom.\n");
8
- console.log("Try typing while the logs appear!\n");
9
- let logCount = 0;
10
- const logInterval = setInterval(() => {
11
- logCount++;
12
- console.log(`[${new Date().toISOString()}] Background log #${logCount}`);
13
- if (logCount % 3 === 0) {
14
- console.error(`[ERROR] This is a stderr message #${logCount}`);
15
- }
16
- }, 2000);
17
- try {
18
- const answer1 = await (0, utils_1.ask)("What is your name? ", [], []);
19
- console.log(`\nYou entered: ${answer1}\n`);
20
- const answer2 = await (0, utils_1.ask)("What is your favorite color? ", ["red", "blue", "green", "yellow"], [answer1]);
21
- console.log(`\nYou entered: ${answer2}\n`);
22
- const answer3 = await (0, utils_1.ask)("Type 'exit' to quit: ", [], [answer1, answer2]);
23
- console.log(`\nYou entered: ${answer3}\n`);
24
- clearInterval(logInterval);
25
- console.log("\n=== Test Complete ===");
26
- console.log("The input prompt should have stayed visible throughout!");
27
- }
28
- catch (error) {
29
- clearInterval(logInterval);
30
- console.error("Error:", error);
31
- }
32
- process.exit(0);
33
- }
34
- testPersistentInput();
35
- //# sourceMappingURL=persistent-input-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"persistent-input-test.js","sourceRoot":"","sources":["../../../tests/manual/persistent-input-test.ts"],"names":[],"mappings":";;AASA,2CAAsC;AAEtC,KAAK,UAAU,mBAAmB;IAChC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAGnD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAEzE,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;SAChE;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,IAAI;QAEF,MAAM,OAAO,GAAG,MAAM,IAAA,WAAG,EAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,IAAI,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,MAAM,IAAA,WAAG,EAAC,+BAA+B,EACvD,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAClC,CAAC,OAAO,CAAC,CAAC,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,IAAI,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,MAAM,IAAA,WAAG,EAAC,uBAAuB,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,IAAI,CAAC,CAAC;QAE3C,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;KACxE;IAAC,OAAO,KAAK,EAAE;QACd,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;KAChC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,mBAAmB,EAAE,CAAC"}
@@ -1,232 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const plugins_1 = require("../../../src/plugins/plugins");
4
- const base_1 = require("../../../src/agents/base/base");
5
- const PluginBase_1 = require("../../../src/plugins/PluginBase");
6
- const services_1 = require("../../../src/services");
7
- const EventService_1 = require("../../../src/services/EventService");
8
- class MockEventPlugin extends PluginBase_1.PluginBase {
9
- data = [];
10
- isActivated = false;
11
- processingData = false;
12
- constructor(eventEmitter) {
13
- const meta = {
14
- key: "mock-event-plugin",
15
- name: "Mock Event Plugin",
16
- description: "A mock plugin for testing event emission"
17
- };
18
- super(meta, eventEmitter);
19
- }
20
- async call(userInput) {
21
- this.emit("data-processed", {
22
- input: userInput,
23
- result: "processed",
24
- timestamp: Date.now()
25
- });
26
- return `Mock plugin processed: ${userInput || "no input"}`;
27
- }
28
- async embed(userInput) {
29
- return [];
30
- }
31
- enable() {
32
- this.isActivated = true;
33
- }
34
- disable() {
35
- this.isActivated = false;
36
- }
37
- isEnabled() {
38
- return this.isActivated;
39
- }
40
- simulateEvent(eventName, data) {
41
- this.emit(eventName, data);
42
- }
43
- }
44
- class MockTestAgent extends base_1.BaseAgent {
45
- name = "mock-test-agent";
46
- description = "Test agent for plugin events";
47
- receivedEvents = [];
48
- constructor(context) {
49
- super(context);
50
- }
51
- async getInitialMessages(userInput) {
52
- return [
53
- {
54
- role: "user",
55
- content: userInput
56
- }
57
- ];
58
- }
59
- startListening(pluginKey, eventName) {
60
- this.subscribeToPluginEvents((event) => {
61
- this.receivedEvents.push(event);
62
- }, pluginKey, eventName);
63
- }
64
- getReceivedEvents() {
65
- return this.receivedEvents;
66
- }
67
- clearEvents() {
68
- this.receivedEvents = [];
69
- }
70
- }
71
- describe("Plugin Event Integration", () => {
72
- let pluginService;
73
- let mockAgent;
74
- let mockPlugin;
75
- let toolsService;
76
- let eventService;
77
- beforeEach(() => {
78
- pluginService = new plugins_1.PluginService();
79
- toolsService = new services_1.ToolsService();
80
- eventService = new EventService_1.EventService();
81
- mockPlugin = new MockEventPlugin(pluginService.getEventEmitter());
82
- mockPlugin.enable();
83
- pluginService.registerPlugin("mock-event-plugin", mockPlugin);
84
- const context = {
85
- Tools: toolsService,
86
- Events: eventService
87
- };
88
- mockAgent = new MockTestAgent(context);
89
- });
90
- afterEach(() => {
91
- mockAgent.clearEvents();
92
- });
93
- describe("Plugin Event Emission", () => {
94
- it("should emit events when plugin methods are called", async () => {
95
- const eventPromise = new Promise((resolve) => {
96
- pluginService.onPluginEvent((event) => {
97
- resolve(event);
98
- });
99
- });
100
- await mockPlugin.call("test input");
101
- const event = await eventPromise;
102
- expect(event).toBeDefined();
103
- expect(event.pluginKey).toBe("mock-event-plugin");
104
- expect(event.eventName).toBe("data-processed");
105
- expect(event.data).toMatchObject({
106
- input: "test input",
107
- result: "processed"
108
- });
109
- expect(event.timestamp).toBeGreaterThan(0);
110
- });
111
- it("should emit custom events through plugin", async () => {
112
- const eventPromise = new Promise((resolve) => {
113
- pluginService.onPluginEvent((event) => {
114
- resolve(event);
115
- });
116
- });
117
- const customData = { message: "custom event", value: 42 };
118
- mockPlugin.simulateEvent("custom-event", customData);
119
- const event = await eventPromise;
120
- expect(event).toBeDefined();
121
- expect(event.pluginKey).toBe("mock-event-plugin");
122
- expect(event.eventName).toBe("custom-event");
123
- expect(event.data).toEqual(customData);
124
- });
125
- });
126
- describe("Agent Event Subscription", () => {
127
- it("should allow agents to subscribe to all plugin events", async () => {
128
- mockAgent.startListening();
129
- await new Promise(resolve => setTimeout(resolve, 10));
130
- await mockPlugin.call("test data");
131
- await new Promise(resolve => setTimeout(resolve, 10));
132
- const receivedEvents = mockAgent.getReceivedEvents();
133
- expect(receivedEvents).toHaveLength(1);
134
- expect(receivedEvents[0].pluginKey).toBe("mock-event-plugin");
135
- expect(receivedEvents[0].eventName).toBe("data-processed");
136
- });
137
- it("should allow agents to subscribe to specific plugin events", async () => {
138
- mockAgent.startListening("mock-event-plugin");
139
- await new Promise(resolve => setTimeout(resolve, 10));
140
- await mockPlugin.call("test data");
141
- mockPlugin.simulateEvent("custom-event", { test: true });
142
- await new Promise(resolve => setTimeout(resolve, 10));
143
- const receivedEvents = mockAgent.getReceivedEvents();
144
- expect(receivedEvents).toHaveLength(2);
145
- expect(receivedEvents.every(e => e.pluginKey === "mock-event-plugin")).toBe(true);
146
- });
147
- it("should allow agents to subscribe to specific event names", async () => {
148
- mockAgent.startListening(undefined, "custom-event");
149
- await new Promise(resolve => setTimeout(resolve, 10));
150
- await mockPlugin.call("test data");
151
- mockPlugin.simulateEvent("custom-event", { test: true });
152
- mockPlugin.simulateEvent("other-event", { test: false });
153
- await new Promise(resolve => setTimeout(resolve, 10));
154
- const receivedEvents = mockAgent.getReceivedEvents();
155
- expect(receivedEvents).toHaveLength(1);
156
- expect(receivedEvents[0].eventName).toBe("custom-event");
157
- });
158
- it("should allow agents to subscribe to specific plugin and event name", async () => {
159
- mockAgent.startListening("mock-event-plugin", "custom-event");
160
- await new Promise(resolve => setTimeout(resolve, 10));
161
- await mockPlugin.call("test data");
162
- mockPlugin.simulateEvent("custom-event", { test: true });
163
- mockPlugin.simulateEvent("other-event", { test: false });
164
- await new Promise(resolve => setTimeout(resolve, 10));
165
- const receivedEvents = mockAgent.getReceivedEvents();
166
- expect(receivedEvents).toHaveLength(1);
167
- expect(receivedEvents[0].pluginKey).toBe("mock-event-plugin");
168
- expect(receivedEvents[0].eventName).toBe("custom-event");
169
- });
170
- });
171
- describe("End-to-End Integration", () => {
172
- it("should support multiple agents listening to the same plugin events", async () => {
173
- const context2 = {
174
- Tools: toolsService,
175
- Events: eventService
176
- };
177
- const mockAgent2 = new MockTestAgent(context2);
178
- mockAgent.startListening("mock-event-plugin");
179
- mockAgent2.startListening("mock-event-plugin");
180
- await new Promise(resolve => setTimeout(resolve, 10));
181
- mockPlugin.simulateEvent("shared-event", { message: "hello world" });
182
- await new Promise(resolve => setTimeout(resolve, 10));
183
- const events1 = mockAgent.getReceivedEvents();
184
- const events2 = mockAgent2.getReceivedEvents();
185
- expect(events1).toHaveLength(1);
186
- expect(events2).toHaveLength(1);
187
- expect(events1[0]).toEqual(events2[0]);
188
- });
189
- it("should support multiple plugins emitting events to agents", async () => {
190
- const secondPlugin = new MockEventPlugin();
191
- secondPlugin.enable();
192
- pluginService.registerPlugin("second-plugin", secondPlugin);
193
- mockAgent.startListening();
194
- await new Promise(resolve => setTimeout(resolve, 10));
195
- mockPlugin.simulateEvent("first-event", { source: "first" });
196
- secondPlugin.simulateEvent("second-event", { source: "second" });
197
- await new Promise(resolve => setTimeout(resolve, 10));
198
- const receivedEvents = mockAgent.getReceivedEvents();
199
- expect(receivedEvents).toHaveLength(2);
200
- const firstEvent = receivedEvents.find(e => e.pluginKey === "mock-event-plugin");
201
- const secondEvent = receivedEvents.find(e => e.pluginKey === "second-plugin");
202
- expect(firstEvent).toBeDefined();
203
- expect(secondEvent).toBeDefined();
204
- expect(firstEvent.data.source).toBe("first");
205
- expect(secondEvent.data.source).toBe("second");
206
- });
207
- });
208
- describe("Error Handling", () => {
209
- it("should handle agent subscription errors gracefully", () => {
210
- expect(() => {
211
- mockAgent.startListening("non-existent-plugin");
212
- }).not.toThrow();
213
- });
214
- it("should handle plugin event emission errors gracefully", () => {
215
- expect(() => {
216
- mockPlugin.simulateEvent("error-event", null);
217
- }).not.toThrow();
218
- });
219
- it("should handle multiple subscriptions from same agent", async () => {
220
- mockAgent.startListening("mock-event-plugin", "event1");
221
- mockAgent.startListening("mock-event-plugin", "event2");
222
- await new Promise(resolve => setTimeout(resolve, 10));
223
- mockPlugin.simulateEvent("event1", { data: "first" });
224
- mockPlugin.simulateEvent("event2", { data: "second" });
225
- mockPlugin.simulateEvent("event3", { data: "third" });
226
- await new Promise(resolve => setTimeout(resolve, 10));
227
- const receivedEvents = mockAgent.getReceivedEvents();
228
- expect(receivedEvents).toHaveLength(2);
229
- });
230
- });
231
- });
232
- //# sourceMappingURL=plugin-event-integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-event-integration.test.js","sourceRoot":"","sources":["../../../../tests/services/Plugins/plugin-event-integration.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const path_1 = require("path");
4
- const editor_1 = require("../../src/plugins/tree-sitter/editor");
5
- const parser_1 = require("../../src/plugins/tree-sitter/parser");
6
- describe("TreeEditor", () => {
7
- let parser;
8
- const sampleCode = `class Calculator {
9
- add(a, b) {
10
- return a + b;
11
- }
12
-
13
- multiply(a, b) {
14
- return a * b;
15
- }
16
- }`;
17
- beforeEach(() => {
18
- parser = parser_1.LanguageAgnosticParser.createJavaScriptParser();
19
- });
20
- test("should create TreeEditor from string", () => {
21
- const editor = new editor_1.TreeEditor(parser, sampleCode);
22
- expect(editor).toBeDefined();
23
- expect(editor.getCurrentText()).toBe(sampleCode);
24
- });
25
- test("should create TreeEditor from file", () => {
26
- const beforeFilePath = (0, path_1.join)(__dirname, "sample-before.ts");
27
- const editor = editor_1.TreeEditor.fromFile(parser, beforeFilePath);
28
- expect(editor).toBeDefined();
29
- expect(editor.getCurrentText().length).toBeGreaterThan(0);
30
- });
31
- test("should add lines to code", () => {
32
- const editor = new editor_1.TreeEditor(parser, sampleCode);
33
- const newEditor = editor.addLines("", " subtract(a, b) {\n return a - b;\n }", 5);
34
- const newText = newEditor.getCurrentText();
35
- expect(newText).toContain("subtract");
36
- expect(newText.split("\n").length).toBeGreaterThan(sampleCode.split("\n").length);
37
- console.log("After adding lines:\n", newText);
38
- });
39
- test("should remove lines from code", () => {
40
- const editor = new editor_1.TreeEditor(parser, sampleCode);
41
- const newEditor = editor.removeLines(1, 3);
42
- const newText = newEditor.getCurrentText();
43
- expect(newText).not.toContain("add(a, b)");
44
- expect(newText.split("\n").length).toBeLessThan(sampleCode.split("\n").length);
45
- console.log("After removing lines:\n", newText);
46
- });
47
- test("should update a specific line", () => {
48
- const editor = new editor_1.TreeEditor(parser, sampleCode);
49
- const newEditor = editor.updateLine(0, "class AdvancedCalculator {");
50
- const newText = newEditor.getCurrentText();
51
- expect(newText).toContain("AdvancedCalculator");
52
- expect(newText).not.toContain("class Calculator {");
53
- console.log("After updating line:\n", newText);
54
- });
55
- test("should generate diff between original and modified", () => {
56
- const editor = new editor_1.TreeEditor(parser, sampleCode);
57
- const newEditor = editor
58
- .updateLine(0, "class AdvancedCalculator {")
59
- .addLines("", " subtract(a, b) {\n return a - b;\n }", 5);
60
- const diff = newEditor.generateDiff();
61
- expect(diff).toContain("---");
62
- expect(diff).toContain("+++");
63
- expect(diff).toContain("-class Calculator {");
64
- expect(diff).toContain("+class AdvancedCalculator {");
65
- expect(diff).toContain("+ subtract(a, b) {");
66
- expect(diff).toContain("+ return a - b;");
67
- console.log("Generated diff:\n", diff);
68
- });
69
- test("should handle complex editing workflow", () => {
70
- const beforeFilePath = (0, path_1.join)(__dirname, "sample-before.ts");
71
- const editor = editor_1.TreeEditor.fromFile(parser, beforeFilePath);
72
- const modifiedEditor = editor
73
- .addLines("", " private operationCount: number = 0;", 2)
74
- .updateLine(5, " // Enhanced add method")
75
- .addLines("", " this.operationCount++;", 9);
76
- const diff = modifiedEditor.generateDiff();
77
- const newText = modifiedEditor.getCurrentText();
78
- expect(newText).toContain("operationCount");
79
- expect(newText).toContain("Enhanced add method");
80
- expect(diff).toContain("operationCount");
81
- console.log("Complex edit result:\n", newText);
82
- console.log("Complex edit diff:\n", diff);
83
- });
84
- });
85
- //# sourceMappingURL=editor.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editor.test.js","sourceRoot":"","sources":["../../../tests/tree-sitter/editor.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,198 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const parser_1 = require("../../src/plugins/tree-sitter/parser");
4
- const editor_1 = require("../../src/plugins/tree-sitter/editor");
5
- const fs_1 = require("fs");
6
- const path_1 = require("path");
7
- describe("Invalid Syntax Handling", () => {
8
- let parser;
9
- beforeEach(() => {
10
- parser = parser_1.LanguageAgnosticParser.createTypeScriptParser();
11
- });
12
- const testFilesDir = (0, path_1.join)(__dirname, "test-files");
13
- try {
14
- (0, fs_1.mkdirSync)(testFilesDir, { recursive: true });
15
- }
16
- catch (e) {
17
- }
18
- const validTypeScriptCode = `export class Calculator {
19
- private result: number = 0;
20
-
21
- add(value: number): Calculator {
22
- this.result += value;
23
- return this;
24
- }
25
-
26
- subtract(value: number): Calculator {
27
- this.result -= value;
28
- return this;
29
- }
30
-
31
- multiply(value: number): Calculator {
32
- this.result *= value;
33
- return this;
34
- }
35
-
36
- getResult(): number {
37
- return this.result;
38
- }
39
- }
40
-
41
- export function createCalculator(): Calculator {
42
- return new Calculator();
43
- }
44
-
45
- describe("Calculator Tests", () => {
46
- it("should perform basic arithmetic", () => {
47
- const calc = createCalculator();
48
- const result = calc.add(5).multiply(2).subtract(3).getResult();
49
- expect(result).toBe(7);
50
- });
51
-
52
- it("should chain operations correctly", () => {
53
- const calc = new Calculator();
54
- expect(calc.add(10).add(5).getResult()).toBe(15);
55
- });
56
- });
57
- `;
58
- it("should parse valid TypeScript syntax correctly", () => {
59
- const tree = parser.parseString(validTypeScriptCode);
60
- expect(tree.rootNode.hasError).toBe(false);
61
- expect(tree.rootNode.text).toBe(validTypeScriptCode);
62
- const classes = parser.findClassDeclarations(tree);
63
- expect(classes).toHaveLength(1);
64
- const methods = parser.findMethodDeclarations(tree);
65
- expect(methods.length).toBeGreaterThan(0);
66
- });
67
- it("should detect syntax errors with duplicated closing braces", () => {
68
- const invalidCode = validTypeScriptCode.replace("return this.result;\n }", "return this.result;\n }}");
69
- (0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "duplicate-braces.ts"), invalidCode);
70
- const tree = parser.parseString(invalidCode);
71
- expect(tree.rootNode.hasError).toBe(true);
72
- const classes = parser.findClassDeclarations(tree);
73
- expect(classes).toHaveLength(1);
74
- });
75
- it("should detect syntax errors with mismatched parentheses", () => {
76
- const invalidCode = validTypeScriptCode.replace("add(value: number): Calculator {", "add(value: number: Calculator {");
77
- (0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "mismatched-parens.ts"), invalidCode);
78
- const tree = parser.parseString(invalidCode);
79
- expect(tree.rootNode.hasError).toBe(true);
80
- const errorNodes = parser.findErrorNodes(tree.rootNode);
81
- expect(errorNodes.length).toBeGreaterThan(0);
82
- });
83
- it("should detect syntax errors with missing semicolons in critical positions", () => {
84
- const invalidCode = validTypeScriptCode.replace("private result: number = 0;", "private result: number = 0");
85
- (0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "missing-semicolon.ts"), invalidCode);
86
- const tree = parser.parseString(invalidCode);
87
- const classes = parser.findClassDeclarations(tree);
88
- expect(classes).toHaveLength(1);
89
- });
90
- it("should detect syntax errors with malformed function signatures", () => {
91
- const invalidCode = validTypeScriptCode.replace("subtract(value: number): Calculator {", "subtract(value number): Calculator {");
92
- (0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "malformed-signature.ts"), invalidCode);
93
- const tree = parser.parseString(invalidCode);
94
- expect(tree.rootNode.hasError).toBe(true);
95
- const errorNodes = parser.findErrorNodes(tree.rootNode);
96
- expect(errorNodes.length).toBeGreaterThan(0);
97
- });
98
- it("should detect syntax errors with unclosed string literals", () => {
99
- const invalidCode = validTypeScriptCode.replace("expect(result).toBe(7);", 'expect(result).toBe("unclosed string;');
100
- (0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "unclosed-string.ts"), invalidCode);
101
- const tree = parser.parseString(invalidCode);
102
- expect(tree.rootNode.hasError).toBe(true);
103
- const errorNodes = parser.findErrorNodes(tree.rootNode);
104
- expect(errorNodes.length).toBeGreaterThan(0);
105
- });
106
- it("should detect syntax errors with invalid bracket nesting", () => {
107
- const invalidCode = validTypeScriptCode.replace('describe("Calculator Tests", () => {', 'describe("Calculator Tests", (() => {');
108
- (0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "invalid-nesting.ts"), invalidCode);
109
- const tree = parser.parseString(invalidCode);
110
- expect(tree.rootNode.hasError).toBe(true);
111
- });
112
- it("should handle completely broken syntax gracefully", () => {
113
- const completelyBroken = `
114
- class {{{ invalid syntax here
115
- function missing_name() {
116
- return "broken"
117
- missing closing brace
118
- export const = undefined;
119
- `;
120
- (0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "completely-broken.ts"), completelyBroken);
121
- const tree = parser.parseString(completelyBroken);
122
- expect(tree.rootNode.hasError).toBe(true);
123
- const errorNodes = parser.findErrorNodes(tree.rootNode);
124
- expect(errorNodes.length).toBeGreaterThan(0);
125
- });
126
- it("should identify specific error locations in broken code", () => {
127
- const invalidCode = `
128
- export class TestClass {
129
- method1() {
130
- return "valid";
131
- }
132
-
133
- method2( { // Missing parameter, extra opening brace
134
- return "broken";
135
- }
136
-
137
- method3() {
138
- return "valid again";
139
- }
140
- }
141
- `;
142
- (0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "specific-errors.ts"), invalidCode);
143
- const tree = parser.parseString(invalidCode);
144
- expect(tree.rootNode.hasError).toBe(true);
145
- const errorNodes = parser.findErrorNodes(tree.rootNode);
146
- expect(errorNodes.length).toBeGreaterThan(0);
147
- const classes = parser.findClassDeclarations(tree);
148
- expect(classes).toHaveLength(1);
149
- });
150
- it("should test TreeEditor behavior with invalid syntax", () => {
151
- const editor = new editor_1.TreeEditor(parser, validTypeScriptCode);
152
- expect(editor.getCurrentText()).toBe(validTypeScriptCode);
153
- expect(editor.getTree().rootNode.hasError).toBe(false);
154
- const invalidCode = validTypeScriptCode.replace("add(value: number): Calculator {", "add(value number): Calculator {");
155
- const invalidEditor = new editor_1.TreeEditor(parser, invalidCode);
156
- expect(invalidEditor.getTree().rootNode.hasError).toBe(true);
157
- });
158
- it("should test semantic diffing with broken syntax changes", () => {
159
- const originalEditor = new editor_1.TreeEditor(parser, validTypeScriptCode);
160
- const brokenCode = validTypeScriptCode.replace("add(value: number): Calculator {", "add(value number): Calculator {");
161
- const brokenEditor = new editor_1.TreeEditor(parser, brokenCode, validTypeScriptCode);
162
- const diff = brokenEditor.generateDiff();
163
- expect(diff).toContain("-");
164
- expect(diff).toContain("+");
165
- expect(brokenEditor.getTree().rootNode.hasError).toBe(true);
166
- expect(originalEditor.getTree().rootNode.hasError).toBe(false);
167
- });
168
- it("should preserve partial tree structure even with syntax errors", () => {
169
- const partiallyBrokenCode = `
170
- export class Calculator {
171
- private result: number = 0;
172
-
173
- add(value: number): Calculator {
174
- this.result += value;
175
- return this;
176
- }
177
-
178
- // This method has broken syntax
179
- subtract(value number): Calculator { // Missing colon
180
- this.result -= value;
181
- return this;
182
- }
183
-
184
- multiply(value: number): Calculator {
185
- this.result *= value;
186
- return this;
187
- }
188
- }`;
189
- (0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "partially-broken.ts"), partiallyBrokenCode);
190
- const tree = parser.parseString(partiallyBrokenCode);
191
- expect(tree.rootNode.hasError).toBe(true);
192
- const classes = parser.findClassDeclarations(tree);
193
- expect(classes).toHaveLength(1);
194
- const methods = parser.findMethodDeclarations(tree);
195
- expect(methods.length).toBeGreaterThan(0);
196
- });
197
- });
198
- //# sourceMappingURL=invalid.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"invalid.test.js","sourceRoot":"","sources":["../../../tests/tree-sitter/invalid.test.ts"],"names":[],"mappings":";;AAAA,iEAA8E;AAC9E,iEAAkE;AAClE,2BAA8C;AAC9C,+BAA4B;AAE5B,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAI,MAA8B,CAAC;IAEnC,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,+BAAsB,CAAC,sBAAsB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAGH,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACnD,IAAI;QACF,IAAA,cAAS,EAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KAC9C;IAAC,OAAO,CAAC,EAAE;KAEX;IAED,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC7B,CAAC;IAEA,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAGrD,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEhC,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAC7C,0BAA0B,EAC1B,2BAA2B,CAC5B,CAAC;QAEF,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,qBAAqB,CAAC,EAAE,WAAW,CAAC,CAAC;QAEtE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAG1C,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAC7C,kCAAkC,EAClC,iCAAiC,CAClC,CAAC;QAEF,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,sBAAsB,CAAC,EAAE,WAAW,CAAC,CAAC;QAEvE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAG1C,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAC7C,6BAA6B,EAC7B,4BAA4B,CAC7B,CAAC;QAEF,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,sBAAsB,CAAC,EAAE,WAAW,CAAC,CAAC;QAEvE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAK7C,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAC7C,uCAAuC,EACvC,sCAAsC,CACvC,CAAC;QAEF,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,wBAAwB,CAAC,EAAE,WAAW,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAC7C,yBAAyB,EACzB,uCAAuC,CACxC,CAAC;QAEF,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,oBAAoB,CAAC,EAAE,WAAW,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAC7C,sCAAsC,EACtC,uCAAuC,CACxC,CAAC;QAEF,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,oBAAoB,CAAC,EAAE,WAAW,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,gBAAgB,GAAG;;;;;;KAMxB,CAAC;QAEF,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,sBAAsB,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAE5E,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAG1C,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,WAAW,GAAG;;;;;;;;;;;;;;CAcvB,CAAC;QAEE,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,oBAAoB,CAAC,EAAE,WAAW,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAG7C,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAG3D,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAGvD,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAC7C,kCAAkC,EAClC,iCAAiC,CAClC,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAG1D,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,cAAc,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAGnE,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAC5C,kCAAkC,EAClC,iCAAiC,CAClC,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,mBAAU,CACjC,MAAM,EACN,UAAU,EACV,mBAAmB,CACpB,CAAC;QAGF,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAG5B,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAG5D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;EAmB9B,CAAC;QAEC,IAAA,kBAAa,EACX,IAAA,WAAI,EAAC,YAAY,EAAE,qBAAqB,CAAC,EACzC,mBAAmB,CACpB,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAG1C,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAGhC,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}