@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.
Files changed (264) hide show
  1. package/package.json +3 -2
  2. package/ts_build/package.json +3 -2
  3. package/ts_build/src/cli.js +0 -0
  4. package/ts_build/src/agents/tools/asana/definitions.d.ts +0 -202
  5. package/ts_build/src/agents/tools/asana/definitions.js +0 -197
  6. package/ts_build/src/agents/tools/asana/definitions.js.map +0 -1
  7. package/ts_build/src/agents/tools/asana/index.d.ts +0 -8
  8. package/ts_build/src/agents/tools/asana/index.js +0 -98
  9. package/ts_build/src/agents/tools/asana/index.js.map +0 -1
  10. package/ts_build/src/agents/tools/ast/astAppendNode.d.ts +0 -1
  11. package/ts_build/src/agents/tools/ast/astAppendNode.js +0 -8
  12. package/ts_build/src/agents/tools/ast/astAppendNode.js.map +0 -1
  13. package/ts_build/src/agents/tools/ast/astDeleteNode.d.ts +0 -1
  14. package/ts_build/src/agents/tools/ast/astDeleteNode.js +0 -8
  15. package/ts_build/src/agents/tools/ast/astDeleteNode.js.map +0 -1
  16. package/ts_build/src/agents/tools/ast/astEditNode.d.ts +0 -1
  17. package/ts_build/src/agents/tools/ast/astEditNode.js +0 -8
  18. package/ts_build/src/agents/tools/ast/astEditNode.js.map +0 -1
  19. package/ts_build/src/agents/tools/ast/astGetPathForLine.d.ts +0 -1
  20. package/ts_build/src/agents/tools/ast/astGetPathForLine.js +0 -8
  21. package/ts_build/src/agents/tools/ast/astGetPathForLine.js.map +0 -1
  22. package/ts_build/src/agents/tools/ast/astListPaths.d.ts +0 -1
  23. package/ts_build/src/agents/tools/ast/astListPaths.js +0 -8
  24. package/ts_build/src/agents/tools/ast/astListPaths.js.map +0 -1
  25. package/ts_build/src/agents/tools/ast/index.d.ts +0 -5
  26. package/ts_build/src/agents/tools/ast/index.js +0 -14
  27. package/ts_build/src/agents/tools/ast/index.js.map +0 -1
  28. package/ts_build/src/agents/tools/astAppendNode.d.ts +0 -1
  29. package/ts_build/src/agents/tools/astAppendNode.js +0 -98
  30. package/ts_build/src/agents/tools/astAppendNode.js.map +0 -1
  31. package/ts_build/src/agents/tools/astDeleteNode.d.ts +0 -1
  32. package/ts_build/src/agents/tools/astDeleteNode.js +0 -95
  33. package/ts_build/src/agents/tools/astDeleteNode.js.map +0 -1
  34. package/ts_build/src/agents/tools/astEditNode.d.ts +0 -1
  35. package/ts_build/src/agents/tools/astEditNode.js +0 -98
  36. package/ts_build/src/agents/tools/astEditNode.js.map +0 -1
  37. package/ts_build/src/agents/tools/astGetPathForLine.d.ts +0 -1
  38. package/ts_build/src/agents/tools/astGetPathForLine.js +0 -89
  39. package/ts_build/src/agents/tools/astGetPathForLine.js.map +0 -1
  40. package/ts_build/src/agents/tools/astListPaths.d.ts +0 -1
  41. package/ts_build/src/agents/tools/astListPaths.js +0 -82
  42. package/ts_build/src/agents/tools/astListPaths.js.map +0 -1
  43. package/ts_build/src/agents/tools/github/definitions.d.ts +0 -47
  44. package/ts_build/src/agents/tools/github/definitions.js +0 -86
  45. package/ts_build/src/agents/tools/github/definitions.js.map +0 -1
  46. package/ts_build/src/agents/tools/github/index.d.ts +0 -789
  47. package/ts_build/src/agents/tools/github/index.js +0 -56
  48. package/ts_build/src/agents/tools/github/index.js.map +0 -1
  49. package/ts_build/src/agents/tools/startChatTask.d.ts +0 -13
  50. package/ts_build/src/agents/tools/startChatTask.js +0 -73
  51. package/ts_build/src/agents/tools/startChatTask.js.map +0 -1
  52. package/ts_build/src/agents/vim/vim.d.ts +0 -13
  53. package/ts_build/src/agents/vim/vim.js +0 -170
  54. package/ts_build/src/agents/vim/vim.js.map +0 -1
  55. package/ts_build/src/chat/ChatCommandHandler.d.ts +0 -36
  56. package/ts_build/src/chat/ChatCommandHandler.js +0 -268
  57. package/ts_build/src/chat/ChatCommandHandler.js.map +0 -1
  58. package/ts_build/src/chat/ChatInputManager.d.ts +0 -22
  59. package/ts_build/src/chat/ChatInputManager.js +0 -85
  60. package/ts_build/src/chat/ChatInputManager.js.map +0 -1
  61. package/ts_build/src/chat/ChatManager.d.ts +0 -49
  62. package/ts_build/src/chat/ChatManager.js +0 -271
  63. package/ts_build/src/chat/ChatManager.js.map +0 -1
  64. package/ts_build/src/chat/ChatSession.d.ts +0 -32
  65. package/ts_build/src/chat/ChatSession.js +0 -3
  66. package/ts_build/src/chat/ChatSession.js.map +0 -1
  67. package/ts_build/src/chat/ChatSessionManager.d.ts +0 -19
  68. package/ts_build/src/chat/ChatSessionManager.js +0 -188
  69. package/ts_build/src/chat/ChatSessionManager.js.map +0 -1
  70. package/ts_build/src/chat/ChatStateManager.d.ts +0 -58
  71. package/ts_build/src/chat/ChatStateManager.js +0 -156
  72. package/ts_build/src/chat/ChatStateManager.js.map +0 -1
  73. package/ts_build/src/chat/InterruptibleInput.d.ts +0 -20
  74. package/ts_build/src/chat/InterruptibleInput.js +0 -109
  75. package/ts_build/src/chat/InterruptibleInput.js.map +0 -1
  76. package/ts_build/src/chat/interfaces/ChatModule.d.ts +0 -6
  77. package/ts_build/src/chat/interfaces/ChatModule.js +0 -3
  78. package/ts_build/src/chat/interfaces/ChatModule.js.map +0 -1
  79. package/ts_build/src/chat-old.d.ts +0 -13
  80. package/ts_build/src/chat-old.js +0 -340
  81. package/ts_build/src/chat-old.js.map +0 -1
  82. package/ts_build/src/chat2.d.ts +0 -3
  83. package/ts_build/src/chat2.js +0 -47
  84. package/ts_build/src/chat2.js.map +0 -1
  85. package/ts_build/src/dockerWorker.d.ts +0 -22
  86. package/ts_build/src/dockerWorker.js +0 -210
  87. package/ts_build/src/dockerWorker.js.map +0 -1
  88. package/ts_build/src/plugins/asana.d.ts +0 -19
  89. package/ts_build/src/plugins/asana.js +0 -124
  90. package/ts_build/src/plugins/asana.js.map +0 -1
  91. package/ts_build/src/plugins/downloader/downloader.d.ts +0 -26
  92. package/ts_build/src/plugins/downloader/downloader.js +0 -324
  93. package/ts_build/src/plugins/downloader/downloader.js.map +0 -1
  94. package/ts_build/src/plugins/downloader/plugin.d.ts +0 -12
  95. package/ts_build/src/plugins/downloader/plugin.js +0 -98
  96. package/ts_build/src/plugins/downloader/plugin.js.map +0 -1
  97. package/ts_build/src/plugins/downloader/types.d.ts +0 -88
  98. package/ts_build/src/plugins/downloader/types.js +0 -79
  99. package/ts_build/src/plugins/downloader/types.js.map +0 -1
  100. package/ts_build/src/plugins/figma.d.ts +0 -25
  101. package/ts_build/src/plugins/figma.js +0 -134
  102. package/ts_build/src/plugins/figma.js.map +0 -1
  103. package/ts_build/src/plugins/github.d.ts +0 -1227
  104. package/ts_build/src/plugins/github.js +0 -182
  105. package/ts_build/src/plugins/github.js.map +0 -1
  106. package/ts_build/src/plugins/jira.d.ts +0 -18
  107. package/ts_build/src/plugins/jira.js +0 -104
  108. package/ts_build/src/plugins/jira.js.map +0 -1
  109. package/ts_build/src/plugins/linear.d.ts +0 -26
  110. package/ts_build/src/plugins/linear.js +0 -194
  111. package/ts_build/src/plugins/linear.js.map +0 -1
  112. package/ts_build/src/plugins/notion.d.ts +0 -35
  113. package/ts_build/src/plugins/notion.js +0 -141
  114. package/ts_build/src/plugins/notion.js.map +0 -1
  115. package/ts_build/src/plugins/tree-sitter/editor.d.ts +0 -5
  116. package/ts_build/src/plugins/tree-sitter/editor.js +0 -16
  117. package/ts_build/src/plugins/tree-sitter/editor.js.map +0 -1
  118. package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.d.ts +0 -29
  119. package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.js +0 -538
  120. package/ts_build/src/plugins/tree-sitter/human-readable-paths-new.js.map +0 -1
  121. package/ts_build/src/plugins/tree-sitter/human-readable-paths.d.ts +0 -22
  122. package/ts_build/src/plugins/tree-sitter/human-readable-paths.js +0 -332
  123. package/ts_build/src/plugins/tree-sitter/human-readable-paths.js.map +0 -1
  124. package/ts_build/src/plugins/tree-sitter/lang-packs/index.d.ts +0 -8
  125. package/ts_build/src/plugins/tree-sitter/lang-packs/index.js +0 -26
  126. package/ts_build/src/plugins/tree-sitter/lang-packs/index.js.map +0 -1
  127. package/ts_build/src/plugins/tree-sitter/lang-packs/java.d.ts +0 -2
  128. package/ts_build/src/plugins/tree-sitter/lang-packs/java.js +0 -61
  129. package/ts_build/src/plugins/tree-sitter/lang-packs/java.js.map +0 -1
  130. package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.d.ts +0 -2
  131. package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.js +0 -59
  132. package/ts_build/src/plugins/tree-sitter/lang-packs/javascript.js.map +0 -1
  133. package/ts_build/src/plugins/tree-sitter/lang-packs/python.d.ts +0 -2
  134. package/ts_build/src/plugins/tree-sitter/lang-packs/python.js +0 -47
  135. package/ts_build/src/plugins/tree-sitter/lang-packs/python.js.map +0 -1
  136. package/ts_build/src/plugins/tree-sitter/lang-packs/types.d.ts +0 -43
  137. package/ts_build/src/plugins/tree-sitter/lang-packs/types.js +0 -3
  138. package/ts_build/src/plugins/tree-sitter/lang-packs/types.js.map +0 -1
  139. package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.d.ts +0 -2
  140. package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.js +0 -50
  141. package/ts_build/src/plugins/tree-sitter/lang-packs/typescript.js.map +0 -1
  142. package/ts_build/src/plugins/tree-sitter/parser.d.ts +0 -40
  143. package/ts_build/src/plugins/tree-sitter/parser.js +0 -36
  144. package/ts_build/src/plugins/tree-sitter/parser.js.map +0 -1
  145. package/ts_build/src/plugins/tree-sitter/simple-paths.d.ts +0 -9
  146. package/ts_build/src/plugins/tree-sitter/simple-paths.js +0 -10
  147. package/ts_build/src/plugins/tree-sitter/simple-paths.js.map +0 -1
  148. package/ts_build/src/services/AgentSynchronization.d.ts +0 -29
  149. package/ts_build/src/services/AgentSynchronization.js +0 -178
  150. package/ts_build/src/services/AgentSynchronization.js.map +0 -1
  151. package/ts_build/src/services/GitHub.d.ts +0 -10
  152. package/ts_build/src/services/GitHub.js +0 -51
  153. package/ts_build/src/services/GitHub.js.map +0 -1
  154. package/ts_build/src/utils/PersistentInputManager.d.ts +0 -28
  155. package/ts_build/src/utils/PersistentInputManager.js +0 -293
  156. package/ts_build/src/utils/PersistentInputManager.js.map +0 -1
  157. package/ts_build/src/worker/handlers/proxyHandler.d.ts +0 -2
  158. package/ts_build/src/worker/handlers/proxyHandler.js +0 -41
  159. package/ts_build/src/worker/handlers/proxyHandler.js.map +0 -1
  160. package/ts_build/src/worker/tools/index.d.ts +0 -1
  161. package/ts_build/src/worker/tools/index.js +0 -18
  162. package/ts_build/src/worker/tools/index.js.map +0 -1
  163. package/ts_build/src/worker/tools/portForwarding.d.ts +0 -49
  164. package/ts_build/src/worker/tools/portForwarding.js +0 -173
  165. package/ts_build/src/worker/tools/portForwarding.js.map +0 -1
  166. package/ts_build/src/worker/types/proxy.d.ts +0 -18
  167. package/ts_build/src/worker/types/proxy.js +0 -3
  168. package/ts_build/src/worker/types/proxy.js.map +0 -1
  169. package/ts_build/src/worker-entrypoint.d.ts +0 -2
  170. package/ts_build/src/worker-entrypoint.js +0 -39
  171. package/ts_build/src/worker-entrypoint.js.map +0 -1
  172. package/ts_build/src/workerSync.d.ts +0 -8
  173. package/ts_build/src/workerSync.js +0 -120
  174. package/ts_build/src/workerSync.js.map +0 -1
  175. package/ts_build/src/workers/tools/listForwardedPorts.d.ts +0 -10
  176. package/ts_build/src/workers/tools/listForwardedPorts.js +0 -22
  177. package/ts_build/src/workers/tools/listForwardedPorts.js.map +0 -1
  178. package/ts_build/tests/integration/figma.test.d.ts +0 -1
  179. package/ts_build/tests/integration/figma.test.js +0 -47
  180. package/ts_build/tests/integration/figma.test.js.map +0 -1
  181. package/ts_build/tests/integration/fileblocks/readwrite.test.d.ts +0 -1
  182. package/ts_build/tests/integration/fileblocks/readwrite.test.js +0 -96
  183. package/ts_build/tests/integration/fileblocks/readwrite.test.js.map +0 -1
  184. package/ts_build/tests/integration/patching.test.d.ts +0 -1
  185. package/ts_build/tests/integration/patching.test.js +0 -116
  186. package/ts_build/tests/integration/patching.test.js.map +0 -1
  187. package/ts_build/tests/languagePlugin.test.d.ts +0 -1
  188. package/ts_build/tests/languagePlugin.test.js +0 -284
  189. package/ts_build/tests/languagePlugin.test.js.map +0 -1
  190. package/ts_build/tests/manual/agent-events/event-handler-reliability.test.d.ts +0 -1
  191. package/ts_build/tests/manual/agent-events/event-handler-reliability.test.js +0 -315
  192. package/ts_build/tests/manual/agent-events/event-handler-reliability.test.js.map +0 -1
  193. package/ts_build/tests/manual/persistent-input-test.d.ts +0 -1
  194. package/ts_build/tests/manual/persistent-input-test.js +0 -35
  195. package/ts_build/tests/manual/persistent-input-test.js.map +0 -1
  196. package/ts_build/tests/services/Plugins/plugin-event-integration.test.d.ts +0 -1
  197. package/ts_build/tests/services/Plugins/plugin-event-integration.test.js +0 -232
  198. package/ts_build/tests/services/Plugins/plugin-event-integration.test.js.map +0 -1
  199. package/ts_build/tests/tree-sitter/editor.test.d.ts +0 -1
  200. package/ts_build/tests/tree-sitter/editor.test.js +0 -85
  201. package/ts_build/tests/tree-sitter/editor.test.js.map +0 -1
  202. package/ts_build/tests/tree-sitter/invalid.test.d.ts +0 -1
  203. package/ts_build/tests/tree-sitter/invalid.test.js +0 -198
  204. package/ts_build/tests/tree-sitter/invalid.test.js.map +0 -1
  205. package/ts_build/tests/tree-sitter/paths/common-edits.test.d.ts +0 -1
  206. package/ts_build/tests/tree-sitter/paths/common-edits.test.js +0 -347
  207. package/ts_build/tests/tree-sitter/paths/common-edits.test.js.map +0 -1
  208. package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.d.ts +0 -1
  209. package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.js +0 -35
  210. package/ts_build/tests/tree-sitter/paths/debug-exact-position.test.js.map +0 -1
  211. package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.d.ts +0 -1
  212. package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.js +0 -38
  213. package/ts_build/tests/tree-sitter/paths/debug-line-indexing.test.js.map +0 -1
  214. package/ts_build/tests/tree-sitter/paths/debug-paths.test.d.ts +0 -1
  215. package/ts_build/tests/tree-sitter/paths/debug-paths.test.js +0 -74
  216. package/ts_build/tests/tree-sitter/paths/debug-paths.test.js.map +0 -1
  217. package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.d.ts +0 -1
  218. package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.js +0 -302
  219. package/ts_build/tests/tree-sitter/paths/human-readable-paths.test.js.map +0 -1
  220. package/ts_build/tests/tree-sitter/paths/paths.test.d.ts +0 -1
  221. package/ts_build/tests/tree-sitter/paths/paths.test.js +0 -116
  222. package/ts_build/tests/tree-sitter/paths/paths.test.js.map +0 -1
  223. package/ts_build/tests/tree-sitter/paths/simple-paths.test.d.ts +0 -1
  224. package/ts_build/tests/tree-sitter/paths/simple-paths.test.js +0 -302
  225. package/ts_build/tests/tree-sitter/paths/simple-paths.test.js.map +0 -1
  226. package/ts_build/tests/tree-sitter/sample-after.d.ts +0 -11
  227. package/ts_build/tests/tree-sitter/sample-after.js +0 -44
  228. package/ts_build/tests/tree-sitter/sample-after.js.map +0 -1
  229. package/ts_build/tests/tree-sitter/sample-before.d.ts +0 -9
  230. package/ts_build/tests/tree-sitter/sample-before.js +0 -28
  231. package/ts_build/tests/tree-sitter/sample-before.js.map +0 -1
  232. package/ts_build/tests/tree-sitter/test-files/completely-broken.d.ts +0 -2
  233. package/ts_build/tests/tree-sitter/test-files/completely-broken.js +0 -17
  234. package/ts_build/tests/tree-sitter/test-files/completely-broken.js.map +0 -1
  235. package/ts_build/tests/tree-sitter/test-files/duplicate-braces.d.ts +0 -8
  236. package/ts_build/tests/tree-sitter/test-files/duplicate-braces.js +0 -38
  237. package/ts_build/tests/tree-sitter/test-files/duplicate-braces.js.map +0 -1
  238. package/ts_build/tests/tree-sitter/test-files/invalid-nesting.d.ts +0 -8
  239. package/ts_build/tests/tree-sitter/test-files/invalid-nesting.js +0 -38
  240. package/ts_build/tests/tree-sitter/test-files/invalid-nesting.js.map +0 -1
  241. package/ts_build/tests/tree-sitter/test-files/malformed-signature.d.ts +0 -8
  242. package/ts_build/tests/tree-sitter/test-files/malformed-signature.js +0 -38
  243. package/ts_build/tests/tree-sitter/test-files/malformed-signature.js.map +0 -1
  244. package/ts_build/tests/tree-sitter/test-files/mismatched-parens.d.ts +0 -10
  245. package/ts_build/tests/tree-sitter/test-files/mismatched-parens.js +0 -38
  246. package/ts_build/tests/tree-sitter/test-files/mismatched-parens.js.map +0 -1
  247. package/ts_build/tests/tree-sitter/test-files/missing-semicolon.d.ts +0 -8
  248. package/ts_build/tests/tree-sitter/test-files/missing-semicolon.js +0 -38
  249. package/ts_build/tests/tree-sitter/test-files/missing-semicolon.js.map +0 -1
  250. package/ts_build/tests/tree-sitter/test-files/partially-broken.d.ts +0 -6
  251. package/ts_build/tests/tree-sitter/test-files/partially-broken.js +0 -20
  252. package/ts_build/tests/tree-sitter/test-files/partially-broken.js.map +0 -1
  253. package/ts_build/tests/tree-sitter/test-files/specific-errors.d.ts +0 -7
  254. package/ts_build/tests/tree-sitter/test-files/specific-errors.js +0 -14
  255. package/ts_build/tests/tree-sitter/test-files/specific-errors.js.map +0 -1
  256. package/ts_build/tests/tree-sitter/test-files/unclosed-string.d.ts +0 -8
  257. package/ts_build/tests/tree-sitter/test-files/unclosed-string.js +0 -38
  258. package/ts_build/tests/tree-sitter/test-files/unclosed-string.js.map +0 -1
  259. package/ts_build/tests/tree-sitter/tree-sitter.test.d.ts +0 -0
  260. package/ts_build/tests/tree-sitter/tree-sitter.test.js +0 -4
  261. package/ts_build/tests/tree-sitter/tree-sitter.test.js.map +0 -1
  262. package/ts_build/tests/worker/handlers/proxyHandler.test.d.ts +0 -1
  263. package/ts_build/tests/worker/handlers/proxyHandler.test.js +0 -170
  264. 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":";;;;;;AAAA,8DAAqC;AACrC,6CAAsD;AAItD,MAAa,UAAW,SAAQ,uBAAU;IACxC,MAAM,CAAU,IAAI,GAAe;QACjC,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;KACtD,CAAC;IAEF,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IACvB,UAAU,CAAa;IAEvB,YAAY,OAAsB;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAU,CAAC;YAC/B,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;YAC3B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;YAC/B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;YACnC,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAkB;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAE5D,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvC,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAc;QACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACrB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAW;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;YAC3C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,8BAA8B,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAGD,WAAW,CAAC,UAAkB;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,IAAI,qBAAqB,EAAE,GAAG,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,EAAE,CAAC;SACX;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB,CAAC,GAAW;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,IAAI,uBAAuB,EAAE,GAAG,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;SACnB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,IAAS;QACrB,OAAO,cAAc,IAAI,CAAC,GAAG,gBAAgB,IAAI,CAAC,MAAM,CAAC,OAAO,YAAY,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,IAAI,CAAC,GAAG,qBAAqB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACrK,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAkB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,8BAA8B,CAAC;SACvC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QAExE,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,OAAO,8BAA8B,CAAC;SACvC;QAED,MAAM,cAAc,GAAG,kBAAkB;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACzC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,OAAO,qDAAqD,cAAc,EAAE,CAAC;IAC/E,CAAC;;AA5GH,gCA6GC"}
@@ -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
- }