@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,538 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HumanReadablePathResolver = void 0;
4
- const lang_packs_1 = require("./lang-packs");
5
- class HumanReadablePathResolver {
6
- parser;
7
- languagePack = null;
8
- constructor(parser) {
9
- this.parser = parser;
10
- this.languagePack = this.detectLanguagePack();
11
- }
12
- detectLanguagePack() {
13
- const config = this.parser.config;
14
- if (config?.language) {
15
- if (config.language.includes('typescript')) {
16
- return (0, lang_packs_1.getLanguagePackFromParser)('typescript');
17
- }
18
- else if (config.language.includes('javascript')) {
19
- return (0, lang_packs_1.getLanguagePackFromParser)('javascript');
20
- }
21
- }
22
- return (0, lang_packs_1.getLanguagePackFromParser)('javascript');
23
- }
24
- findByHumanPath(tree, humanPath) {
25
- const matches = [];
26
- const index = this.buildIndex(tree);
27
- const blockMatch = humanPath.match(/^([a-zA-Z_$][a-zA-Z0-9_$.]*)(?:\(([^)]*)\))?$/);
28
- if (blockMatch && (blockMatch[2] !== undefined || humanPath.includes('('))) {
29
- const callee = blockMatch[1];
30
- const argsStr = blockMatch[2] || '';
31
- for (const block of index.blocks) {
32
- if (block.callee === callee || block.callee.endsWith('.' + callee)) {
33
- if (argsStr === '' && block.args.length === 0) {
34
- matches.push({
35
- node: block.node,
36
- path: this.getNodePath(tree.rootNode, block.node),
37
- humanPath,
38
- description: `Block: ${block.callee}()`
39
- });
40
- }
41
- else if (argsStr !== '') {
42
- const expectedArg = argsStr.replace(/^["']|["']$/g, '');
43
- if (block.args.length > 0 && block.args[0] === expectedArg) {
44
- matches.push({
45
- node: block.node,
46
- path: this.getNodePath(tree.rootNode, block.node),
47
- humanPath,
48
- description: `Block: ${block.callee}("${expectedArg}")`
49
- });
50
- }
51
- }
52
- }
53
- }
54
- return matches;
55
- }
56
- const parts = humanPath.split('.');
57
- if (parts.length === 1) {
58
- const singleName = parts[0];
59
- for (const cls of index.classes) {
60
- if (cls.name === singleName) {
61
- matches.push({
62
- node: cls.node,
63
- path: this.getNodePath(tree.rootNode, cls.node),
64
- humanPath,
65
- description: `Class declaration: ${cls.name}`
66
- });
67
- }
68
- }
69
- for (const iface of index.interfaces) {
70
- if (iface.name === singleName) {
71
- matches.push({
72
- node: iface.node,
73
- path: this.getNodePath(tree.rootNode, iface.node),
74
- humanPath,
75
- description: `Interface declaration: ${iface.name}`
76
- });
77
- }
78
- }
79
- for (const global of index.globals) {
80
- if (global.name === singleName) {
81
- matches.push({
82
- node: global.node,
83
- path: this.getNodePath(tree.rootNode, global.node),
84
- humanPath,
85
- description: `${global.type === 'function' ? 'Function' : 'Variable'} declaration: ${global.name}`
86
- });
87
- }
88
- }
89
- for (const cls of index.classes) {
90
- for (const method of cls.methods) {
91
- if (method.name === singleName) {
92
- matches.push({
93
- node: method.node,
94
- path: this.getNodePath(tree.rootNode, method.node),
95
- humanPath,
96
- description: `Method ${method.name} in class ${cls.name}`
97
- });
98
- }
99
- }
100
- }
101
- for (const cls of index.classes) {
102
- for (const property of cls.properties) {
103
- if (property.name === singleName) {
104
- matches.push({
105
- node: property.node,
106
- path: this.getNodePath(tree.rootNode, property.node),
107
- humanPath,
108
- description: `Property ${property.name} in class ${cls.name}`
109
- });
110
- }
111
- }
112
- }
113
- }
114
- else if (parts.length === 2) {
115
- const [containerName, memberName] = parts;
116
- for (const cls of index.classes) {
117
- if (cls.name === containerName) {
118
- for (const method of cls.methods) {
119
- if (method.name === memberName) {
120
- matches.push({
121
- node: method.node,
122
- path: this.getNodePath(tree.rootNode, method.node),
123
- humanPath,
124
- description: `Method ${memberName} in class ${containerName}`
125
- });
126
- }
127
- }
128
- for (const property of cls.properties) {
129
- if (property.name === memberName) {
130
- matches.push({
131
- node: property.node,
132
- path: this.getNodePath(tree.rootNode, property.node),
133
- humanPath,
134
- description: `Property ${memberName} in class ${containerName}`
135
- });
136
- }
137
- }
138
- }
139
- }
140
- for (const iface of index.interfaces) {
141
- if (iface.name === containerName) {
142
- for (const method of iface.methods) {
143
- if (method.name === memberName) {
144
- matches.push({
145
- node: method.node,
146
- path: this.getNodePath(tree.rootNode, method.node),
147
- humanPath,
148
- description: `Method ${memberName} in interface ${containerName}`
149
- });
150
- }
151
- }
152
- for (const property of iface.properties) {
153
- if (property.name === memberName) {
154
- matches.push({
155
- node: property.node,
156
- path: this.getNodePath(tree.rootNode, property.node),
157
- humanPath,
158
- description: `Property ${memberName} in interface ${containerName}`
159
- });
160
- }
161
- }
162
- }
163
- }
164
- }
165
- return matches;
166
- }
167
- buildIndex(tree) {
168
- const index = {
169
- classes: [],
170
- interfaces: [],
171
- globals: [],
172
- blocks: []
173
- };
174
- if (!this.languagePack) {
175
- return index;
176
- }
177
- this.traverseAndIndex(tree.rootNode, index);
178
- return index;
179
- }
180
- traverseAndIndex(node, index) {
181
- if (!this.languagePack)
182
- return;
183
- if (this.isClassNode(node)) {
184
- const className = this.getNameFromNode(node);
185
- if (className) {
186
- const classEntry = {
187
- node,
188
- name: className,
189
- methods: [],
190
- properties: []
191
- };
192
- this.findClassMembers(node, classEntry);
193
- index.classes.push(classEntry);
194
- }
195
- }
196
- else if (this.isInterfaceNode(node)) {
197
- const interfaceName = this.getNameFromNode(node);
198
- if (interfaceName) {
199
- const interfaceEntry = {
200
- node,
201
- name: interfaceName,
202
- methods: [],
203
- properties: []
204
- };
205
- this.findInterfaceMembers(node, interfaceEntry);
206
- index.interfaces.push(interfaceEntry);
207
- }
208
- }
209
- else if (this.isMethodNode(node) && !this.isInClassOrInterface(node)) {
210
- const methodName = this.getNameFromNode(node);
211
- if (methodName) {
212
- index.globals.push({
213
- node,
214
- name: methodName,
215
- type: 'function'
216
- });
217
- }
218
- }
219
- else if (this.isVariableNode(node)) {
220
- const variableName = this.getNameFromNode(node);
221
- if (variableName) {
222
- index.globals.push({
223
- node,
224
- name: variableName,
225
- type: this.getVariableType(node)
226
- });
227
- }
228
- }
229
- else if (this.isBlockCall(node)) {
230
- const blockInfo = this.extractBlockInfo(node);
231
- if (blockInfo) {
232
- index.blocks.push(blockInfo);
233
- }
234
- }
235
- for (const child of node.children) {
236
- this.traverseAndIndex(child, index);
237
- }
238
- }
239
- isClassNode(node) {
240
- if (!this.languagePack || !this.languagePack.isClassNode) {
241
- return node.type === 'class_declaration';
242
- }
243
- return this.languagePack.isClassNode(node);
244
- }
245
- isInterfaceNode(node) {
246
- return node.type === 'interface_declaration';
247
- }
248
- isMethodNode(node) {
249
- return node.type === 'method_definition' ||
250
- node.type === 'function_declaration' ||
251
- node.type === 'arrow_function' ||
252
- node.type === 'function_expression' ||
253
- node.type === 'method_signature';
254
- }
255
- isVariableNode(node) {
256
- return node.type === 'variable_declarator' ||
257
- node.type === 'lexical_declaration' ||
258
- node.type === 'variable_declaration';
259
- }
260
- isBlockCall(node) {
261
- if (node.type !== 'call_expression')
262
- return false;
263
- const functionNode = node.children[0];
264
- if (!functionNode)
265
- return false;
266
- if (functionNode.type === 'identifier') {
267
- const functionName = functionNode.text;
268
- return ['describe', 'test', 'it', 'beforeEach', 'afterEach', 'beforeAll', 'afterAll'].includes(functionName);
269
- }
270
- else if (functionNode.type === 'member_expression') {
271
- return true;
272
- }
273
- return false;
274
- }
275
- isInClassOrInterface(node) {
276
- let current = node.parent;
277
- while (current) {
278
- if (current.type === 'class_declaration' || current.type === 'interface_declaration') {
279
- return true;
280
- }
281
- current = current.parent;
282
- }
283
- return false;
284
- }
285
- getNameFromNode(node) {
286
- if (this.languagePack && this.languagePack.getNameText) {
287
- return this.languagePack.getNameText(node);
288
- }
289
- const nameNode = node.children.find(child => child.type === 'identifier' ||
290
- child.type === 'type_identifier' ||
291
- child.type === 'property_identifier');
292
- return nameNode ? nameNode.text : null;
293
- }
294
- getVariableType(node) {
295
- let current = node.parent;
296
- while (current) {
297
- if (current.type === 'const_declaration' || current.text.startsWith('const')) {
298
- return 'const';
299
- }
300
- if (current.type === 'lexical_declaration') {
301
- return 'variable';
302
- }
303
- current = current.parent;
304
- }
305
- return 'variable';
306
- }
307
- findClassMembers(classNode, classEntry) {
308
- for (const child of classNode.children) {
309
- if (child.type === 'class_body') {
310
- for (const member of child.children) {
311
- if (this.isMethodNode(member)) {
312
- const methodName = this.getNameFromNode(member);
313
- if (methodName) {
314
- classEntry.methods.push({
315
- node: member,
316
- name: methodName
317
- });
318
- }
319
- }
320
- else if (this.isPropertyNode(member)) {
321
- const propertyName = this.getNameFromNode(member);
322
- if (propertyName) {
323
- classEntry.properties.push({
324
- node: member,
325
- name: propertyName
326
- });
327
- }
328
- }
329
- }
330
- break;
331
- }
332
- }
333
- }
334
- findInterfaceMembers(interfaceNode, interfaceEntry) {
335
- for (const child of interfaceNode.children) {
336
- if (child.type === 'object_type' || child.type === 'interface_body') {
337
- for (const member of child.children) {
338
- if (member.type === 'method_signature' || member.type === 'property_signature') {
339
- const memberName = this.getNameFromNode(member);
340
- if (memberName) {
341
- if (member.type === 'method_signature') {
342
- interfaceEntry.methods.push({
343
- node: member,
344
- name: memberName
345
- });
346
- }
347
- else {
348
- interfaceEntry.properties.push({
349
- node: member,
350
- name: memberName
351
- });
352
- }
353
- }
354
- }
355
- }
356
- break;
357
- }
358
- }
359
- }
360
- isPropertyNode(node) {
361
- return node.type === 'field_definition' ||
362
- node.type === 'property_signature' ||
363
- node.type === 'public_field_definition' ||
364
- node.type === 'property_declaration';
365
- }
366
- extractBlockInfo(node) {
367
- if (node.type !== 'call_expression')
368
- return null;
369
- const functionNode = node.children[0];
370
- if (!functionNode)
371
- return null;
372
- let calleeName = '';
373
- if (functionNode.type === 'identifier') {
374
- calleeName = functionNode.text;
375
- }
376
- else if (functionNode.type === 'member_expression') {
377
- calleeName = functionNode.text;
378
- }
379
- else {
380
- return null;
381
- }
382
- let argument = null;
383
- const argumentsNode = node.children.find(child => child.type === 'arguments');
384
- if (argumentsNode && argumentsNode.children.length > 0) {
385
- const firstArg = argumentsNode.children[0];
386
- if (firstArg.type === 'string' || firstArg.type === 'template_string') {
387
- argument = firstArg.text.replace(/^["'`]|["'`]$/g, '');
388
- }
389
- }
390
- return {
391
- node,
392
- callee: calleeName,
393
- argument
394
- };
395
- }
396
- findByHumanPath(humanPath) {
397
- if (!this.index) {
398
- return [];
399
- }
400
- const matches = [];
401
- const blockMatch = humanPath.match(/^(.+?)\((?:"([^"]*)"|\))?$/);
402
- if (blockMatch) {
403
- const [, callee, argument] = blockMatch;
404
- const blockMatches = this.index.blocks.filter(block => {
405
- if (block.callee !== callee)
406
- return false;
407
- if (argument !== undefined) {
408
- return block.argument === argument;
409
- }
410
- else {
411
- return !block.argument;
412
- }
413
- });
414
- for (const block of blockMatches) {
415
- matches.push({
416
- node: block.node,
417
- path: this.getNodePath(block.node),
418
- humanPath: argument ? `${callee}("${argument}")` : `${callee}()`
419
- });
420
- }
421
- return matches;
422
- }
423
- if (humanPath.includes('.')) {
424
- const [containerName, memberName] = humanPath.split('.', 2);
425
- for (const classEntry of this.index.classes) {
426
- if (classEntry.name === containerName) {
427
- const method = classEntry.methods.find(m => m.name === memberName);
428
- if (method) {
429
- matches.push({
430
- node: method.node,
431
- path: this.getNodePath(method.node),
432
- humanPath: `${containerName}.${memberName}`
433
- });
434
- }
435
- const property = classEntry.properties.find(p => p.name === memberName);
436
- if (property) {
437
- matches.push({
438
- node: property.node,
439
- path: this.getNodePath(property.node),
440
- humanPath: `${containerName}.${memberName}`
441
- });
442
- }
443
- }
444
- }
445
- for (const interfaceEntry of this.index.interfaces) {
446
- if (interfaceEntry.name === containerName) {
447
- const method = interfaceEntry.methods.find(m => m.name === memberName);
448
- if (method) {
449
- matches.push({
450
- node: method.node,
451
- path: this.getNodePath(method.node),
452
- humanPath: `${containerName}.${memberName}`
453
- });
454
- }
455
- const property = interfaceEntry.properties.find(p => p.name === memberName);
456
- if (property) {
457
- matches.push({
458
- node: property.node,
459
- path: this.getNodePath(property.node),
460
- humanPath: `${containerName}.${memberName}`
461
- });
462
- }
463
- }
464
- }
465
- return matches;
466
- }
467
- for (const classEntry of this.index.classes) {
468
- if (classEntry.name === humanPath) {
469
- matches.push({
470
- node: classEntry.node,
471
- path: this.getNodePath(classEntry.node),
472
- humanPath: classEntry.name
473
- });
474
- }
475
- }
476
- for (const interfaceEntry of this.index.interfaces) {
477
- if (interfaceEntry.name === humanPath) {
478
- matches.push({
479
- node: interfaceEntry.node,
480
- path: this.getNodePath(interfaceEntry.node),
481
- humanPath: interfaceEntry.name
482
- });
483
- }
484
- }
485
- for (const global of this.index.globals) {
486
- if (global.name === humanPath) {
487
- matches.push({
488
- node: global.node,
489
- path: this.getNodePath(global.node),
490
- humanPath: global.name
491
- });
492
- }
493
- }
494
- return matches;
495
- }
496
- getAllHumanPaths() {
497
- if (!this.index) {
498
- return [];
499
- }
500
- const paths = [];
501
- for (const classEntry of this.index.classes) {
502
- paths.push(classEntry.name);
503
- for (const method of classEntry.methods) {
504
- paths.push(`${classEntry.name}.${method.name}`);
505
- }
506
- for (const property of classEntry.properties) {
507
- paths.push(`${classEntry.name}.${property.name}`);
508
- }
509
- }
510
- for (const interfaceEntry of this.index.interfaces) {
511
- paths.push(interfaceEntry.name);
512
- for (const method of interfaceEntry.methods) {
513
- paths.push(`${interfaceEntry.name}.${method.name}`);
514
- }
515
- for (const property of interfaceEntry.properties) {
516
- paths.push(`${interfaceEntry.name}.${property.name}`);
517
- }
518
- }
519
- for (const global of this.index.globals) {
520
- paths.push(global.name);
521
- }
522
- for (const block of this.index.blocks) {
523
- if (block.argument) {
524
- paths.push(`${block.callee}("${block.argument}")`);
525
- }
526
- else {
527
- paths.push(`${block.callee}()`);
528
- }
529
- }
530
- return paths;
531
- }
532
- getNodePath(node) {
533
- const start = node.startPosition;
534
- return `${start.row + 1}:${start.column + 1}`;
535
- }
536
- }
537
- exports.HumanReadablePathResolver = HumanReadablePathResolver;
538
- //# sourceMappingURL=human-readable-paths-new.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"human-readable-paths-new.js","sourceRoot":"","sources":["../../../../src/plugins/tree-sitter/human-readable-paths-new.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { LanguageAgnosticParser, SyntaxNode, Tree } from "./parser";
2
- export interface SimplePathMatch {
3
- node: SyntaxNode;
4
- path: string;
5
- simplePath: string;
6
- description: string;
7
- }
8
- export declare class SimplePathResolver {
9
- private parser;
10
- private languagePack;
11
- constructor(parser: LanguageAgnosticParser);
12
- private executeQuery;
13
- private findNodesByQuery;
14
- private parseSimplePath;
15
- private findBlockMatches;
16
- findBySimplePath(tree: Tree, simplePath: string): SimplePathMatch[];
17
- private findContainingClassName;
18
- getParser(): LanguageAgnosticParser;
19
- private getNodePath;
20
- getAllSimplePaths(tree: Tree): string[];
21
- private isNodeWithinNode;
22
- }