@tyvm/knowhow 0.0.93 → 0.0.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -2
- package/ts_build/package.json +3 -2
- package/ts_build/src/cli.js +0 -0
- 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,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const utils_1 = require("../../src/utils");
|
|
4
|
-
async function testPersistentInput() {
|
|
5
|
-
console.log("=== Persistent Input Test ===");
|
|
6
|
-
console.log("This test will output logs every 2 seconds while you type.");
|
|
7
|
-
console.log("The input prompt should remain visible at the bottom.\n");
|
|
8
|
-
console.log("Try typing while the logs appear!\n");
|
|
9
|
-
let logCount = 0;
|
|
10
|
-
const logInterval = setInterval(() => {
|
|
11
|
-
logCount++;
|
|
12
|
-
console.log(`[${new Date().toISOString()}] Background log #${logCount}`);
|
|
13
|
-
if (logCount % 3 === 0) {
|
|
14
|
-
console.error(`[ERROR] This is a stderr message #${logCount}`);
|
|
15
|
-
}
|
|
16
|
-
}, 2000);
|
|
17
|
-
try {
|
|
18
|
-
const answer1 = await (0, utils_1.ask)("What is your name? ", [], []);
|
|
19
|
-
console.log(`\nYou entered: ${answer1}\n`);
|
|
20
|
-
const answer2 = await (0, utils_1.ask)("What is your favorite color? ", ["red", "blue", "green", "yellow"], [answer1]);
|
|
21
|
-
console.log(`\nYou entered: ${answer2}\n`);
|
|
22
|
-
const answer3 = await (0, utils_1.ask)("Type 'exit' to quit: ", [], [answer1, answer2]);
|
|
23
|
-
console.log(`\nYou entered: ${answer3}\n`);
|
|
24
|
-
clearInterval(logInterval);
|
|
25
|
-
console.log("\n=== Test Complete ===");
|
|
26
|
-
console.log("The input prompt should have stayed visible throughout!");
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
clearInterval(logInterval);
|
|
30
|
-
console.error("Error:", error);
|
|
31
|
-
}
|
|
32
|
-
process.exit(0);
|
|
33
|
-
}
|
|
34
|
-
testPersistentInput();
|
|
35
|
-
//# sourceMappingURL=persistent-input-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"persistent-input-test.js","sourceRoot":"","sources":["../../../tests/manual/persistent-input-test.ts"],"names":[],"mappings":";;AASA,2CAAsC;AAEtC,KAAK,UAAU,mBAAmB;IAChC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAGnD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAEzE,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;SAChE;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,IAAI;QAEF,MAAM,OAAO,GAAG,MAAM,IAAA,WAAG,EAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,IAAI,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,MAAM,IAAA,WAAG,EAAC,+BAA+B,EACvD,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAClC,CAAC,OAAO,CAAC,CAAC,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,IAAI,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,MAAM,IAAA,WAAG,EAAC,uBAAuB,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,IAAI,CAAC,CAAC;QAE3C,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;KACxE;IAAC,OAAO,KAAK,EAAE;QACd,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;KAChC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,mBAAmB,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const plugins_1 = require("../../../src/plugins/plugins");
|
|
4
|
-
const base_1 = require("../../../src/agents/base/base");
|
|
5
|
-
const PluginBase_1 = require("../../../src/plugins/PluginBase");
|
|
6
|
-
const services_1 = require("../../../src/services");
|
|
7
|
-
const EventService_1 = require("../../../src/services/EventService");
|
|
8
|
-
class MockEventPlugin extends PluginBase_1.PluginBase {
|
|
9
|
-
data = [];
|
|
10
|
-
isActivated = false;
|
|
11
|
-
processingData = false;
|
|
12
|
-
constructor(eventEmitter) {
|
|
13
|
-
const meta = {
|
|
14
|
-
key: "mock-event-plugin",
|
|
15
|
-
name: "Mock Event Plugin",
|
|
16
|
-
description: "A mock plugin for testing event emission"
|
|
17
|
-
};
|
|
18
|
-
super(meta, eventEmitter);
|
|
19
|
-
}
|
|
20
|
-
async call(userInput) {
|
|
21
|
-
this.emit("data-processed", {
|
|
22
|
-
input: userInput,
|
|
23
|
-
result: "processed",
|
|
24
|
-
timestamp: Date.now()
|
|
25
|
-
});
|
|
26
|
-
return `Mock plugin processed: ${userInput || "no input"}`;
|
|
27
|
-
}
|
|
28
|
-
async embed(userInput) {
|
|
29
|
-
return [];
|
|
30
|
-
}
|
|
31
|
-
enable() {
|
|
32
|
-
this.isActivated = true;
|
|
33
|
-
}
|
|
34
|
-
disable() {
|
|
35
|
-
this.isActivated = false;
|
|
36
|
-
}
|
|
37
|
-
isEnabled() {
|
|
38
|
-
return this.isActivated;
|
|
39
|
-
}
|
|
40
|
-
simulateEvent(eventName, data) {
|
|
41
|
-
this.emit(eventName, data);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
class MockTestAgent extends base_1.BaseAgent {
|
|
45
|
-
name = "mock-test-agent";
|
|
46
|
-
description = "Test agent for plugin events";
|
|
47
|
-
receivedEvents = [];
|
|
48
|
-
constructor(context) {
|
|
49
|
-
super(context);
|
|
50
|
-
}
|
|
51
|
-
async getInitialMessages(userInput) {
|
|
52
|
-
return [
|
|
53
|
-
{
|
|
54
|
-
role: "user",
|
|
55
|
-
content: userInput
|
|
56
|
-
}
|
|
57
|
-
];
|
|
58
|
-
}
|
|
59
|
-
startListening(pluginKey, eventName) {
|
|
60
|
-
this.subscribeToPluginEvents((event) => {
|
|
61
|
-
this.receivedEvents.push(event);
|
|
62
|
-
}, pluginKey, eventName);
|
|
63
|
-
}
|
|
64
|
-
getReceivedEvents() {
|
|
65
|
-
return this.receivedEvents;
|
|
66
|
-
}
|
|
67
|
-
clearEvents() {
|
|
68
|
-
this.receivedEvents = [];
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
describe("Plugin Event Integration", () => {
|
|
72
|
-
let pluginService;
|
|
73
|
-
let mockAgent;
|
|
74
|
-
let mockPlugin;
|
|
75
|
-
let toolsService;
|
|
76
|
-
let eventService;
|
|
77
|
-
beforeEach(() => {
|
|
78
|
-
pluginService = new plugins_1.PluginService();
|
|
79
|
-
toolsService = new services_1.ToolsService();
|
|
80
|
-
eventService = new EventService_1.EventService();
|
|
81
|
-
mockPlugin = new MockEventPlugin(pluginService.getEventEmitter());
|
|
82
|
-
mockPlugin.enable();
|
|
83
|
-
pluginService.registerPlugin("mock-event-plugin", mockPlugin);
|
|
84
|
-
const context = {
|
|
85
|
-
Tools: toolsService,
|
|
86
|
-
Events: eventService
|
|
87
|
-
};
|
|
88
|
-
mockAgent = new MockTestAgent(context);
|
|
89
|
-
});
|
|
90
|
-
afterEach(() => {
|
|
91
|
-
mockAgent.clearEvents();
|
|
92
|
-
});
|
|
93
|
-
describe("Plugin Event Emission", () => {
|
|
94
|
-
it("should emit events when plugin methods are called", async () => {
|
|
95
|
-
const eventPromise = new Promise((resolve) => {
|
|
96
|
-
pluginService.onPluginEvent((event) => {
|
|
97
|
-
resolve(event);
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
await mockPlugin.call("test input");
|
|
101
|
-
const event = await eventPromise;
|
|
102
|
-
expect(event).toBeDefined();
|
|
103
|
-
expect(event.pluginKey).toBe("mock-event-plugin");
|
|
104
|
-
expect(event.eventName).toBe("data-processed");
|
|
105
|
-
expect(event.data).toMatchObject({
|
|
106
|
-
input: "test input",
|
|
107
|
-
result: "processed"
|
|
108
|
-
});
|
|
109
|
-
expect(event.timestamp).toBeGreaterThan(0);
|
|
110
|
-
});
|
|
111
|
-
it("should emit custom events through plugin", async () => {
|
|
112
|
-
const eventPromise = new Promise((resolve) => {
|
|
113
|
-
pluginService.onPluginEvent((event) => {
|
|
114
|
-
resolve(event);
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
const customData = { message: "custom event", value: 42 };
|
|
118
|
-
mockPlugin.simulateEvent("custom-event", customData);
|
|
119
|
-
const event = await eventPromise;
|
|
120
|
-
expect(event).toBeDefined();
|
|
121
|
-
expect(event.pluginKey).toBe("mock-event-plugin");
|
|
122
|
-
expect(event.eventName).toBe("custom-event");
|
|
123
|
-
expect(event.data).toEqual(customData);
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
describe("Agent Event Subscription", () => {
|
|
127
|
-
it("should allow agents to subscribe to all plugin events", async () => {
|
|
128
|
-
mockAgent.startListening();
|
|
129
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
130
|
-
await mockPlugin.call("test data");
|
|
131
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
132
|
-
const receivedEvents = mockAgent.getReceivedEvents();
|
|
133
|
-
expect(receivedEvents).toHaveLength(1);
|
|
134
|
-
expect(receivedEvents[0].pluginKey).toBe("mock-event-plugin");
|
|
135
|
-
expect(receivedEvents[0].eventName).toBe("data-processed");
|
|
136
|
-
});
|
|
137
|
-
it("should allow agents to subscribe to specific plugin events", async () => {
|
|
138
|
-
mockAgent.startListening("mock-event-plugin");
|
|
139
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
140
|
-
await mockPlugin.call("test data");
|
|
141
|
-
mockPlugin.simulateEvent("custom-event", { test: true });
|
|
142
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
143
|
-
const receivedEvents = mockAgent.getReceivedEvents();
|
|
144
|
-
expect(receivedEvents).toHaveLength(2);
|
|
145
|
-
expect(receivedEvents.every(e => e.pluginKey === "mock-event-plugin")).toBe(true);
|
|
146
|
-
});
|
|
147
|
-
it("should allow agents to subscribe to specific event names", async () => {
|
|
148
|
-
mockAgent.startListening(undefined, "custom-event");
|
|
149
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
150
|
-
await mockPlugin.call("test data");
|
|
151
|
-
mockPlugin.simulateEvent("custom-event", { test: true });
|
|
152
|
-
mockPlugin.simulateEvent("other-event", { test: false });
|
|
153
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
154
|
-
const receivedEvents = mockAgent.getReceivedEvents();
|
|
155
|
-
expect(receivedEvents).toHaveLength(1);
|
|
156
|
-
expect(receivedEvents[0].eventName).toBe("custom-event");
|
|
157
|
-
});
|
|
158
|
-
it("should allow agents to subscribe to specific plugin and event name", async () => {
|
|
159
|
-
mockAgent.startListening("mock-event-plugin", "custom-event");
|
|
160
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
161
|
-
await mockPlugin.call("test data");
|
|
162
|
-
mockPlugin.simulateEvent("custom-event", { test: true });
|
|
163
|
-
mockPlugin.simulateEvent("other-event", { test: false });
|
|
164
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
165
|
-
const receivedEvents = mockAgent.getReceivedEvents();
|
|
166
|
-
expect(receivedEvents).toHaveLength(1);
|
|
167
|
-
expect(receivedEvents[0].pluginKey).toBe("mock-event-plugin");
|
|
168
|
-
expect(receivedEvents[0].eventName).toBe("custom-event");
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
describe("End-to-End Integration", () => {
|
|
172
|
-
it("should support multiple agents listening to the same plugin events", async () => {
|
|
173
|
-
const context2 = {
|
|
174
|
-
Tools: toolsService,
|
|
175
|
-
Events: eventService
|
|
176
|
-
};
|
|
177
|
-
const mockAgent2 = new MockTestAgent(context2);
|
|
178
|
-
mockAgent.startListening("mock-event-plugin");
|
|
179
|
-
mockAgent2.startListening("mock-event-plugin");
|
|
180
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
181
|
-
mockPlugin.simulateEvent("shared-event", { message: "hello world" });
|
|
182
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
183
|
-
const events1 = mockAgent.getReceivedEvents();
|
|
184
|
-
const events2 = mockAgent2.getReceivedEvents();
|
|
185
|
-
expect(events1).toHaveLength(1);
|
|
186
|
-
expect(events2).toHaveLength(1);
|
|
187
|
-
expect(events1[0]).toEqual(events2[0]);
|
|
188
|
-
});
|
|
189
|
-
it("should support multiple plugins emitting events to agents", async () => {
|
|
190
|
-
const secondPlugin = new MockEventPlugin();
|
|
191
|
-
secondPlugin.enable();
|
|
192
|
-
pluginService.registerPlugin("second-plugin", secondPlugin);
|
|
193
|
-
mockAgent.startListening();
|
|
194
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
195
|
-
mockPlugin.simulateEvent("first-event", { source: "first" });
|
|
196
|
-
secondPlugin.simulateEvent("second-event", { source: "second" });
|
|
197
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
198
|
-
const receivedEvents = mockAgent.getReceivedEvents();
|
|
199
|
-
expect(receivedEvents).toHaveLength(2);
|
|
200
|
-
const firstEvent = receivedEvents.find(e => e.pluginKey === "mock-event-plugin");
|
|
201
|
-
const secondEvent = receivedEvents.find(e => e.pluginKey === "second-plugin");
|
|
202
|
-
expect(firstEvent).toBeDefined();
|
|
203
|
-
expect(secondEvent).toBeDefined();
|
|
204
|
-
expect(firstEvent.data.source).toBe("first");
|
|
205
|
-
expect(secondEvent.data.source).toBe("second");
|
|
206
|
-
});
|
|
207
|
-
});
|
|
208
|
-
describe("Error Handling", () => {
|
|
209
|
-
it("should handle agent subscription errors gracefully", () => {
|
|
210
|
-
expect(() => {
|
|
211
|
-
mockAgent.startListening("non-existent-plugin");
|
|
212
|
-
}).not.toThrow();
|
|
213
|
-
});
|
|
214
|
-
it("should handle plugin event emission errors gracefully", () => {
|
|
215
|
-
expect(() => {
|
|
216
|
-
mockPlugin.simulateEvent("error-event", null);
|
|
217
|
-
}).not.toThrow();
|
|
218
|
-
});
|
|
219
|
-
it("should handle multiple subscriptions from same agent", async () => {
|
|
220
|
-
mockAgent.startListening("mock-event-plugin", "event1");
|
|
221
|
-
mockAgent.startListening("mock-event-plugin", "event2");
|
|
222
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
223
|
-
mockPlugin.simulateEvent("event1", { data: "first" });
|
|
224
|
-
mockPlugin.simulateEvent("event2", { data: "second" });
|
|
225
|
-
mockPlugin.simulateEvent("event3", { data: "third" });
|
|
226
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
227
|
-
const receivedEvents = mockAgent.getReceivedEvents();
|
|
228
|
-
expect(receivedEvents).toHaveLength(2);
|
|
229
|
-
});
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
//# sourceMappingURL=plugin-event-integration.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-event-integration.test.js","sourceRoot":"","sources":["../../../../tests/services/Plugins/plugin-event-integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const path_1 = require("path");
|
|
4
|
-
const editor_1 = require("../../src/plugins/tree-sitter/editor");
|
|
5
|
-
const parser_1 = require("../../src/plugins/tree-sitter/parser");
|
|
6
|
-
describe("TreeEditor", () => {
|
|
7
|
-
let parser;
|
|
8
|
-
const sampleCode = `class Calculator {
|
|
9
|
-
add(a, b) {
|
|
10
|
-
return a + b;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
multiply(a, b) {
|
|
14
|
-
return a * b;
|
|
15
|
-
}
|
|
16
|
-
}`;
|
|
17
|
-
beforeEach(() => {
|
|
18
|
-
parser = parser_1.LanguageAgnosticParser.createJavaScriptParser();
|
|
19
|
-
});
|
|
20
|
-
test("should create TreeEditor from string", () => {
|
|
21
|
-
const editor = new editor_1.TreeEditor(parser, sampleCode);
|
|
22
|
-
expect(editor).toBeDefined();
|
|
23
|
-
expect(editor.getCurrentText()).toBe(sampleCode);
|
|
24
|
-
});
|
|
25
|
-
test("should create TreeEditor from file", () => {
|
|
26
|
-
const beforeFilePath = (0, path_1.join)(__dirname, "sample-before.ts");
|
|
27
|
-
const editor = editor_1.TreeEditor.fromFile(parser, beforeFilePath);
|
|
28
|
-
expect(editor).toBeDefined();
|
|
29
|
-
expect(editor.getCurrentText().length).toBeGreaterThan(0);
|
|
30
|
-
});
|
|
31
|
-
test("should add lines to code", () => {
|
|
32
|
-
const editor = new editor_1.TreeEditor(parser, sampleCode);
|
|
33
|
-
const newEditor = editor.addLines("", " subtract(a, b) {\n return a - b;\n }", 5);
|
|
34
|
-
const newText = newEditor.getCurrentText();
|
|
35
|
-
expect(newText).toContain("subtract");
|
|
36
|
-
expect(newText.split("\n").length).toBeGreaterThan(sampleCode.split("\n").length);
|
|
37
|
-
console.log("After adding lines:\n", newText);
|
|
38
|
-
});
|
|
39
|
-
test("should remove lines from code", () => {
|
|
40
|
-
const editor = new editor_1.TreeEditor(parser, sampleCode);
|
|
41
|
-
const newEditor = editor.removeLines(1, 3);
|
|
42
|
-
const newText = newEditor.getCurrentText();
|
|
43
|
-
expect(newText).not.toContain("add(a, b)");
|
|
44
|
-
expect(newText.split("\n").length).toBeLessThan(sampleCode.split("\n").length);
|
|
45
|
-
console.log("After removing lines:\n", newText);
|
|
46
|
-
});
|
|
47
|
-
test("should update a specific line", () => {
|
|
48
|
-
const editor = new editor_1.TreeEditor(parser, sampleCode);
|
|
49
|
-
const newEditor = editor.updateLine(0, "class AdvancedCalculator {");
|
|
50
|
-
const newText = newEditor.getCurrentText();
|
|
51
|
-
expect(newText).toContain("AdvancedCalculator");
|
|
52
|
-
expect(newText).not.toContain("class Calculator {");
|
|
53
|
-
console.log("After updating line:\n", newText);
|
|
54
|
-
});
|
|
55
|
-
test("should generate diff between original and modified", () => {
|
|
56
|
-
const editor = new editor_1.TreeEditor(parser, sampleCode);
|
|
57
|
-
const newEditor = editor
|
|
58
|
-
.updateLine(0, "class AdvancedCalculator {")
|
|
59
|
-
.addLines("", " subtract(a, b) {\n return a - b;\n }", 5);
|
|
60
|
-
const diff = newEditor.generateDiff();
|
|
61
|
-
expect(diff).toContain("---");
|
|
62
|
-
expect(diff).toContain("+++");
|
|
63
|
-
expect(diff).toContain("-class Calculator {");
|
|
64
|
-
expect(diff).toContain("+class AdvancedCalculator {");
|
|
65
|
-
expect(diff).toContain("+ subtract(a, b) {");
|
|
66
|
-
expect(diff).toContain("+ return a - b;");
|
|
67
|
-
console.log("Generated diff:\n", diff);
|
|
68
|
-
});
|
|
69
|
-
test("should handle complex editing workflow", () => {
|
|
70
|
-
const beforeFilePath = (0, path_1.join)(__dirname, "sample-before.ts");
|
|
71
|
-
const editor = editor_1.TreeEditor.fromFile(parser, beforeFilePath);
|
|
72
|
-
const modifiedEditor = editor
|
|
73
|
-
.addLines("", " private operationCount: number = 0;", 2)
|
|
74
|
-
.updateLine(5, " // Enhanced add method")
|
|
75
|
-
.addLines("", " this.operationCount++;", 9);
|
|
76
|
-
const diff = modifiedEditor.generateDiff();
|
|
77
|
-
const newText = modifiedEditor.getCurrentText();
|
|
78
|
-
expect(newText).toContain("operationCount");
|
|
79
|
-
expect(newText).toContain("Enhanced add method");
|
|
80
|
-
expect(diff).toContain("operationCount");
|
|
81
|
-
console.log("Complex edit result:\n", newText);
|
|
82
|
-
console.log("Complex edit diff:\n", diff);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
//# sourceMappingURL=editor.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editor.test.js","sourceRoot":"","sources":["../../../tests/tree-sitter/editor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const parser_1 = require("../../src/plugins/tree-sitter/parser");
|
|
4
|
-
const editor_1 = require("../../src/plugins/tree-sitter/editor");
|
|
5
|
-
const fs_1 = require("fs");
|
|
6
|
-
const path_1 = require("path");
|
|
7
|
-
describe("Invalid Syntax Handling", () => {
|
|
8
|
-
let parser;
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
parser = parser_1.LanguageAgnosticParser.createTypeScriptParser();
|
|
11
|
-
});
|
|
12
|
-
const testFilesDir = (0, path_1.join)(__dirname, "test-files");
|
|
13
|
-
try {
|
|
14
|
-
(0, fs_1.mkdirSync)(testFilesDir, { recursive: true });
|
|
15
|
-
}
|
|
16
|
-
catch (e) {
|
|
17
|
-
}
|
|
18
|
-
const validTypeScriptCode = `export class Calculator {
|
|
19
|
-
private result: number = 0;
|
|
20
|
-
|
|
21
|
-
add(value: number): Calculator {
|
|
22
|
-
this.result += value;
|
|
23
|
-
return this;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
subtract(value: number): Calculator {
|
|
27
|
-
this.result -= value;
|
|
28
|
-
return this;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
multiply(value: number): Calculator {
|
|
32
|
-
this.result *= value;
|
|
33
|
-
return this;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getResult(): number {
|
|
37
|
-
return this.result;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export function createCalculator(): Calculator {
|
|
42
|
-
return new Calculator();
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
describe("Calculator Tests", () => {
|
|
46
|
-
it("should perform basic arithmetic", () => {
|
|
47
|
-
const calc = createCalculator();
|
|
48
|
-
const result = calc.add(5).multiply(2).subtract(3).getResult();
|
|
49
|
-
expect(result).toBe(7);
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
it("should chain operations correctly", () => {
|
|
53
|
-
const calc = new Calculator();
|
|
54
|
-
expect(calc.add(10).add(5).getResult()).toBe(15);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
`;
|
|
58
|
-
it("should parse valid TypeScript syntax correctly", () => {
|
|
59
|
-
const tree = parser.parseString(validTypeScriptCode);
|
|
60
|
-
expect(tree.rootNode.hasError).toBe(false);
|
|
61
|
-
expect(tree.rootNode.text).toBe(validTypeScriptCode);
|
|
62
|
-
const classes = parser.findClassDeclarations(tree);
|
|
63
|
-
expect(classes).toHaveLength(1);
|
|
64
|
-
const methods = parser.findMethodDeclarations(tree);
|
|
65
|
-
expect(methods.length).toBeGreaterThan(0);
|
|
66
|
-
});
|
|
67
|
-
it("should detect syntax errors with duplicated closing braces", () => {
|
|
68
|
-
const invalidCode = validTypeScriptCode.replace("return this.result;\n }", "return this.result;\n }}");
|
|
69
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "duplicate-braces.ts"), invalidCode);
|
|
70
|
-
const tree = parser.parseString(invalidCode);
|
|
71
|
-
expect(tree.rootNode.hasError).toBe(true);
|
|
72
|
-
const classes = parser.findClassDeclarations(tree);
|
|
73
|
-
expect(classes).toHaveLength(1);
|
|
74
|
-
});
|
|
75
|
-
it("should detect syntax errors with mismatched parentheses", () => {
|
|
76
|
-
const invalidCode = validTypeScriptCode.replace("add(value: number): Calculator {", "add(value: number: Calculator {");
|
|
77
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "mismatched-parens.ts"), invalidCode);
|
|
78
|
-
const tree = parser.parseString(invalidCode);
|
|
79
|
-
expect(tree.rootNode.hasError).toBe(true);
|
|
80
|
-
const errorNodes = parser.findErrorNodes(tree.rootNode);
|
|
81
|
-
expect(errorNodes.length).toBeGreaterThan(0);
|
|
82
|
-
});
|
|
83
|
-
it("should detect syntax errors with missing semicolons in critical positions", () => {
|
|
84
|
-
const invalidCode = validTypeScriptCode.replace("private result: number = 0;", "private result: number = 0");
|
|
85
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "missing-semicolon.ts"), invalidCode);
|
|
86
|
-
const tree = parser.parseString(invalidCode);
|
|
87
|
-
const classes = parser.findClassDeclarations(tree);
|
|
88
|
-
expect(classes).toHaveLength(1);
|
|
89
|
-
});
|
|
90
|
-
it("should detect syntax errors with malformed function signatures", () => {
|
|
91
|
-
const invalidCode = validTypeScriptCode.replace("subtract(value: number): Calculator {", "subtract(value number): Calculator {");
|
|
92
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "malformed-signature.ts"), invalidCode);
|
|
93
|
-
const tree = parser.parseString(invalidCode);
|
|
94
|
-
expect(tree.rootNode.hasError).toBe(true);
|
|
95
|
-
const errorNodes = parser.findErrorNodes(tree.rootNode);
|
|
96
|
-
expect(errorNodes.length).toBeGreaterThan(0);
|
|
97
|
-
});
|
|
98
|
-
it("should detect syntax errors with unclosed string literals", () => {
|
|
99
|
-
const invalidCode = validTypeScriptCode.replace("expect(result).toBe(7);", 'expect(result).toBe("unclosed string;');
|
|
100
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "unclosed-string.ts"), invalidCode);
|
|
101
|
-
const tree = parser.parseString(invalidCode);
|
|
102
|
-
expect(tree.rootNode.hasError).toBe(true);
|
|
103
|
-
const errorNodes = parser.findErrorNodes(tree.rootNode);
|
|
104
|
-
expect(errorNodes.length).toBeGreaterThan(0);
|
|
105
|
-
});
|
|
106
|
-
it("should detect syntax errors with invalid bracket nesting", () => {
|
|
107
|
-
const invalidCode = validTypeScriptCode.replace('describe("Calculator Tests", () => {', 'describe("Calculator Tests", (() => {');
|
|
108
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "invalid-nesting.ts"), invalidCode);
|
|
109
|
-
const tree = parser.parseString(invalidCode);
|
|
110
|
-
expect(tree.rootNode.hasError).toBe(true);
|
|
111
|
-
});
|
|
112
|
-
it("should handle completely broken syntax gracefully", () => {
|
|
113
|
-
const completelyBroken = `
|
|
114
|
-
class {{{ invalid syntax here
|
|
115
|
-
function missing_name() {
|
|
116
|
-
return "broken"
|
|
117
|
-
missing closing brace
|
|
118
|
-
export const = undefined;
|
|
119
|
-
`;
|
|
120
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "completely-broken.ts"), completelyBroken);
|
|
121
|
-
const tree = parser.parseString(completelyBroken);
|
|
122
|
-
expect(tree.rootNode.hasError).toBe(true);
|
|
123
|
-
const errorNodes = parser.findErrorNodes(tree.rootNode);
|
|
124
|
-
expect(errorNodes.length).toBeGreaterThan(0);
|
|
125
|
-
});
|
|
126
|
-
it("should identify specific error locations in broken code", () => {
|
|
127
|
-
const invalidCode = `
|
|
128
|
-
export class TestClass {
|
|
129
|
-
method1() {
|
|
130
|
-
return "valid";
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
method2( { // Missing parameter, extra opening brace
|
|
134
|
-
return "broken";
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
method3() {
|
|
138
|
-
return "valid again";
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
`;
|
|
142
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "specific-errors.ts"), invalidCode);
|
|
143
|
-
const tree = parser.parseString(invalidCode);
|
|
144
|
-
expect(tree.rootNode.hasError).toBe(true);
|
|
145
|
-
const errorNodes = parser.findErrorNodes(tree.rootNode);
|
|
146
|
-
expect(errorNodes.length).toBeGreaterThan(0);
|
|
147
|
-
const classes = parser.findClassDeclarations(tree);
|
|
148
|
-
expect(classes).toHaveLength(1);
|
|
149
|
-
});
|
|
150
|
-
it("should test TreeEditor behavior with invalid syntax", () => {
|
|
151
|
-
const editor = new editor_1.TreeEditor(parser, validTypeScriptCode);
|
|
152
|
-
expect(editor.getCurrentText()).toBe(validTypeScriptCode);
|
|
153
|
-
expect(editor.getTree().rootNode.hasError).toBe(false);
|
|
154
|
-
const invalidCode = validTypeScriptCode.replace("add(value: number): Calculator {", "add(value number): Calculator {");
|
|
155
|
-
const invalidEditor = new editor_1.TreeEditor(parser, invalidCode);
|
|
156
|
-
expect(invalidEditor.getTree().rootNode.hasError).toBe(true);
|
|
157
|
-
});
|
|
158
|
-
it("should test semantic diffing with broken syntax changes", () => {
|
|
159
|
-
const originalEditor = new editor_1.TreeEditor(parser, validTypeScriptCode);
|
|
160
|
-
const brokenCode = validTypeScriptCode.replace("add(value: number): Calculator {", "add(value number): Calculator {");
|
|
161
|
-
const brokenEditor = new editor_1.TreeEditor(parser, brokenCode, validTypeScriptCode);
|
|
162
|
-
const diff = brokenEditor.generateDiff();
|
|
163
|
-
expect(diff).toContain("-");
|
|
164
|
-
expect(diff).toContain("+");
|
|
165
|
-
expect(brokenEditor.getTree().rootNode.hasError).toBe(true);
|
|
166
|
-
expect(originalEditor.getTree().rootNode.hasError).toBe(false);
|
|
167
|
-
});
|
|
168
|
-
it("should preserve partial tree structure even with syntax errors", () => {
|
|
169
|
-
const partiallyBrokenCode = `
|
|
170
|
-
export class Calculator {
|
|
171
|
-
private result: number = 0;
|
|
172
|
-
|
|
173
|
-
add(value: number): Calculator {
|
|
174
|
-
this.result += value;
|
|
175
|
-
return this;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
// This method has broken syntax
|
|
179
|
-
subtract(value number): Calculator { // Missing colon
|
|
180
|
-
this.result -= value;
|
|
181
|
-
return this;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
multiply(value: number): Calculator {
|
|
185
|
-
this.result *= value;
|
|
186
|
-
return this;
|
|
187
|
-
}
|
|
188
|
-
}`;
|
|
189
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(testFilesDir, "partially-broken.ts"), partiallyBrokenCode);
|
|
190
|
-
const tree = parser.parseString(partiallyBrokenCode);
|
|
191
|
-
expect(tree.rootNode.hasError).toBe(true);
|
|
192
|
-
const classes = parser.findClassDeclarations(tree);
|
|
193
|
-
expect(classes).toHaveLength(1);
|
|
194
|
-
const methods = parser.findMethodDeclarations(tree);
|
|
195
|
-
expect(methods.length).toBeGreaterThan(0);
|
|
196
|
-
});
|
|
197
|
-
});
|
|
198
|
-
//# sourceMappingURL=invalid.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invalid.test.js","sourceRoot":"","sources":["../../../tests/tree-sitter/invalid.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|