@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.
- package/package.json +7 -5
- package/scripts/check-isolated-deps.sh +69 -0
- package/src/clients/gemini.ts +2 -2
- package/src/clients/openai.ts +1 -1
- package/src/clients/xai.ts +1 -1
- package/src/services/KnowhowClient.ts +1 -1
- package/src/services/Mcp.ts +1 -5
- package/ts_build/package.json +7 -5
- package/ts_build/src/agents/base/base.js.map +1 -1
- package/ts_build/src/agents/index.js +20 -10
- package/ts_build/src/agents/index.js.map +1 -1
- package/ts_build/src/agents/tools/addInternalTools.js +1 -2
- package/ts_build/src/agents/tools/addInternalTools.js.map +1 -1
- package/ts_build/src/agents/tools/agentCall.js +1 -2
- package/ts_build/src/agents/tools/agentCall.js.map +1 -1
- package/ts_build/src/agents/tools/aiClient.js +10 -11
- package/ts_build/src/agents/tools/aiClient.js.map +1 -1
- package/ts_build/src/agents/tools/askHuman.js +1 -2
- package/ts_build/src/agents/tools/askHuman.js.map +1 -1
- package/ts_build/src/agents/tools/callPlugin.js +1 -2
- package/ts_build/src/agents/tools/callPlugin.js.map +1 -1
- package/ts_build/src/agents/tools/embeddingSearch.js +1 -2
- package/ts_build/src/agents/tools/embeddingSearch.js.map +1 -1
- package/ts_build/src/agents/tools/execCommand.d.ts +0 -1
- package/ts_build/src/agents/tools/execCommand.js +17 -7
- package/ts_build/src/agents/tools/execCommand.js.map +1 -1
- package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js +2 -2
- package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js.map +1 -1
- package/ts_build/src/agents/tools/executeScript/examples/quick-test.js +1 -2
- package/ts_build/src/agents/tools/executeScript/examples/quick-test.js.map +1 -1
- package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js +2 -2
- package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js.map +1 -1
- package/ts_build/src/agents/tools/executeScript/examples/test-runner.js +19 -9
- package/ts_build/src/agents/tools/executeScript/examples/test-runner.js.map +1 -1
- package/ts_build/src/agents/tools/executeScript/index.js +1 -2
- package/ts_build/src/agents/tools/executeScript/index.js.map +1 -1
- package/ts_build/src/agents/tools/fileSearch.js +1 -2
- package/ts_build/src/agents/tools/fileSearch.js.map +1 -1
- package/ts_build/src/agents/tools/finalAnswer.js +1 -2
- package/ts_build/src/agents/tools/finalAnswer.js.map +1 -1
- package/ts_build/src/agents/tools/googleSearch.js +2 -2
- package/ts_build/src/agents/tools/googleSearch.js.map +1 -1
- package/ts_build/src/agents/tools/language/definitions.js.map +1 -1
- package/ts_build/src/agents/tools/language/index.js +3 -4
- package/ts_build/src/agents/tools/language/index.js.map +1 -1
- package/ts_build/src/agents/tools/lazy/disableTools.js +1 -2
- package/ts_build/src/agents/tools/lazy/disableTools.js.map +1 -1
- package/ts_build/src/agents/tools/lazy/enableTools.js +1 -2
- package/ts_build/src/agents/tools/lazy/enableTools.js.map +1 -1
- package/ts_build/src/agents/tools/lazy/listAvailableTools.js +1 -2
- package/ts_build/src/agents/tools/lazy/listAvailableTools.js.map +1 -1
- package/ts_build/src/agents/tools/lintFile.js +1 -2
- package/ts_build/src/agents/tools/lintFile.js.map +1 -1
- package/ts_build/src/agents/tools/list.js +17 -7
- package/ts_build/src/agents/tools/list.js.map +1 -1
- package/ts_build/src/agents/tools/loadWebpage.js +1 -2
- package/ts_build/src/agents/tools/loadWebpage.js.map +1 -1
- package/ts_build/src/agents/tools/mcp/connectMcpServer.js +1 -2
- package/ts_build/src/agents/tools/mcp/connectMcpServer.js.map +1 -1
- package/ts_build/src/agents/tools/mcp/disconnectMcpServer.js +1 -2
- package/ts_build/src/agents/tools/mcp/disconnectMcpServer.js.map +1 -1
- package/ts_build/src/agents/tools/mcp/listAvailableMcpServers.js +1 -2
- package/ts_build/src/agents/tools/mcp/listAvailableMcpServers.js.map +1 -1
- package/ts_build/src/agents/tools/modifyFile.js +18 -9
- package/ts_build/src/agents/tools/modifyFile.js.map +1 -1
- package/ts_build/src/agents/tools/patch.js +24 -15
- package/ts_build/src/agents/tools/patch.js.map +1 -1
- package/ts_build/src/agents/tools/readBlocks.js +18 -9
- package/ts_build/src/agents/tools/readBlocks.js.map +1 -1
- package/ts_build/src/agents/tools/readFile.js +18 -9
- package/ts_build/src/agents/tools/readFile.js.map +1 -1
- package/ts_build/src/agents/tools/scanFile.js +18 -9
- package/ts_build/src/agents/tools/scanFile.js.map +1 -1
- package/ts_build/src/agents/tools/startAgentTask.js +19 -9
- package/ts_build/src/agents/tools/startAgentTask.js.map +1 -1
- package/ts_build/src/agents/tools/stringReplace.js +18 -9
- package/ts_build/src/agents/tools/stringReplace.js.map +1 -1
- package/ts_build/src/agents/tools/textSearch.js +1 -2
- package/ts_build/src/agents/tools/textSearch.js.map +1 -1
- package/ts_build/src/agents/tools/visionTool.js +1 -2
- package/ts_build/src/agents/tools/visionTool.js.map +1 -1
- package/ts_build/src/agents/tools/writeFile.js +19 -10
- package/ts_build/src/agents/tools/writeFile.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/client.js +19 -9
- package/ts_build/src/agents/tools/ycmd/client.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/detection.js +17 -7
- package/ts_build/src/agents/tools/ycmd/detection.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/installer.js +17 -7
- package/ts_build/src/agents/tools/ycmd/installer.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/server.js +17 -7
- package/ts_build/src/agents/tools/ycmd/server.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/serverManager.js +17 -7
- package/ts_build/src/agents/tools/ycmd/serverManager.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/tools/completion.js +1 -2
- package/ts_build/src/agents/tools/ycmd/tools/completion.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/tools/diagnostics.js +1 -2
- package/ts_build/src/agents/tools/ycmd/tools/diagnostics.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/tools/getLocations.js +19 -10
- package/ts_build/src/agents/tools/ycmd/tools/getLocations.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/tools/goto.js +1 -2
- package/ts_build/src/agents/tools/ycmd/tools/goto.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/tools/refactor.js +1 -2
- package/ts_build/src/agents/tools/ycmd/tools/refactor.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/tools/signature.js +1 -2
- package/ts_build/src/agents/tools/ycmd/tools/signature.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/tools/start.js +1 -2
- package/ts_build/src/agents/tools/ycmd/tools/start.js.map +1 -1
- package/ts_build/src/agents/tools/ycmd/utils/pathUtils.js +21 -12
- package/ts_build/src/agents/tools/ycmd/utils/pathUtils.js.map +1 -1
- package/ts_build/src/ai.js +25 -15
- package/ts_build/src/ai.js.map +1 -1
- package/ts_build/src/auth/browserLogin.js +20 -10
- package/ts_build/src/auth/browserLogin.js.map +1 -1
- package/ts_build/src/auth/spinner.js.map +1 -1
- package/ts_build/src/chat/CliChatService.js.map +1 -1
- package/ts_build/src/chat/modules/AgentModule.js +17 -7
- package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
- package/ts_build/src/chat/modules/AskModule.js.map +1 -1
- package/ts_build/src/chat/modules/BaseChatModule.js.map +1 -1
- package/ts_build/src/chat/modules/CustomCommandsModule.js.map +1 -1
- package/ts_build/src/chat/modules/InternalChatModule.js.map +1 -1
- package/ts_build/src/chat/modules/RendererModule.js.map +1 -1
- package/ts_build/src/chat/modules/SearchModule.js.map +1 -1
- package/ts_build/src/chat/modules/SessionsModule.js +17 -7
- package/ts_build/src/chat/modules/SessionsModule.js.map +1 -1
- package/ts_build/src/chat/modules/SetupModule.js.map +1 -1
- package/ts_build/src/chat/modules/ShellCommandModule.js.map +1 -1
- package/ts_build/src/chat/modules/SystemModule.js.map +1 -1
- package/ts_build/src/chat/modules/VoiceModule.js.map +1 -1
- package/ts_build/src/chat/renderer/CompactRenderer.js.map +1 -1
- package/ts_build/src/chat/renderer/ConsoleRenderer.js.map +1 -1
- package/ts_build/src/chat/renderer/FancyRenderer.js.map +1 -1
- package/ts_build/src/chat/renderer/loadRenderer.js +26 -18
- package/ts_build/src/chat/renderer/loadRenderer.js.map +1 -1
- package/ts_build/src/chat/renderer/messagesToRenderEvents.js +1 -2
- package/ts_build/src/chat/renderer/messagesToRenderEvents.js.map +1 -1
- package/ts_build/src/chat.js +1 -2
- package/ts_build/src/chat.js.map +1 -1
- package/ts_build/src/cli.js +17 -7
- package/ts_build/src/cli.js.map +1 -1
- package/ts_build/src/clients/anthropic.d.ts +74 -4
- package/ts_build/src/clients/anthropic.js.map +1 -1
- package/ts_build/src/clients/contextLimits.js +2 -2
- package/ts_build/src/clients/contextLimits.js.map +1 -1
- package/ts_build/src/clients/gemini.js +18 -8
- package/ts_build/src/clients/gemini.js.map +1 -1
- package/ts_build/src/clients/http.js.map +1 -1
- package/ts_build/src/clients/index.js.map +1 -1
- package/ts_build/src/clients/knowhowMcp.js.map +1 -1
- package/ts_build/src/clients/openai.d.ts +199 -1
- package/ts_build/src/clients/openai.js +1 -1
- package/ts_build/src/clients/openai.js.map +1 -1
- package/ts_build/src/clients/pricing/anthropic.d.ts +72 -4
- package/ts_build/src/clients/pricing/openai.d.ts +192 -1
- package/ts_build/src/clients/pricing/xai.d.ts +36 -7
- package/ts_build/src/clients/types.d.ts +0 -2
- package/ts_build/src/clients/xai.d.ts +38 -7
- package/ts_build/src/clients/xai.js +1 -1
- package/ts_build/src/clients/xai.js.map +1 -1
- package/ts_build/src/config.js +27 -18
- package/ts_build/src/config.js.map +1 -1
- package/ts_build/src/conversion.js +21 -12
- package/ts_build/src/conversion.js.map +1 -1
- package/ts_build/src/dataset/diffs/debug-errors.js.map +1 -1
- package/ts_build/src/dataset/diffs/debug.js.map +1 -1
- package/ts_build/src/dataset/diffs/generate.js +17 -7
- package/ts_build/src/dataset/diffs/generate.js.map +1 -1
- package/ts_build/src/dataset/diffs/jsonl.js.map +1 -1
- package/ts_build/src/dataset/diffs/test.js.map +1 -1
- package/ts_build/src/embeddings.d.ts +1 -1
- package/ts_build/src/embeddings.js +33 -23
- package/ts_build/src/embeddings.js.map +1 -1
- package/ts_build/src/fileSync.js +18 -9
- package/ts_build/src/fileSync.js.map +1 -1
- package/ts_build/src/hashes.js +22 -13
- package/ts_build/src/hashes.js.map +1 -1
- package/ts_build/src/index.js +25 -15
- package/ts_build/src/index.js.map +1 -1
- package/ts_build/src/login.js +3 -4
- package/ts_build/src/login.js.map +1 -1
- package/ts_build/src/microphone.js +24 -15
- package/ts_build/src/microphone.js.map +1 -1
- package/ts_build/src/migrations.js +3 -3
- package/ts_build/src/migrations.js.map +1 -1
- package/ts_build/src/plugins/AgentsMdPlugin.js +17 -7
- package/ts_build/src/plugins/AgentsMdPlugin.js.map +1 -1
- package/ts_build/src/plugins/GitPlugin.js +17 -7
- package/ts_build/src/plugins/GitPlugin.js.map +1 -1
- package/ts_build/src/plugins/LinterPlugin.js.map +1 -1
- package/ts_build/src/plugins/PluginBase.js.map +1 -1
- package/ts_build/src/plugins/SkillsPlugin.js +17 -7
- package/ts_build/src/plugins/SkillsPlugin.js.map +1 -1
- package/ts_build/src/plugins/embedding.js.map +1 -1
- package/ts_build/src/plugins/exec.js.map +1 -1
- package/ts_build/src/plugins/language.js.map +1 -1
- package/ts_build/src/plugins/plugins.d.ts +1 -1
- package/ts_build/src/plugins/plugins.js +18 -9
- package/ts_build/src/plugins/plugins.js.map +1 -1
- package/ts_build/src/plugins/tmux.js.map +1 -1
- package/ts_build/src/plugins/url.js.map +1 -1
- package/ts_build/src/plugins/vim.js.map +1 -1
- package/ts_build/src/processors/Base64ImageDetector.js +17 -7
- package/ts_build/src/processors/Base64ImageDetector.js.map +1 -1
- package/ts_build/src/processors/CustomVariables.js.map +1 -1
- package/ts_build/src/processors/HarmonyToolProcessor.js.map +1 -1
- package/ts_build/src/processors/JsonCompressor.js.map +1 -1
- package/ts_build/src/processors/TokenCompressor.js.map +1 -1
- package/ts_build/src/processors/ToolResponseCache.js.map +1 -1
- package/ts_build/src/processors/XmlToolCallProcessor.js.map +1 -1
- package/ts_build/src/processors/tools/grepToolResponse.js +2 -2
- package/ts_build/src/processors/tools/grepToolResponse.js.map +1 -1
- package/ts_build/src/processors/tools/jqToolResponse.js +19 -9
- package/ts_build/src/processors/tools/jqToolResponse.js.map +1 -1
- package/ts_build/src/processors/tools/listStoredToolResponses.js +2 -2
- package/ts_build/src/processors/tools/listStoredToolResponses.js.map +1 -1
- package/ts_build/src/processors/tools/tailToolResponse.js +2 -2
- package/ts_build/src/processors/tools/tailToolResponse.js.map +1 -1
- package/ts_build/src/services/AgentService.js.map +1 -1
- package/ts_build/src/services/AgentSyncFs.js +17 -7
- package/ts_build/src/services/AgentSyncFs.js.map +1 -1
- package/ts_build/src/services/AgentSyncKnowhowWeb.js.map +1 -1
- package/ts_build/src/services/DockerService.js +17 -7
- package/ts_build/src/services/DockerService.js.map +1 -1
- package/ts_build/src/services/EmbeddingService.d.ts +1 -1
- package/ts_build/src/services/EmbeddingService.js +17 -7
- package/ts_build/src/services/EmbeddingService.js.map +1 -1
- package/ts_build/src/services/EmbeddingsService.js.map +1 -1
- package/ts_build/src/services/EventService.d.ts +0 -1
- package/ts_build/src/services/EventService.js.map +1 -1
- package/ts_build/src/services/KnowhowClient.js +3 -3
- package/ts_build/src/services/KnowhowClient.js.map +1 -1
- package/ts_build/src/services/LazyToolsService.js.map +1 -1
- package/ts_build/src/services/Mcp.d.ts +11 -15
- package/ts_build/src/services/Mcp.js +1 -5
- package/ts_build/src/services/Mcp.js.map +1 -1
- package/ts_build/src/services/McpServer.js.map +1 -1
- package/ts_build/src/services/McpWebsocketTransport.js.map +1 -1
- package/ts_build/src/services/MediaProcessorService.js +17 -7
- package/ts_build/src/services/MediaProcessorService.js.map +1 -1
- package/ts_build/src/services/MessageProcessor.js.map +1 -1
- package/ts_build/src/services/S3.js +17 -7
- package/ts_build/src/services/S3.js.map +1 -1
- package/ts_build/src/services/SessionManager.js +17 -7
- package/ts_build/src/services/SessionManager.js.map +1 -1
- package/ts_build/src/services/SyncedAgentWatcher.js +17 -7
- package/ts_build/src/services/SyncedAgentWatcher.js.map +1 -1
- package/ts_build/src/services/SyncerService.js.map +1 -1
- package/ts_build/src/services/TaskRegistry.js.map +1 -1
- package/ts_build/src/services/Tools.js.map +1 -1
- package/ts_build/src/services/flags.js.map +1 -1
- package/ts_build/src/services/index.js +17 -7
- package/ts_build/src/services/index.js.map +1 -1
- package/ts_build/src/services/modules/index.js.map +1 -1
- package/ts_build/src/services/script-execution/SandboxContext.js.map +1 -1
- package/ts_build/src/services/script-execution/ScriptExecutor.js.map +1 -1
- package/ts_build/src/services/script-execution/ScriptPolicy.js.map +1 -1
- package/ts_build/src/services/script-execution/ScriptTracer.js.map +1 -1
- package/ts_build/src/services/types.js +2 -2
- package/ts_build/src/services/types.js.map +1 -1
- package/ts_build/src/types.d.ts +1 -6
- package/ts_build/src/types.js +3 -3
- package/ts_build/src/types.js.map +1 -1
- package/ts_build/src/utils/InputQueueManager.js.map +1 -1
- package/ts_build/src/utils/http.d.ts +4 -4
- package/ts_build/src/utils/http.js.map +1 -1
- package/ts_build/src/utils/index.d.ts +1 -4
- package/ts_build/src/utils/index.js +27 -17
- package/ts_build/src/utils/index.js.map +1 -1
- package/ts_build/src/worker.js +18 -9
- package/ts_build/src/worker.js.map +1 -1
- package/ts_build/src/workerRegistry.js +24 -15
- package/ts_build/src/workerRegistry.js.map +1 -1
- package/ts_build/src/workers/auth/PasskeySetup.js.map +1 -1
- package/ts_build/src/workers/auth/WorkerPasskeyAuth.js.map +1 -1
- package/ts_build/src/workers/tools/getChallenge.js +1 -2
- package/ts_build/src/workers/tools/getChallenge.js.map +1 -1
- package/ts_build/src/workers/tools/listAllowedPorts.js +2 -2
- package/ts_build/src/workers/tools/listAllowedPorts.js.map +1 -1
- package/ts_build/src/workers/tools/lock.js +1 -2
- package/ts_build/src/workers/tools/lock.js.map +1 -1
- package/ts_build/src/workers/tools/unlock.js +1 -2
- package/ts_build/src/workers/tools/unlock.js.map +1 -1
- package/ts_build/tests/XmlToolCallProcessor.test.js.map +1 -1
- package/ts_build/tests/clients/AIClient.test.js.map +1 -1
- package/ts_build/tests/clients/pricing.test.js.map +1 -1
- package/ts_build/tests/compressor/bigstring.test.js.map +1 -1
- package/ts_build/tests/compressor/toolResponseCache.test.js +17 -7
- package/ts_build/tests/compressor/toolResponseCache.test.js.map +1 -1
- package/ts_build/tests/manual/agent-events/run-test.js.map +1 -1
- package/ts_build/tests/manual/browser-login/test_browser_login_basic.js +17 -7
- package/ts_build/tests/manual/browser-login/test_browser_login_basic.js.map +1 -1
- package/ts_build/tests/manual/browser-login/test_cli_integration.js +17 -7
- package/ts_build/tests/manual/browser-login/test_cli_integration.js.map +1 -1
- package/ts_build/tests/manual/browser-login/test_cross_platform_browser.js +17 -7
- package/ts_build/tests/manual/browser-login/test_cross_platform_browser.js.map +1 -1
- package/ts_build/tests/manual/browser-login/test_error_scenarios.js +17 -7
- package/ts_build/tests/manual/browser-login/test_error_scenarios.js.map +1 -1
- package/ts_build/tests/manual/file-edits/fileblocks/readwrite.test.js +17 -7
- package/ts_build/tests/manual/file-edits/fileblocks/readwrite.test.js.map +1 -1
- package/ts_build/tests/manual/file-edits/patching.test.js +17 -7
- package/ts_build/tests/manual/file-edits/patching.test.js.map +1 -1
- package/ts_build/tests/manual/modalities/google.modalities.test.js +17 -7
- package/ts_build/tests/manual/modalities/google.modalities.test.js.map +1 -1
- package/ts_build/tests/manual/modalities/openai.modalities.test.js +17 -7
- package/ts_build/tests/manual/modalities/openai.modalities.test.js.map +1 -1
- package/ts_build/tests/manual/modalities/streaming.test.js +17 -7
- package/ts_build/tests/manual/modalities/streaming.test.js.map +1 -1
- package/ts_build/tests/manual/modalities/xai.modalities.test.js +17 -7
- package/ts_build/tests/manual/modalities/xai.modalities.test.js.map +1 -1
- package/ts_build/tests/manual/ycmd/debug_diagnostics_test.js +17 -7
- package/ts_build/tests/manual/ycmd/debug_diagnostics_test.js.map +1 -1
- package/ts_build/tests/manual/ycmd/minimal_advanced_test.js +17 -7
- package/ts_build/tests/manual/ycmd/minimal_advanced_test.js.map +1 -1
- package/ts_build/tests/manual/ycmd/simple_diagnostics_test.js +17 -7
- package/ts_build/tests/manual/ycmd/simple_diagnostics_test.js.map +1 -1
- package/ts_build/tests/manual/ycmd/simple_test.js +17 -7
- package/ts_build/tests/manual/ycmd/simple_test.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test-typescript-sample.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_advanced_features.js +18 -9
- package/ts_build/tests/manual/ycmd/test_advanced_features.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_advanced_with_tools.js +18 -9
- package/ts_build/tests/manual/ycmd/test_advanced_with_tools.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_comprehensive_typescript.js +17 -7
- package/ts_build/tests/manual/ycmd/test_comprehensive_typescript.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_diagnostics_file_changes.js +17 -7
- package/ts_build/tests/manual/ycmd/test_diagnostics_file_changes.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_diagnostics_fix.js +17 -7
- package/ts_build/tests/manual/ycmd/test_diagnostics_fix.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_diagnostics_simple.js +17 -7
- package/ts_build/tests/manual/ycmd/test_diagnostics_simple.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_diagnostics_timing.js +17 -7
- package/ts_build/tests/manual/ycmd/test_diagnostics_timing.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_discover_commands.js +18 -9
- package/ts_build/tests/manual/ycmd/test_discover_commands.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_endpoints.js +17 -7
- package/ts_build/tests/manual/ycmd/test_endpoints.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_final_comprehensive.js +17 -7
- package/ts_build/tests/manual/ycmd/test_final_comprehensive.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_final_validation.js +17 -7
- package/ts_build/tests/manual/ycmd/test_final_validation.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_individual_ycmd_tool.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_server_manager.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_simple_debug.js +17 -7
- package/ts_build/tests/manual/ycmd/test_simple_debug.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_tsserver_workflow.js +17 -7
- package/ts_build/tests/manual/ycmd/test_tsserver_workflow.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_typescript_simple.js +17 -7
- package/ts_build/tests/manual/ycmd/test_typescript_simple.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_typescript_ycmd.js +17 -7
- package/ts_build/tests/manual/ycmd/test_typescript_ycmd.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_workspace_config.js +17 -7
- package/ts_build/tests/manual/ycmd/test_workspace_config.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_ycmd_auto_start.js +17 -7
- package/ts_build/tests/manual/ycmd/test_ycmd_auto_start.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_ycmd_comprehensive.js +17 -7
- package/ts_build/tests/manual/ycmd/test_ycmd_comprehensive.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_ycmd_direct.js +17 -7
- package/ts_build/tests/manual/ycmd/test_ycmd_direct.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_ycmd_experiment.js +19 -9
- package/ts_build/tests/manual/ycmd/test_ycmd_experiment.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_ycmd_final.js +17 -7
- package/ts_build/tests/manual/ycmd/test_ycmd_final.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_ycmd_integration.js +18 -9
- package/ts_build/tests/manual/ycmd/test_ycmd_integration.js.map +1 -1
- package/ts_build/tests/manual/ycmd/test_ycmd_simple.js.map +1 -1
- package/ts_build/tests/manual/ycmd/working_simple_test.js +17 -7
- package/ts_build/tests/manual/ycmd/working_simple_test.js.map +1 -1
- package/ts_build/tests/patching/corrupted.test.js.map +1 -1
- package/ts_build/tests/patching/imports.test.js +17 -7
- package/ts_build/tests/patching/imports.test.js.map +1 -1
- package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +17 -7
- package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +1 -1
- package/ts_build/tests/plugins/language/languagePlugin-integration.test.js +17 -7
- package/ts_build/tests/plugins/language/languagePlugin-integration.test.js.map +1 -1
- package/ts_build/tests/plugins/language/languagePlugin.test.js +17 -7
- package/ts_build/tests/plugins/language/languagePlugin.test.js.map +1 -1
- package/ts_build/tests/processors/Base64ImageDetector.test.js +17 -7
- package/ts_build/tests/processors/Base64ImageDetector.test.js.map +1 -1
- package/ts_build/tests/processors/TokenCompressor.test.js.map +1 -1
- package/ts_build/tests/processors/ToolResponseCache.test.js.map +1 -1
- package/ts_build/tests/services/Tools.test.js.map +1 -1
- package/ts_build/tests/test.spec.js +17 -7
- package/ts_build/tests/test.spec.js.map +1 -1
- package/ts_build/tests/unit/InputQueueManager.test.js.map +1 -1
- package/ts_build/tests/unit/modules/moduleLoading.test.js.map +1 -1
- package/ts_build/src/agents/tools/asana/definitions.d.ts +0 -202
- package/ts_build/src/agents/tools/asana/definitions.js +0 -197
- package/ts_build/src/agents/tools/asana/definitions.js.map +0 -1
- package/ts_build/src/agents/tools/asana/index.d.ts +0 -8
- package/ts_build/src/agents/tools/asana/index.js +0 -98
- package/ts_build/src/agents/tools/asana/index.js.map +0 -1
- package/ts_build/src/agents/tools/ast/astAppendNode.d.ts +0 -1
- package/ts_build/src/agents/tools/ast/astAppendNode.js +0 -8
- package/ts_build/src/agents/tools/ast/astAppendNode.js.map +0 -1
- package/ts_build/src/agents/tools/ast/astDeleteNode.d.ts +0 -1
- package/ts_build/src/agents/tools/ast/astDeleteNode.js +0 -8
- package/ts_build/src/agents/tools/ast/astDeleteNode.js.map +0 -1
- package/ts_build/src/agents/tools/ast/astEditNode.d.ts +0 -1
- package/ts_build/src/agents/tools/ast/astEditNode.js +0 -8
- package/ts_build/src/agents/tools/ast/astEditNode.js.map +0 -1
- package/ts_build/src/agents/tools/ast/astGetPathForLine.d.ts +0 -1
- package/ts_build/src/agents/tools/ast/astGetPathForLine.js +0 -8
- package/ts_build/src/agents/tools/ast/astGetPathForLine.js.map +0 -1
- package/ts_build/src/agents/tools/ast/astListPaths.d.ts +0 -1
- package/ts_build/src/agents/tools/ast/astListPaths.js +0 -8
- package/ts_build/src/agents/tools/ast/astListPaths.js.map +0 -1
- package/ts_build/src/agents/tools/ast/index.d.ts +0 -5
- package/ts_build/src/agents/tools/ast/index.js +0 -14
- package/ts_build/src/agents/tools/ast/index.js.map +0 -1
- package/ts_build/src/agents/tools/astAppendNode.d.ts +0 -1
- package/ts_build/src/agents/tools/astAppendNode.js +0 -98
- package/ts_build/src/agents/tools/astAppendNode.js.map +0 -1
- package/ts_build/src/agents/tools/astDeleteNode.d.ts +0 -1
- package/ts_build/src/agents/tools/astDeleteNode.js +0 -95
- package/ts_build/src/agents/tools/astDeleteNode.js.map +0 -1
- package/ts_build/src/agents/tools/astEditNode.d.ts +0 -1
- package/ts_build/src/agents/tools/astEditNode.js +0 -98
- package/ts_build/src/agents/tools/astEditNode.js.map +0 -1
- package/ts_build/src/agents/tools/astGetPathForLine.d.ts +0 -1
- package/ts_build/src/agents/tools/astGetPathForLine.js +0 -89
- package/ts_build/src/agents/tools/astGetPathForLine.js.map +0 -1
- package/ts_build/src/agents/tools/astListPaths.d.ts +0 -1
- package/ts_build/src/agents/tools/astListPaths.js +0 -82
- package/ts_build/src/agents/tools/astListPaths.js.map +0 -1
- package/ts_build/src/agents/tools/github/definitions.d.ts +0 -47
- package/ts_build/src/agents/tools/github/definitions.js +0 -86
- package/ts_build/src/agents/tools/github/definitions.js.map +0 -1
- package/ts_build/src/agents/tools/github/index.d.ts +0 -789
- package/ts_build/src/agents/tools/github/index.js +0 -56
- package/ts_build/src/agents/tools/github/index.js.map +0 -1
- package/ts_build/src/agents/tools/startChatTask.d.ts +0 -13
- package/ts_build/src/agents/tools/startChatTask.js +0 -73
- package/ts_build/src/agents/tools/startChatTask.js.map +0 -1
- package/ts_build/src/agents/vim/vim.d.ts +0 -13
- package/ts_build/src/agents/vim/vim.js +0 -170
- package/ts_build/src/agents/vim/vim.js.map +0 -1
- package/ts_build/src/chat/ChatCommandHandler.d.ts +0 -36
- package/ts_build/src/chat/ChatCommandHandler.js +0 -268
- package/ts_build/src/chat/ChatCommandHandler.js.map +0 -1
- package/ts_build/src/chat/ChatInputManager.d.ts +0 -22
- package/ts_build/src/chat/ChatInputManager.js +0 -85
- package/ts_build/src/chat/ChatInputManager.js.map +0 -1
- package/ts_build/src/chat/ChatManager.d.ts +0 -49
- package/ts_build/src/chat/ChatManager.js +0 -271
- package/ts_build/src/chat/ChatManager.js.map +0 -1
- package/ts_build/src/chat/ChatSession.d.ts +0 -32
- package/ts_build/src/chat/ChatSession.js +0 -3
- package/ts_build/src/chat/ChatSession.js.map +0 -1
- package/ts_build/src/chat/ChatSessionManager.d.ts +0 -19
- package/ts_build/src/chat/ChatSessionManager.js +0 -188
- package/ts_build/src/chat/ChatSessionManager.js.map +0 -1
- package/ts_build/src/chat/ChatStateManager.d.ts +0 -58
- package/ts_build/src/chat/ChatStateManager.js +0 -156
- package/ts_build/src/chat/ChatStateManager.js.map +0 -1
- package/ts_build/src/chat/InterruptibleInput.d.ts +0 -20
- package/ts_build/src/chat/InterruptibleInput.js +0 -109
- package/ts_build/src/chat/InterruptibleInput.js.map +0 -1
- package/ts_build/src/chat/interfaces/ChatModule.d.ts +0 -6
- package/ts_build/src/chat/interfaces/ChatModule.js +0 -3
- package/ts_build/src/chat/interfaces/ChatModule.js.map +0 -1
- package/ts_build/src/chat-old.d.ts +0 -13
- package/ts_build/src/chat-old.js +0 -340
- package/ts_build/src/chat-old.js.map +0 -1
- package/ts_build/src/chat2.d.ts +0 -3
- package/ts_build/src/chat2.js +0 -47
- package/ts_build/src/chat2.js.map +0 -1
- package/ts_build/src/dockerWorker.d.ts +0 -22
- package/ts_build/src/dockerWorker.js +0 -210
- package/ts_build/src/dockerWorker.js.map +0 -1
- package/ts_build/src/plugins/asana.d.ts +0 -19
- package/ts_build/src/plugins/asana.js +0 -124
- package/ts_build/src/plugins/asana.js.map +0 -1
- package/ts_build/src/plugins/downloader/downloader.d.ts +0 -26
- package/ts_build/src/plugins/downloader/downloader.js +0 -324
- package/ts_build/src/plugins/downloader/downloader.js.map +0 -1
- package/ts_build/src/plugins/downloader/plugin.d.ts +0 -12
- package/ts_build/src/plugins/downloader/plugin.js +0 -98
- package/ts_build/src/plugins/downloader/plugin.js.map +0 -1
- package/ts_build/src/plugins/downloader/types.d.ts +0 -88
- package/ts_build/src/plugins/downloader/types.js +0 -79
- package/ts_build/src/plugins/downloader/types.js.map +0 -1
- package/ts_build/src/plugins/figma.d.ts +0 -25
- package/ts_build/src/plugins/figma.js +0 -134
- package/ts_build/src/plugins/figma.js.map +0 -1
- package/ts_build/src/plugins/github.d.ts +0 -1227
- package/ts_build/src/plugins/github.js +0 -182
- package/ts_build/src/plugins/github.js.map +0 -1
- package/ts_build/src/plugins/jira.d.ts +0 -18
- package/ts_build/src/plugins/jira.js +0 -104
- package/ts_build/src/plugins/jira.js.map +0 -1
- package/ts_build/src/plugins/linear.d.ts +0 -26
- package/ts_build/src/plugins/linear.js +0 -194
- package/ts_build/src/plugins/linear.js.map +0 -1
- package/ts_build/src/plugins/notion.d.ts +0 -35
- package/ts_build/src/plugins/notion.js +0 -141
- package/ts_build/src/plugins/notion.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/editor.d.ts +0 -5
- package/ts_build/src/plugins/tree-sitter/editor.js +0 -16
- package/ts_build/src/plugins/tree-sitter/editor.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.d.ts +0 -29
- package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.js +0 -538
- package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/human-readable-paths.d.ts +0 -22
- package/ts_build/src/plugins/tree-sitter/human-readable-paths.js +0 -332
- package/ts_build/src/plugins/tree-sitter/human-readable-paths.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/lang-packs/index.d.ts +0 -8
- package/ts_build/src/plugins/tree-sitter/lang-packs/index.js +0 -26
- package/ts_build/src/plugins/tree-sitter/lang-packs/index.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/lang-packs/java.d.ts +0 -2
- package/ts_build/src/plugins/tree-sitter/lang-packs/java.js +0 -61
- package/ts_build/src/plugins/tree-sitter/lang-packs/java.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.d.ts +0 -2
- package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.js +0 -59
- package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/lang-packs/python.d.ts +0 -2
- package/ts_build/src/plugins/tree-sitter/lang-packs/python.js +0 -47
- package/ts_build/src/plugins/tree-sitter/lang-packs/python.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/lang-packs/types.d.ts +0 -43
- package/ts_build/src/plugins/tree-sitter/lang-packs/types.js +0 -3
- package/ts_build/src/plugins/tree-sitter/lang-packs/types.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.d.ts +0 -2
- package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.js +0 -50
- package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/parser.d.ts +0 -40
- package/ts_build/src/plugins/tree-sitter/parser.js +0 -36
- package/ts_build/src/plugins/tree-sitter/parser.js.map +0 -1
- package/ts_build/src/plugins/tree-sitter/simple-paths.d.ts +0 -9
- package/ts_build/src/plugins/tree-sitter/simple-paths.js +0 -10
- package/ts_build/src/plugins/tree-sitter/simple-paths.js.map +0 -1
- package/ts_build/src/services/AgentSynchronization.d.ts +0 -29
- package/ts_build/src/services/AgentSynchronization.js +0 -178
- package/ts_build/src/services/AgentSynchronization.js.map +0 -1
- package/ts_build/src/services/GitHub.d.ts +0 -10
- package/ts_build/src/services/GitHub.js +0 -51
- package/ts_build/src/services/GitHub.js.map +0 -1
- package/ts_build/src/utils/PersistentInputManager.d.ts +0 -28
- package/ts_build/src/utils/PersistentInputManager.js +0 -293
- package/ts_build/src/utils/PersistentInputManager.js.map +0 -1
- package/ts_build/src/worker/handlers/proxyHandler.d.ts +0 -2
- package/ts_build/src/worker/handlers/proxyHandler.js +0 -41
- package/ts_build/src/worker/handlers/proxyHandler.js.map +0 -1
- package/ts_build/src/worker/tools/index.d.ts +0 -1
- package/ts_build/src/worker/tools/index.js +0 -18
- package/ts_build/src/worker/tools/index.js.map +0 -1
- package/ts_build/src/worker/tools/portForwarding.d.ts +0 -49
- package/ts_build/src/worker/tools/portForwarding.js +0 -173
- package/ts_build/src/worker/tools/portForwarding.js.map +0 -1
- package/ts_build/src/worker/types/proxy.d.ts +0 -18
- package/ts_build/src/worker/types/proxy.js +0 -3
- package/ts_build/src/worker/types/proxy.js.map +0 -1
- package/ts_build/src/worker-entrypoint.d.ts +0 -2
- package/ts_build/src/worker-entrypoint.js +0 -39
- package/ts_build/src/worker-entrypoint.js.map +0 -1
- package/ts_build/src/workerSync.d.ts +0 -8
- package/ts_build/src/workerSync.js +0 -120
- package/ts_build/src/workerSync.js.map +0 -1
- package/ts_build/src/workers/tools/listForwardedPorts.d.ts +0 -10
- package/ts_build/src/workers/tools/listForwardedPorts.js +0 -22
- package/ts_build/src/workers/tools/listForwardedPorts.js.map +0 -1
- package/ts_build/tests/integration/figma.test.d.ts +0 -1
- package/ts_build/tests/integration/figma.test.js +0 -47
- package/ts_build/tests/integration/figma.test.js.map +0 -1
- package/ts_build/tests/integration/fileblocks/readwrite.test.d.ts +0 -1
- package/ts_build/tests/integration/fileblocks/readwrite.test.js +0 -96
- package/ts_build/tests/integration/fileblocks/readwrite.test.js.map +0 -1
- package/ts_build/tests/integration/patching.test.d.ts +0 -1
- package/ts_build/tests/integration/patching.test.js +0 -116
- package/ts_build/tests/integration/patching.test.js.map +0 -1
- package/ts_build/tests/languagePlugin.test.d.ts +0 -1
- package/ts_build/tests/languagePlugin.test.js +0 -284
- package/ts_build/tests/languagePlugin.test.js.map +0 -1
- package/ts_build/tests/manual/agent-events/event-handler-reliability.test.d.ts +0 -1
- package/ts_build/tests/manual/agent-events/event-handler-reliability.test.js +0 -315
- package/ts_build/tests/manual/agent-events/event-handler-reliability.test.js.map +0 -1
- package/ts_build/tests/manual/persistent-input-test.d.ts +0 -1
- package/ts_build/tests/manual/persistent-input-test.js +0 -35
- package/ts_build/tests/manual/persistent-input-test.js.map +0 -1
- package/ts_build/tests/services/Plugins/plugin-event-integration.test.d.ts +0 -1
- package/ts_build/tests/services/Plugins/plugin-event-integration.test.js +0 -232
- package/ts_build/tests/services/Plugins/plugin-event-integration.test.js.map +0 -1
- package/ts_build/tests/tree-sitter/editor.test.d.ts +0 -1
- package/ts_build/tests/tree-sitter/editor.test.js +0 -85
- package/ts_build/tests/tree-sitter/editor.test.js.map +0 -1
- package/ts_build/tests/tree-sitter/invalid.test.d.ts +0 -1
- package/ts_build/tests/tree-sitter/invalid.test.js +0 -198
- package/ts_build/tests/tree-sitter/invalid.test.js.map +0 -1
- package/ts_build/tests/tree-sitter/paths/common-edits.test.d.ts +0 -1
- package/ts_build/tests/tree-sitter/paths/common-edits.test.js +0 -347
- package/ts_build/tests/tree-sitter/paths/common-edits.test.js.map +0 -1
- package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.d.ts +0 -1
- package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.js +0 -35
- package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.js.map +0 -1
- package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.d.ts +0 -1
- package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.js +0 -38
- package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.js.map +0 -1
- package/ts_build/tests/tree-sitter/paths/debug-paths.test.d.ts +0 -1
- package/ts_build/tests/tree-sitter/paths/debug-paths.test.js +0 -74
- package/ts_build/tests/tree-sitter/paths/debug-paths.test.js.map +0 -1
- package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.d.ts +0 -1
- package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.js +0 -302
- package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.js.map +0 -1
- package/ts_build/tests/tree-sitter/paths/paths.test.d.ts +0 -1
- package/ts_build/tests/tree-sitter/paths/paths.test.js +0 -116
- package/ts_build/tests/tree-sitter/paths/paths.test.js.map +0 -1
- package/ts_build/tests/tree-sitter/paths/simple-paths.test.d.ts +0 -1
- package/ts_build/tests/tree-sitter/paths/simple-paths.test.js +0 -302
- package/ts_build/tests/tree-sitter/paths/simple-paths.test.js.map +0 -1
- package/ts_build/tests/tree-sitter/sample-after.d.ts +0 -11
- package/ts_build/tests/tree-sitter/sample-after.js +0 -44
- package/ts_build/tests/tree-sitter/sample-after.js.map +0 -1
- package/ts_build/tests/tree-sitter/sample-before.d.ts +0 -9
- package/ts_build/tests/tree-sitter/sample-before.js +0 -28
- package/ts_build/tests/tree-sitter/sample-before.js.map +0 -1
- package/ts_build/tests/tree-sitter/test-files/completely-broken.d.ts +0 -2
- package/ts_build/tests/tree-sitter/test-files/completely-broken.js +0 -17
- package/ts_build/tests/tree-sitter/test-files/completely-broken.js.map +0 -1
- package/ts_build/tests/tree-sitter/test-files/duplicate-braces.d.ts +0 -8
- package/ts_build/tests/tree-sitter/test-files/duplicate-braces.js +0 -38
- package/ts_build/tests/tree-sitter/test-files/duplicate-braces.js.map +0 -1
- package/ts_build/tests/tree-sitter/test-files/invalid-nesting.d.ts +0 -8
- package/ts_build/tests/tree-sitter/test-files/invalid-nesting.js +0 -38
- package/ts_build/tests/tree-sitter/test-files/invalid-nesting.js.map +0 -1
- package/ts_build/tests/tree-sitter/test-files/malformed-signature.d.ts +0 -8
- package/ts_build/tests/tree-sitter/test-files/malformed-signature.js +0 -38
- package/ts_build/tests/tree-sitter/test-files/malformed-signature.js.map +0 -1
- package/ts_build/tests/tree-sitter/test-files/mismatched-parens.d.ts +0 -10
- package/ts_build/tests/tree-sitter/test-files/mismatched-parens.js +0 -38
- package/ts_build/tests/tree-sitter/test-files/mismatched-parens.js.map +0 -1
- package/ts_build/tests/tree-sitter/test-files/missing-semicolon.d.ts +0 -8
- package/ts_build/tests/tree-sitter/test-files/missing-semicolon.js +0 -38
- package/ts_build/tests/tree-sitter/test-files/missing-semicolon.js.map +0 -1
- package/ts_build/tests/tree-sitter/test-files/partially-broken.d.ts +0 -6
- package/ts_build/tests/tree-sitter/test-files/partially-broken.js +0 -20
- package/ts_build/tests/tree-sitter/test-files/partially-broken.js.map +0 -1
- package/ts_build/tests/tree-sitter/test-files/specific-errors.d.ts +0 -7
- package/ts_build/tests/tree-sitter/test-files/specific-errors.js +0 -14
- package/ts_build/tests/tree-sitter/test-files/specific-errors.js.map +0 -1
- package/ts_build/tests/tree-sitter/test-files/unclosed-string.d.ts +0 -8
- package/ts_build/tests/tree-sitter/test-files/unclosed-string.js +0 -38
- package/ts_build/tests/tree-sitter/test-files/unclosed-string.js.map +0 -1
- package/ts_build/tests/tree-sitter/tree-sitter.test.d.ts +0 -0
- package/ts_build/tests/tree-sitter/tree-sitter.test.js +0 -4
- package/ts_build/tests/tree-sitter/tree-sitter.test.js.map +0 -1
- package/ts_build/tests/worker/handlers/proxyHandler.test.d.ts +0 -1
- package/ts_build/tests/worker/handlers/proxyHandler.test.js +0 -170
- 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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"}
|