@tyvm/knowhow 0.0.89 → 0.0.91
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/.depcheckrc +31 -0
- package/CONFIG.md +52 -0
- package/README.md +344 -29
- package/WORKER.md +169 -334
- package/autodoc/chat-guide.md +540 -0
- package/autodoc/cli-reference.md +765 -0
- package/autodoc/config-reference.md +541 -0
- package/autodoc/embeddings-guide.md +566 -0
- package/autodoc/generate-guide.md +477 -0
- package/autodoc/language-plugin-guide.md +443 -0
- package/autodoc/modules-guide.md +352 -0
- package/autodoc/plugins-guide.md +720 -0
- package/autodoc/quickstart-guide.md +129 -0
- package/autodoc/skills-guide.md +468 -0
- package/autodoc/worker-guide.md +526 -0
- package/bin/knowhow.js +1 -1
- package/package.json +4 -32
- package/src/agents/tools/executeScript/index.ts +5 -0
- package/src/agents/tools/googleSearch.ts +2 -2
- package/src/agents/tools/index.ts +0 -3
- package/src/agents/tools/list.ts +0 -147
- package/src/agents/tools/loadWebpage.ts +3 -113
- package/src/ai.ts +33 -2
- package/src/auth/browserLogin.ts +10 -13
- package/src/cli.ts +63 -3
- package/src/clients/gemini.ts +96 -25
- package/src/clients/http.ts +7 -11
- package/src/clients/pricing/google.ts +122 -26
- package/src/config.ts +28 -4
- package/src/conversion.ts +24 -54
- package/src/index.ts +30 -3
- package/src/login.ts +5 -6
- package/src/plugins/language.ts +0 -4
- package/src/plugins/plugins.ts +0 -14
- package/src/plugins/url.ts +31 -12
- package/src/processors/TokenCompressor.ts +2 -2
- package/src/processors/ToolResponseCache.ts +3 -3
- package/src/processors/tools/grepToolResponse.ts +9 -4
- package/src/processors/tools/jqToolResponse.ts +11 -6
- package/src/processors/tools/listStoredToolResponses.ts +1 -1
- package/src/processors/tools/tailToolResponse.ts +9 -4
- package/src/services/GitHub.ts +2 -2
- package/src/services/KnowhowClient.ts +34 -34
- package/src/{plugins/downloader/downloader.ts → services/MediaProcessorService.ts} +109 -267
- package/src/services/S3.ts +16 -16
- package/src/services/index.ts +4 -4
- package/src/services/modules/index.ts +10 -2
- package/src/services/modules/types.ts +5 -2
- package/src/services/script-execution/ScriptExecutor.ts +29 -10
- package/src/services/script-execution/ScriptPolicy.ts +6 -2
- package/src/types.ts +1 -0
- package/src/utils/http.ts +127 -0
- package/src/workers/auth/PasskeySetup.ts +7 -11
- package/tests/clients/AIClient.test.ts +24 -21
- package/tests/manual/file-edits/figma.test.ts +3 -70
- package/tests/plugins/language/languagePlugin-content-triggers.test.ts +2 -0
- package/tests/plugins/language/languagePlugin.test.ts +2 -0
- package/tests/processors/ToolResponseCache.test.ts +2 -2
- package/tests/test.spec.ts +0 -14
- package/tests/unit/modules/moduleLoading.test.ts +7 -4
- package/tests/unit/plugins/pluginLoading.test.ts +6 -6
- package/ts_build/package.json +4 -32
- package/ts_build/src/agents/tools/ast/astAppendNode.d.ts +1 -1
- package/ts_build/src/agents/tools/ast/astAppendNode.js +2 -90
- package/ts_build/src/agents/tools/ast/astAppendNode.js.map +1 -1
- package/ts_build/src/agents/tools/ast/astDeleteNode.d.ts +1 -1
- package/ts_build/src/agents/tools/ast/astDeleteNode.js +2 -88
- package/ts_build/src/agents/tools/ast/astDeleteNode.js.map +1 -1
- package/ts_build/src/agents/tools/ast/astEditNode.d.ts +1 -1
- package/ts_build/src/agents/tools/ast/astEditNode.js +2 -90
- package/ts_build/src/agents/tools/ast/astEditNode.js.map +1 -1
- package/ts_build/src/agents/tools/ast/astGetPathForLine.d.ts +1 -1
- package/ts_build/src/agents/tools/ast/astGetPathForLine.js +2 -72
- package/ts_build/src/agents/tools/ast/astGetPathForLine.js.map +1 -1
- package/ts_build/src/agents/tools/ast/astListPaths.d.ts +1 -1
- package/ts_build/src/agents/tools/ast/astListPaths.js +2 -72
- package/ts_build/src/agents/tools/ast/astListPaths.js.map +1 -1
- package/ts_build/src/agents/tools/executeScript/index.d.ts +3 -2
- package/ts_build/src/agents/tools/executeScript/index.js +4 -1
- package/ts_build/src/agents/tools/executeScript/index.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/index.d.ts +0 -3
- package/ts_build/src/agents/tools/index.js +0 -3
- package/ts_build/src/agents/tools/index.js.map +1 -1
- package/ts_build/src/agents/tools/list.js +0 -138
- package/ts_build/src/agents/tools/list.js.map +1 -1
- package/ts_build/src/agents/tools/loadWebpage.js +1 -89
- package/ts_build/src/agents/tools/loadWebpage.js.map +1 -1
- package/ts_build/src/agents/tools/textSearch.d.ts +1 -1
- package/ts_build/src/ai.js +18 -1
- package/ts_build/src/ai.js.map +1 -1
- package/ts_build/src/auth/browserLogin.js +7 -7
- package/ts_build/src/auth/browserLogin.js.map +1 -1
- package/ts_build/src/cli.d.ts +1 -1
- package/ts_build/src/cli.js +47 -1
- package/ts_build/src/cli.js.map +1 -1
- package/ts_build/src/clients/gemini.d.ts +1 -73
- package/ts_build/src/clients/gemini.js +57 -19
- package/ts_build/src/clients/gemini.js.map +1 -1
- package/ts_build/src/clients/http.js +5 -9
- package/ts_build/src/clients/http.js.map +1 -1
- package/ts_build/src/clients/pricing/google.d.ts +17 -73
- package/ts_build/src/clients/pricing/google.js +47 -10
- package/ts_build/src/clients/pricing/google.js.map +1 -1
- package/ts_build/src/config.js +17 -2
- package/ts_build/src/config.js.map +1 -1
- package/ts_build/src/conversion.d.ts +1 -4
- package/ts_build/src/conversion.js +12 -27
- package/ts_build/src/conversion.js.map +1 -1
- package/ts_build/src/index.d.ts +4 -0
- package/ts_build/src/index.js +19 -3
- package/ts_build/src/index.js.map +1 -1
- package/ts_build/src/login.js +5 -4
- package/ts_build/src/login.js.map +1 -1
- package/ts_build/src/plugins/downloader/downloader.js +3 -3
- package/ts_build/src/plugins/downloader/downloader.js.map +1 -1
- package/ts_build/src/plugins/language.js.map +1 -1
- package/ts_build/src/plugins/plugins.js +0 -14
- package/ts_build/src/plugins/plugins.js.map +1 -1
- package/ts_build/src/plugins/tree-sitter/editor.d.ts +3 -32
- package/ts_build/src/plugins/tree-sitter/editor.js +6 -208
- package/ts_build/src/plugins/tree-sitter/editor.js.map +1 -1
- package/ts_build/src/plugins/tree-sitter/parser.d.ts +19 -54
- package/ts_build/src/plugins/tree-sitter/parser.js +19 -293
- package/ts_build/src/plugins/tree-sitter/parser.js.map +1 -1
- package/ts_build/src/plugins/tree-sitter/simple-paths.d.ts +2 -15
- package/ts_build/src/plugins/tree-sitter/simple-paths.js +2 -324
- package/ts_build/src/plugins/tree-sitter/simple-paths.js.map +1 -1
- package/ts_build/src/plugins/url.js +27 -8
- package/ts_build/src/plugins/url.js.map +1 -1
- package/ts_build/src/processors/TokenCompressor.js +2 -2
- package/ts_build/src/processors/TokenCompressor.js.map +1 -1
- package/ts_build/src/processors/ToolResponseCache.js +3 -3
- package/ts_build/src/processors/ToolResponseCache.js.map +1 -1
- package/ts_build/src/processors/tools/grepToolResponse.d.ts +3 -1
- package/ts_build/src/processors/tools/grepToolResponse.js +8 -2
- package/ts_build/src/processors/tools/grepToolResponse.js.map +1 -1
- package/ts_build/src/processors/tools/jqToolResponse.d.ts +3 -1
- package/ts_build/src/processors/tools/jqToolResponse.js +10 -4
- package/ts_build/src/processors/tools/jqToolResponse.js.map +1 -1
- package/ts_build/src/processors/tools/listStoredToolResponses.js +1 -1
- package/ts_build/src/processors/tools/listStoredToolResponses.js.map +1 -1
- package/ts_build/src/processors/tools/tailToolResponse.d.ts +3 -1
- package/ts_build/src/processors/tools/tailToolResponse.js +8 -2
- package/ts_build/src/processors/tools/tailToolResponse.js.map +1 -1
- package/ts_build/src/services/GitHub.js +2 -2
- package/ts_build/src/services/GitHub.js.map +1 -1
- package/ts_build/src/services/KnowhowClient.d.ts +29 -29
- package/ts_build/src/services/KnowhowClient.js +33 -33
- package/ts_build/src/services/KnowhowClient.js.map +1 -1
- package/ts_build/src/services/MediaProcessorService.d.ts +22 -0
- package/ts_build/src/services/MediaProcessorService.js +215 -0
- package/ts_build/src/services/MediaProcessorService.js.map +1 -0
- package/ts_build/src/services/S3.js +12 -18
- package/ts_build/src/services/S3.js.map +1 -1
- package/ts_build/src/services/index.d.ts +3 -2
- package/ts_build/src/services/index.js +3 -3
- package/ts_build/src/services/index.js.map +1 -1
- package/ts_build/src/services/modules/index.js +10 -2
- package/ts_build/src/services/modules/index.js.map +1 -1
- package/ts_build/src/services/modules/types.d.ts +5 -2
- package/ts_build/src/services/script-execution/ScriptExecutor.js +22 -7
- package/ts_build/src/services/script-execution/ScriptExecutor.js.map +1 -1
- package/ts_build/src/services/script-execution/ScriptPolicy.d.ts +1 -1
- package/ts_build/src/services/script-execution/ScriptPolicy.js +4 -2
- package/ts_build/src/services/script-execution/ScriptPolicy.js.map +1 -1
- package/ts_build/src/types.d.ts +1 -0
- package/ts_build/src/types.js +1 -0
- package/ts_build/src/types.js.map +1 -1
- package/ts_build/src/utils/http.d.ts +27 -0
- package/ts_build/src/utils/http.js +98 -0
- package/ts_build/src/utils/http.js.map +1 -0
- package/ts_build/src/workers/auth/PasskeySetup.js +6 -7
- package/ts_build/src/workers/auth/PasskeySetup.js.map +1 -1
- package/ts_build/tests/clients/AIClient.test.js +11 -14
- package/ts_build/tests/clients/AIClient.test.js.map +1 -1
- package/ts_build/tests/manual/file-edits/figma.test.d.ts +0 -1
- package/ts_build/tests/manual/file-edits/figma.test.js +1 -46
- package/ts_build/tests/manual/file-edits/figma.test.js.map +1 -1
- package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +2 -0
- package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +1 -1
- package/ts_build/tests/plugins/language/languagePlugin.test.js +2 -0
- package/ts_build/tests/plugins/language/languagePlugin.test.js.map +1 -1
- package/ts_build/tests/processors/ToolResponseCache.test.js +2 -2
- package/ts_build/tests/processors/ToolResponseCache.test.js.map +1 -1
- package/ts_build/tests/test.spec.js +0 -14
- package/ts_build/tests/test.spec.js.map +1 -1
- package/ts_build/tests/tree-sitter/tree-sitter.test.d.ts +0 -1
- package/ts_build/tests/tree-sitter/tree-sitter.test.js +2 -183
- package/ts_build/tests/tree-sitter/tree-sitter.test.js.map +1 -1
- package/ts_build/tests/unit/modules/moduleLoading.test.js +6 -4
- package/ts_build/tests/unit/modules/moduleLoading.test.js.map +1 -1
- package/ts_build/tests/unit/plugins/pluginLoading.test.js +4 -4
- package/ts_build/tests/unit/plugins/pluginLoading.test.js.map +1 -1
- package/autodoc/chat.mdx +0 -20
- package/autodoc/cli.mdx +0 -11
- package/autodoc/plugins/asana.mdx +0 -47
- package/autodoc/plugins/downloader/downloader.mdx +0 -38
- package/autodoc/plugins/downloader/plugin.mdx +0 -37
- package/autodoc/plugins/downloader/types.mdx +0 -42
- package/autodoc/plugins/embedding.mdx +0 -41
- package/autodoc/plugins/figma.mdx +0 -45
- package/autodoc/plugins/github.mdx +0 -40
- package/autodoc/plugins/jira.mdx +0 -46
- package/autodoc/plugins/language.mdx +0 -37
- package/autodoc/plugins/linear.mdx +0 -35
- package/autodoc/plugins/notion.mdx +0 -38
- package/autodoc/plugins/plugins.mdx +0 -59
- package/autodoc/plugins/types.mdx +0 -51
- package/autodoc/plugins/vim.mdx +0 -39
- package/autodoc/tools/addInternalTools.mdx +0 -1
- package/autodoc/tools/agentCall.mdx +0 -1
- package/autodoc/tools/asana/definitions.mdx +0 -10
- package/autodoc/tools/asana/index.mdx +0 -12
- package/autodoc/tools/askHuman.mdx +0 -1
- package/autodoc/tools/callPlugin.mdx +0 -1
- package/autodoc/tools/embeddingSearch.mdx +0 -1
- package/autodoc/tools/execCommand.mdx +0 -1
- package/autodoc/tools/fileSearch.mdx +0 -1
- package/autodoc/tools/finalAnswer.mdx +0 -1
- package/autodoc/tools/github/definitions.mdx +0 -6
- package/autodoc/tools/github/index.mdx +0 -8
- package/autodoc/tools/index.mdx +0 -14
- package/autodoc/tools/lintFile.mdx +0 -7
- package/autodoc/tools/list.mdx +0 -16
- package/autodoc/tools/modifyFile.mdx +0 -7
- package/autodoc/tools/patch.mdx +0 -9
- package/autodoc/tools/readBlocks.mdx +0 -1
- package/autodoc/tools/readFile.mdx +0 -1
- package/autodoc/tools/scanFile.mdx +0 -1
- package/autodoc/tools/textSearch.mdx +0 -6
- package/autodoc/tools/types/fileblock.mdx +0 -1
- package/autodoc/tools/visionTool.mdx +0 -1
- package/autodoc/tools/writeFile.mdx +0 -1
- package/benchmarks/.dockerignore +0 -7
- package/benchmarks/README.md +0 -166
- package/benchmarks/docker/Dockerfile +0 -68
- package/benchmarks/example-config.yml +0 -27
- package/benchmarks/jest.config.js +0 -13
- package/benchmarks/package-lock.json +0 -4297
- package/benchmarks/package.json +0 -39
- package/benchmarks/results/27b0a06/2025-09-27/xai/xai-grok-code-fast-1.json +0 -2909
- package/benchmarks/results/4057aed/2025-08-14/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -1671
- package/benchmarks/results/4542435/2025-08-05/lms/lms-openai-gpt-oss-20b.json +0 -2814
- package/benchmarks/results/4542435/2025-08-05/lms/lms-qwen-qwen3-30b-a3b-2507.json +0 -2014
- package/benchmarks/results/4fb9125/2025-08-07/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3121
- package/benchmarks/results/5766aee/2025-08-02/lms-qwen/qwen3-coder-30b.json +0 -98
- package/benchmarks/results/6d73808/2025-08-07/openai/openai-gpt-5.json +0 -3256
- package/benchmarks/results/77bf0a6/2025-08-02/lms-qwen/qwen3-30b-a3b-2507.json +0 -4298
- package/benchmarks/results/8c0d445/2025-08-03/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3031
- package/benchmarks/results/8c0d445/2025-08-03/openai/openai-gpt-4.1-2025-04-14.json +0 -2990
- package/benchmarks/results/ac6b2ab/2025-08-03/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3256
- package/benchmarks/results/ac6b2ab/2025-08-03/lms/lms-qwen-qwen3-coder-30b.json +0 -3007
- package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-2025-04-14.json +0 -3256
- package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-mini-2025-04-14.json +0 -3036
- package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-nano-2025-04-14.json +0 -3280
- package/benchmarks/results/adff675/2025-08-04/lms/lms-qwen-qwen3-30b-a3b-2507.json +0 -1920
- package/benchmarks/results/adff675/2025-08-04/lms/lms-qwen-qwen3-coder-30b.json +0 -3281
- package/benchmarks/results/b502ed9/2025-08-03/lms-qwen/qwen3-coder-30b.json +0 -2896
- package/benchmarks/results/d1a8129/2025-08-03/lms/lms-qwen-qwen3-coder-30b.json +0 -3011
- package/benchmarks/results/e60471c/2025-08-03/lms/qwen3-30b-a3b-2507.json +0 -3003
- package/benchmarks/scripts/build-and-run.sh +0 -47
- package/benchmarks/scripts/clone-exercism.sh +0 -92
- package/benchmarks/scripts/validate.sh +0 -48
- package/benchmarks/src/__tests__/runner.test.ts +0 -27
- package/benchmarks/src/cli.ts +0 -90
- package/benchmarks/src/evaluators/EvaluatorRegistry.ts +0 -64
- package/benchmarks/src/evaluators/JavaScriptEvaluator.ts +0 -183
- package/benchmarks/src/evaluators/index.ts +0 -3
- package/benchmarks/src/evaluators/types.ts +0 -22
- package/benchmarks/src/index.ts +0 -3
- package/benchmarks/src/providers.ts +0 -13
- package/benchmarks/src/runner.ts +0 -824
- package/benchmarks/src/types.ts +0 -63
- package/benchmarks/tsconfig.json +0 -19
- package/leaderboard/README.md +0 -148
- package/leaderboard/app/api/benchmark-data/route.ts +0 -131
- package/leaderboard/app/api/benchmark-detail/route.ts +0 -172
- package/leaderboard/app/details/[model]/[provider]/[language]/page.tsx +0 -501
- package/leaderboard/app/exercise/[model]/[provider]/[language]/[exercise]/page.tsx +0 -375
- package/leaderboard/app/globals.css +0 -27
- package/leaderboard/app/layout.tsx +0 -21
- package/leaderboard/app/page.tsx +0 -170
- package/leaderboard/components/LeaderboardTable.tsx +0 -168
- package/leaderboard/components/PerformanceChart.tsx +0 -109
- package/leaderboard/next-env.d.ts +0 -5
- package/leaderboard/next.config.js +0 -4
- package/leaderboard/package-lock.json +0 -6363
- package/leaderboard/package.json +0 -28
- package/leaderboard/postcss.config.js +0 -6
- package/leaderboard/tailwind.config.js +0 -17
- package/leaderboard/tsconfig.json +0 -28
- package/leaderboard/types/benchmark.ts +0 -67
- package/leaderboard/utils/dataProcessor.ts +0 -33
- package/src/agents/tools/asana/definitions.ts +0 -199
- package/src/agents/tools/asana/index.ts +0 -108
- package/src/agents/tools/ast/astAppendNode.ts +0 -90
- package/src/agents/tools/ast/astDeleteNode.ts +0 -88
- package/src/agents/tools/ast/astEditNode.ts +0 -95
- package/src/agents/tools/ast/astGetPathForLine.ts +0 -73
- package/src/agents/tools/ast/astListPaths.ts +0 -66
- package/src/agents/tools/ast/index.ts +0 -7
- package/src/agents/tools/github/definitions.ts +0 -89
- package/src/agents/tools/github/index.ts +0 -67
- package/src/chat-old.ts +0 -446
- package/src/plugins/asana.ts +0 -146
- package/src/plugins/downloader/plugin.ts +0 -103
- package/src/plugins/downloader/types.ts +0 -92
- package/src/plugins/figma.ts +0 -158
- package/src/plugins/github.ts +0 -219
- package/src/plugins/jira.ts +0 -115
- package/src/plugins/linear.ts +0 -230
- package/src/plugins/notion.ts +0 -179
- package/src/plugins/tree-sitter/editor.ts +0 -369
- package/src/plugins/tree-sitter/lang-packs/index.ts +0 -23
- package/src/plugins/tree-sitter/lang-packs/java.ts +0 -59
- package/src/plugins/tree-sitter/lang-packs/javascript.ts +0 -57
- package/src/plugins/tree-sitter/lang-packs/python.ts +0 -45
- package/src/plugins/tree-sitter/lang-packs/types.ts +0 -79
- package/src/plugins/tree-sitter/lang-packs/typescript.ts +0 -49
- package/src/plugins/tree-sitter/parser.ts +0 -470
- package/src/plugins/tree-sitter/simple-paths.ts +0 -467
- package/test-comprehensive.ts +0 -31
- package/tests/tree-sitter/editor.test.ts +0 -113
- package/tests/tree-sitter/invalid.test.ts +0 -299
- package/tests/tree-sitter/paths/common-edits.test.ts +0 -564
- package/tests/tree-sitter/paths/debug-exact-position.test.ts +0 -44
- package/tests/tree-sitter/paths/debug-line-indexing.test.ts +0 -49
- package/tests/tree-sitter/paths/debug-paths.test.ts +0 -90
- package/tests/tree-sitter/paths/paths.test.ts +0 -170
- package/tests/tree-sitter/paths/simple-paths.test.ts +0 -367
- package/tests/tree-sitter/sample-after.ts +0 -48
- package/tests/tree-sitter/sample-before.ts +0 -25
- package/tests/tree-sitter/test-files/completely-broken.ts +0 -7
- package/tests/tree-sitter/test-files/duplicate-braces.ts +0 -39
- package/tests/tree-sitter/test-files/invalid-nesting.ts +0 -39
- package/tests/tree-sitter/test-files/malformed-signature.ts +0 -39
- package/tests/tree-sitter/test-files/mismatched-parens.ts +0 -39
- package/tests/tree-sitter/test-files/missing-semicolon.ts +0 -39
- package/tests/tree-sitter/test-files/partially-broken.ts +0 -20
- package/tests/tree-sitter/test-files/specific-errors.ts +0 -14
- package/tests/tree-sitter/test-files/unclosed-string.ts +0 -39
- package/tests/tree-sitter/tree-sitter.test.ts +0 -251
|
@@ -28,13 +28,6 @@ const vim_1 = require("./vim");
|
|
|
28
28
|
const LinterPlugin_1 = require("./LinterPlugin");
|
|
29
29
|
const language_1 = require("./language");
|
|
30
30
|
const embedding_1 = require("./embedding");
|
|
31
|
-
const github_1 = require("./github");
|
|
32
|
-
const asana_1 = require("./asana");
|
|
33
|
-
const linear_1 = require("./linear");
|
|
34
|
-
const jira_1 = require("./jira");
|
|
35
|
-
const notion_1 = require("./notion");
|
|
36
|
-
const plugin_1 = require("./downloader/plugin");
|
|
37
|
-
const figma_1 = require("./figma");
|
|
38
31
|
const url_1 = require("./url");
|
|
39
32
|
const GitPlugin_1 = require("./GitPlugin");
|
|
40
33
|
const tmux_1 = require("./tmux");
|
|
@@ -50,13 +43,6 @@ class PluginService {
|
|
|
50
43
|
this.pluginMap.set("embeddings", new embedding_1.EmbeddingPlugin(context));
|
|
51
44
|
this.pluginMap.set("vim", new vim_1.VimPlugin(context));
|
|
52
45
|
this.pluginMap.set("linter", new LinterPlugin_1.LinterPlugin(context));
|
|
53
|
-
this.pluginMap.set("github", new github_1.GitHubPlugin(context));
|
|
54
|
-
this.pluginMap.set("asana", new asana_1.AsanaPlugin(context));
|
|
55
|
-
this.pluginMap.set("linear", new linear_1.LinearPlugin(context));
|
|
56
|
-
this.pluginMap.set("jira", new jira_1.JiraPlugin(context));
|
|
57
|
-
this.pluginMap.set("notion", new notion_1.NotionPlugin(context));
|
|
58
|
-
this.pluginMap.set("download", new plugin_1.DownloaderPlugin(context));
|
|
59
|
-
this.pluginMap.set("figma", new figma_1.FigmaPlugin(context));
|
|
60
46
|
this.pluginMap.set("language", new language_1.LanguagePlugin(context));
|
|
61
47
|
this.pluginMap.set("url", new url_1.UrlPlugin(context));
|
|
62
48
|
this.pluginMap.set("git", new GitPlugin_1.GitPlugin(context));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/plugins/plugins.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+BAAkC;AAClC,iDAA8C;AAC9C,yCAA4C;AAC5C,2CAA8C;AAC9C
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/plugins/plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,5 @@
|
|
|
1
|
-
import { LanguageAgnosticParser, PathLocation, SyntaxNode, Tree } from "./parser";
|
|
2
|
-
import { SimplePathMatch } from "./simple-paths";
|
|
3
1
|
export declare class TreeEditor {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
private pathResolver;
|
|
8
|
-
constructor(parser: LanguageAgnosticParser, sourceCode: string, originalText?: string, existingTree?: Tree);
|
|
9
|
-
private createModified;
|
|
10
|
-
static fromFile(parser: LanguageAgnosticParser, filePath: string): TreeEditor;
|
|
11
|
-
static fromTree(parser: LanguageAgnosticParser, tree: Tree): TreeEditor;
|
|
12
|
-
addLines(path: string, content: string, afterLine?: number): TreeEditor;
|
|
13
|
-
removeLines(startLine: number, endLine?: number): TreeEditor;
|
|
14
|
-
updateLine(lineNumber: number, newContent: string): TreeEditor;
|
|
15
|
-
updateNodeByPath(path: string, newContent: string): TreeEditor;
|
|
16
|
-
deleteNodeByPath(path: string): TreeEditor;
|
|
17
|
-
updateNodeBySimplePath(simplePath: string, newContent: string): TreeEditor;
|
|
18
|
-
findNodesBySimplePath(simplePath: string): SimplePathMatch[];
|
|
19
|
-
getAllSimplePaths(): string[];
|
|
20
|
-
private resolvePathToNode;
|
|
21
|
-
insertBefore(parentPath: string, content: string, beforeKinds: string[]): TreeEditor;
|
|
22
|
-
appendChild(parentPath: string, content: string): TreeEditor;
|
|
23
|
-
addMethodToClass(className: string, methodContent: string): TreeEditor;
|
|
24
|
-
addPropertyToClass(className: string, propertyContent: string): TreeEditor;
|
|
25
|
-
appendToBlock(blockPath: string, content: string): TreeEditor;
|
|
26
|
-
updateBlock(blockPath: string, content: string): TreeEditor;
|
|
27
|
-
deleteBlock(blockPath: string): TreeEditor;
|
|
28
|
-
private getAllNodes;
|
|
29
|
-
findPathsForLine(tree: Tree, searchText: string): PathLocation[];
|
|
30
|
-
findNodeByPath(path: string): SyntaxNode | null;
|
|
31
|
-
getCurrentText(): string;
|
|
32
|
-
getTree(): Tree;
|
|
33
|
-
generateDiff(): string;
|
|
2
|
+
constructor(..._args: any[]);
|
|
3
|
+
static fromFile(..._args: any[]): never;
|
|
4
|
+
static fromTree(..._args: any[]): never;
|
|
34
5
|
}
|
|
@@ -1,217 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TreeEditor = void 0;
|
|
4
|
-
const simple_paths_1 = require("./simple-paths");
|
|
5
|
-
const fs_1 = require("fs");
|
|
6
|
-
const diff_1 = require("diff");
|
|
7
4
|
class TreeEditor {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
tree;
|
|
11
|
-
pathResolver;
|
|
12
|
-
constructor(parser, sourceCode, originalText, existingTree) {
|
|
13
|
-
this.parser = parser;
|
|
14
|
-
this.originalText = originalText || sourceCode;
|
|
15
|
-
this.tree = existingTree || parser.parseString(sourceCode);
|
|
16
|
-
this.pathResolver = new simple_paths_1.SimplePathResolver(parser);
|
|
5
|
+
constructor(..._args) {
|
|
6
|
+
throw new Error("Tree-sitter TreeEditor has been moved to @tyvm/knowhow-module-ast. Install that package and add it to your knowhow.json modules.");
|
|
17
7
|
}
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
static fromFile(..._args) {
|
|
9
|
+
throw new Error("Tree-sitter TreeEditor has been moved to @tyvm/knowhow-module-ast.");
|
|
20
10
|
}
|
|
21
|
-
static
|
|
22
|
-
|
|
23
|
-
return new TreeEditor(parser, sourceCode);
|
|
24
|
-
}
|
|
25
|
-
static fromTree(parser, tree) {
|
|
26
|
-
const sourceCode = tree.rootNode.text;
|
|
27
|
-
return new TreeEditor(parser, sourceCode, sourceCode, tree);
|
|
28
|
-
}
|
|
29
|
-
addLines(path, content, afterLine) {
|
|
30
|
-
const lines = this.getCurrentText().split("\n");
|
|
31
|
-
const insertIndex = afterLine !== undefined ? afterLine : lines.length;
|
|
32
|
-
const contentLines = content.split("\n");
|
|
33
|
-
lines.splice(insertIndex, 0, ...contentLines);
|
|
34
|
-
const newText = lines.join("\n");
|
|
35
|
-
return this.createModified(newText);
|
|
36
|
-
}
|
|
37
|
-
removeLines(startLine, endLine) {
|
|
38
|
-
const lines = this.getCurrentText().split("\n");
|
|
39
|
-
const end = endLine !== undefined ? endLine : startLine;
|
|
40
|
-
lines.splice(startLine, end - startLine + 1);
|
|
41
|
-
const newText = lines.join("\n");
|
|
42
|
-
return this.createModified(newText);
|
|
43
|
-
}
|
|
44
|
-
updateLine(lineNumber, newContent) {
|
|
45
|
-
const lines = this.getCurrentText().split("\n");
|
|
46
|
-
if (lineNumber >= 0 && lineNumber < lines.length) {
|
|
47
|
-
lines[lineNumber] = newContent;
|
|
48
|
-
}
|
|
49
|
-
const newText = lines.join("\n");
|
|
50
|
-
return this.createModified(newText);
|
|
51
|
-
}
|
|
52
|
-
updateNodeByPath(path, newContent) {
|
|
53
|
-
const node = this.resolvePathToNode(path);
|
|
54
|
-
if (!node) {
|
|
55
|
-
throw new Error(`Node not found at path: ${path}`);
|
|
56
|
-
}
|
|
57
|
-
const currentText = this.getCurrentText();
|
|
58
|
-
const lines = currentText.split("\n");
|
|
59
|
-
const startLine = node.startPosition.row;
|
|
60
|
-
const endLine = node.endPosition.row;
|
|
61
|
-
const startCol = node.startPosition.column;
|
|
62
|
-
const endCol = node.endPosition.column;
|
|
63
|
-
if (startLine === endLine) {
|
|
64
|
-
const line = lines[startLine];
|
|
65
|
-
lines[startLine] =
|
|
66
|
-
line.substring(0, startCol) + newContent + line.substring(endCol);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
const firstLine = lines[startLine].substring(0, startCol) + newContent;
|
|
70
|
-
const lastLine = lines[endLine].substring(endCol);
|
|
71
|
-
lines.splice(startLine, endLine - startLine + 1, firstLine + lastLine);
|
|
72
|
-
}
|
|
73
|
-
const newText = lines.join("\n");
|
|
74
|
-
return this.createModified(newText);
|
|
75
|
-
}
|
|
76
|
-
deleteNodeByPath(path) {
|
|
77
|
-
return this.updateNodeByPath(path, "");
|
|
78
|
-
}
|
|
79
|
-
updateNodeBySimplePath(simplePath, newContent) {
|
|
80
|
-
return this.updateNodeByPath(simplePath, newContent);
|
|
81
|
-
}
|
|
82
|
-
findNodesBySimplePath(simplePath) {
|
|
83
|
-
return this.pathResolver.findBySimplePath(this.tree, simplePath);
|
|
84
|
-
}
|
|
85
|
-
getAllSimplePaths() {
|
|
86
|
-
return this.pathResolver.getAllSimplePaths(this.tree);
|
|
87
|
-
}
|
|
88
|
-
resolvePathToNode(path) {
|
|
89
|
-
const simpleMatches = this.pathResolver.findBySimplePath(this.tree, path);
|
|
90
|
-
if (simpleMatches.length > 0) {
|
|
91
|
-
if (simpleMatches.length > 1) {
|
|
92
|
-
throw new Error(`Multiple nodes found for path: ${path}. Found: ${simpleMatches
|
|
93
|
-
.map((m) => m.description)
|
|
94
|
-
.join(", ")}`);
|
|
95
|
-
}
|
|
96
|
-
return simpleMatches[0].node;
|
|
97
|
-
}
|
|
98
|
-
return this.findNodeByPath(path);
|
|
99
|
-
}
|
|
100
|
-
insertBefore(parentPath, content, beforeKinds) {
|
|
101
|
-
const parentNode = this.resolvePathToNode(parentPath);
|
|
102
|
-
if (!parentNode) {
|
|
103
|
-
throw new Error(`No nodes found for path: ${parentPath}`);
|
|
104
|
-
}
|
|
105
|
-
const bodyNode = this.parser.getBodyNode(parentNode);
|
|
106
|
-
if (!bodyNode) {
|
|
107
|
-
throw new Error(`Cannot find body node for path: ${parentPath}`);
|
|
108
|
-
}
|
|
109
|
-
for (const child of bodyNode.children) {
|
|
110
|
-
if (beforeKinds.includes(this.parser.nodeKind(child))) {
|
|
111
|
-
return this.addLines("", content, child.startPosition.row);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return this.appendChild(parentPath, content);
|
|
115
|
-
}
|
|
116
|
-
appendChild(parentPath, content) {
|
|
117
|
-
if (parentPath === "") {
|
|
118
|
-
const current = this.getCurrentText();
|
|
119
|
-
const newText = current + "\n\n" + content;
|
|
120
|
-
return this.createModified(newText);
|
|
121
|
-
}
|
|
122
|
-
const parentNode = this.resolvePathToNode(parentPath);
|
|
123
|
-
if (!parentNode) {
|
|
124
|
-
throw new Error(`No nodes found for path: ${parentPath}`);
|
|
125
|
-
}
|
|
126
|
-
const bodyNode = this.parser.getBodyNode(parentNode);
|
|
127
|
-
if (!bodyNode) {
|
|
128
|
-
throw new Error(`Cannot find body node for path: ${parentPath}`);
|
|
129
|
-
}
|
|
130
|
-
const currentText = this.getCurrentText();
|
|
131
|
-
const lines = currentText.split("\n");
|
|
132
|
-
const endLine = bodyNode.endPosition.row;
|
|
133
|
-
const endCol = bodyNode.endPosition.column;
|
|
134
|
-
const insertLine = endLine;
|
|
135
|
-
const contentLines = content.split("\n");
|
|
136
|
-
const firstNonEmptyLine = contentLines.find((line) => line.trim() !== "");
|
|
137
|
-
const isAlreadyIndented = firstNonEmptyLine && firstNonEmptyLine.startsWith(" ");
|
|
138
|
-
const indentedContent = contentLines
|
|
139
|
-
.map((line, index) => {
|
|
140
|
-
if (line.trim() === "")
|
|
141
|
-
return line;
|
|
142
|
-
if (isAlreadyIndented) {
|
|
143
|
-
return line;
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
return " " + line;
|
|
147
|
-
}
|
|
148
|
-
})
|
|
149
|
-
.join("\n");
|
|
150
|
-
lines.splice(insertLine, 0, indentedContent);
|
|
151
|
-
const newText = lines.join("\n");
|
|
152
|
-
return this.createModified(newText);
|
|
153
|
-
}
|
|
154
|
-
addMethodToClass(className, methodContent) {
|
|
155
|
-
return this.appendChild(className, methodContent);
|
|
156
|
-
}
|
|
157
|
-
addPropertyToClass(className, propertyContent) {
|
|
158
|
-
return this.insertBefore(className, propertyContent, [
|
|
159
|
-
"method",
|
|
160
|
-
"constructor",
|
|
161
|
-
]);
|
|
162
|
-
}
|
|
163
|
-
appendToBlock(blockPath, content) {
|
|
164
|
-
return this.appendChild(blockPath, content);
|
|
165
|
-
}
|
|
166
|
-
updateBlock(blockPath, content) {
|
|
167
|
-
return this.updateNodeByPath(blockPath, content);
|
|
168
|
-
}
|
|
169
|
-
deleteBlock(blockPath) {
|
|
170
|
-
return this.deleteNodeByPath(blockPath);
|
|
171
|
-
}
|
|
172
|
-
getAllNodes(node) {
|
|
173
|
-
const nodes = [node];
|
|
174
|
-
for (let i = 0; i < node.childCount; i++) {
|
|
175
|
-
const child = node.child(i);
|
|
176
|
-
if (child) {
|
|
177
|
-
nodes.push(...this.getAllNodes(child));
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
return nodes;
|
|
181
|
-
}
|
|
182
|
-
findPathsForLine(tree, searchText) {
|
|
183
|
-
return this.parser.findPathsForLine(tree, searchText);
|
|
184
|
-
}
|
|
185
|
-
findNodeByPath(path) {
|
|
186
|
-
const parts = path.split("/");
|
|
187
|
-
if (parts.length === 0)
|
|
188
|
-
return null;
|
|
189
|
-
let current = this.tree.rootNode;
|
|
190
|
-
for (const part of parts) {
|
|
191
|
-
const match = part.match(/^(.+)\[(\d+)\]$/);
|
|
192
|
-
if (!match)
|
|
193
|
-
return null;
|
|
194
|
-
const [, nodeType, indexStr] = match;
|
|
195
|
-
const index = parseInt(indexStr, 10);
|
|
196
|
-
if (index >= current.children.length ||
|
|
197
|
-
current.children[index].type !== nodeType) {
|
|
198
|
-
return null;
|
|
199
|
-
}
|
|
200
|
-
current = current.children[index];
|
|
201
|
-
}
|
|
202
|
-
return current;
|
|
203
|
-
}
|
|
204
|
-
getCurrentText() {
|
|
205
|
-
if (!this.tree || !this.tree.rootNode) {
|
|
206
|
-
throw new Error("Failed to parse source code. Tree:" + this.tree);
|
|
207
|
-
}
|
|
208
|
-
return this.tree.rootNode.text;
|
|
209
|
-
}
|
|
210
|
-
getTree() {
|
|
211
|
-
return this.tree;
|
|
212
|
-
}
|
|
213
|
-
generateDiff() {
|
|
214
|
-
return (0, diff_1.createPatch)("original", this.originalText, this.getCurrentText(), "original", "modified");
|
|
11
|
+
static fromTree(..._args) {
|
|
12
|
+
throw new Error("Tree-sitter TreeEditor has been moved to @tyvm/knowhow-module-ast.");
|
|
215
13
|
}
|
|
216
14
|
}
|
|
217
15
|
exports.TreeEditor = TreeEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../../src/plugins/tree-sitter/editor.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../../src/plugins/tree-sitter/editor.ts"],"names":[],"mappings":";;;AAKA,MAAa,UAAU;IACrB,YAAY,GAAG,KAAY;QACzB,MAAM,IAAI,KAAK,CACb,kIAAkI,CACnI,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAY;QAC7B,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAY;QAC7B,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;CACF;AAhBD,gCAgBC"}
|
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export declare class LanguageAgnosticParser {
|
|
2
|
+
static supportsFile(_filePath: string): boolean;
|
|
3
|
+
static supportsLanguage(_language: string): boolean;
|
|
4
|
+
static createParserForFile(_filePath: string): never;
|
|
5
|
+
static createTypeScriptParser(): never;
|
|
6
|
+
static createJavaScriptParser(): never;
|
|
7
|
+
static suportedLanguages(): string[];
|
|
8
|
+
static resolveLanguageName(name: string): string;
|
|
9
|
+
}
|
|
10
|
+
export type Tree = any;
|
|
11
|
+
export type SyntaxNode = any;
|
|
5
12
|
export interface TreeNode {
|
|
6
13
|
type: string;
|
|
7
14
|
text: string;
|
|
8
|
-
startPosition:
|
|
9
|
-
|
|
10
|
-
column: number;
|
|
11
|
-
};
|
|
12
|
-
endPosition: {
|
|
13
|
-
row: number;
|
|
14
|
-
column: number;
|
|
15
|
-
};
|
|
15
|
+
startPosition: any;
|
|
16
|
+
endPosition: any;
|
|
16
17
|
children: TreeNode[];
|
|
17
18
|
}
|
|
18
|
-
export interface LanguageConfig {
|
|
19
|
-
language: any;
|
|
20
|
-
methodDeclarationTypes: string[];
|
|
21
|
-
classDeclarationTypes: string[];
|
|
22
|
-
}
|
|
23
19
|
export interface PathLocation {
|
|
24
20
|
path: string;
|
|
25
21
|
row: number;
|
|
@@ -32,44 +28,13 @@ export interface TreeEdit {
|
|
|
32
28
|
content?: string;
|
|
33
29
|
lineNumber?: number;
|
|
34
30
|
}
|
|
35
|
-
export
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
constructor(language: string);
|
|
40
|
-
static resolveLanguageName(extOrName: string): string;
|
|
41
|
-
static suportedLanguages(): string[];
|
|
42
|
-
static createParserForFile(filePath: string): LanguageAgnosticParser;
|
|
43
|
-
static createTypeScriptParser(): LanguageAgnosticParser;
|
|
44
|
-
static createJavaScriptParser(): LanguageAgnosticParser;
|
|
45
|
-
static supportsLanguage(languageName: string): boolean;
|
|
46
|
-
static supportsFile(filePath: string): boolean;
|
|
47
|
-
private setupFromLanguageName;
|
|
48
|
-
private setupParserForLanguage;
|
|
49
|
-
setLanguagePack(languageName: string): void;
|
|
50
|
-
getLanguagePack(): LanguagePackConfig | undefined;
|
|
51
|
-
getLanguage(): string | undefined;
|
|
52
|
-
nodeKind(node: Parser.SyntaxNode): NormalizedKind;
|
|
53
|
-
applyRule(node: Parser.SyntaxNode, rule: BodyRule, pack: LanguagePackConfig): Parser.SyntaxNode | undefined;
|
|
54
|
-
getBodyNodeWithLanguagePack(node: Parser.SyntaxNode, pack: LanguagePackConfig): Parser.SyntaxNode | undefined;
|
|
55
|
-
getBodyNode(node: Parser.SyntaxNode): Parser.SyntaxNode | null;
|
|
56
|
-
getBodyNodeForLanguage(node: Parser.SyntaxNode, language: string): Parser.SyntaxNode | undefined;
|
|
57
|
-
getNodeKindForLanguage(node: Parser.SyntaxNode, language: string): NormalizedKind;
|
|
58
|
-
parseFile(filePath: string): Parser.Tree;
|
|
59
|
-
parseString(sourceCode: string): Parser.Tree;
|
|
60
|
-
getFileText(tree: Parser.Tree): string;
|
|
61
|
-
findPathsForLine(tree: Parser.Tree, searchText: string): PathLocation[];
|
|
62
|
-
getNodePath(rootNode: Parser.SyntaxNode, targetNode: Parser.SyntaxNode): string;
|
|
63
|
-
nodeToObject(node: Parser.SyntaxNode): TreeNode;
|
|
64
|
-
findNodesByType(tree: Parser.Tree, nodeType: string): Parser.SyntaxNode[];
|
|
65
|
-
getTypesForKind(kind: NormalizedKind): string[];
|
|
66
|
-
findNodesByKind(tree: Parser.Tree, kind: NormalizedKind): Parser.SyntaxNode[];
|
|
67
|
-
findClassDeclarations(tree: Parser.Tree): Parser.SyntaxNode[];
|
|
68
|
-
findMethodDeclarations(tree: Parser.Tree): Parser.SyntaxNode[];
|
|
69
|
-
printTree(node: Parser.SyntaxNode, indent?: string): string;
|
|
70
|
-
findErrorNodes(node: Parser.SyntaxNode): Parser.SyntaxNode[];
|
|
31
|
+
export interface LanguageConfig {
|
|
32
|
+
language: any;
|
|
33
|
+
methodDeclarationTypes: string[];
|
|
34
|
+
classDeclarationTypes: string[];
|
|
71
35
|
}
|
|
72
|
-
export declare function
|
|
36
|
+
export declare function getLanguagePackForLanguage(_languageName: string): undefined;
|
|
37
|
+
export declare function compareTreeStructures(_tree1: any, _tree2: any): {
|
|
73
38
|
differences: string[];
|
|
74
39
|
summary: string;
|
|
75
40
|
};
|