@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,182 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GitHubPlugin = void 0;
|
|
4
|
-
const rest_1 = require("@octokit/rest");
|
|
5
|
-
const PluginBase_1 = require("./PluginBase");
|
|
6
|
-
const patch_1 = require("../agents/tools/patch");
|
|
7
|
-
class GitHubPlugin extends PluginBase_1.PluginBase {
|
|
8
|
-
static meta = {
|
|
9
|
-
key: "github",
|
|
10
|
-
name: "GitHub Plugin",
|
|
11
|
-
requires: ["GITHUB_TOKEN"],
|
|
12
|
-
};
|
|
13
|
-
meta = GitHubPlugin.meta;
|
|
14
|
-
octokit;
|
|
15
|
-
constructor(context) {
|
|
16
|
-
super(context);
|
|
17
|
-
const key = process.env.GITHUB_TOKEN;
|
|
18
|
-
if (key && this.isEnabled()) {
|
|
19
|
-
this.octokit = new rest_1.Octokit({
|
|
20
|
-
auth: key,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
customEnableCheck() {
|
|
25
|
-
try {
|
|
26
|
-
const key = process.env.GITHUB_TOKEN;
|
|
27
|
-
if (key) {
|
|
28
|
-
this.octokit = new rest_1.Octokit({ auth: key });
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
this.log(`Failed to initialize Octokit client: ${error}`, "error");
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
async embed(userPrompt) {
|
|
39
|
-
const urls = this.extractUrls(userPrompt);
|
|
40
|
-
const diffs = await this.getParsedDiffs(urls);
|
|
41
|
-
const diffsFiltered = diffs.filter((diff) => diff !== null);
|
|
42
|
-
return diffsFiltered.map((diff, index) => {
|
|
43
|
-
return {
|
|
44
|
-
id: urls[index],
|
|
45
|
-
text: JSON.stringify(diff),
|
|
46
|
-
metadata: {},
|
|
47
|
-
};
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
extractUrls(userPrompt) {
|
|
51
|
-
const prUrlRegex = /https:\/\/github\.com\/([\w-]+)\/([\w-]+)\/pull\/(\d+)/g;
|
|
52
|
-
const matches = userPrompt.match(prUrlRegex);
|
|
53
|
-
return matches;
|
|
54
|
-
}
|
|
55
|
-
parseUrl(url) {
|
|
56
|
-
const [owner, repo, _, pullNumber] = url.split("/").slice(-4);
|
|
57
|
-
return {
|
|
58
|
-
owner,
|
|
59
|
-
repo,
|
|
60
|
-
pullNumber,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
async getDiff(url) {
|
|
64
|
-
try {
|
|
65
|
-
const { owner, repo, pullNumber } = this.parseUrl(url);
|
|
66
|
-
this.log(`Loading diff for ${owner}/${repo}#${pullNumber}`);
|
|
67
|
-
const { data: diff } = await this.octokit.rest.pulls.get({
|
|
68
|
-
owner,
|
|
69
|
-
repo,
|
|
70
|
-
pull_number: parseInt(pullNumber, 10),
|
|
71
|
-
mediaType: {
|
|
72
|
-
format: "diff",
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
return diff;
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
this.log(`Failed to get diff for ${url}: ${error.message}`, "error");
|
|
79
|
-
if (error.status === 401) {
|
|
80
|
-
this.log("Authentication failed. Please check your GITHUB_TOKEN.", "error");
|
|
81
|
-
}
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
async getPR(url) {
|
|
86
|
-
try {
|
|
87
|
-
const { owner, repo, pullNumber } = this.parseUrl(url);
|
|
88
|
-
return await this.octokit.rest.pulls.get({
|
|
89
|
-
owner,
|
|
90
|
-
repo,
|
|
91
|
-
pull_number: parseInt(pullNumber, 10),
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
this.log(`Failed to get PR for ${url}: ${error.message}`, "error");
|
|
96
|
-
if (error.status === 401) {
|
|
97
|
-
this.log("Authentication failed. Please check your GITHUB_TOKEN.", "error");
|
|
98
|
-
}
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
getLengthOfHunks(hunks) {
|
|
103
|
-
const length = hunks
|
|
104
|
-
.flatMap((hunk) => [...hunk.additions, ...hunk.subtractions])
|
|
105
|
-
.reduce((acc, line) => acc + line.length, 0);
|
|
106
|
-
this.log(`Length of hunks: ${length}`);
|
|
107
|
-
return length;
|
|
108
|
-
}
|
|
109
|
-
async getParsedDiffs(urls) {
|
|
110
|
-
return Promise.all(urls.map(async (url) => {
|
|
111
|
-
try {
|
|
112
|
-
const diff = await this.getDiff(url);
|
|
113
|
-
if (!diff) {
|
|
114
|
-
this.log(`Skipping ${url} due to error`);
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
|
-
let parsed = (0, patch_1.parseHunks)(diff.toString());
|
|
118
|
-
this.log(`Parsed ${parsed.length} hunks`);
|
|
119
|
-
const averageHunkSize = parsed.reduce((acc, hunk) => acc + hunk.lines.length, 0) /
|
|
120
|
-
parsed.length;
|
|
121
|
-
const totalCharacters = parsed
|
|
122
|
-
.flatMap((hunk) => [...hunk.additions, ...hunk.subtractions])
|
|
123
|
-
.reduce((acc, line) => acc + line.length, 0);
|
|
124
|
-
this.log(`Average hunk size: ${averageHunkSize}, total characters: ${totalCharacters}`);
|
|
125
|
-
const MAX_CHARACTERS = 10000;
|
|
126
|
-
const average = MAX_CHARACTERS / averageHunkSize;
|
|
127
|
-
const PER_HUNK_LIMIT = Math.max(average, 2000);
|
|
128
|
-
parsed = parsed.filter((hunk) => {
|
|
129
|
-
return this.getLengthOfHunks([hunk]) <= PER_HUNK_LIMIT;
|
|
130
|
-
});
|
|
131
|
-
this.log(`Filtered to ${parsed.length} hunks. ${this.getLengthOfHunks(parsed)} characters`);
|
|
132
|
-
return parsed;
|
|
133
|
-
}
|
|
134
|
-
catch (error) {
|
|
135
|
-
this.log(`Error parsing diff for ${url}: ${error.message}`, "error");
|
|
136
|
-
return null;
|
|
137
|
-
}
|
|
138
|
-
}));
|
|
139
|
-
}
|
|
140
|
-
formatDiff(diff) {
|
|
141
|
-
return diff;
|
|
142
|
-
}
|
|
143
|
-
async call(userPrompt) {
|
|
144
|
-
const urls = this.extractUrls(userPrompt);
|
|
145
|
-
if (urls) {
|
|
146
|
-
try {
|
|
147
|
-
const prs = [];
|
|
148
|
-
for (const url of urls) {
|
|
149
|
-
const prResponse = await this.getPR(url);
|
|
150
|
-
if (!prResponse) {
|
|
151
|
-
this.log(`Skipping ${url} - could not fetch PR data`);
|
|
152
|
-
continue;
|
|
153
|
-
}
|
|
154
|
-
const { data: pr } = prResponse;
|
|
155
|
-
const responses = await this.getParsedDiffs([url]);
|
|
156
|
-
const diffStrings = responses
|
|
157
|
-
.filter(response => response !== null)
|
|
158
|
-
.map(patch_1.hunksToPatch);
|
|
159
|
-
prs.push({
|
|
160
|
-
description: pr.title,
|
|
161
|
-
url: pr.html_url,
|
|
162
|
-
body: pr.body,
|
|
163
|
-
author: pr.user.login,
|
|
164
|
-
diff: diffStrings,
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
if (prs.length === 0) {
|
|
168
|
-
return "Could not fetch any pull request data. Please check your GITHUB_TOKEN and permissions.";
|
|
169
|
-
}
|
|
170
|
-
const context = `These ${urls} have automatically been expanded to include the changes:\n\n${JSON.stringify(prs, null, 2)}`;
|
|
171
|
-
this.log(context);
|
|
172
|
-
return context;
|
|
173
|
-
}
|
|
174
|
-
catch (error) {
|
|
175
|
-
return `Error fetching pull request data: ${error.message}`;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
return "No pull request URLs detected.";
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
exports.GitHubPlugin = GitHubPlugin;
|
|
182
|
-
//# sourceMappingURL=github.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/plugins/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import JiraClient from "jira-client";
|
|
2
|
-
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
3
|
-
import { PluginContext } from "./types";
|
|
4
|
-
import { MinimalEmbedding } from "../types";
|
|
5
|
-
export declare class JiraPlugin extends PluginBase {
|
|
6
|
-
static readonly meta: PluginMeta;
|
|
7
|
-
meta: PluginMeta;
|
|
8
|
-
jiraClient: JiraClient;
|
|
9
|
-
constructor(context: PluginContext);
|
|
10
|
-
embed(userPrompt: string): Promise<MinimalEmbedding[]>;
|
|
11
|
-
getTasksFromUrls(urls: string[]): Promise<JiraClient.JsonResponse[]>;
|
|
12
|
-
getTaskFromUrl(url: string): Promise<JiraClient.JsonResponse>;
|
|
13
|
-
getIssueData(issueId: string): Promise<JiraClient.JsonResponse>;
|
|
14
|
-
extractUrls(userPrompt: string): string[];
|
|
15
|
-
extractIdFromUrl(url: string): string;
|
|
16
|
-
getTaskString(task: any): string;
|
|
17
|
-
call(userPrompt: string): Promise<string>;
|
|
18
|
-
}
|
|
@@ -1,104 +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.JiraPlugin = void 0;
|
|
7
|
-
const jira_client_1 = __importDefault(require("jira-client"));
|
|
8
|
-
const PluginBase_1 = require("./PluginBase");
|
|
9
|
-
class JiraPlugin extends PluginBase_1.PluginBase {
|
|
10
|
-
static meta = {
|
|
11
|
-
key: "jira",
|
|
12
|
-
name: "Jira Plugin",
|
|
13
|
-
requires: ["JIRA_HOST", "JIRA_USER", "JIRA_PASSWORD"]
|
|
14
|
-
};
|
|
15
|
-
meta = JiraPlugin.meta;
|
|
16
|
-
jiraClient;
|
|
17
|
-
constructor(context) {
|
|
18
|
-
super(context);
|
|
19
|
-
if (!this.isEnabled())
|
|
20
|
-
return;
|
|
21
|
-
this.jiraClient = new jira_client_1.default({
|
|
22
|
-
protocol: "https",
|
|
23
|
-
host: process.env.JIRA_HOST,
|
|
24
|
-
username: process.env.JIRA_USER,
|
|
25
|
-
password: process.env.JIRA_PASSWORD,
|
|
26
|
-
apiVersion: "2",
|
|
27
|
-
strictSSL: true,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
async embed(userPrompt) {
|
|
31
|
-
const urls = this.extractUrls(userPrompt);
|
|
32
|
-
const tasks = await this.getTasksFromUrls(urls);
|
|
33
|
-
const tasksFiltered = tasks.filter((task) => task !== null);
|
|
34
|
-
return tasksFiltered.map((task, index) => {
|
|
35
|
-
return {
|
|
36
|
-
id: urls[index],
|
|
37
|
-
text: JSON.stringify(task),
|
|
38
|
-
metadata: {},
|
|
39
|
-
};
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
async getTasksFromUrls(urls) {
|
|
43
|
-
const tasks = await Promise.all(urls.map(async (url) => {
|
|
44
|
-
return this.getTaskFromUrl(url);
|
|
45
|
-
}));
|
|
46
|
-
return tasks;
|
|
47
|
-
}
|
|
48
|
-
async getTaskFromUrl(url) {
|
|
49
|
-
const issueId = this.extractIdFromUrl(url);
|
|
50
|
-
if (issueId) {
|
|
51
|
-
this.log(`Fetching Jira issue ${issueId}`);
|
|
52
|
-
return await this.getIssueData(issueId);
|
|
53
|
-
}
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
async getIssueData(issueId) {
|
|
57
|
-
try {
|
|
58
|
-
const issue = await this.jiraClient.findIssue(issueId);
|
|
59
|
-
return issue;
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
this.log(`Error fetching Jira issue: ${error}`, "error");
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
extractUrls(userPrompt) {
|
|
67
|
-
const host = process.env.JIRA_HOST;
|
|
68
|
-
const regex = new RegExp(`https://${host}/browse/[A-Z]+-\\d+`, "g");
|
|
69
|
-
const matches = userPrompt.match(regex);
|
|
70
|
-
if (!matches) {
|
|
71
|
-
return [];
|
|
72
|
-
}
|
|
73
|
-
return matches;
|
|
74
|
-
}
|
|
75
|
-
extractIdFromUrl(url) {
|
|
76
|
-
const host = process.env.JIRA_HOST;
|
|
77
|
-
const regex = new RegExp(`https://${host}/browse/([A-Z]+-\\d+)`, "g");
|
|
78
|
-
const matches = regex.exec(url);
|
|
79
|
-
if (matches && matches[1]) {
|
|
80
|
-
return matches[1];
|
|
81
|
-
}
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
getTaskString(task) {
|
|
85
|
-
return `### Issue: ${task.key}\n- Summary: ${task.fields.summary}\n- URL: ${process.env.JIRA_HOST}/browse/${task.key} \n- Description: ${task.fields.description}`;
|
|
86
|
-
}
|
|
87
|
-
async call(userPrompt) {
|
|
88
|
-
const urls = this.extractUrls(userPrompt);
|
|
89
|
-
if (!urls) {
|
|
90
|
-
return "JIRA PLUGIN: No issues found";
|
|
91
|
-
}
|
|
92
|
-
const issuesData = await this.getTasksFromUrls(urls);
|
|
93
|
-
const issuesDataFiltered = issuesData.filter((issue) => issue !== null);
|
|
94
|
-
if (issuesDataFiltered.length === 0) {
|
|
95
|
-
return "JIRA PLUGIN: No issues found";
|
|
96
|
-
}
|
|
97
|
-
const markdownIssues = issuesDataFiltered
|
|
98
|
-
.map((issue) => this.getTaskString(issue))
|
|
99
|
-
.join("\n\n");
|
|
100
|
-
return `JIRA PLUGIN: The following issues were loaded:\n\n${markdownIssues}`;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
exports.JiraPlugin = JiraPlugin;
|
|
104
|
-
//# sourceMappingURL=jira.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jira.js","sourceRoot":"","sources":["../../../src/plugins/jira.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { LinearClient } from "@linear/sdk";
|
|
2
|
-
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
3
|
-
import { PluginContext } from "./types";
|
|
4
|
-
import { MinimalEmbedding } from "../types";
|
|
5
|
-
export declare class LinearPlugin extends PluginBase {
|
|
6
|
-
static readonly meta: PluginMeta;
|
|
7
|
-
meta: PluginMeta;
|
|
8
|
-
linearClient: LinearClient;
|
|
9
|
-
constructor(context: PluginContext);
|
|
10
|
-
embed(userPrompt: string): Promise<MinimalEmbedding[]>;
|
|
11
|
-
getIssueData(issueId: string): Promise<import("@linear/sdk").Issue>;
|
|
12
|
-
getTaskFromUrl(url: string): Promise<import("@linear/sdk").Issue>;
|
|
13
|
-
getTasksFromUrls(urls: string[]): Promise<import("@linear/sdk").Issue[]>;
|
|
14
|
-
extractTeamUrls(userPrompt: string): string[];
|
|
15
|
-
getTeamIdFromUrl(url: string): string;
|
|
16
|
-
extractProjectUrls(userPrompt: string): string[];
|
|
17
|
-
getProjectIdFromUrl(url: string): string;
|
|
18
|
-
getTasksForProject(projectId: string): Promise<import("@linear/sdk").Issue[]>;
|
|
19
|
-
getTasksFromProjectUrls(urls: string[]): Promise<import("@linear/sdk").Issue[]>;
|
|
20
|
-
getTasksForTeam(teamId: string): Promise<import("@linear/sdk").Issue[]>;
|
|
21
|
-
getTasksFromTeamUrls(urls: string[]): Promise<import("@linear/sdk").Issue[]>;
|
|
22
|
-
extractTaskUrls(userPrompt: string): string[];
|
|
23
|
-
getIdFromUrl(url: string): string;
|
|
24
|
-
getTaskString(task: any): string;
|
|
25
|
-
call(userPrompt: string): Promise<string>;
|
|
26
|
-
}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LinearPlugin = void 0;
|
|
4
|
-
const sdk_1 = require("@linear/sdk");
|
|
5
|
-
const PluginBase_1 = require("./PluginBase");
|
|
6
|
-
class LinearPlugin extends PluginBase_1.PluginBase {
|
|
7
|
-
static meta = {
|
|
8
|
-
key: "linear",
|
|
9
|
-
name: "Linear Plugin",
|
|
10
|
-
requires: ["LINEAR_API_KEY"],
|
|
11
|
-
};
|
|
12
|
-
meta = LinearPlugin.meta;
|
|
13
|
-
linearClient;
|
|
14
|
-
constructor(context) {
|
|
15
|
-
super(context);
|
|
16
|
-
if (!this.isEnabled())
|
|
17
|
-
return;
|
|
18
|
-
this.linearClient = new sdk_1.LinearClient({
|
|
19
|
-
apiKey: process.env.LINEAR_API_KEY,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
async embed(userPrompt) {
|
|
23
|
-
const urls = this.extractTaskUrls(userPrompt);
|
|
24
|
-
const tasksData = await this.getTasksFromUrls(urls);
|
|
25
|
-
const tasksDataFiltered = tasksData.filter((task) => task !== null);
|
|
26
|
-
const tasksEmbeddings = tasksDataFiltered.map((task) => {
|
|
27
|
-
return {
|
|
28
|
-
id: task.url,
|
|
29
|
-
text: this.getTaskString(task),
|
|
30
|
-
metadata: {
|
|
31
|
-
task: JSON.stringify(task),
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
});
|
|
35
|
-
const projectUrls = this.extractProjectUrls(userPrompt);
|
|
36
|
-
const projectTasks = await this.getTasksFromProjectUrls(projectUrls);
|
|
37
|
-
const projectTasksFiltered = projectTasks.filter((t) => t !== null);
|
|
38
|
-
const projectTaskEmbeddings = projectTasksFiltered
|
|
39
|
-
.map((t) => {
|
|
40
|
-
return {
|
|
41
|
-
id: t.url,
|
|
42
|
-
text: this.getTaskString(t),
|
|
43
|
-
metadata: {
|
|
44
|
-
task: JSON.stringify(t),
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
|
-
})
|
|
48
|
-
.flat();
|
|
49
|
-
const teamUrls = this.extractTeamUrls(userPrompt);
|
|
50
|
-
const teamTasks = await this.getTasksFromTeamUrls(teamUrls);
|
|
51
|
-
const teamTasksFiltered = teamTasks.filter((t) => t !== null);
|
|
52
|
-
const teamTaskEmbeddings = teamTasksFiltered
|
|
53
|
-
.map((t) => {
|
|
54
|
-
return {
|
|
55
|
-
id: t.url,
|
|
56
|
-
text: this.getTaskString(t),
|
|
57
|
-
metadata: {
|
|
58
|
-
task: JSON.stringify(t),
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
})
|
|
62
|
-
.flat();
|
|
63
|
-
return tasksEmbeddings
|
|
64
|
-
.concat(projectTaskEmbeddings)
|
|
65
|
-
.concat(teamTaskEmbeddings);
|
|
66
|
-
}
|
|
67
|
-
async getIssueData(issueId) {
|
|
68
|
-
try {
|
|
69
|
-
const issue = await this.linearClient.issue(issueId);
|
|
70
|
-
return issue;
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
this.log(`Error fetching Linear issue: ${error}`, "error");
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
async getTaskFromUrl(url) {
|
|
78
|
-
const issueId = this.getIdFromUrl(url);
|
|
79
|
-
if (issueId) {
|
|
80
|
-
this.log(`Fetching Linear issue ${issueId}`);
|
|
81
|
-
return await this.getIssueData(issueId);
|
|
82
|
-
}
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
async getTasksFromUrls(urls) {
|
|
86
|
-
const tasks = await Promise.all(urls.map(async (url) => {
|
|
87
|
-
return this.getTaskFromUrl(url);
|
|
88
|
-
}));
|
|
89
|
-
return tasks;
|
|
90
|
-
}
|
|
91
|
-
extractTeamUrls(userPrompt) {
|
|
92
|
-
const urlRegex = /https:\/\/linear\.app\/[^\/]+\/team\/[^\/]+\/[^\/]+/g;
|
|
93
|
-
const matches = userPrompt.match(urlRegex);
|
|
94
|
-
return matches || [];
|
|
95
|
-
}
|
|
96
|
-
getTeamIdFromUrl(url) {
|
|
97
|
-
const urlRegex = /https:\/\/linear\.app\/[^\/]+\/team\/([^\/]+)\/[^\/]+/g;
|
|
98
|
-
const match = urlRegex.exec(url);
|
|
99
|
-
if (match && match[1]) {
|
|
100
|
-
return match[1];
|
|
101
|
-
}
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
extractProjectUrls(userPrompt) {
|
|
105
|
-
const urlRegex = /https:\/\/linear\.app\/[^\/]+\/project\/[^\/]+\/[^\/]+/g;
|
|
106
|
-
const matches = userPrompt.match(urlRegex);
|
|
107
|
-
return matches || [];
|
|
108
|
-
}
|
|
109
|
-
getProjectIdFromUrl(url) {
|
|
110
|
-
const urlRegex = /https:\/\/linear\.app\/[^\/]+\/project\/([^\/]+)\/[^\/]+/g;
|
|
111
|
-
const match = urlRegex.exec(url);
|
|
112
|
-
if (match && match[1]) {
|
|
113
|
-
const parts = match[1].split("-");
|
|
114
|
-
return parts[parts.length - 1];
|
|
115
|
-
}
|
|
116
|
-
return null;
|
|
117
|
-
}
|
|
118
|
-
async getTasksForProject(projectId) {
|
|
119
|
-
this.log(`Project ID: ${projectId}`);
|
|
120
|
-
let tasks = await this.linearClient.issues({
|
|
121
|
-
filter: {
|
|
122
|
-
project: { slugId: { eq: projectId } },
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
let allTasks = tasks.nodes;
|
|
126
|
-
while (tasks.pageInfo.hasNextPage) {
|
|
127
|
-
tasks = await tasks.fetchNext();
|
|
128
|
-
allTasks = allTasks.concat(tasks.nodes);
|
|
129
|
-
}
|
|
130
|
-
return allTasks;
|
|
131
|
-
}
|
|
132
|
-
async getTasksFromProjectUrls(urls) {
|
|
133
|
-
const tasks = await Promise.all(urls.map(async (url) => {
|
|
134
|
-
return this.getTasksForProject(this.getProjectIdFromUrl(url));
|
|
135
|
-
}));
|
|
136
|
-
return tasks.flat();
|
|
137
|
-
}
|
|
138
|
-
async getTasksForTeam(teamId) {
|
|
139
|
-
this.log(`Team ID: ${teamId}`);
|
|
140
|
-
let tasks = await this.linearClient.issues({
|
|
141
|
-
filter: {
|
|
142
|
-
team: { key: { eq: teamId } },
|
|
143
|
-
},
|
|
144
|
-
});
|
|
145
|
-
let allTasks = tasks.nodes;
|
|
146
|
-
while (tasks.pageInfo.hasNextPage) {
|
|
147
|
-
tasks = await tasks.fetchNext();
|
|
148
|
-
allTasks = allTasks.concat(tasks.nodes);
|
|
149
|
-
}
|
|
150
|
-
return allTasks;
|
|
151
|
-
}
|
|
152
|
-
async getTasksFromTeamUrls(urls) {
|
|
153
|
-
const tasks = await Promise.all(urls.map(async (url) => {
|
|
154
|
-
return this.getTasksForTeam(this.getTeamIdFromUrl(url));
|
|
155
|
-
}));
|
|
156
|
-
return tasks.flat();
|
|
157
|
-
}
|
|
158
|
-
extractTaskUrls(userPrompt) {
|
|
159
|
-
const urlRegex = /https:\/\/linear\.app\/[^\/]+\/issue\/[^\/]+\/[^\/]+/g;
|
|
160
|
-
const matches = userPrompt.match(urlRegex);
|
|
161
|
-
if (!matches) {
|
|
162
|
-
return [];
|
|
163
|
-
}
|
|
164
|
-
return matches;
|
|
165
|
-
}
|
|
166
|
-
getIdFromUrl(url) {
|
|
167
|
-
const urlRegex = /https:\/\/linear\.app\/[^\/]+\/issue\/([^\/]+)\/[^\/]+/g;
|
|
168
|
-
const match = urlRegex.exec(url);
|
|
169
|
-
if (match && match[1]) {
|
|
170
|
-
return match[1];
|
|
171
|
-
}
|
|
172
|
-
return null;
|
|
173
|
-
}
|
|
174
|
-
getTaskString(task) {
|
|
175
|
-
return `Issue: ${task.identifier}\nTitle: ${task.title}\nURL: ${task.url} \nDescription: ${task.description}`;
|
|
176
|
-
}
|
|
177
|
-
async call(userPrompt) {
|
|
178
|
-
const urls = this.extractTaskUrls(userPrompt);
|
|
179
|
-
if (!urls) {
|
|
180
|
-
return "LINEAR PLUGIN: No issues found";
|
|
181
|
-
}
|
|
182
|
-
const issuesData = await this.getTasksFromUrls(urls);
|
|
183
|
-
const issuesDataFiltered = issuesData.filter((issue) => issue !== null);
|
|
184
|
-
if (issuesDataFiltered.length === 0) {
|
|
185
|
-
return "LINEAR PLUGIN: No issues found";
|
|
186
|
-
}
|
|
187
|
-
const markdownIssues = issuesDataFiltered
|
|
188
|
-
.map((issue) => this.getTaskString(issue))
|
|
189
|
-
.join("\n\n");
|
|
190
|
-
return `LINEAR PLUGIN: The following issues were loaded:\n\n${markdownIssues}`;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
exports.LinearPlugin = LinearPlugin;
|
|
194
|
-
//# sourceMappingURL=linear.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/plugins/linear.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Client } from "@notionhq/client";
|
|
2
|
-
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
3
|
-
import { PluginContext } from "./types";
|
|
4
|
-
import { PageObjectResponse } from "@notionhq/client/build/src/api-endpoints";
|
|
5
|
-
import { MinimalEmbedding } from "../types";
|
|
6
|
-
export declare class NotionPlugin extends PluginBase {
|
|
7
|
-
static readonly meta: PluginMeta;
|
|
8
|
-
meta: PluginMeta;
|
|
9
|
-
notionClient: Client;
|
|
10
|
-
constructor(context: PluginContext);
|
|
11
|
-
extractUrls(userPrompt: string): string[];
|
|
12
|
-
getIdFromUrl(url: string): string;
|
|
13
|
-
findKeyInObject<T>(obj: T, searchKey?: string): any;
|
|
14
|
-
getAllChildBlocks(pageId: string, maxDepth?: number, currentDepth?: number, processed?: {}): Promise<import("@notionhq/client/build/src/api-endpoints").ListBlockChildrenResponse | {
|
|
15
|
-
results: any[];
|
|
16
|
-
}>;
|
|
17
|
-
embed(user_input: string): Promise<MinimalEmbedding<any>[]>;
|
|
18
|
-
getPageEmbedding(page: PageObjectResponse): Promise<{
|
|
19
|
-
id: string;
|
|
20
|
-
content: string;
|
|
21
|
-
}>;
|
|
22
|
-
getPageFromUrl(url: string): Promise<{
|
|
23
|
-
page: import("@notionhq/client/build/src/api-endpoints").GetPageResponse;
|
|
24
|
-
blocks: import("@notionhq/client/build/src/api-endpoints").ListBlockChildrenResponse | {
|
|
25
|
-
results: any[];
|
|
26
|
-
};
|
|
27
|
-
}>;
|
|
28
|
-
getPagesFromUrls(urls: string[]): Promise<{
|
|
29
|
-
page: import("@notionhq/client/build/src/api-endpoints").GetPageResponse;
|
|
30
|
-
blocks: import("@notionhq/client/build/src/api-endpoints").ListBlockChildrenResponse | {
|
|
31
|
-
results: any[];
|
|
32
|
-
};
|
|
33
|
-
}[]>;
|
|
34
|
-
call(userPrompt: string): Promise<string>;
|
|
35
|
-
}
|