@tyvm/knowhow 0.0.92 → 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 (646) hide show
  1. package/package.json +7 -5
  2. package/scripts/check-isolated-deps.sh +69 -0
  3. package/src/clients/gemini.ts +2 -2
  4. package/src/clients/openai.ts +1 -1
  5. package/src/clients/xai.ts +1 -1
  6. package/src/services/KnowhowClient.ts +1 -1
  7. package/src/services/Mcp.ts +1 -5
  8. package/ts_build/package.json +7 -5
  9. package/ts_build/src/agents/base/base.js.map +1 -1
  10. package/ts_build/src/agents/index.js +20 -10
  11. package/ts_build/src/agents/index.js.map +1 -1
  12. package/ts_build/src/agents/tools/addInternalTools.js +1 -2
  13. package/ts_build/src/agents/tools/addInternalTools.js.map +1 -1
  14. package/ts_build/src/agents/tools/agentCall.js +1 -2
  15. package/ts_build/src/agents/tools/agentCall.js.map +1 -1
  16. package/ts_build/src/agents/tools/aiClient.js +10 -11
  17. package/ts_build/src/agents/tools/aiClient.js.map +1 -1
  18. package/ts_build/src/agents/tools/askHuman.js +1 -2
  19. package/ts_build/src/agents/tools/askHuman.js.map +1 -1
  20. package/ts_build/src/agents/tools/callPlugin.js +1 -2
  21. package/ts_build/src/agents/tools/callPlugin.js.map +1 -1
  22. package/ts_build/src/agents/tools/embeddingSearch.js +1 -2
  23. package/ts_build/src/agents/tools/embeddingSearch.js.map +1 -1
  24. package/ts_build/src/agents/tools/execCommand.d.ts +0 -1
  25. package/ts_build/src/agents/tools/execCommand.js +17 -7
  26. package/ts_build/src/agents/tools/execCommand.js.map +1 -1
  27. package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js +2 -2
  28. package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js.map +1 -1
  29. package/ts_build/src/agents/tools/executeScript/examples/quick-test.js +1 -2
  30. package/ts_build/src/agents/tools/executeScript/examples/quick-test.js.map +1 -1
  31. package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js +2 -2
  32. package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js.map +1 -1
  33. package/ts_build/src/agents/tools/executeScript/examples/test-runner.js +19 -9
  34. package/ts_build/src/agents/tools/executeScript/examples/test-runner.js.map +1 -1
  35. package/ts_build/src/agents/tools/executeScript/index.js +1 -2
  36. package/ts_build/src/agents/tools/executeScript/index.js.map +1 -1
  37. package/ts_build/src/agents/tools/fileSearch.js +1 -2
  38. package/ts_build/src/agents/tools/fileSearch.js.map +1 -1
  39. package/ts_build/src/agents/tools/finalAnswer.js +1 -2
  40. package/ts_build/src/agents/tools/finalAnswer.js.map +1 -1
  41. package/ts_build/src/agents/tools/googleSearch.js +2 -2
  42. package/ts_build/src/agents/tools/googleSearch.js.map +1 -1
  43. package/ts_build/src/agents/tools/language/definitions.js.map +1 -1
  44. package/ts_build/src/agents/tools/language/index.js +3 -4
  45. package/ts_build/src/agents/tools/language/index.js.map +1 -1
  46. package/ts_build/src/agents/tools/lazy/disableTools.js +1 -2
  47. package/ts_build/src/agents/tools/lazy/disableTools.js.map +1 -1
  48. package/ts_build/src/agents/tools/lazy/enableTools.js +1 -2
  49. package/ts_build/src/agents/tools/lazy/enableTools.js.map +1 -1
  50. package/ts_build/src/agents/tools/lazy/listAvailableTools.js +1 -2
  51. package/ts_build/src/agents/tools/lazy/listAvailableTools.js.map +1 -1
  52. package/ts_build/src/agents/tools/lintFile.js +1 -2
  53. package/ts_build/src/agents/tools/lintFile.js.map +1 -1
  54. package/ts_build/src/agents/tools/list.js +17 -7
  55. package/ts_build/src/agents/tools/list.js.map +1 -1
  56. package/ts_build/src/agents/tools/loadWebpage.js +1 -2
  57. package/ts_build/src/agents/tools/loadWebpage.js.map +1 -1
  58. package/ts_build/src/agents/tools/mcp/connectMcpServer.js +1 -2
  59. package/ts_build/src/agents/tools/mcp/connectMcpServer.js.map +1 -1
  60. package/ts_build/src/agents/tools/mcp/disconnectMcpServer.js +1 -2
  61. package/ts_build/src/agents/tools/mcp/disconnectMcpServer.js.map +1 -1
  62. package/ts_build/src/agents/tools/mcp/listAvailableMcpServers.js +1 -2
  63. package/ts_build/src/agents/tools/mcp/listAvailableMcpServers.js.map +1 -1
  64. package/ts_build/src/agents/tools/modifyFile.js +18 -9
  65. package/ts_build/src/agents/tools/modifyFile.js.map +1 -1
  66. package/ts_build/src/agents/tools/patch.js +24 -15
  67. package/ts_build/src/agents/tools/patch.js.map +1 -1
  68. package/ts_build/src/agents/tools/readBlocks.js +18 -9
  69. package/ts_build/src/agents/tools/readBlocks.js.map +1 -1
  70. package/ts_build/src/agents/tools/readFile.js +18 -9
  71. package/ts_build/src/agents/tools/readFile.js.map +1 -1
  72. package/ts_build/src/agents/tools/scanFile.js +18 -9
  73. package/ts_build/src/agents/tools/scanFile.js.map +1 -1
  74. package/ts_build/src/agents/tools/startAgentTask.js +19 -9
  75. package/ts_build/src/agents/tools/startAgentTask.js.map +1 -1
  76. package/ts_build/src/agents/tools/stringReplace.js +18 -9
  77. package/ts_build/src/agents/tools/stringReplace.js.map +1 -1
  78. package/ts_build/src/agents/tools/textSearch.js +1 -2
  79. package/ts_build/src/agents/tools/textSearch.js.map +1 -1
  80. package/ts_build/src/agents/tools/visionTool.js +1 -2
  81. package/ts_build/src/agents/tools/visionTool.js.map +1 -1
  82. package/ts_build/src/agents/tools/writeFile.js +19 -10
  83. package/ts_build/src/agents/tools/writeFile.js.map +1 -1
  84. package/ts_build/src/agents/tools/ycmd/client.js +19 -9
  85. package/ts_build/src/agents/tools/ycmd/client.js.map +1 -1
  86. package/ts_build/src/agents/tools/ycmd/detection.js +17 -7
  87. package/ts_build/src/agents/tools/ycmd/detection.js.map +1 -1
  88. package/ts_build/src/agents/tools/ycmd/installer.js +17 -7
  89. package/ts_build/src/agents/tools/ycmd/installer.js.map +1 -1
  90. package/ts_build/src/agents/tools/ycmd/server.js +17 -7
  91. package/ts_build/src/agents/tools/ycmd/server.js.map +1 -1
  92. package/ts_build/src/agents/tools/ycmd/serverManager.js +17 -7
  93. package/ts_build/src/agents/tools/ycmd/serverManager.js.map +1 -1
  94. package/ts_build/src/agents/tools/ycmd/tools/completion.js +1 -2
  95. package/ts_build/src/agents/tools/ycmd/tools/completion.js.map +1 -1
  96. package/ts_build/src/agents/tools/ycmd/tools/diagnostics.js +1 -2
  97. package/ts_build/src/agents/tools/ycmd/tools/diagnostics.js.map +1 -1
  98. package/ts_build/src/agents/tools/ycmd/tools/getLocations.js +19 -10
  99. package/ts_build/src/agents/tools/ycmd/tools/getLocations.js.map +1 -1
  100. package/ts_build/src/agents/tools/ycmd/tools/goto.js +1 -2
  101. package/ts_build/src/agents/tools/ycmd/tools/goto.js.map +1 -1
  102. package/ts_build/src/agents/tools/ycmd/tools/refactor.js +1 -2
  103. package/ts_build/src/agents/tools/ycmd/tools/refactor.js.map +1 -1
  104. package/ts_build/src/agents/tools/ycmd/tools/signature.js +1 -2
  105. package/ts_build/src/agents/tools/ycmd/tools/signature.js.map +1 -1
  106. package/ts_build/src/agents/tools/ycmd/tools/start.js +1 -2
  107. package/ts_build/src/agents/tools/ycmd/tools/start.js.map +1 -1
  108. package/ts_build/src/agents/tools/ycmd/utils/pathUtils.js +21 -12
  109. package/ts_build/src/agents/tools/ycmd/utils/pathUtils.js.map +1 -1
  110. package/ts_build/src/ai.js +25 -15
  111. package/ts_build/src/ai.js.map +1 -1
  112. package/ts_build/src/auth/browserLogin.js +20 -10
  113. package/ts_build/src/auth/browserLogin.js.map +1 -1
  114. package/ts_build/src/auth/spinner.js.map +1 -1
  115. package/ts_build/src/chat/CliChatService.js.map +1 -1
  116. package/ts_build/src/chat/modules/AgentModule.js +17 -7
  117. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  118. package/ts_build/src/chat/modules/AskModule.js.map +1 -1
  119. package/ts_build/src/chat/modules/BaseChatModule.js.map +1 -1
  120. package/ts_build/src/chat/modules/CustomCommandsModule.js.map +1 -1
  121. package/ts_build/src/chat/modules/InternalChatModule.js.map +1 -1
  122. package/ts_build/src/chat/modules/RendererModule.js.map +1 -1
  123. package/ts_build/src/chat/modules/SearchModule.js.map +1 -1
  124. package/ts_build/src/chat/modules/SessionsModule.js +17 -7
  125. package/ts_build/src/chat/modules/SessionsModule.js.map +1 -1
  126. package/ts_build/src/chat/modules/SetupModule.js.map +1 -1
  127. package/ts_build/src/chat/modules/ShellCommandModule.js.map +1 -1
  128. package/ts_build/src/chat/modules/SystemModule.js.map +1 -1
  129. package/ts_build/src/chat/modules/VoiceModule.js.map +1 -1
  130. package/ts_build/src/chat/renderer/CompactRenderer.js.map +1 -1
  131. package/ts_build/src/chat/renderer/ConsoleRenderer.js.map +1 -1
  132. package/ts_build/src/chat/renderer/FancyRenderer.js.map +1 -1
  133. package/ts_build/src/chat/renderer/loadRenderer.js +26 -18
  134. package/ts_build/src/chat/renderer/loadRenderer.js.map +1 -1
  135. package/ts_build/src/chat/renderer/messagesToRenderEvents.js +1 -2
  136. package/ts_build/src/chat/renderer/messagesToRenderEvents.js.map +1 -1
  137. package/ts_build/src/chat.js +1 -2
  138. package/ts_build/src/chat.js.map +1 -1
  139. package/ts_build/src/cli.js +17 -7
  140. package/ts_build/src/cli.js.map +1 -1
  141. package/ts_build/src/clients/anthropic.d.ts +74 -4
  142. package/ts_build/src/clients/anthropic.js.map +1 -1
  143. package/ts_build/src/clients/contextLimits.js +2 -2
  144. package/ts_build/src/clients/contextLimits.js.map +1 -1
  145. package/ts_build/src/clients/gemini.js +18 -8
  146. package/ts_build/src/clients/gemini.js.map +1 -1
  147. package/ts_build/src/clients/http.js.map +1 -1
  148. package/ts_build/src/clients/index.js.map +1 -1
  149. package/ts_build/src/clients/knowhowMcp.js.map +1 -1
  150. package/ts_build/src/clients/openai.d.ts +199 -1
  151. package/ts_build/src/clients/openai.js +1 -1
  152. package/ts_build/src/clients/openai.js.map +1 -1
  153. package/ts_build/src/clients/pricing/anthropic.d.ts +72 -4
  154. package/ts_build/src/clients/pricing/openai.d.ts +192 -1
  155. package/ts_build/src/clients/pricing/xai.d.ts +36 -7
  156. package/ts_build/src/clients/types.d.ts +0 -2
  157. package/ts_build/src/clients/xai.d.ts +38 -7
  158. package/ts_build/src/clients/xai.js +1 -1
  159. package/ts_build/src/clients/xai.js.map +1 -1
  160. package/ts_build/src/config.js +27 -18
  161. package/ts_build/src/config.js.map +1 -1
  162. package/ts_build/src/conversion.js +21 -12
  163. package/ts_build/src/conversion.js.map +1 -1
  164. package/ts_build/src/dataset/diffs/debug-errors.js.map +1 -1
  165. package/ts_build/src/dataset/diffs/debug.js.map +1 -1
  166. package/ts_build/src/dataset/diffs/generate.js +17 -7
  167. package/ts_build/src/dataset/diffs/generate.js.map +1 -1
  168. package/ts_build/src/dataset/diffs/jsonl.js.map +1 -1
  169. package/ts_build/src/dataset/diffs/test.js.map +1 -1
  170. package/ts_build/src/embeddings.d.ts +1 -1
  171. package/ts_build/src/embeddings.js +33 -23
  172. package/ts_build/src/embeddings.js.map +1 -1
  173. package/ts_build/src/fileSync.js +18 -9
  174. package/ts_build/src/fileSync.js.map +1 -1
  175. package/ts_build/src/hashes.js +22 -13
  176. package/ts_build/src/hashes.js.map +1 -1
  177. package/ts_build/src/index.js +25 -15
  178. package/ts_build/src/index.js.map +1 -1
  179. package/ts_build/src/login.js +3 -4
  180. package/ts_build/src/login.js.map +1 -1
  181. package/ts_build/src/microphone.js +24 -15
  182. package/ts_build/src/microphone.js.map +1 -1
  183. package/ts_build/src/migrations.js +3 -3
  184. package/ts_build/src/migrations.js.map +1 -1
  185. package/ts_build/src/plugins/AgentsMdPlugin.js +17 -7
  186. package/ts_build/src/plugins/AgentsMdPlugin.js.map +1 -1
  187. package/ts_build/src/plugins/GitPlugin.js +17 -7
  188. package/ts_build/src/plugins/GitPlugin.js.map +1 -1
  189. package/ts_build/src/plugins/LinterPlugin.js.map +1 -1
  190. package/ts_build/src/plugins/PluginBase.js.map +1 -1
  191. package/ts_build/src/plugins/SkillsPlugin.js +17 -7
  192. package/ts_build/src/plugins/SkillsPlugin.js.map +1 -1
  193. package/ts_build/src/plugins/embedding.js.map +1 -1
  194. package/ts_build/src/plugins/exec.js.map +1 -1
  195. package/ts_build/src/plugins/language.js.map +1 -1
  196. package/ts_build/src/plugins/plugins.d.ts +1 -1
  197. package/ts_build/src/plugins/plugins.js +18 -9
  198. package/ts_build/src/plugins/plugins.js.map +1 -1
  199. package/ts_build/src/plugins/tmux.js.map +1 -1
  200. package/ts_build/src/plugins/url.js.map +1 -1
  201. package/ts_build/src/plugins/vim.js.map +1 -1
  202. package/ts_build/src/processors/Base64ImageDetector.js +17 -7
  203. package/ts_build/src/processors/Base64ImageDetector.js.map +1 -1
  204. package/ts_build/src/processors/CustomVariables.js.map +1 -1
  205. package/ts_build/src/processors/HarmonyToolProcessor.js.map +1 -1
  206. package/ts_build/src/processors/JsonCompressor.js.map +1 -1
  207. package/ts_build/src/processors/TokenCompressor.js.map +1 -1
  208. package/ts_build/src/processors/ToolResponseCache.js.map +1 -1
  209. package/ts_build/src/processors/XmlToolCallProcessor.js.map +1 -1
  210. package/ts_build/src/processors/tools/grepToolResponse.js +2 -2
  211. package/ts_build/src/processors/tools/grepToolResponse.js.map +1 -1
  212. package/ts_build/src/processors/tools/jqToolResponse.js +19 -9
  213. package/ts_build/src/processors/tools/jqToolResponse.js.map +1 -1
  214. package/ts_build/src/processors/tools/listStoredToolResponses.js +2 -2
  215. package/ts_build/src/processors/tools/listStoredToolResponses.js.map +1 -1
  216. package/ts_build/src/processors/tools/tailToolResponse.js +2 -2
  217. package/ts_build/src/processors/tools/tailToolResponse.js.map +1 -1
  218. package/ts_build/src/services/AgentService.js.map +1 -1
  219. package/ts_build/src/services/AgentSyncFs.js +17 -7
  220. package/ts_build/src/services/AgentSyncFs.js.map +1 -1
  221. package/ts_build/src/services/AgentSyncKnowhowWeb.js.map +1 -1
  222. package/ts_build/src/services/DockerService.js +17 -7
  223. package/ts_build/src/services/DockerService.js.map +1 -1
  224. package/ts_build/src/services/EmbeddingService.d.ts +1 -1
  225. package/ts_build/src/services/EmbeddingService.js +17 -7
  226. package/ts_build/src/services/EmbeddingService.js.map +1 -1
  227. package/ts_build/src/services/EmbeddingsService.js.map +1 -1
  228. package/ts_build/src/services/EventService.d.ts +0 -1
  229. package/ts_build/src/services/EventService.js.map +1 -1
  230. package/ts_build/src/services/KnowhowClient.js +3 -3
  231. package/ts_build/src/services/KnowhowClient.js.map +1 -1
  232. package/ts_build/src/services/LazyToolsService.js.map +1 -1
  233. package/ts_build/src/services/Mcp.d.ts +11 -15
  234. package/ts_build/src/services/Mcp.js +1 -5
  235. package/ts_build/src/services/Mcp.js.map +1 -1
  236. package/ts_build/src/services/McpServer.js.map +1 -1
  237. package/ts_build/src/services/McpWebsocketTransport.js.map +1 -1
  238. package/ts_build/src/services/MediaProcessorService.js +17 -7
  239. package/ts_build/src/services/MediaProcessorService.js.map +1 -1
  240. package/ts_build/src/services/MessageProcessor.js.map +1 -1
  241. package/ts_build/src/services/S3.js +17 -7
  242. package/ts_build/src/services/S3.js.map +1 -1
  243. package/ts_build/src/services/SessionManager.js +17 -7
  244. package/ts_build/src/services/SessionManager.js.map +1 -1
  245. package/ts_build/src/services/SyncedAgentWatcher.js +17 -7
  246. package/ts_build/src/services/SyncedAgentWatcher.js.map +1 -1
  247. package/ts_build/src/services/SyncerService.js.map +1 -1
  248. package/ts_build/src/services/TaskRegistry.js.map +1 -1
  249. package/ts_build/src/services/Tools.js.map +1 -1
  250. package/ts_build/src/services/flags.js.map +1 -1
  251. package/ts_build/src/services/index.js +17 -7
  252. package/ts_build/src/services/index.js.map +1 -1
  253. package/ts_build/src/services/modules/index.js.map +1 -1
  254. package/ts_build/src/services/script-execution/SandboxContext.js.map +1 -1
  255. package/ts_build/src/services/script-execution/ScriptExecutor.js.map +1 -1
  256. package/ts_build/src/services/script-execution/ScriptPolicy.js.map +1 -1
  257. package/ts_build/src/services/script-execution/ScriptTracer.js.map +1 -1
  258. package/ts_build/src/services/types.js +2 -2
  259. package/ts_build/src/services/types.js.map +1 -1
  260. package/ts_build/src/types.d.ts +1 -6
  261. package/ts_build/src/types.js +3 -3
  262. package/ts_build/src/types.js.map +1 -1
  263. package/ts_build/src/utils/InputQueueManager.js.map +1 -1
  264. package/ts_build/src/utils/http.d.ts +4 -4
  265. package/ts_build/src/utils/http.js.map +1 -1
  266. package/ts_build/src/utils/index.d.ts +1 -4
  267. package/ts_build/src/utils/index.js +27 -17
  268. package/ts_build/src/utils/index.js.map +1 -1
  269. package/ts_build/src/worker.js +18 -9
  270. package/ts_build/src/worker.js.map +1 -1
  271. package/ts_build/src/workerRegistry.js +24 -15
  272. package/ts_build/src/workerRegistry.js.map +1 -1
  273. package/ts_build/src/workers/auth/PasskeySetup.js.map +1 -1
  274. package/ts_build/src/workers/auth/WorkerPasskeyAuth.js.map +1 -1
  275. package/ts_build/src/workers/tools/getChallenge.js +1 -2
  276. package/ts_build/src/workers/tools/getChallenge.js.map +1 -1
  277. package/ts_build/src/workers/tools/listAllowedPorts.js +2 -2
  278. package/ts_build/src/workers/tools/listAllowedPorts.js.map +1 -1
  279. package/ts_build/src/workers/tools/lock.js +1 -2
  280. package/ts_build/src/workers/tools/lock.js.map +1 -1
  281. package/ts_build/src/workers/tools/unlock.js +1 -2
  282. package/ts_build/src/workers/tools/unlock.js.map +1 -1
  283. package/ts_build/tests/XmlToolCallProcessor.test.js.map +1 -1
  284. package/ts_build/tests/clients/AIClient.test.js.map +1 -1
  285. package/ts_build/tests/clients/pricing.test.js.map +1 -1
  286. package/ts_build/tests/compressor/bigstring.test.js.map +1 -1
  287. package/ts_build/tests/compressor/toolResponseCache.test.js +17 -7
  288. package/ts_build/tests/compressor/toolResponseCache.test.js.map +1 -1
  289. package/ts_build/tests/manual/agent-events/run-test.js.map +1 -1
  290. package/ts_build/tests/manual/browser-login/test_browser_login_basic.js +17 -7
  291. package/ts_build/tests/manual/browser-login/test_browser_login_basic.js.map +1 -1
  292. package/ts_build/tests/manual/browser-login/test_cli_integration.js +17 -7
  293. package/ts_build/tests/manual/browser-login/test_cli_integration.js.map +1 -1
  294. package/ts_build/tests/manual/browser-login/test_cross_platform_browser.js +17 -7
  295. package/ts_build/tests/manual/browser-login/test_cross_platform_browser.js.map +1 -1
  296. package/ts_build/tests/manual/browser-login/test_error_scenarios.js +17 -7
  297. package/ts_build/tests/manual/browser-login/test_error_scenarios.js.map +1 -1
  298. package/ts_build/tests/manual/file-edits/fileblocks/readwrite.test.js +17 -7
  299. package/ts_build/tests/manual/file-edits/fileblocks/readwrite.test.js.map +1 -1
  300. package/ts_build/tests/manual/file-edits/patching.test.js +17 -7
  301. package/ts_build/tests/manual/file-edits/patching.test.js.map +1 -1
  302. package/ts_build/tests/manual/modalities/google.modalities.test.js +17 -7
  303. package/ts_build/tests/manual/modalities/google.modalities.test.js.map +1 -1
  304. package/ts_build/tests/manual/modalities/openai.modalities.test.js +17 -7
  305. package/ts_build/tests/manual/modalities/openai.modalities.test.js.map +1 -1
  306. package/ts_build/tests/manual/modalities/streaming.test.js +17 -7
  307. package/ts_build/tests/manual/modalities/streaming.test.js.map +1 -1
  308. package/ts_build/tests/manual/modalities/xai.modalities.test.js +17 -7
  309. package/ts_build/tests/manual/modalities/xai.modalities.test.js.map +1 -1
  310. package/ts_build/tests/manual/ycmd/debug_diagnostics_test.js +17 -7
  311. package/ts_build/tests/manual/ycmd/debug_diagnostics_test.js.map +1 -1
  312. package/ts_build/tests/manual/ycmd/minimal_advanced_test.js +17 -7
  313. package/ts_build/tests/manual/ycmd/minimal_advanced_test.js.map +1 -1
  314. package/ts_build/tests/manual/ycmd/simple_diagnostics_test.js +17 -7
  315. package/ts_build/tests/manual/ycmd/simple_diagnostics_test.js.map +1 -1
  316. package/ts_build/tests/manual/ycmd/simple_test.js +17 -7
  317. package/ts_build/tests/manual/ycmd/simple_test.js.map +1 -1
  318. package/ts_build/tests/manual/ycmd/test-typescript-sample.js.map +1 -1
  319. package/ts_build/tests/manual/ycmd/test_advanced_features.js +18 -9
  320. package/ts_build/tests/manual/ycmd/test_advanced_features.js.map +1 -1
  321. package/ts_build/tests/manual/ycmd/test_advanced_with_tools.js +18 -9
  322. package/ts_build/tests/manual/ycmd/test_advanced_with_tools.js.map +1 -1
  323. package/ts_build/tests/manual/ycmd/test_comprehensive_typescript.js +17 -7
  324. package/ts_build/tests/manual/ycmd/test_comprehensive_typescript.js.map +1 -1
  325. package/ts_build/tests/manual/ycmd/test_diagnostics_file_changes.js +17 -7
  326. package/ts_build/tests/manual/ycmd/test_diagnostics_file_changes.js.map +1 -1
  327. package/ts_build/tests/manual/ycmd/test_diagnostics_fix.js +17 -7
  328. package/ts_build/tests/manual/ycmd/test_diagnostics_fix.js.map +1 -1
  329. package/ts_build/tests/manual/ycmd/test_diagnostics_simple.js +17 -7
  330. package/ts_build/tests/manual/ycmd/test_diagnostics_simple.js.map +1 -1
  331. package/ts_build/tests/manual/ycmd/test_diagnostics_timing.js +17 -7
  332. package/ts_build/tests/manual/ycmd/test_diagnostics_timing.js.map +1 -1
  333. package/ts_build/tests/manual/ycmd/test_discover_commands.js +18 -9
  334. package/ts_build/tests/manual/ycmd/test_discover_commands.js.map +1 -1
  335. package/ts_build/tests/manual/ycmd/test_endpoints.js +17 -7
  336. package/ts_build/tests/manual/ycmd/test_endpoints.js.map +1 -1
  337. package/ts_build/tests/manual/ycmd/test_final_comprehensive.js +17 -7
  338. package/ts_build/tests/manual/ycmd/test_final_comprehensive.js.map +1 -1
  339. package/ts_build/tests/manual/ycmd/test_final_validation.js +17 -7
  340. package/ts_build/tests/manual/ycmd/test_final_validation.js.map +1 -1
  341. package/ts_build/tests/manual/ycmd/test_individual_ycmd_tool.js.map +1 -1
  342. package/ts_build/tests/manual/ycmd/test_server_manager.js.map +1 -1
  343. package/ts_build/tests/manual/ycmd/test_simple_debug.js +17 -7
  344. package/ts_build/tests/manual/ycmd/test_simple_debug.js.map +1 -1
  345. package/ts_build/tests/manual/ycmd/test_tsserver_workflow.js +17 -7
  346. package/ts_build/tests/manual/ycmd/test_tsserver_workflow.js.map +1 -1
  347. package/ts_build/tests/manual/ycmd/test_typescript_simple.js +17 -7
  348. package/ts_build/tests/manual/ycmd/test_typescript_simple.js.map +1 -1
  349. package/ts_build/tests/manual/ycmd/test_typescript_ycmd.js +17 -7
  350. package/ts_build/tests/manual/ycmd/test_typescript_ycmd.js.map +1 -1
  351. package/ts_build/tests/manual/ycmd/test_workspace_config.js +17 -7
  352. package/ts_build/tests/manual/ycmd/test_workspace_config.js.map +1 -1
  353. package/ts_build/tests/manual/ycmd/test_ycmd_auto_start.js +17 -7
  354. package/ts_build/tests/manual/ycmd/test_ycmd_auto_start.js.map +1 -1
  355. package/ts_build/tests/manual/ycmd/test_ycmd_comprehensive.js +17 -7
  356. package/ts_build/tests/manual/ycmd/test_ycmd_comprehensive.js.map +1 -1
  357. package/ts_build/tests/manual/ycmd/test_ycmd_direct.js +17 -7
  358. package/ts_build/tests/manual/ycmd/test_ycmd_direct.js.map +1 -1
  359. package/ts_build/tests/manual/ycmd/test_ycmd_experiment.js +19 -9
  360. package/ts_build/tests/manual/ycmd/test_ycmd_experiment.js.map +1 -1
  361. package/ts_build/tests/manual/ycmd/test_ycmd_final.js +17 -7
  362. package/ts_build/tests/manual/ycmd/test_ycmd_final.js.map +1 -1
  363. package/ts_build/tests/manual/ycmd/test_ycmd_integration.js +18 -9
  364. package/ts_build/tests/manual/ycmd/test_ycmd_integration.js.map +1 -1
  365. package/ts_build/tests/manual/ycmd/test_ycmd_simple.js.map +1 -1
  366. package/ts_build/tests/manual/ycmd/working_simple_test.js +17 -7
  367. package/ts_build/tests/manual/ycmd/working_simple_test.js.map +1 -1
  368. package/ts_build/tests/patching/corrupted.test.js.map +1 -1
  369. package/ts_build/tests/patching/imports.test.js +17 -7
  370. package/ts_build/tests/patching/imports.test.js.map +1 -1
  371. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +17 -7
  372. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +1 -1
  373. package/ts_build/tests/plugins/language/languagePlugin-integration.test.js +17 -7
  374. package/ts_build/tests/plugins/language/languagePlugin-integration.test.js.map +1 -1
  375. package/ts_build/tests/plugins/language/languagePlugin.test.js +17 -7
  376. package/ts_build/tests/plugins/language/languagePlugin.test.js.map +1 -1
  377. package/ts_build/tests/processors/Base64ImageDetector.test.js +17 -7
  378. package/ts_build/tests/processors/Base64ImageDetector.test.js.map +1 -1
  379. package/ts_build/tests/processors/TokenCompressor.test.js.map +1 -1
  380. package/ts_build/tests/processors/ToolResponseCache.test.js.map +1 -1
  381. package/ts_build/tests/services/Tools.test.js.map +1 -1
  382. package/ts_build/tests/test.spec.js +17 -7
  383. package/ts_build/tests/test.spec.js.map +1 -1
  384. package/ts_build/tests/unit/InputQueueManager.test.js.map +1 -1
  385. package/ts_build/tests/unit/modules/moduleLoading.test.js.map +1 -1
  386. package/ts_build/src/agents/tools/asana/definitions.d.ts +0 -202
  387. package/ts_build/src/agents/tools/asana/definitions.js +0 -197
  388. package/ts_build/src/agents/tools/asana/definitions.js.map +0 -1
  389. package/ts_build/src/agents/tools/asana/index.d.ts +0 -8
  390. package/ts_build/src/agents/tools/asana/index.js +0 -98
  391. package/ts_build/src/agents/tools/asana/index.js.map +0 -1
  392. package/ts_build/src/agents/tools/ast/astAppendNode.d.ts +0 -1
  393. package/ts_build/src/agents/tools/ast/astAppendNode.js +0 -8
  394. package/ts_build/src/agents/tools/ast/astAppendNode.js.map +0 -1
  395. package/ts_build/src/agents/tools/ast/astDeleteNode.d.ts +0 -1
  396. package/ts_build/src/agents/tools/ast/astDeleteNode.js +0 -8
  397. package/ts_build/src/agents/tools/ast/astDeleteNode.js.map +0 -1
  398. package/ts_build/src/agents/tools/ast/astEditNode.d.ts +0 -1
  399. package/ts_build/src/agents/tools/ast/astEditNode.js +0 -8
  400. package/ts_build/src/agents/tools/ast/astEditNode.js.map +0 -1
  401. package/ts_build/src/agents/tools/ast/astGetPathForLine.d.ts +0 -1
  402. package/ts_build/src/agents/tools/ast/astGetPathForLine.js +0 -8
  403. package/ts_build/src/agents/tools/ast/astGetPathForLine.js.map +0 -1
  404. package/ts_build/src/agents/tools/ast/astListPaths.d.ts +0 -1
  405. package/ts_build/src/agents/tools/ast/astListPaths.js +0 -8
  406. package/ts_build/src/agents/tools/ast/astListPaths.js.map +0 -1
  407. package/ts_build/src/agents/tools/ast/index.d.ts +0 -5
  408. package/ts_build/src/agents/tools/ast/index.js +0 -14
  409. package/ts_build/src/agents/tools/ast/index.js.map +0 -1
  410. package/ts_build/src/agents/tools/astAppendNode.d.ts +0 -1
  411. package/ts_build/src/agents/tools/astAppendNode.js +0 -98
  412. package/ts_build/src/agents/tools/astAppendNode.js.map +0 -1
  413. package/ts_build/src/agents/tools/astDeleteNode.d.ts +0 -1
  414. package/ts_build/src/agents/tools/astDeleteNode.js +0 -95
  415. package/ts_build/src/agents/tools/astDeleteNode.js.map +0 -1
  416. package/ts_build/src/agents/tools/astEditNode.d.ts +0 -1
  417. package/ts_build/src/agents/tools/astEditNode.js +0 -98
  418. package/ts_build/src/agents/tools/astEditNode.js.map +0 -1
  419. package/ts_build/src/agents/tools/astGetPathForLine.d.ts +0 -1
  420. package/ts_build/src/agents/tools/astGetPathForLine.js +0 -89
  421. package/ts_build/src/agents/tools/astGetPathForLine.js.map +0 -1
  422. package/ts_build/src/agents/tools/astListPaths.d.ts +0 -1
  423. package/ts_build/src/agents/tools/astListPaths.js +0 -82
  424. package/ts_build/src/agents/tools/astListPaths.js.map +0 -1
  425. package/ts_build/src/agents/tools/github/definitions.d.ts +0 -47
  426. package/ts_build/src/agents/tools/github/definitions.js +0 -86
  427. package/ts_build/src/agents/tools/github/definitions.js.map +0 -1
  428. package/ts_build/src/agents/tools/github/index.d.ts +0 -789
  429. package/ts_build/src/agents/tools/github/index.js +0 -56
  430. package/ts_build/src/agents/tools/github/index.js.map +0 -1
  431. package/ts_build/src/agents/tools/startChatTask.d.ts +0 -13
  432. package/ts_build/src/agents/tools/startChatTask.js +0 -73
  433. package/ts_build/src/agents/tools/startChatTask.js.map +0 -1
  434. package/ts_build/src/agents/vim/vim.d.ts +0 -13
  435. package/ts_build/src/agents/vim/vim.js +0 -170
  436. package/ts_build/src/agents/vim/vim.js.map +0 -1
  437. package/ts_build/src/chat/ChatCommandHandler.d.ts +0 -36
  438. package/ts_build/src/chat/ChatCommandHandler.js +0 -268
  439. package/ts_build/src/chat/ChatCommandHandler.js.map +0 -1
  440. package/ts_build/src/chat/ChatInputManager.d.ts +0 -22
  441. package/ts_build/src/chat/ChatInputManager.js +0 -85
  442. package/ts_build/src/chat/ChatInputManager.js.map +0 -1
  443. package/ts_build/src/chat/ChatManager.d.ts +0 -49
  444. package/ts_build/src/chat/ChatManager.js +0 -271
  445. package/ts_build/src/chat/ChatManager.js.map +0 -1
  446. package/ts_build/src/chat/ChatSession.d.ts +0 -32
  447. package/ts_build/src/chat/ChatSession.js +0 -3
  448. package/ts_build/src/chat/ChatSession.js.map +0 -1
  449. package/ts_build/src/chat/ChatSessionManager.d.ts +0 -19
  450. package/ts_build/src/chat/ChatSessionManager.js +0 -188
  451. package/ts_build/src/chat/ChatSessionManager.js.map +0 -1
  452. package/ts_build/src/chat/ChatStateManager.d.ts +0 -58
  453. package/ts_build/src/chat/ChatStateManager.js +0 -156
  454. package/ts_build/src/chat/ChatStateManager.js.map +0 -1
  455. package/ts_build/src/chat/InterruptibleInput.d.ts +0 -20
  456. package/ts_build/src/chat/InterruptibleInput.js +0 -109
  457. package/ts_build/src/chat/InterruptibleInput.js.map +0 -1
  458. package/ts_build/src/chat/interfaces/ChatModule.d.ts +0 -6
  459. package/ts_build/src/chat/interfaces/ChatModule.js +0 -3
  460. package/ts_build/src/chat/interfaces/ChatModule.js.map +0 -1
  461. package/ts_build/src/chat-old.d.ts +0 -13
  462. package/ts_build/src/chat-old.js +0 -340
  463. package/ts_build/src/chat-old.js.map +0 -1
  464. package/ts_build/src/chat2.d.ts +0 -3
  465. package/ts_build/src/chat2.js +0 -47
  466. package/ts_build/src/chat2.js.map +0 -1
  467. package/ts_build/src/dockerWorker.d.ts +0 -22
  468. package/ts_build/src/dockerWorker.js +0 -210
  469. package/ts_build/src/dockerWorker.js.map +0 -1
  470. package/ts_build/src/plugins/asana.d.ts +0 -19
  471. package/ts_build/src/plugins/asana.js +0 -124
  472. package/ts_build/src/plugins/asana.js.map +0 -1
  473. package/ts_build/src/plugins/downloader/downloader.d.ts +0 -26
  474. package/ts_build/src/plugins/downloader/downloader.js +0 -324
  475. package/ts_build/src/plugins/downloader/downloader.js.map +0 -1
  476. package/ts_build/src/plugins/downloader/plugin.d.ts +0 -12
  477. package/ts_build/src/plugins/downloader/plugin.js +0 -98
  478. package/ts_build/src/plugins/downloader/plugin.js.map +0 -1
  479. package/ts_build/src/plugins/downloader/types.d.ts +0 -88
  480. package/ts_build/src/plugins/downloader/types.js +0 -79
  481. package/ts_build/src/plugins/downloader/types.js.map +0 -1
  482. package/ts_build/src/plugins/figma.d.ts +0 -25
  483. package/ts_build/src/plugins/figma.js +0 -134
  484. package/ts_build/src/plugins/figma.js.map +0 -1
  485. package/ts_build/src/plugins/github.d.ts +0 -1227
  486. package/ts_build/src/plugins/github.js +0 -182
  487. package/ts_build/src/plugins/github.js.map +0 -1
  488. package/ts_build/src/plugins/jira.d.ts +0 -18
  489. package/ts_build/src/plugins/jira.js +0 -104
  490. package/ts_build/src/plugins/jira.js.map +0 -1
  491. package/ts_build/src/plugins/linear.d.ts +0 -26
  492. package/ts_build/src/plugins/linear.js +0 -194
  493. package/ts_build/src/plugins/linear.js.map +0 -1
  494. package/ts_build/src/plugins/notion.d.ts +0 -35
  495. package/ts_build/src/plugins/notion.js +0 -141
  496. package/ts_build/src/plugins/notion.js.map +0 -1
  497. package/ts_build/src/plugins/tree-sitter/editor.d.ts +0 -5
  498. package/ts_build/src/plugins/tree-sitter/editor.js +0 -16
  499. package/ts_build/src/plugins/tree-sitter/editor.js.map +0 -1
  500. package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.d.ts +0 -29
  501. package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.js +0 -538
  502. package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.js.map +0 -1
  503. package/ts_build/src/plugins/tree-sitter/human-readable-paths.d.ts +0 -22
  504. package/ts_build/src/plugins/tree-sitter/human-readable-paths.js +0 -332
  505. package/ts_build/src/plugins/tree-sitter/human-readable-paths.js.map +0 -1
  506. package/ts_build/src/plugins/tree-sitter/lang-packs/index.d.ts +0 -8
  507. package/ts_build/src/plugins/tree-sitter/lang-packs/index.js +0 -26
  508. package/ts_build/src/plugins/tree-sitter/lang-packs/index.js.map +0 -1
  509. package/ts_build/src/plugins/tree-sitter/lang-packs/java.d.ts +0 -2
  510. package/ts_build/src/plugins/tree-sitter/lang-packs/java.js +0 -61
  511. package/ts_build/src/plugins/tree-sitter/lang-packs/java.js.map +0 -1
  512. package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.d.ts +0 -2
  513. package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.js +0 -59
  514. package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.js.map +0 -1
  515. package/ts_build/src/plugins/tree-sitter/lang-packs/python.d.ts +0 -2
  516. package/ts_build/src/plugins/tree-sitter/lang-packs/python.js +0 -47
  517. package/ts_build/src/plugins/tree-sitter/lang-packs/python.js.map +0 -1
  518. package/ts_build/src/plugins/tree-sitter/lang-packs/types.d.ts +0 -43
  519. package/ts_build/src/plugins/tree-sitter/lang-packs/types.js +0 -3
  520. package/ts_build/src/plugins/tree-sitter/lang-packs/types.js.map +0 -1
  521. package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.d.ts +0 -2
  522. package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.js +0 -50
  523. package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.js.map +0 -1
  524. package/ts_build/src/plugins/tree-sitter/parser.d.ts +0 -40
  525. package/ts_build/src/plugins/tree-sitter/parser.js +0 -36
  526. package/ts_build/src/plugins/tree-sitter/parser.js.map +0 -1
  527. package/ts_build/src/plugins/tree-sitter/simple-paths.d.ts +0 -9
  528. package/ts_build/src/plugins/tree-sitter/simple-paths.js +0 -10
  529. package/ts_build/src/plugins/tree-sitter/simple-paths.js.map +0 -1
  530. package/ts_build/src/services/AgentSynchronization.d.ts +0 -29
  531. package/ts_build/src/services/AgentSynchronization.js +0 -178
  532. package/ts_build/src/services/AgentSynchronization.js.map +0 -1
  533. package/ts_build/src/services/GitHub.d.ts +0 -10
  534. package/ts_build/src/services/GitHub.js +0 -51
  535. package/ts_build/src/services/GitHub.js.map +0 -1
  536. package/ts_build/src/utils/PersistentInputManager.d.ts +0 -28
  537. package/ts_build/src/utils/PersistentInputManager.js +0 -293
  538. package/ts_build/src/utils/PersistentInputManager.js.map +0 -1
  539. package/ts_build/src/worker/handlers/proxyHandler.d.ts +0 -2
  540. package/ts_build/src/worker/handlers/proxyHandler.js +0 -41
  541. package/ts_build/src/worker/handlers/proxyHandler.js.map +0 -1
  542. package/ts_build/src/worker/tools/index.d.ts +0 -1
  543. package/ts_build/src/worker/tools/index.js +0 -18
  544. package/ts_build/src/worker/tools/index.js.map +0 -1
  545. package/ts_build/src/worker/tools/portForwarding.d.ts +0 -49
  546. package/ts_build/src/worker/tools/portForwarding.js +0 -173
  547. package/ts_build/src/worker/tools/portForwarding.js.map +0 -1
  548. package/ts_build/src/worker/types/proxy.d.ts +0 -18
  549. package/ts_build/src/worker/types/proxy.js +0 -3
  550. package/ts_build/src/worker/types/proxy.js.map +0 -1
  551. package/ts_build/src/worker-entrypoint.d.ts +0 -2
  552. package/ts_build/src/worker-entrypoint.js +0 -39
  553. package/ts_build/src/worker-entrypoint.js.map +0 -1
  554. package/ts_build/src/workerSync.d.ts +0 -8
  555. package/ts_build/src/workerSync.js +0 -120
  556. package/ts_build/src/workerSync.js.map +0 -1
  557. package/ts_build/src/workers/tools/listForwardedPorts.d.ts +0 -10
  558. package/ts_build/src/workers/tools/listForwardedPorts.js +0 -22
  559. package/ts_build/src/workers/tools/listForwardedPorts.js.map +0 -1
  560. package/ts_build/tests/integration/figma.test.d.ts +0 -1
  561. package/ts_build/tests/integration/figma.test.js +0 -47
  562. package/ts_build/tests/integration/figma.test.js.map +0 -1
  563. package/ts_build/tests/integration/fileblocks/readwrite.test.d.ts +0 -1
  564. package/ts_build/tests/integration/fileblocks/readwrite.test.js +0 -96
  565. package/ts_build/tests/integration/fileblocks/readwrite.test.js.map +0 -1
  566. package/ts_build/tests/integration/patching.test.d.ts +0 -1
  567. package/ts_build/tests/integration/patching.test.js +0 -116
  568. package/ts_build/tests/integration/patching.test.js.map +0 -1
  569. package/ts_build/tests/languagePlugin.test.d.ts +0 -1
  570. package/ts_build/tests/languagePlugin.test.js +0 -284
  571. package/ts_build/tests/languagePlugin.test.js.map +0 -1
  572. package/ts_build/tests/manual/agent-events/event-handler-reliability.test.d.ts +0 -1
  573. package/ts_build/tests/manual/agent-events/event-handler-reliability.test.js +0 -315
  574. package/ts_build/tests/manual/agent-events/event-handler-reliability.test.js.map +0 -1
  575. package/ts_build/tests/manual/persistent-input-test.d.ts +0 -1
  576. package/ts_build/tests/manual/persistent-input-test.js +0 -35
  577. package/ts_build/tests/manual/persistent-input-test.js.map +0 -1
  578. package/ts_build/tests/services/Plugins/plugin-event-integration.test.d.ts +0 -1
  579. package/ts_build/tests/services/Plugins/plugin-event-integration.test.js +0 -232
  580. package/ts_build/tests/services/Plugins/plugin-event-integration.test.js.map +0 -1
  581. package/ts_build/tests/tree-sitter/editor.test.d.ts +0 -1
  582. package/ts_build/tests/tree-sitter/editor.test.js +0 -85
  583. package/ts_build/tests/tree-sitter/editor.test.js.map +0 -1
  584. package/ts_build/tests/tree-sitter/invalid.test.d.ts +0 -1
  585. package/ts_build/tests/tree-sitter/invalid.test.js +0 -198
  586. package/ts_build/tests/tree-sitter/invalid.test.js.map +0 -1
  587. package/ts_build/tests/tree-sitter/paths/common-edits.test.d.ts +0 -1
  588. package/ts_build/tests/tree-sitter/paths/common-edits.test.js +0 -347
  589. package/ts_build/tests/tree-sitter/paths/common-edits.test.js.map +0 -1
  590. package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.d.ts +0 -1
  591. package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.js +0 -35
  592. package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.js.map +0 -1
  593. package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.d.ts +0 -1
  594. package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.js +0 -38
  595. package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.js.map +0 -1
  596. package/ts_build/tests/tree-sitter/paths/debug-paths.test.d.ts +0 -1
  597. package/ts_build/tests/tree-sitter/paths/debug-paths.test.js +0 -74
  598. package/ts_build/tests/tree-sitter/paths/debug-paths.test.js.map +0 -1
  599. package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.d.ts +0 -1
  600. package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.js +0 -302
  601. package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.js.map +0 -1
  602. package/ts_build/tests/tree-sitter/paths/paths.test.d.ts +0 -1
  603. package/ts_build/tests/tree-sitter/paths/paths.test.js +0 -116
  604. package/ts_build/tests/tree-sitter/paths/paths.test.js.map +0 -1
  605. package/ts_build/tests/tree-sitter/paths/simple-paths.test.d.ts +0 -1
  606. package/ts_build/tests/tree-sitter/paths/simple-paths.test.js +0 -302
  607. package/ts_build/tests/tree-sitter/paths/simple-paths.test.js.map +0 -1
  608. package/ts_build/tests/tree-sitter/sample-after.d.ts +0 -11
  609. package/ts_build/tests/tree-sitter/sample-after.js +0 -44
  610. package/ts_build/tests/tree-sitter/sample-after.js.map +0 -1
  611. package/ts_build/tests/tree-sitter/sample-before.d.ts +0 -9
  612. package/ts_build/tests/tree-sitter/sample-before.js +0 -28
  613. package/ts_build/tests/tree-sitter/sample-before.js.map +0 -1
  614. package/ts_build/tests/tree-sitter/test-files/completely-broken.d.ts +0 -2
  615. package/ts_build/tests/tree-sitter/test-files/completely-broken.js +0 -17
  616. package/ts_build/tests/tree-sitter/test-files/completely-broken.js.map +0 -1
  617. package/ts_build/tests/tree-sitter/test-files/duplicate-braces.d.ts +0 -8
  618. package/ts_build/tests/tree-sitter/test-files/duplicate-braces.js +0 -38
  619. package/ts_build/tests/tree-sitter/test-files/duplicate-braces.js.map +0 -1
  620. package/ts_build/tests/tree-sitter/test-files/invalid-nesting.d.ts +0 -8
  621. package/ts_build/tests/tree-sitter/test-files/invalid-nesting.js +0 -38
  622. package/ts_build/tests/tree-sitter/test-files/invalid-nesting.js.map +0 -1
  623. package/ts_build/tests/tree-sitter/test-files/malformed-signature.d.ts +0 -8
  624. package/ts_build/tests/tree-sitter/test-files/malformed-signature.js +0 -38
  625. package/ts_build/tests/tree-sitter/test-files/malformed-signature.js.map +0 -1
  626. package/ts_build/tests/tree-sitter/test-files/mismatched-parens.d.ts +0 -10
  627. package/ts_build/tests/tree-sitter/test-files/mismatched-parens.js +0 -38
  628. package/ts_build/tests/tree-sitter/test-files/mismatched-parens.js.map +0 -1
  629. package/ts_build/tests/tree-sitter/test-files/missing-semicolon.d.ts +0 -8
  630. package/ts_build/tests/tree-sitter/test-files/missing-semicolon.js +0 -38
  631. package/ts_build/tests/tree-sitter/test-files/missing-semicolon.js.map +0 -1
  632. package/ts_build/tests/tree-sitter/test-files/partially-broken.d.ts +0 -6
  633. package/ts_build/tests/tree-sitter/test-files/partially-broken.js +0 -20
  634. package/ts_build/tests/tree-sitter/test-files/partially-broken.js.map +0 -1
  635. package/ts_build/tests/tree-sitter/test-files/specific-errors.d.ts +0 -7
  636. package/ts_build/tests/tree-sitter/test-files/specific-errors.js +0 -14
  637. package/ts_build/tests/tree-sitter/test-files/specific-errors.js.map +0 -1
  638. package/ts_build/tests/tree-sitter/test-files/unclosed-string.d.ts +0 -8
  639. package/ts_build/tests/tree-sitter/test-files/unclosed-string.js +0 -38
  640. package/ts_build/tests/tree-sitter/test-files/unclosed-string.js.map +0 -1
  641. package/ts_build/tests/tree-sitter/tree-sitter.test.d.ts +0 -0
  642. package/ts_build/tests/tree-sitter/tree-sitter.test.js +0 -4
  643. package/ts_build/tests/tree-sitter/tree-sitter.test.js.map +0 -1
  644. package/ts_build/tests/worker/handlers/proxyHandler.test.d.ts +0 -1
  645. package/ts_build/tests/worker/handlers/proxyHandler.test.js +0 -170
  646. package/ts_build/tests/worker/handlers/proxyHandler.test.js.map +0 -1
@@ -1,19 +0,0 @@
1
- import { PluginBase, PluginMeta } from "./PluginBase";
2
- import { MinimalEmbedding } from "../types";
3
- import { PluginContext } from "./types";
4
- export declare class AsanaPlugin extends PluginBase {
5
- static readonly meta: PluginMeta;
6
- meta: PluginMeta;
7
- private asanaClient;
8
- constructor(context: PluginContext);
9
- getTaskString(task: any): string;
10
- embed(userPrompt: string): Promise<MinimalEmbedding[]>;
11
- extractProjectUrls(userPrompt: string): string[];
12
- extractTaskUrls(userPrompt: string): string[];
13
- getTasksFromUrls(urls: string[]): Promise<any[]>;
14
- getTasksFromProjectUrls(urls: string[]): Promise<any[]>;
15
- getTasksFromProjectUrl(url: string): Promise<any[]>;
16
- getTaskFromUrl(url: string): Promise<any>;
17
- getTaskData(taskId: string): Promise<any>;
18
- call(userPrompt: string): Promise<string>;
19
- }
@@ -1,124 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AsanaPlugin = void 0;
4
- const PluginBase_1 = require("./PluginBase");
5
- class AsanaPlugin extends PluginBase_1.PluginBase {
6
- static meta = {
7
- key: "asana",
8
- name: "Asana Plugin",
9
- requires: ["ASANA_TOKEN"]
10
- };
11
- meta = AsanaPlugin.meta;
12
- asanaClient = require("asana").ApiClient.instance;
13
- constructor(context) {
14
- super(context);
15
- if (!this.isEnabled())
16
- return;
17
- this.asanaClient.authentications.token = process.env.ASANA_TOKEN;
18
- this.asanaClient.defaultHeaders = {
19
- "Asana-Enable": "new_user_task_lists,new_goal_memberships",
20
- };
21
- }
22
- getTaskString(task) {
23
- return `### Task: ${task.name}\n- Description: ${task.notes}\n- URL: ${task.permalink_url}\n Completed: ${task.completed}`;
24
- }
25
- async embed(userPrompt) {
26
- const urls = this.extractTaskUrls(userPrompt);
27
- const tasksData = await this.getTasksFromUrls(urls);
28
- const tasksDataFiltered = tasksData.filter((task) => task !== null);
29
- const tasksEmbeddings = tasksDataFiltered.map((task) => {
30
- return {
31
- id: task.permalink_url,
32
- text: this.getTaskString(task),
33
- metadata: {
34
- task: JSON.stringify(task),
35
- },
36
- };
37
- });
38
- const projectUrls = this.extractProjectUrls(userPrompt);
39
- const projectTasks = await this.getTasksFromProjectUrls(projectUrls);
40
- const projectTasksFiltered = projectTasks.filter((t) => t !== null);
41
- const projectTaskEmbeddings = projectTasksFiltered.map((t) => {
42
- return {
43
- id: t.permalink_url,
44
- text: this.getTaskString(t),
45
- metadata: {
46
- task: JSON.stringify(t),
47
- },
48
- };
49
- });
50
- const allTasks = tasksEmbeddings.concat(projectTaskEmbeddings);
51
- this.log(`Found ${allTasks.length} tasks`);
52
- return allTasks;
53
- }
54
- extractProjectUrls(userPrompt) {
55
- const projectUrlRegex = /https:\/\/app\.asana\.com\/0\/(\d+)\/list/g;
56
- const matches = userPrompt.match(projectUrlRegex);
57
- return matches || [];
58
- }
59
- extractTaskUrls(userPrompt) {
60
- const taskUrlRegex = /https:\/\/app\.asana\.com\/0\/(\d+)\/(\d+)/g;
61
- const matches = userPrompt.match(taskUrlRegex);
62
- return matches || [];
63
- }
64
- async getTasksFromUrls(urls) {
65
- const tasks = await Promise.all(urls.map(async (url) => {
66
- return this.getTaskFromUrl(url);
67
- }));
68
- return tasks;
69
- }
70
- async getTasksFromProjectUrls(urls) {
71
- const tasks = await Promise.all(urls.map((url) => this.getTasksFromProjectUrl(url)));
72
- return tasks.flat();
73
- }
74
- async getTasksFromProjectUrl(url) {
75
- const urlParts = url.split("/");
76
- const projectId = urlParts[4];
77
- this.log(`Project ID: ${projectId}`);
78
- if (!projectId) {
79
- return null;
80
- }
81
- let tasks = await this.asanaClient.tasks.findAll({
82
- project: projectId,
83
- opt_expand: "notes,assignee,permalink_url,custom_fields,tags,completed",
84
- });
85
- const allData = [];
86
- do {
87
- allData.push(...tasks.data);
88
- tasks = await tasks.nextPage();
89
- } while (tasks);
90
- return allData;
91
- }
92
- async getTaskFromUrl(url) {
93
- const taskId = url.split("/").pop();
94
- if (taskId) {
95
- this.log(`Fetching Asana task ${taskId}`);
96
- return await this.getTaskData(taskId);
97
- }
98
- return null;
99
- }
100
- async getTaskData(taskId) {
101
- try {
102
- const task = await this.asanaClient.tasks.findById(taskId);
103
- return task;
104
- }
105
- catch (error) {
106
- this.log(`Error fetching Asana task: ${error}`, "error");
107
- return null;
108
- }
109
- }
110
- async call(userPrompt) {
111
- const urls = this.extractTaskUrls(userPrompt);
112
- const tasksData = await this.getTasksFromUrls(urls);
113
- const tasksDataFiltered = tasksData.filter((task) => task !== null);
114
- if (tasksDataFiltered.length === 0) {
115
- return "ASANA PLUGIN: No tasks found";
116
- }
117
- const markdownTasks = tasksDataFiltered
118
- .map((task) => this.getTaskString(task))
119
- .join("\n\n");
120
- return `ASANA PLUGIN: The following tasks were loaded:\n\n${markdownTasks}`;
121
- }
122
- }
123
- exports.AsanaPlugin = AsanaPlugin;
124
- //# sourceMappingURL=asana.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asana.js","sourceRoot":"","sources":["../../../src/plugins/asana.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { KeyframeInfo, TranscriptChunk } from "./types";
2
- import { Clients } from "../../clients";
3
- export declare class DownloaderService {
4
- private clients;
5
- constructor(clients: typeof Clients);
6
- askGptVision(imageUrl: string, question: string, provider?: string, model?: string): Promise<import("../../clients").CompletionResponse>;
7
- download(url: string, outputDir: string): Promise<import("youtube-dl-exec").Payload>;
8
- info(url: string): Promise<import("youtube-dl-exec").Payload>;
9
- chunk(filePath: string, outputDir: string, CHUNK_LENGTH_SECONDS?: number, reuseExistingChunks?: boolean): Promise<string[]>;
10
- streamTranscription(files: string[], outputPath: string, reusePreviousTranscript?: boolean): AsyncGenerator<TranscriptChunk>;
11
- transcribeChunks(files: string[], outputPath: string, reusePreviousTranscript?: boolean): Promise<string[]>;
12
- streamKeyFrameExtraction(filePath: string, videoJsonPath: string, reusePreviousKeyframes?: boolean, interval?: number): AsyncGenerator<KeyframeInfo>;
13
- extractKeyframes(filePath: string, outputPath: string, reusePreviousKeyframes?: boolean, interval?: number): Promise<KeyframeInfo[]>;
14
- private describeKeyframe;
15
- private extractTimestamp;
16
- processAudio(filePath: string, reusePreviousTranscript?: boolean, chunkTime?: number): Promise<string[]>;
17
- streamProcessAudio(filePath: string, reusePreviousTranscript?: boolean, chunkTime?: number): AsyncGenerator<TranscriptChunk>;
18
- processVideo(filePath: string, reusePreviousTranscript?: boolean, chunkTime?: number): Promise<{
19
- frame: KeyframeInfo;
20
- transcription: string;
21
- }[]>;
22
- streamProcessVideo(filePath: string, reusePreviousTranscript?: boolean, chunkTime?: number): AsyncGenerator<{
23
- frame: KeyframeInfo;
24
- transcription: TranscriptChunk;
25
- }, void, unknown>;
26
- }
@@ -1,324 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.DownloaderService = void 0;
30
- const fs = __importStar(require("fs"));
31
- const path = __importStar(require("path"));
32
- const youtube_dl_exec_1 = __importDefault(require("youtube-dl-exec"));
33
- const utils_1 = require("../../utils");
34
- const types_1 = require("../../types");
35
- class DownloaderService {
36
- clients;
37
- constructor(clients) {
38
- this.clients = clients;
39
- }
40
- async askGptVision(imageUrl, question, provider = "openai", model = types_1.Models.openai.GPT_4o) {
41
- const response = await this.clients.createCompletion(provider, {
42
- model,
43
- max_tokens: 2500,
44
- messages: [
45
- {
46
- role: "user",
47
- content: [
48
- { type: "text", text: question },
49
- {
50
- type: "image_url",
51
- image_url: {
52
- url: imageUrl,
53
- },
54
- },
55
- ],
56
- },
57
- ],
58
- });
59
- return response;
60
- }
61
- async download(url, outputDir) {
62
- const info = await this.info(url);
63
- const exists = await (0, utils_1.fileExists)(`${outputDir}/${info.id}.${info.ext}`);
64
- if (exists) {
65
- console.log("File already exists, skipping download");
66
- return info;
67
- }
68
- console.log(`Downloading ${url}...`);
69
- const scrape = (0, youtube_dl_exec_1.default)(url, { output: `${outputDir}/%(id)s.%(ext)s` });
70
- await scrape;
71
- console.log(`Download complete: ${url}`);
72
- return info;
73
- }
74
- async info(url) {
75
- const info = await (0, youtube_dl_exec_1.default)(url, {
76
- dumpSingleJson: true,
77
- noWarnings: true,
78
- });
79
- console.log(info);
80
- return info;
81
- }
82
- async chunk(filePath, outputDir, CHUNK_LENGTH_SECONDS = 30, reuseExistingChunks = true) {
83
- const parsed = path.parse(filePath);
84
- const fileName = parsed.name;
85
- const fileExt = parsed.ext;
86
- console.log({ fileName, fileExt });
87
- console.log("Chunking file", filePath);
88
- const outputDirPath = path.join(outputDir, `${fileName}/chunks`);
89
- await fs.promises.mkdir(outputDirPath, { recursive: true });
90
- const doneFilePath = path.join(outputDirPath, ".chunking_done");
91
- const doneFileExists = await (0, utils_1.fileExists)(doneFilePath);
92
- const existingFolderFiles = await fs.promises.readdir(outputDirPath);
93
- const existingChunkNames = existingFolderFiles.filter((f) => f.includes("chunk") && f.endsWith(".mp3"));
94
- if (existingChunkNames.length > 0 && doneFileExists) {
95
- if (reuseExistingChunks) {
96
- console.log("Chunks already exist, skipping");
97
- const names = existingChunkNames.map((chunkName) => path.join(outputDirPath, chunkName));
98
- return names;
99
- }
100
- else {
101
- for (const file of existingFolderFiles) {
102
- fs.rmSync(path.join(outputDirPath, file), { recursive: true });
103
- }
104
- }
105
- }
106
- const command = `ffmpeg -i "${filePath}" -f segment -segment_time ${CHUNK_LENGTH_SECONDS} -map 0:a:0 -acodec mp3 -vn "${outputDirPath}/chunk%04d.mp3"`;
107
- await (0, utils_1.execAsync)(command);
108
- await fs.promises.writeFile(doneFilePath, "done");
109
- const folderFiles = await fs.promises.readdir(outputDirPath);
110
- const chunkNames = folderFiles.filter((f) => f.includes("chunk") && f.endsWith(".mp3"));
111
- console.log("Chunked into", chunkNames.length, "chunks");
112
- return chunkNames.map((chunkName) => path.join(outputDirPath, chunkName));
113
- }
114
- async *streamTranscription(files, outputPath, reusePreviousTranscript = true) {
115
- const exists = await (0, utils_1.fileExists)(outputPath);
116
- if (exists && reusePreviousTranscript) {
117
- console.log("Transcription already exists, using cached data");
118
- const contents = await (0, utils_1.readFile)(outputPath);
119
- const data = JSON.parse(contents.toString());
120
- for (const item of data) {
121
- yield item;
122
- }
123
- return;
124
- }
125
- const allTranscripts = [];
126
- for (const file of files) {
127
- const chunkName = path.parse(file).name;
128
- const chunkTranscriptPath = path.join(path.dirname(outputPath), `/chunks/${chunkName}.txt`);
129
- const chunkExists = await (0, utils_1.fileExists)(chunkTranscriptPath);
130
- if (chunkExists && reusePreviousTranscript) {
131
- console.log(chunkTranscriptPath, " transcription already exists, using cached data");
132
- const contents = await (0, utils_1.readFile)(chunkTranscriptPath);
133
- const cached = {
134
- chunkPath: chunkTranscriptPath,
135
- text: contents.toString(),
136
- usd_cost: 0,
137
- };
138
- yield cached;
139
- allTranscripts.push(cached);
140
- continue;
141
- }
142
- console.log("Transcribing", file);
143
- const fileBuffer = fs.readFileSync(file);
144
- const transcript = await this.clients
145
- .createAudioTranscription("openai", {
146
- file: fileBuffer,
147
- fileName: path.basename(file),
148
- model: "whisper-1",
149
- })
150
- .catch((e) => {
151
- console.error("Error transcribing", file, e);
152
- return { text: "" };
153
- });
154
- await (0, utils_1.mkdir)(path.dirname(chunkTranscriptPath), { recursive: true });
155
- await fs.promises.writeFile(chunkTranscriptPath, transcript.text);
156
- const data = {
157
- chunkPath: chunkTranscriptPath,
158
- text: transcript.text,
159
- usd_cost: 30 * 0.0001,
160
- };
161
- yield data;
162
- allTranscripts.push(data);
163
- }
164
- fs.writeFileSync(outputPath, JSON.stringify(allTranscripts, null, 2));
165
- }
166
- async transcribeChunks(files, outputPath, reusePreviousTranscript = true) {
167
- const exists = await (0, utils_1.fileExists)(outputPath);
168
- if (exists && reusePreviousTranscript) {
169
- console.log("Transcription already exists, using cached data");
170
- const contents = await (0, utils_1.readFile)(outputPath);
171
- return JSON.parse(contents.toString());
172
- }
173
- const fullText = [];
174
- for await (const { chunkPath, text } of this.streamTranscription(files, outputPath, reusePreviousTranscript)) {
175
- console.log("Chunk transcribed:", chunkPath);
176
- fullText.push(text);
177
- }
178
- await fs.promises.writeFile(outputPath, JSON.stringify(fullText));
179
- return fullText;
180
- }
181
- async *streamKeyFrameExtraction(filePath, videoJsonPath, reusePreviousKeyframes = true, interval = 10) {
182
- if (reusePreviousKeyframes && fs.existsSync(videoJsonPath)) {
183
- console.log("Keyframes already exist, using cached data");
184
- const contents = await (0, utils_1.readFile)(videoJsonPath);
185
- const data = JSON.parse(contents.toString());
186
- for (const keyframe of data) {
187
- yield { ...keyframe, usd_cost: 0 };
188
- }
189
- return;
190
- }
191
- const parsed = path.parse(filePath);
192
- const outputDir = path.dirname(videoJsonPath);
193
- const fileName = parsed.name;
194
- const keyframesDir = path.join(outputDir, `/keyframes`);
195
- await fs.promises.mkdir(keyframesDir, { recursive: true });
196
- const command = `ffmpeg -i "${filePath}" -vf "fps=1/${interval},scale=640:-1" "${keyframesDir}/frame%04d.jpg"`;
197
- await (0, utils_1.execAsync)(command);
198
- console.log("Extracting keyframe:", command);
199
- const keyframes = await fs.promises.readdir(keyframesDir);
200
- const allKeyframes = [];
201
- for (const keyframe of keyframes) {
202
- const keyframePath = path.join(keyframesDir, keyframe);
203
- const keyframeName = path.parse(keyframe).name;
204
- const keyframeDescriptionPath = path.join(keyframesDir, `${keyframeName}.json`);
205
- const descriptionExists = await (0, utils_1.fileExists)(keyframeDescriptionPath);
206
- if (descriptionExists && reusePreviousKeyframes) {
207
- const cached = await (0, utils_1.readFile)(keyframeDescriptionPath);
208
- const cachedJson = JSON.parse(cached.toString());
209
- yield { ...cachedJson, usd_cost: 0 };
210
- allKeyframes.push(cachedJson);
211
- continue;
212
- }
213
- const description = await this.describeKeyframe(keyframePath);
214
- const keyframeJson = {
215
- path: keyframePath,
216
- description: description.choices[0].message.content,
217
- timestamp: this.extractTimestamp(keyframe, interval),
218
- usd_cost: description.usd_cost,
219
- };
220
- await fs.promises.writeFile(keyframeDescriptionPath, JSON.stringify(keyframeJson, null, 2));
221
- yield keyframeJson;
222
- allKeyframes.push(keyframeJson);
223
- }
224
- await fs.promises.writeFile(videoJsonPath, JSON.stringify(allKeyframes, null, 2));
225
- }
226
- async extractKeyframes(filePath, outputPath, reusePreviousKeyframes = true, interval = 10) {
227
- const keyframes = [];
228
- for await (const keyframe of this.streamKeyFrameExtraction(filePath, outputPath, reusePreviousKeyframes, interval)) {
229
- keyframes.push(keyframe);
230
- }
231
- await fs.promises.writeFile(outputPath, JSON.stringify(keyframes, null, 2));
232
- return keyframes;
233
- }
234
- async describeKeyframe(keyframePath) {
235
- const question = "Describe this image in detail, focusing on the main elements and actions visible.";
236
- const base64 = await fs.promises.readFile(keyframePath, {
237
- encoding: "base64",
238
- });
239
- const image = `data:image/jpeg;base64,${base64}`;
240
- console.log("Describing keyframe:", keyframePath);
241
- const response = await this.askGptVision(image, question);
242
- return response;
243
- }
244
- extractTimestamp(keyframeName, interval) {
245
- const frameNumber = parseInt(keyframeName.match(/\d+/)[0], 10);
246
- return frameNumber * interval;
247
- }
248
- async processAudio(filePath, reusePreviousTranscript = true, chunkTime = 30) {
249
- const parsed = path.parse(filePath);
250
- const outputPath = `${parsed.dir}/${parsed.name}/transcript.json`;
251
- const exists = await (0, utils_1.fileExists)(outputPath);
252
- if (exists && reusePreviousTranscript) {
253
- console.log(`Transcription ${outputPath} already exists, using cached data`);
254
- const fileContent = await (0, utils_1.readFile)(outputPath, "utf8");
255
- return outputPath.endsWith("txt")
256
- ? fileContent.split("\n")
257
- : JSON.parse(fileContent);
258
- }
259
- const chunks = await this.chunk(filePath, parsed.dir, chunkTime, reusePreviousTranscript);
260
- const transcription = await this.transcribeChunks(chunks, outputPath, reusePreviousTranscript);
261
- return transcription;
262
- }
263
- async *streamProcessAudio(filePath, reusePreviousTranscript = true, chunkTime = 30) {
264
- const parsed = path.parse(filePath);
265
- const outputPath = `${parsed.dir}/${parsed.name}/transcript.json`;
266
- const exists = await (0, utils_1.fileExists)(outputPath);
267
- if (exists && reusePreviousTranscript) {
268
- console.log(`Transcription ${outputPath} already exists, using cached data`);
269
- const fileContent = await (0, utils_1.readFile)(outputPath, "utf8");
270
- const lines = outputPath.endsWith("txt")
271
- ? fileContent.split("\n")
272
- : JSON.parse(fileContent);
273
- for (const line of lines) {
274
- if (typeof line === "string") {
275
- yield { chunkPath: "", text: line, usd_cost: 0 };
276
- }
277
- else {
278
- yield line;
279
- }
280
- }
281
- return;
282
- }
283
- const chunks = await this.chunk(filePath, parsed.dir, chunkTime, reusePreviousTranscript);
284
- for await (const chunk of this.streamTranscription(chunks, outputPath, reusePreviousTranscript)) {
285
- yield chunk;
286
- }
287
- }
288
- async processVideo(filePath, reusePreviousTranscript = true, chunkTime = 30) {
289
- const parsed = path.parse(filePath);
290
- const outputPath = `${parsed.dir}/${parsed.name}/video.json`;
291
- console.log("Processing audio...");
292
- const transcriptions = await this.processAudio(filePath, reusePreviousTranscript, chunkTime);
293
- console.log("Extracting keyframes...");
294
- const videoAnalysis = await this.extractKeyframes(filePath, outputPath, reusePreviousTranscript, chunkTime);
295
- return videoAnalysis.map((frame, index) => {
296
- return {
297
- frame,
298
- transcription: transcriptions[index],
299
- };
300
- });
301
- }
302
- async *streamProcessVideo(filePath, reusePreviousTranscript = true, chunkTime = 30) {
303
- const parsed = path.parse(filePath);
304
- const videoJson = `${parsed.dir}/${parsed.name}/video.json`;
305
- console.log("Processing audio...");
306
- const transcriptions = this.streamProcessAudio(filePath, reusePreviousTranscript, chunkTime);
307
- console.log("Extracting keyframes...");
308
- const videoAnalysis = this.streamKeyFrameExtraction(filePath, videoJson, reusePreviousTranscript, chunkTime);
309
- for await (const frame of videoAnalysis) {
310
- const transcription = (await transcriptions.next())
311
- ?.value;
312
- yield {
313
- frame,
314
- transcription: transcription || {
315
- chunkPath: "",
316
- text: "[missing transcript]",
317
- usd_cost: 0,
318
- },
319
- };
320
- }
321
- }
322
- }
323
- exports.DownloaderService = DownloaderService;
324
- //# sourceMappingURL=downloader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../../../src/plugins/downloader/downloader.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { PluginBase, PluginMeta } from "../PluginBase";
2
- import { MinimalEmbedding } from "../../types";
3
- import { PluginContext } from "../types";
4
- export declare class DownloaderPlugin extends PluginBase {
5
- static readonly meta: PluginMeta;
6
- meta: PluginMeta;
7
- constructor(context: PluginContext);
8
- skipExt: string[];
9
- extractUrls(userInput: string): string[];
10
- call(userInput: string): Promise<string>;
11
- embed(userInput: string): Promise<MinimalEmbedding[]>;
12
- }
@@ -1,98 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DownloaderPlugin = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const PluginBase_1 = require("../PluginBase");
9
- const conversion_1 = require("../../conversion");
10
- const services_1 = require("../../services");
11
- class DownloaderPlugin extends PluginBase_1.PluginBase {
12
- static meta = {
13
- key: "downloader",
14
- name: "Downloader Plugin",
15
- requires: [],
16
- };
17
- meta = DownloaderPlugin.meta;
18
- constructor(context) {
19
- super(context);
20
- }
21
- skipExt = ["jpg", "jpeg", "png", "gif"];
22
- extractUrls(userInput) {
23
- const urlRegex = /https:\/\/[^\s]+/gim;
24
- const matches = userInput.match(urlRegex) || [];
25
- return Array.from(new Set(matches));
26
- }
27
- async call(userInput) {
28
- const urls = this.extractUrls(userInput);
29
- if (urls.length === 0) {
30
- return "DOWNLOADER PLUGIN: No URLs found in the input";
31
- }
32
- if (urls.length > 10) {
33
- return "DOWNLOADER PLUGIN: Too many URLs found in the input. Skipping likely unintentional bulk download.";
34
- }
35
- let transcript = "";
36
- for (const url of urls) {
37
- if (this.skipExt.includes(url.split(".").pop() || "")) {
38
- console.log("DOWNLOADER PLUGIN: skipping", url);
39
- continue;
40
- }
41
- try {
42
- console.log("DOWNLOADER PLUGIN: attempting", url);
43
- const downloadDir = ".knowhow/downloads/";
44
- const { Downloader } = (0, services_1.services)();
45
- const fileInfo = await Downloader.download(url, downloadDir);
46
- const filePath = `${downloadDir}${fileInfo.id}.${fileInfo.ext}`;
47
- transcript += await (0, conversion_1.convertToText)(filePath);
48
- }
49
- catch (e) {
50
- console.log("DOWNLOADER PLUGIN: cannot download", url);
51
- }
52
- }
53
- return "DOWNLOADER PLUGIN: " + transcript;
54
- }
55
- async embed(userInput) {
56
- const urls = this.extractUrls(userInput);
57
- if (urls.length === 0) {
58
- return [];
59
- }
60
- const embeddings = [];
61
- for (const url of urls) {
62
- const downloadDir = ".knowhow/downloads/";
63
- const { Downloader } = (0, services_1.services)();
64
- const fileInfo = await Downloader.download(url, downloadDir);
65
- const filePath = `${downloadDir}${fileInfo.id}.${fileInfo.ext}`;
66
- const processed = await (0, conversion_1.processVideo)(filePath);
67
- let index = 0;
68
- for (const chunk of processed) {
69
- if (chunk.transcription) {
70
- embeddings.push({
71
- id: `${url}-audio-${index}`,
72
- text: chunk.transcription,
73
- metadata: {
74
- url,
75
- description: chunk.frame.description,
76
- timestamp: `${chunk.frame.timestamp}s`,
77
- image: fs_1.default.readFileSync(chunk.frame.path, "base64"),
78
- },
79
- });
80
- }
81
- if (chunk.frame.description) {
82
- embeddings.push({
83
- id: `${url}-video-${index}`,
84
- text: chunk.frame.description,
85
- metadata: {
86
- url,
87
- timestamp: `${chunk.frame.timestamp}s`,
88
- },
89
- });
90
- }
91
- index++;
92
- }
93
- }
94
- return embeddings;
95
- }
96
- }
97
- exports.DownloaderPlugin = DownloaderPlugin;
98
- //# sourceMappingURL=plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/plugins/downloader/plugin.ts"],"names":[],"mappings":"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"}