@tyvm/knowhow 0.0.69 → 0.0.71

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 (214) hide show
  1. package/docs/shell-commands.md +174 -0
  2. package/package.json +1 -1
  3. package/src/agents/base/base.ts +4 -5
  4. package/src/agents/developer/developer.ts +21 -13
  5. package/src/agents/tools/agentCall.ts +4 -2
  6. package/src/agents/tools/fileSearch.ts +5 -1
  7. package/src/agents/tools/startAgentTask.ts +131 -22
  8. package/src/agents/tools/stringReplace.ts +42 -12
  9. package/src/chat/CliChatService.ts +57 -11
  10. package/src/chat/modules/AgentModule.ts +72 -12
  11. package/src/chat/modules/CustomCommandsModule.ts +79 -0
  12. package/src/chat/modules/InternalChatModule.ts +11 -1
  13. package/src/chat/modules/ShellCommandModule.ts +96 -0
  14. package/src/chat/modules/index.ts +1 -0
  15. package/src/chat/types.ts +14 -2
  16. package/src/chat.ts +16 -13
  17. package/src/cli.ts +16 -6
  18. package/src/clients/anthropic.ts +82 -112
  19. package/src/clients/gemini.ts +445 -87
  20. package/src/clients/index.ts +125 -0
  21. package/src/clients/knowhow.ts +81 -0
  22. package/src/clients/openai.ts +256 -145
  23. package/src/clients/pricing/anthropic.ts +90 -0
  24. package/src/clients/pricing/google.ts +65 -0
  25. package/src/clients/pricing/index.ts +4 -0
  26. package/src/clients/pricing/openai.ts +134 -0
  27. package/src/clients/pricing/xai.ts +62 -0
  28. package/src/clients/types.ts +170 -1
  29. package/src/clients/xai.ts +275 -46
  30. package/src/config.ts +61 -15
  31. package/src/embeddings.ts +9 -1
  32. package/src/microphone.ts +15 -16
  33. package/src/migrations.ts +151 -0
  34. package/src/plugins/AgentsMdPlugin.ts +118 -0
  35. package/src/plugins/PluginBase.ts +8 -0
  36. package/src/plugins/downloader/downloader.ts +5 -6
  37. package/src/plugins/embedding.ts +10 -8
  38. package/src/plugins/exec.ts +70 -0
  39. package/src/plugins/github.ts +120 -74
  40. package/src/plugins/language.ts +11 -13
  41. package/src/plugins/plugins.ts +25 -4
  42. package/src/plugins/tmux.ts +132 -0
  43. package/src/plugins/types.ts +1 -0
  44. package/src/plugins/vim.ts +14 -1
  45. package/src/services/AgentSyncFs.ts +417 -0
  46. package/src/services/{AgentSynchronization.ts → AgentSyncKnowhowWeb.ts} +2 -2
  47. package/src/services/EventService.ts +0 -1
  48. package/src/services/KnowhowClient.ts +106 -0
  49. package/src/services/index.ts +4 -2
  50. package/src/types.ts +57 -4
  51. package/src/worker.ts +11 -6
  52. package/tests/manual/modalities/README.md +157 -0
  53. package/tests/manual/modalities/google.modalities.test.ts +335 -0
  54. package/tests/manual/modalities/openai.modalities.test.ts +329 -0
  55. package/tests/manual/modalities/streaming.test.ts +260 -0
  56. package/tests/manual/modalities/xai.modalities.test.ts +307 -0
  57. package/tests/plugins/language/languagePlugin-content-triggers.test.ts +5 -5
  58. package/tests/plugins/language/languagePlugin-integration.test.ts +1 -1
  59. package/tests/plugins/language/languagePlugin.test.ts +17 -8
  60. package/ts_build/package.json +1 -1
  61. package/ts_build/src/agents/base/base.d.ts +3 -3
  62. package/ts_build/src/agents/base/base.js +1 -1
  63. package/ts_build/src/agents/base/base.js.map +1 -1
  64. package/ts_build/src/agents/developer/developer.js +21 -12
  65. package/ts_build/src/agents/developer/developer.js.map +1 -1
  66. package/ts_build/src/agents/tools/agentCall.js +4 -2
  67. package/ts_build/src/agents/tools/agentCall.js.map +1 -1
  68. package/ts_build/src/agents/tools/executeScript/index.d.ts +1 -1
  69. package/ts_build/src/agents/tools/fileSearch.js +2 -1
  70. package/ts_build/src/agents/tools/fileSearch.js.map +1 -1
  71. package/ts_build/src/agents/tools/github/index.d.ts +1 -1
  72. package/ts_build/src/agents/tools/startAgentTask.d.ts +2 -1
  73. package/ts_build/src/agents/tools/startAgentTask.js +118 -17
  74. package/ts_build/src/agents/tools/startAgentTask.js.map +1 -1
  75. package/ts_build/src/agents/tools/stringReplace.js +29 -12
  76. package/ts_build/src/agents/tools/stringReplace.js.map +1 -1
  77. package/ts_build/src/chat/CliChatService.d.ts +4 -0
  78. package/ts_build/src/chat/CliChatService.js +39 -5
  79. package/ts_build/src/chat/CliChatService.js.map +1 -1
  80. package/ts_build/src/chat/modules/AgentModule.d.ts +4 -1
  81. package/ts_build/src/chat/modules/AgentModule.js +49 -11
  82. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  83. package/ts_build/src/chat/modules/CustomCommandsModule.d.ts +9 -0
  84. package/ts_build/src/chat/modules/CustomCommandsModule.js +58 -0
  85. package/ts_build/src/chat/modules/CustomCommandsModule.js.map +1 -0
  86. package/ts_build/src/chat/modules/InternalChatModule.d.ts +2 -0
  87. package/ts_build/src/chat/modules/InternalChatModule.js +10 -0
  88. package/ts_build/src/chat/modules/InternalChatModule.js.map +1 -1
  89. package/ts_build/src/chat/modules/ShellCommandModule.d.ts +8 -0
  90. package/ts_build/src/chat/modules/ShellCommandModule.js +83 -0
  91. package/ts_build/src/chat/modules/ShellCommandModule.js.map +1 -0
  92. package/ts_build/src/chat/modules/index.d.ts +1 -0
  93. package/ts_build/src/chat/modules/index.js +3 -1
  94. package/ts_build/src/chat/modules/index.js.map +1 -1
  95. package/ts_build/src/chat/types.d.ts +11 -1
  96. package/ts_build/src/chat.js +16 -13
  97. package/ts_build/src/chat.js.map +1 -1
  98. package/ts_build/src/cli.js +10 -3
  99. package/ts_build/src/cli.js.map +1 -1
  100. package/ts_build/src/clients/anthropic.d.ts +5 -1
  101. package/ts_build/src/clients/anthropic.js +61 -112
  102. package/ts_build/src/clients/anthropic.js.map +1 -1
  103. package/ts_build/src/clients/gemini.d.ts +80 -2
  104. package/ts_build/src/clients/gemini.js +336 -74
  105. package/ts_build/src/clients/gemini.js.map +1 -1
  106. package/ts_build/src/clients/index.d.ts +9 -1
  107. package/ts_build/src/clients/index.js +65 -0
  108. package/ts_build/src/clients/index.js.map +1 -1
  109. package/ts_build/src/clients/knowhow.d.ts +9 -1
  110. package/ts_build/src/clients/knowhow.js +43 -0
  111. package/ts_build/src/clients/knowhow.js.map +1 -1
  112. package/ts_build/src/clients/openai.d.ts +9 -1
  113. package/ts_build/src/clients/openai.js +201 -133
  114. package/ts_build/src/clients/openai.js.map +1 -1
  115. package/ts_build/src/clients/pricing/anthropic.d.ts +17 -0
  116. package/ts_build/src/clients/pricing/anthropic.js +93 -0
  117. package/ts_build/src/clients/pricing/anthropic.js.map +1 -0
  118. package/ts_build/src/clients/pricing/google.d.ts +73 -0
  119. package/ts_build/src/clients/pricing/google.js +68 -0
  120. package/ts_build/src/clients/pricing/google.js.map +1 -0
  121. package/ts_build/src/clients/pricing/index.d.ts +4 -0
  122. package/ts_build/src/clients/pricing/index.js +14 -0
  123. package/ts_build/src/clients/pricing/index.js.map +1 -0
  124. package/ts_build/src/clients/pricing/openai.d.ts +7 -0
  125. package/ts_build/src/clients/pricing/openai.js +137 -0
  126. package/ts_build/src/clients/pricing/openai.js.map +1 -0
  127. package/ts_build/src/clients/pricing/xai.d.ts +26 -0
  128. package/ts_build/src/clients/pricing/xai.js +59 -0
  129. package/ts_build/src/clients/pricing/xai.js.map +1 -0
  130. package/ts_build/src/clients/types.d.ts +135 -0
  131. package/ts_build/src/clients/xai.d.ts +9 -1
  132. package/ts_build/src/clients/xai.js +178 -46
  133. package/ts_build/src/clients/xai.js.map +1 -1
  134. package/ts_build/src/config.d.ts +1 -0
  135. package/ts_build/src/config.js +45 -16
  136. package/ts_build/src/config.js.map +1 -1
  137. package/ts_build/src/embeddings.js +8 -1
  138. package/ts_build/src/embeddings.js.map +1 -1
  139. package/ts_build/src/microphone.js +7 -9
  140. package/ts_build/src/microphone.js.map +1 -1
  141. package/ts_build/src/migrations.d.ts +17 -0
  142. package/ts_build/src/migrations.js +86 -0
  143. package/ts_build/src/migrations.js.map +1 -0
  144. package/ts_build/src/plugins/AgentsMdPlugin.d.ts +13 -0
  145. package/ts_build/src/plugins/AgentsMdPlugin.js +118 -0
  146. package/ts_build/src/plugins/AgentsMdPlugin.js.map +1 -0
  147. package/ts_build/src/plugins/PluginBase.d.ts +1 -0
  148. package/ts_build/src/plugins/PluginBase.js +3 -0
  149. package/ts_build/src/plugins/PluginBase.js.map +1 -1
  150. package/ts_build/src/plugins/downloader/downloader.js +5 -5
  151. package/ts_build/src/plugins/downloader/downloader.js.map +1 -1
  152. package/ts_build/src/plugins/embedding.js +9 -8
  153. package/ts_build/src/plugins/embedding.js.map +1 -1
  154. package/ts_build/src/plugins/exec.d.ts +10 -0
  155. package/ts_build/src/plugins/exec.js +56 -0
  156. package/ts_build/src/plugins/exec.js.map +1 -0
  157. package/ts_build/src/plugins/github.js +93 -51
  158. package/ts_build/src/plugins/github.js.map +1 -1
  159. package/ts_build/src/plugins/language.js +14 -11
  160. package/ts_build/src/plugins/language.js.map +1 -1
  161. package/ts_build/src/plugins/plugins.d.ts +1 -0
  162. package/ts_build/src/plugins/plugins.js +19 -1
  163. package/ts_build/src/plugins/plugins.js.map +1 -1
  164. package/ts_build/src/plugins/tmux.d.ts +14 -0
  165. package/ts_build/src/plugins/tmux.js +108 -0
  166. package/ts_build/src/plugins/tmux.js.map +1 -0
  167. package/ts_build/src/plugins/types.d.ts +1 -0
  168. package/ts_build/src/plugins/vim.js +11 -1
  169. package/ts_build/src/plugins/vim.js.map +1 -1
  170. package/ts_build/src/services/AgentSyncFs.d.ts +34 -0
  171. package/ts_build/src/services/AgentSyncFs.js +325 -0
  172. package/ts_build/src/services/AgentSyncFs.js.map +1 -0
  173. package/ts_build/src/services/AgentSyncKnowhowWeb.d.ts +29 -0
  174. package/ts_build/src/services/AgentSyncKnowhowWeb.js +178 -0
  175. package/ts_build/src/services/AgentSyncKnowhowWeb.js.map +1 -0
  176. package/ts_build/src/services/AgentSynchronization.d.ts +1 -1
  177. package/ts_build/src/services/AgentSynchronization.js +3 -3
  178. package/ts_build/src/services/AgentSynchronization.js.map +1 -1
  179. package/ts_build/src/services/EventService.js.map +1 -1
  180. package/ts_build/src/services/KnowhowClient.d.ts +9 -1
  181. package/ts_build/src/services/KnowhowClient.js +58 -0
  182. package/ts_build/src/services/KnowhowClient.js.map +1 -1
  183. package/ts_build/src/services/index.d.ts +2 -1
  184. package/ts_build/src/services/index.js +2 -1
  185. package/ts_build/src/services/index.js.map +1 -1
  186. package/ts_build/src/types.d.ts +26 -1
  187. package/ts_build/src/types.js +45 -4
  188. package/ts_build/src/types.js.map +1 -1
  189. package/ts_build/src/utils/PersistentInputManager.d.ts +28 -0
  190. package/ts_build/src/utils/PersistentInputManager.js +293 -0
  191. package/ts_build/src/utils/PersistentInputManager.js.map +1 -0
  192. package/ts_build/src/worker.js +2 -2
  193. package/ts_build/src/worker.js.map +1 -1
  194. package/ts_build/tests/manual/modalities/google.modalities.test.d.ts +1 -0
  195. package/ts_build/tests/manual/modalities/google.modalities.test.js +252 -0
  196. package/ts_build/tests/manual/modalities/google.modalities.test.js.map +1 -0
  197. package/ts_build/tests/manual/modalities/openai.modalities.test.d.ts +1 -0
  198. package/ts_build/tests/manual/modalities/openai.modalities.test.js +252 -0
  199. package/ts_build/tests/manual/modalities/openai.modalities.test.js.map +1 -0
  200. package/ts_build/tests/manual/modalities/streaming.test.d.ts +1 -0
  201. package/ts_build/tests/manual/modalities/streaming.test.js +206 -0
  202. package/ts_build/tests/manual/modalities/streaming.test.js.map +1 -0
  203. package/ts_build/tests/manual/modalities/xai.modalities.test.d.ts +1 -0
  204. package/ts_build/tests/manual/modalities/xai.modalities.test.js +226 -0
  205. package/ts_build/tests/manual/modalities/xai.modalities.test.js.map +1 -0
  206. package/ts_build/tests/manual/persistent-input-test.d.ts +1 -0
  207. package/ts_build/tests/manual/persistent-input-test.js +35 -0
  208. package/ts_build/tests/manual/persistent-input-test.js.map +1 -0
  209. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +5 -5
  210. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +1 -1
  211. package/ts_build/tests/plugins/language/languagePlugin-integration.test.js +1 -1
  212. package/ts_build/tests/plugins/language/languagePlugin-integration.test.js.map +1 -1
  213. package/ts_build/tests/plugins/language/languagePlugin.test.js +17 -7
  214. package/ts_build/tests/plugins/language/languagePlugin.test.js.map +1 -1
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCurrentMigrationVersion = exports.applyMigrations = exports.migrations = void 0;
4
+ const DEFAULT_PLUGINS = [
5
+ "embeddings",
6
+ "language",
7
+ "git",
8
+ "vim",
9
+ "linter",
10
+ "github",
11
+ "asana",
12
+ "jira",
13
+ "linear",
14
+ "notion",
15
+ "download",
16
+ "figma",
17
+ "url",
18
+ "tmux",
19
+ "agents-md",
20
+ ];
21
+ const migration1 = {
22
+ version: 1,
23
+ description: "Convert plugins from string[] to { enabled, disabled } format and add missing plugins",
24
+ migrate: (config, context) => {
25
+ const allPluginKeys = context?.allPluginKeys || DEFAULT_PLUGINS;
26
+ let modified = false;
27
+ if (!config.plugins) {
28
+ config.plugins = {
29
+ enabled: [...allPluginKeys],
30
+ disabled: [],
31
+ };
32
+ return { modified: true, config };
33
+ }
34
+ if (Array.isArray(config.plugins)) {
35
+ config.plugins = {
36
+ enabled: config.plugins,
37
+ disabled: [],
38
+ };
39
+ modified = true;
40
+ }
41
+ if (typeof config.plugins === "object" && !Array.isArray(config.plugins)) {
42
+ if (!config.plugins.enabled) {
43
+ config.plugins.enabled = [...allPluginKeys];
44
+ modified = true;
45
+ }
46
+ if (!config.plugins.disabled) {
47
+ config.plugins.disabled = [];
48
+ modified = true;
49
+ }
50
+ const missingPlugins = allPluginKeys.filter((key) => !config.plugins.enabled.includes(key) &&
51
+ !config.plugins.disabled.includes(key));
52
+ if (missingPlugins.length > 0) {
53
+ config.plugins.enabled.push(...missingPlugins);
54
+ modified = true;
55
+ }
56
+ }
57
+ return { modified, config };
58
+ },
59
+ };
60
+ exports.migrations = [migration1];
61
+ function applyMigrations(config, context) {
62
+ let modified = false;
63
+ let currentConfig = { ...config };
64
+ for (const migration of exports.migrations) {
65
+ try {
66
+ const result = migration.migrate(currentConfig, context);
67
+ if (result.modified) {
68
+ console.log(`Applied migration ${migration.version}: ${migration.description}`);
69
+ modified = true;
70
+ currentConfig = result.config;
71
+ }
72
+ }
73
+ catch (error) {
74
+ console.error(`Failed to apply migration ${migration.version}: ${migration.description}`, error);
75
+ }
76
+ }
77
+ return { modified, config: currentConfig };
78
+ }
79
+ exports.applyMigrations = applyMigrations;
80
+ function getCurrentMigrationVersion() {
81
+ return exports.migrations.length > 0
82
+ ? Math.max(...exports.migrations.map((m) => m.version))
83
+ : 0;
84
+ }
85
+ exports.getCurrentMigrationVersion = getCurrentMigrationVersion;
86
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/migrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { PluginBase, PluginMeta } from "./PluginBase";
2
+ import { Plugin, PluginContext } from "./types";
3
+ import { MinimalEmbedding } from "../types";
4
+ export declare class AgentsMdPlugin extends PluginBase implements Plugin {
5
+ static readonly meta: PluginMeta;
6
+ meta: PluginMeta;
7
+ constructor(context: PluginContext);
8
+ private setupEventHandlers;
9
+ private findAgentsMd;
10
+ private handleFileEvent;
11
+ call(input?: string): Promise<string>;
12
+ embed(input: string): Promise<MinimalEmbedding[]>;
13
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.AgentsMdPlugin = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ const path = __importStar(require("path"));
29
+ const PluginBase_1 = require("./PluginBase");
30
+ class AgentsMdPlugin extends PluginBase_1.PluginBase {
31
+ static meta = {
32
+ key: "agents-md",
33
+ name: "AgentsMd Plugin",
34
+ description: "Alerts the agent when an agents.md file is found near an edited file",
35
+ requires: [],
36
+ };
37
+ meta = AgentsMdPlugin.meta;
38
+ constructor(context) {
39
+ super(context);
40
+ this.setupEventHandlers();
41
+ }
42
+ setupEventHandlers() {
43
+ const events = this.context?.Events;
44
+ if (!events)
45
+ return;
46
+ const fileEvents = [
47
+ "file:pre-write",
48
+ "file:post-write",
49
+ "file:write",
50
+ "file:edit",
51
+ ];
52
+ fileEvents.forEach((eventType) => {
53
+ events.on(eventType, async (eventData) => {
54
+ await this.handleFileEvent(eventData);
55
+ });
56
+ });
57
+ }
58
+ findAgentsMd(startPath) {
59
+ const absoluteStart = path.isAbsolute(startPath)
60
+ ? startPath
61
+ : path.resolve(startPath);
62
+ let currentDir = fs.existsSync(absoluteStart)
63
+ ? fs.statSync(absoluteStart).isDirectory()
64
+ ? absoluteStart
65
+ : path.dirname(absoluteStart)
66
+ : path.dirname(absoluteStart);
67
+ const root = path.parse(currentDir).root;
68
+ while (true) {
69
+ const agentsMdPath = path.join(currentDir, "agents.md");
70
+ if (fs.existsSync(agentsMdPath)) {
71
+ return agentsMdPath;
72
+ }
73
+ if (currentDir === root) {
74
+ break;
75
+ }
76
+ const parentDir = path.dirname(currentDir);
77
+ if (parentDir === currentDir) {
78
+ break;
79
+ }
80
+ currentDir = parentDir;
81
+ }
82
+ return null;
83
+ }
84
+ async handleFileEvent(eventData) {
85
+ try {
86
+ const filePath = eventData?.filePath || eventData?.path || eventData;
87
+ if (!filePath || typeof filePath !== "string") {
88
+ return;
89
+ }
90
+ const agentsMdPath = this.findAgentsMd(filePath);
91
+ if (!agentsMdPath) {
92
+ return;
93
+ }
94
+ const events = this.context?.Events;
95
+ if (!events)
96
+ return;
97
+ const alertMessage = `There is an agents.md file detected near the edited file at \`${agentsMdPath}\`. You should read it if you haven't already.`;
98
+ events.emit("agent:msg", alertMessage);
99
+ }
100
+ catch (error) {
101
+ console.error("AGENTS-MD PLUGIN: Error handling file event:", error);
102
+ }
103
+ }
104
+ async call(input) {
105
+ if (input) {
106
+ const agentsMdPath = this.findAgentsMd(input);
107
+ if (agentsMdPath) {
108
+ return `There is an agents.md file detected near \`${input}\` at \`${agentsMdPath}\`. You should read it if you haven't already.`;
109
+ }
110
+ }
111
+ return "";
112
+ }
113
+ async embed(input) {
114
+ return [];
115
+ }
116
+ }
117
+ exports.AgentsMdPlugin = AgentsMdPlugin;
118
+ //# sourceMappingURL=AgentsMdPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentsMdPlugin.js","sourceRoot":"","sources":["../../../src/plugins/AgentsMdPlugin.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare abstract class PluginBase implements Plugin {
10
10
  isEnabled(): boolean;
11
11
  protected hasRequiredEnv(): boolean;
12
12
  protected customEnableCheck(): boolean;
13
+ callMany(input?: string): Promise<string>;
13
14
  abstract call(input?: string): Promise<string>;
14
15
  abstract embed(input: string): Promise<MinimalEmbedding[]>;
15
16
  }
@@ -29,6 +29,9 @@ class PluginBase {
29
29
  customEnableCheck() {
30
30
  return true;
31
31
  }
32
+ async callMany(input) {
33
+ return this.call(input);
34
+ }
32
35
  }
33
36
  exports.PluginBase = PluginBase;
34
37
  //# sourceMappingURL=PluginBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginBase.js","sourceRoot":"","sources":["../../../src/plugins/PluginBase.ts"],"names":[],"mappings":";;;AAGA,MAAsB,UAAU;IAMR;IAJd,MAAM,GAAG,IAAI,CAAC;IAItB,YAAsB,UAAyB,EAAE;QAA3B,YAAO,GAAP,OAAO,CAAoB;IAAG,CAAC;IAKrD,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,cAAc;QACtB,MAAM,MAAM,GACV,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3E,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;CAOF;AA/CD,gCA+CC"}
1
+ {"version":3,"file":"PluginBase.js","sourceRoot":"","sources":["../../../src/plugins/PluginBase.ts"],"names":[],"mappings":";;;AAGA,MAAsB,UAAU;IAMR;IAJd,MAAM,GAAG,IAAI,CAAC;IAItB,YAAsB,UAAyB,EAAE;QAA3B,YAAO,GAAP,OAAO,CAAoB;IAAG,CAAC;IAKrD,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,cAAc;QACtB,MAAM,MAAM,GACV,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3E,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,KAAc;QAE3B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CAOF;AAvDD,gCAuDC"}
@@ -33,7 +33,6 @@ const youtube_dl_exec_1 = __importDefault(require("youtube-dl-exec"));
33
33
  const progress_estimator_1 = __importDefault(require("progress-estimator"));
34
34
  const utils_1 = require("../../utils");
35
35
  const types_1 = require("../../types");
36
- const ai_1 = require("../../ai");
37
36
  const logger = (0, progress_estimator_1.default)();
38
37
  class DownloaderService {
39
38
  clients;
@@ -124,7 +123,6 @@ class DownloaderService {
124
123
  return;
125
124
  }
126
125
  const allTranscripts = [];
127
- const openAi = (0, ai_1.openai)();
128
126
  for (const file of files) {
129
127
  const chunkName = path.parse(file).name;
130
128
  const chunkTranscriptPath = path.join(path.dirname(outputPath), `/chunks/${chunkName}.txt`);
@@ -142,9 +140,11 @@ class DownloaderService {
142
140
  continue;
143
141
  }
144
142
  console.log("Transcribing", file);
145
- const transcript = await openAi.audio.transcriptions
146
- .create({
147
- file: fs.createReadStream(file),
143
+ const fileBuffer = fs.readFileSync(file);
144
+ const transcript = await this.clients
145
+ .createAudioTranscription("openai", {
146
+ file: fileBuffer,
147
+ fileName: path.basename(file),
148
148
  model: "whisper-1",
149
149
  })
150
150
  .catch((e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../../../src/plugins/downloader/downloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../../../src/plugins/downloader/downloader.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ exports.EmbeddingPlugin = void 0;
4
4
  const config_1 = require("../config");
5
5
  const embeddings_1 = require("../embeddings");
6
6
  const PluginBase_1 = require("./PluginBase");
7
- const index_1 = require("../index");
7
+ const child_process_1 = require("child_process");
8
8
  class EmbeddingPlugin extends PluginBase_1.PluginBase {
9
9
  static meta = {
10
10
  key: "embeddings",
@@ -20,13 +20,14 @@ class EmbeddingPlugin extends PluginBase_1.PluginBase {
20
20
  return [];
21
21
  }
22
22
  async handleFilePostEdit(payload) {
23
- try {
24
- await (0, index_1.embed)();
25
- return "Embedding completed successfully";
26
- }
27
- catch (error) {
28
- return `Embedding failed: ${error.message}`;
29
- }
23
+ const child = (0, child_process_1.spawn)("knowhow", ["embed"], {
24
+ detached: true,
25
+ stdio: "ignore",
26
+ cwd: process.cwd(),
27
+ });
28
+ child.unref();
29
+ console.log(`EMBEDDING PLUGIN: Started 'knowhow embed' in background (pid: ${child.pid})`);
30
+ return "Embedding started in background process";
30
31
  }
31
32
  async call(userPrompt) {
32
33
  const count = 7;
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../../src/plugins/embedding.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,8CAKuB;AAEvB,6CAAsD;AACtD,oCAAkD;AAElD,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,MAAM,CAAU,IAAI,GAAe;QACjC,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IAE5B,YAAY,OAAO;QACjB,KAAK,CAAC,OAAO,CAAC,CAAC;QAGf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAOD,KAAK,CAAC,kBAAkB,CAAC,OAA6B;QACpD,IAAI;YACF,MAAM,IAAA,aAAa,GAAE,CAAC;YACtB,OAAO,kCAAkC,CAAC;SAC3C;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC;SAC7C;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAkB;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,UAAU,GAAG,MAAM,IAAA,oCAAuB,GAAE,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,GAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAc,EAClC,UAAU,EACV,UAAU,EACV,MAAM,CAAC,cAAc,CACtB,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAExC,IAAA,wBAAW,EAAC,OAAO,CAAC,CAAC;QACrB,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC;QAEvB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;SAC5D;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,CAAC,GAAG,CACT,2BAA2B,OAAO,CAAC,MAAM,qBAAqB,aAAa,QAAQ,CACpF,CAAC;QAEF,OAAO;MACL,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9B,CAAC;;AA3DH,0CA4DC"}
1
+ {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../../src/plugins/embedding.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,8CAKuB;AAEvB,6CAAsD;AACtD,iDAAsC;AAEtC,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,MAAM,CAAU,IAAI,GAAe;QACjC,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IAE5B,YAAY,OAAO;QACjB,KAAK,CAAC,OAAO,CAAC,CAAC;QAGf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAOD,KAAK,CAAC,kBAAkB,CAAC,OAA6B;QACpD,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;YACxC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,iEAAiE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3F,OAAO,yCAAyC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAkB;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,UAAU,GAAG,MAAM,IAAA,oCAAuB,GAAE,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,GAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAc,EAClC,UAAU,EACV,UAAU,EACV,MAAM,CAAC,cAAc,CACtB,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAExC,IAAA,wBAAW,EAAC,OAAO,CAAC,CAAC;QACrB,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC;QAEvB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;SAC5D;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,CAAC,GAAG,CACT,2BAA2B,OAAO,CAAC,MAAM,qBAAqB,aAAa,QAAQ,CACpF,CAAC;QAEF,OAAO;MACL,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9B,CAAC;;AA7DH,0CA8DC"}
@@ -0,0 +1,10 @@
1
+ import { PluginBase, PluginMeta } from "./PluginBase";
2
+ import { PluginContext } from "./types";
3
+ export declare class ExecPlugin extends PluginBase {
4
+ static readonly meta: PluginMeta;
5
+ meta: PluginMeta;
6
+ constructor(context: PluginContext);
7
+ callMany(input?: string): Promise<string>;
8
+ call(input: string): Promise<string>;
9
+ embed(input: string): Promise<any[]>;
10
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExecPlugin = void 0;
4
+ const PluginBase_1 = require("./PluginBase");
5
+ const child_process_1 = require("child_process");
6
+ class ExecPlugin extends PluginBase_1.PluginBase {
7
+ static meta = {
8
+ key: "exec",
9
+ name: "Exec Plugin",
10
+ requires: [],
11
+ };
12
+ meta = ExecPlugin.meta;
13
+ constructor(context) {
14
+ super(context);
15
+ }
16
+ async callMany(input) {
17
+ if (!input) {
18
+ return "";
19
+ }
20
+ const trimmed = input.trim();
21
+ if (trimmed.startsWith("!") || trimmed.startsWith("/!")) {
22
+ return this.call(input);
23
+ }
24
+ return "";
25
+ }
26
+ async call(input) {
27
+ const command = input.trim();
28
+ if (!command) {
29
+ return "EXEC PLUGIN: No command provided";
30
+ }
31
+ try {
32
+ console.log(`EXEC PLUGIN: Executing: ${command}`);
33
+ const result = (0, child_process_1.execSync)(command, {
34
+ encoding: "utf8",
35
+ cwd: process.cwd(),
36
+ maxBuffer: 10 * 1024 * 1024,
37
+ });
38
+ return `EXEC PLUGIN: Command output from \`${command}\`:\n\`\`\`\n${result}\n\`\`\``;
39
+ }
40
+ catch (error) {
41
+ const errorMessage = error.message;
42
+ const stderr = error.stderr || "";
43
+ const stdout = error.stdout || "";
44
+ console.error(`EXEC PLUGIN: Command failed: ${errorMessage}`);
45
+ if (stderr) {
46
+ console.error(stderr);
47
+ }
48
+ return `EXEC PLUGIN: Command \`${command}\` failed:\n\`\`\`\n${stdout}\n${stderr}\n${errorMessage}\n\`\`\``;
49
+ }
50
+ }
51
+ async embed(input) {
52
+ return [];
53
+ }
54
+ }
55
+ exports.ExecPlugin = ExecPlugin;
56
+ //# sourceMappingURL=exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../src/plugins/exec.ts"],"names":[],"mappings":";;;AAAA,6CAAsD;AAEtD,iDAAyC;AAMzC,MAAa,UAAW,SAAQ,uBAAU;IACxC,MAAM,CAAU,IAAI,GAAe;QACjC,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAEvB,YAAY,OAAsB;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAc;QAE3B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACvD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QAEtB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,kCAAkC,CAAC;SAC3C;QAED,IAAI;YACF,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;YAGlD,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,OAAO,EAAE;gBAC/B,QAAQ,EAAE,MAAM;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5B,CAAC,CAAC;YAEH,OAAO,sCAAsC,OAAO,gBAAgB,MAAM,UAAU,CAAC;SACtF;QAAC,OAAO,KAAU,EAAE;YACnB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;YAElC,OAAO,CAAC,KAAK,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;YAC9D,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACvB;YAED,OAAO,0BAA0B,OAAO,uBAAuB,MAAM,KAAK,MAAM,KAAK,YAAY,UAAU,CAAC;SAC7G;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAa;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;;AA5DH,gCA6DC"}
@@ -61,25 +61,43 @@ class GitHubPlugin extends PluginBase_1.PluginBase {
61
61
  };
62
62
  }
63
63
  async getDiff(url) {
64
- const { owner, repo, pullNumber } = this.parseUrl(url);
65
- console.log(`GITHUB PLUGIN: Loading diff for ${owner}/${repo}#${pullNumber}`);
66
- const { data: diff } = await this.octokit.rest.pulls.get({
67
- owner,
68
- repo,
69
- pull_number: parseInt(pullNumber, 10),
70
- mediaType: {
71
- format: "diff",
72
- },
73
- });
74
- return diff;
64
+ try {
65
+ const { owner, repo, pullNumber } = this.parseUrl(url);
66
+ console.log(`GITHUB PLUGIN: 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
+ console.error(`GITHUB PLUGIN: Failed to get diff for ${url}:`, error.message);
79
+ if (error.status === 401) {
80
+ console.error("GITHUB PLUGIN: Authentication failed. Please check your GITHUB_TOKEN.");
81
+ }
82
+ return null;
83
+ }
75
84
  }
76
- getPR(url) {
77
- const { owner, repo, pullNumber } = this.parseUrl(url);
78
- return this.octokit.rest.pulls.get({
79
- owner,
80
- repo,
81
- pull_number: parseInt(pullNumber, 10),
82
- });
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
+ console.error(`GITHUB PLUGIN: Failed to get PR for ${url}:`, error.message);
96
+ if (error.status === 401) {
97
+ console.error("GITHUB PLUGIN: Authentication failed. Please check your GITHUB_TOKEN.");
98
+ }
99
+ return null;
100
+ }
83
101
  }
84
102
  getLengthOfHunks(hunks) {
85
103
  const length = hunks
@@ -90,23 +108,33 @@ class GitHubPlugin extends PluginBase_1.PluginBase {
90
108
  }
91
109
  async getParsedDiffs(urls) {
92
110
  return Promise.all(urls.map(async (url) => {
93
- const diff = await this.getDiff(url);
94
- let parsed = (0, patch_1.parseHunks)(diff.toString());
95
- console.log(`GITHUB PLUGIN: Parsed ${parsed.length} hunks`);
96
- const averageHunkSize = parsed.reduce((acc, hunk) => acc + hunk.lines.length, 0) /
97
- parsed.length;
98
- const totalCharacters = parsed
99
- .flatMap((hunk) => [...hunk.additions, ...hunk.subtractions])
100
- .reduce((acc, line) => acc + line.length, 0);
101
- console.log(`GITHUB PLUGIN: Average hunk size: ${averageHunkSize}, total characters: ${totalCharacters}`);
102
- const MAX_CHARACTERS = 10000;
103
- const average = MAX_CHARACTERS / averageHunkSize;
104
- const PER_HUNK_LIMIT = Math.max(average, 2000);
105
- parsed = parsed.filter((hunk) => {
106
- return this.getLengthOfHunks([hunk]) <= PER_HUNK_LIMIT;
107
- });
108
- console.log(`GITHUB PLUGIN: Filtered to ${parsed.length} hunks. ${this.getLengthOfHunks(parsed)} characters`);
109
- return parsed;
111
+ try {
112
+ const diff = await this.getDiff(url);
113
+ if (!diff) {
114
+ console.log(`GITHUB PLUGIN: Skipping ${url} due to error`);
115
+ return null;
116
+ }
117
+ let parsed = (0, patch_1.parseHunks)(diff.toString());
118
+ console.log(`GITHUB PLUGIN: 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
+ console.log(`GITHUB PLUGIN: 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
+ console.log(`GITHUB PLUGIN: Filtered to ${parsed.length} hunks. ${this.getLengthOfHunks(parsed)} characters`);
132
+ return parsed;
133
+ }
134
+ catch (error) {
135
+ console.error(`GITHUB PLUGIN: Error parsing diff for ${url}:`, error.message);
136
+ return null;
137
+ }
110
138
  }));
111
139
  }
112
140
  formatDiff(diff) {
@@ -115,23 +143,37 @@ class GitHubPlugin extends PluginBase_1.PluginBase {
115
143
  async call(userPrompt) {
116
144
  const urls = this.extractUrls(userPrompt);
117
145
  if (urls) {
118
- const prs = [];
119
- for (const url of urls) {
120
- const { owner, repo, pullNumber } = this.parseUrl(url);
121
- const { data: pr } = await this.getPR(url);
122
- const responses = await this.getParsedDiffs(urls);
123
- const diffStrings = responses.map(patch_1.hunksToPatch);
124
- prs.push({
125
- description: pr.title,
126
- url: pr.html_url,
127
- body: pr.body,
128
- author: pr.user.login,
129
- diff: diffStrings,
130
- });
146
+ try {
147
+ const prs = [];
148
+ for (const url of urls) {
149
+ const prResponse = await this.getPR(url);
150
+ if (!prResponse) {
151
+ console.log(`GITHUB PLUGIN: 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 "GITHUB PLUGIN: Could not fetch any pull request data. Please check your GITHUB_TOKEN and permissions.";
169
+ }
170
+ const context = `GITHUB PLUGIN: These ${urls} have automatically been expanded to include the changes:\n\n${JSON.stringify(prs, null, 2)}`;
171
+ console.log(context);
172
+ return context;
173
+ }
174
+ catch (error) {
175
+ return `GITHUB PLUGIN: Error fetching pull request data: ${error.message}`;
131
176
  }
132
- const context = `GITHUB PLUGIN: These ${urls} have automatically been expanded to include the changes:\n\n${JSON.stringify(prs, null, 2)}`;
133
- console.log(context);
134
- return context;
135
177
  }
136
178
  return "GITHUB PLUGIN: No pull request URLs detected.";
137
179
  }