@tyvm/knowhow 0.0.56 → 0.0.59

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 (190) hide show
  1. package/package.json +3 -3
  2. package/src/agents/base/base.ts +87 -43
  3. package/src/agents/tools/execCommand.ts +17 -14
  4. package/src/agents/tools/googleSearch.ts +1 -0
  5. package/src/agents/tools/index.ts +1 -0
  6. package/src/agents/tools/lazy/definitions.ts +63 -0
  7. package/src/agents/tools/lazy/disableTools.ts +16 -0
  8. package/src/agents/tools/lazy/enableTools.ts +16 -0
  9. package/src/agents/tools/lazy/index.ts +3 -0
  10. package/src/agents/tools/lazy/listAvailableTools.ts +14 -0
  11. package/src/agents/tools/list.ts +2 -0
  12. package/src/agents/tools/mcp/connectMcpServer.ts +40 -0
  13. package/src/agents/tools/mcp/definitions.ts +67 -0
  14. package/src/agents/tools/mcp/disconnectMcpServer.ts +40 -0
  15. package/src/agents/tools/mcp/index.ts +3 -0
  16. package/src/agents/tools/mcp/listAvailableMcpServers.ts +28 -0
  17. package/src/agents/tools/writeFile.ts +4 -1
  18. package/src/chat/CliChatService.ts +8 -3
  19. package/src/chat/modules/AgentModule.ts +74 -296
  20. package/src/cli.ts +33 -10
  21. package/src/plugins/GitPlugin.ts +30 -24
  22. package/src/plugins/language.ts +95 -18
  23. package/src/processors/ToolResponseCache.ts +98 -79
  24. package/src/processors/tools/grepToolResponse.ts +99 -0
  25. package/src/processors/tools/index.ts +21 -0
  26. package/src/processors/tools/jqToolResponse.ts +124 -0
  27. package/src/processors/tools/listStoredToolResponses.ts +83 -0
  28. package/src/processors/tools/tailToolResponse.ts +75 -0
  29. package/src/services/AgentService.ts +1 -1
  30. package/src/services/AgentSynchronization.ts +291 -0
  31. package/src/services/DockerService.ts +37 -1
  32. package/src/services/EventService.ts +8 -2
  33. package/src/services/KnowhowClient.ts +141 -1
  34. package/src/services/LazyToolsService.ts +146 -0
  35. package/src/services/Mcp.ts +171 -4
  36. package/src/services/SessionManager.ts +287 -0
  37. package/src/services/TaskRegistry.ts +108 -0
  38. package/src/services/Tools.ts +2 -0
  39. package/src/services/index.ts +7 -0
  40. package/src/services/script-execution/ScriptExecutor.ts +7 -5
  41. package/src/types.ts +1 -0
  42. package/src/utils/InputQueueManager.ts +91 -57
  43. package/src/utils/errors.ts +0 -0
  44. package/src/utils/index.ts +11 -0
  45. package/src/worker.ts +12 -0
  46. package/tests/compressor/bigstring.test.ts +100 -0
  47. package/tests/compressor/bigstring.txt +1 -0
  48. package/tests/plugins/language/languagePlugin-content-triggers.test.ts +13 -5
  49. package/tests/plugins/language/languagePlugin-integration.test.ts +22 -7
  50. package/tests/plugins/language/languagePlugin.test.ts +11 -4
  51. package/tests/processors/ToolResponseCache.test.ts +128 -0
  52. package/tests/unit/InputQueueManager.test.ts +174 -0
  53. package/ts_build/package.json +3 -3
  54. package/ts_build/src/agents/base/base.d.ts +10 -0
  55. package/ts_build/src/agents/base/base.js +66 -34
  56. package/ts_build/src/agents/base/base.js.map +1 -1
  57. package/ts_build/src/agents/tools/execCommand.js +1 -9
  58. package/ts_build/src/agents/tools/execCommand.js.map +1 -1
  59. package/ts_build/src/agents/tools/github/index.d.ts +1 -1
  60. package/ts_build/src/agents/tools/googleSearch.d.ts +1 -0
  61. package/ts_build/src/agents/tools/googleSearch.js +1 -0
  62. package/ts_build/src/agents/tools/googleSearch.js.map +1 -1
  63. package/ts_build/src/agents/tools/index.d.ts +1 -0
  64. package/ts_build/src/agents/tools/index.js +1 -0
  65. package/ts_build/src/agents/tools/index.js.map +1 -1
  66. package/ts_build/src/agents/tools/lazy/definitions.d.ts +5 -0
  67. package/ts_build/src/agents/tools/lazy/definitions.js +58 -0
  68. package/ts_build/src/agents/tools/lazy/definitions.js.map +1 -0
  69. package/ts_build/src/agents/tools/lazy/disableTools.d.ts +9 -0
  70. package/ts_build/src/agents/tools/lazy/disableTools.js +15 -0
  71. package/ts_build/src/agents/tools/lazy/disableTools.js.map +1 -0
  72. package/ts_build/src/agents/tools/lazy/enableTools.d.ts +9 -0
  73. package/ts_build/src/agents/tools/lazy/enableTools.js +15 -0
  74. package/ts_build/src/agents/tools/lazy/enableTools.js.map +1 -0
  75. package/ts_build/src/agents/tools/lazy/index.d.ts +3 -0
  76. package/ts_build/src/agents/tools/lazy/index.js +20 -0
  77. package/ts_build/src/agents/tools/lazy/index.js.map +1 -0
  78. package/ts_build/src/agents/tools/lazy/listAvailableTools.d.ts +11 -0
  79. package/ts_build/src/agents/tools/lazy/listAvailableTools.js +15 -0
  80. package/ts_build/src/agents/tools/lazy/listAvailableTools.js.map +1 -0
  81. package/ts_build/src/agents/tools/list.js +2 -0
  82. package/ts_build/src/agents/tools/list.js.map +1 -1
  83. package/ts_build/src/agents/tools/mcp/connectMcpServer.d.ts +5 -0
  84. package/ts_build/src/agents/tools/mcp/connectMcpServer.js +31 -0
  85. package/ts_build/src/agents/tools/mcp/connectMcpServer.js.map +1 -0
  86. package/ts_build/src/agents/tools/mcp/definitions.d.ts +2 -0
  87. package/ts_build/src/agents/tools/mcp/definitions.js +62 -0
  88. package/ts_build/src/agents/tools/mcp/definitions.js.map +1 -0
  89. package/ts_build/src/agents/tools/mcp/disconnectMcpServer.d.ts +5 -0
  90. package/ts_build/src/agents/tools/mcp/disconnectMcpServer.js +31 -0
  91. package/ts_build/src/agents/tools/mcp/disconnectMcpServer.js.map +1 -0
  92. package/ts_build/src/agents/tools/mcp/index.d.ts +3 -0
  93. package/ts_build/src/agents/tools/mcp/index.js +10 -0
  94. package/ts_build/src/agents/tools/mcp/index.js.map +1 -0
  95. package/ts_build/src/agents/tools/mcp/listAvailableMcpServers.d.ts +14 -0
  96. package/ts_build/src/agents/tools/mcp/listAvailableMcpServers.js +23 -0
  97. package/ts_build/src/agents/tools/mcp/listAvailableMcpServers.js.map +1 -0
  98. package/ts_build/src/agents/tools/writeFile.js +4 -1
  99. package/ts_build/src/agents/tools/writeFile.js.map +1 -1
  100. package/ts_build/src/chat/CliChatService.js +3 -1
  101. package/ts_build/src/chat/CliChatService.js.map +1 -1
  102. package/ts_build/src/chat/modules/AgentModule.d.ts +4 -3
  103. package/ts_build/src/chat/modules/AgentModule.js +71 -265
  104. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  105. package/ts_build/src/cli.d.ts +1 -1
  106. package/ts_build/src/cli.js +17 -4
  107. package/ts_build/src/cli.js.map +1 -1
  108. package/ts_build/src/plugins/GitPlugin.d.ts +1 -0
  109. package/ts_build/src/plugins/GitPlugin.js +26 -19
  110. package/ts_build/src/plugins/GitPlugin.js.map +1 -1
  111. package/ts_build/src/plugins/language.d.ts +3 -0
  112. package/ts_build/src/plugins/language.js +55 -13
  113. package/ts_build/src/plugins/language.js.map +1 -1
  114. package/ts_build/src/processors/ToolResponseCache.d.ts +7 -4
  115. package/ts_build/src/processors/ToolResponseCache.js +47 -88
  116. package/ts_build/src/processors/ToolResponseCache.js.map +1 -1
  117. package/ts_build/src/processors/tools/grepToolResponse.d.ts +10 -0
  118. package/ts_build/src/processors/tools/grepToolResponse.js +71 -0
  119. package/ts_build/src/processors/tools/grepToolResponse.js.map +1 -0
  120. package/ts_build/src/processors/tools/index.d.ts +4 -0
  121. package/ts_build/src/processors/tools/index.js +16 -0
  122. package/ts_build/src/processors/tools/index.js.map +1 -0
  123. package/ts_build/src/processors/tools/jqToolResponse.d.ts +3 -0
  124. package/ts_build/src/processors/tools/jqToolResponse.js +115 -0
  125. package/ts_build/src/processors/tools/jqToolResponse.js.map +1 -0
  126. package/ts_build/src/processors/tools/listStoredToolResponses.d.ts +21 -0
  127. package/ts_build/src/processors/tools/listStoredToolResponses.js +51 -0
  128. package/ts_build/src/processors/tools/listStoredToolResponses.js.map +1 -0
  129. package/ts_build/src/processors/tools/tailToolResponse.d.ts +6 -0
  130. package/ts_build/src/processors/tools/tailToolResponse.js +55 -0
  131. package/ts_build/src/processors/tools/tailToolResponse.js.map +1 -0
  132. package/ts_build/src/services/AgentService.d.ts +1 -1
  133. package/ts_build/src/services/AgentSynchronization.d.ts +27 -0
  134. package/ts_build/src/services/AgentSynchronization.js +168 -0
  135. package/ts_build/src/services/AgentSynchronization.js.map +1 -0
  136. package/ts_build/src/services/DockerService.d.ts +2 -0
  137. package/ts_build/src/services/DockerService.js +21 -1
  138. package/ts_build/src/services/DockerService.js.map +1 -1
  139. package/ts_build/src/services/EventService.d.ts +5 -0
  140. package/ts_build/src/services/EventService.js +7 -2
  141. package/ts_build/src/services/EventService.js.map +1 -1
  142. package/ts_build/src/services/KnowhowClient.d.ts +41 -1
  143. package/ts_build/src/services/KnowhowClient.js +42 -0
  144. package/ts_build/src/services/KnowhowClient.js.map +1 -1
  145. package/ts_build/src/services/LazyToolsService.d.ts +29 -0
  146. package/ts_build/src/services/LazyToolsService.js +96 -0
  147. package/ts_build/src/services/LazyToolsService.js.map +1 -0
  148. package/ts_build/src/services/Mcp.d.ts +18 -1
  149. package/ts_build/src/services/Mcp.js +119 -4
  150. package/ts_build/src/services/Mcp.js.map +1 -1
  151. package/ts_build/src/services/SessionManager.d.ts +15 -0
  152. package/ts_build/src/services/SessionManager.js +220 -0
  153. package/ts_build/src/services/SessionManager.js.map +1 -0
  154. package/ts_build/src/services/TaskRegistry.d.ts +15 -0
  155. package/ts_build/src/services/TaskRegistry.js +58 -0
  156. package/ts_build/src/services/TaskRegistry.js.map +1 -0
  157. package/ts_build/src/services/Tools.d.ts +2 -0
  158. package/ts_build/src/services/Tools.js.map +1 -1
  159. package/ts_build/src/services/index.d.ts +4 -0
  160. package/ts_build/src/services/index.js +4 -0
  161. package/ts_build/src/services/index.js.map +1 -1
  162. package/ts_build/src/services/script-execution/ScriptExecutor.js +7 -5
  163. package/ts_build/src/services/script-execution/ScriptExecutor.js.map +1 -1
  164. package/ts_build/src/types.d.ts +1 -0
  165. package/ts_build/src/types.js.map +1 -1
  166. package/ts_build/src/utils/InputQueueManager.d.ts +9 -2
  167. package/ts_build/src/utils/InputQueueManager.js +54 -40
  168. package/ts_build/src/utils/InputQueueManager.js.map +1 -1
  169. package/ts_build/src/utils/errors.d.ts +0 -0
  170. package/ts_build/src/utils/errors.js +1 -0
  171. package/ts_build/src/utils/errors.js.map +1 -0
  172. package/ts_build/src/utils/index.d.ts +1 -0
  173. package/ts_build/src/utils/index.js +5 -1
  174. package/ts_build/src/utils/index.js.map +1 -1
  175. package/ts_build/src/worker.js +8 -0
  176. package/ts_build/src/worker.js.map +1 -1
  177. package/ts_build/tests/compressor/bigstring.test.d.ts +1 -0
  178. package/ts_build/tests/compressor/bigstring.test.js +66 -0
  179. package/ts_build/tests/compressor/bigstring.test.js.map +1 -0
  180. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +6 -5
  181. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +1 -1
  182. package/ts_build/tests/plugins/language/languagePlugin-integration.test.js +9 -7
  183. package/ts_build/tests/plugins/language/languagePlugin-integration.test.js.map +1 -1
  184. package/ts_build/tests/plugins/language/languagePlugin.test.js +7 -4
  185. package/ts_build/tests/plugins/language/languagePlugin.test.js.map +1 -1
  186. package/ts_build/tests/processors/ToolResponseCache.test.js +107 -0
  187. package/ts_build/tests/processors/ToolResponseCache.test.js.map +1 -1
  188. package/ts_build/tests/unit/InputQueueManager.test.d.ts +1 -0
  189. package/ts_build/tests/unit/InputQueueManager.test.js +104 -0
  190. package/ts_build/tests/unit/InputQueueManager.test.js.map +1 -0
@@ -1,48 +1,24 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.AgentModule = void 0;
27
- const KnowhowClient_1 = require("../../services/KnowhowClient");
28
- const fs = __importStar(require("fs"));
29
- const path = __importStar(require("path"));
4
+ const index_1 = require("../../services/index");
30
5
  const BaseChatModule_1 = require("./BaseChatModule");
31
- const index_1 = require("../../utils/index");
6
+ const index_2 = require("../../utils/index");
32
7
  const TokenCompressor_1 = require("../../processors/TokenCompressor");
33
8
  const ToolResponseCache_1 = require("../../processors/ToolResponseCache");
34
- const index_2 = require("../../processors/index");
9
+ const index_3 = require("../../processors/index");
35
10
  const agents_1 = require("../../agents");
36
11
  class AgentModule extends BaseChatModule_1.BaseChatModule {
37
12
  name = "agent";
38
13
  description = "Agent interaction functionality";
39
- taskRegistry = new Map();
40
- sessionsDir = "./.knowhow/chats/sessions";
14
+ taskRegistry;
15
+ sessionManager;
16
+ agentSync;
41
17
  constructor() {
42
18
  super();
43
- if (!fs.existsSync(this.sessionsDir)) {
44
- fs.mkdirSync(this.sessionsDir, { recursive: true });
45
- }
19
+ this.taskRegistry = new index_1.TaskRegistry();
20
+ this.sessionManager = new index_1.SessionManager();
21
+ this.agentSync = new index_1.AgentSynchronization();
46
22
  }
47
23
  getCommands() {
48
24
  return [
@@ -103,9 +79,12 @@ class AgentModule extends BaseChatModule_1.BaseChatModule {
103
79
  try {
104
80
  if (allAgents && allAgents[agentName]) {
105
81
  if (context) {
106
- context.selectedAgent = allAgents[agentName];
82
+ const selectedAgent = allAgents[agentName];
83
+ context.selectedAgent = selectedAgent;
107
84
  context.agentMode = true;
108
85
  context.currentAgent = agentName;
86
+ context.currentModel = selectedAgent.getModel();
87
+ context.currentProvider = selectedAgent.getProvider();
109
88
  }
110
89
  console.log(`Agent mode enabled. Selected agent: ${agentName}. Type your task to get started.`);
111
90
  }
@@ -119,29 +98,13 @@ class AgentModule extends BaseChatModule_1.BaseChatModule {
119
98
  }
120
99
  async handleAttachCommand(args) {
121
100
  if (args.length === 0) {
122
- const runningTasks = Array.from(this.taskRegistry.values());
123
- const savedSessions = await this.listAvailableSessions();
101
+ const runningTasks = this.taskRegistry.getAll();
102
+ const savedSessions = this.sessionManager.listAvailableSessions();
124
103
  if (runningTasks.length === 0 && savedSessions.length === 0) {
125
104
  console.log("No active tasks or saved sessions found to attach to.");
126
105
  return;
127
106
  }
128
- console.log("\n📋 Available Sessions & Tasks:");
129
- console.log("─".repeat(80));
130
- console.log("ID".padEnd(25) + "Agent".padEnd(15) + "Status".padEnd(12) + "Type");
131
- console.log("─".repeat(80));
132
- savedSessions.forEach((session) => {
133
- console.log(session.sessionId.padEnd(25) +
134
- session.agentName.padEnd(15) +
135
- session.status.padEnd(12) +
136
- "saved");
137
- });
138
- runningTasks.forEach((task) => {
139
- console.log(task.taskId.padEnd(25) +
140
- task.agentName.padEnd(15) +
141
- task.status.padEnd(12) +
142
- "running");
143
- });
144
- console.log("─".repeat(80));
107
+ await this.sessionManager.logRunningTasks(runningTasks, savedSessions);
145
108
  const allIds = [
146
109
  ...savedSessions.map((s) => s.sessionId),
147
110
  ...runningTasks.map((t) => t.taskId),
@@ -158,21 +121,7 @@ class AgentModule extends BaseChatModule_1.BaseChatModule {
158
121
  await this.handleAttachById(taskId);
159
122
  }
160
123
  displaySingleTask(task) {
161
- console.log(`\n📋 Task Details: ${task.taskId}`);
162
- console.log("─".repeat(50));
163
- console.log(`Agent: ${task.agentName}`);
164
- console.log(`Status: ${task.status}`);
165
- console.log(`Initial Input: ${task.initialInput}`);
166
- console.log(`Start Time: ${new Date(task.startTime).toLocaleString()}`);
167
- if (task.endTime) {
168
- console.log(`End Time: ${new Date(task.endTime).toLocaleString()}`);
169
- console.log(`Duration: ${Math.round((task.endTime - task.startTime) / 1000)}s`);
170
- }
171
- else {
172
- console.log(`Running for: ${Math.round((Date.now() - task.startTime) / 1000)}s`);
173
- }
174
- console.log(`Total Cost: $${task.totalCost.toFixed(3)}`);
175
- console.log("─".repeat(50));
124
+ this.taskRegistry.displaySingleTask(task);
176
125
  }
177
126
  async handleAgentsCommand(args) {
178
127
  try {
@@ -204,52 +153,14 @@ class AgentModule extends BaseChatModule_1.BaseChatModule {
204
153
  }
205
154
  }
206
155
  async logSessionTable() {
207
- const runningTasks = Array.from(this.taskRegistry.values());
208
- const savedSessions = await this.listAvailableSessions();
209
- console.log("\n📋 Sessions & Tasks:");
210
- const data = [];
211
- savedSessions.forEach((session) => {
212
- const lastUpdated = new Date(session.lastUpdated).toLocaleString();
213
- const inputPreview = session.initialInput && session.initialInput.length > 30
214
- ? session.initialInput.substring(0, 27) + "..."
215
- : session.initialInput || "[No input]";
216
- const cost = session.totalCost
217
- ? `$${session.totalCost.toFixed(3)}`
218
- : "$0.000";
219
- data.push({
220
- ID: session.sessionId,
221
- Agent: session.agentName,
222
- Status: session.status,
223
- Type: "saved",
224
- Time: lastUpdated,
225
- Cost: cost,
226
- "Initial Input": inputPreview,
227
- });
228
- });
229
- runningTasks.forEach((task) => {
230
- const elapsed = task.endTime
231
- ? `${Math.round((task.endTime - task.startTime) / 1000)}s`
232
- : `${Math.round((Date.now() - task.startTime) / 1000)}s`;
233
- const cost = `$${task.totalCost.toFixed(3)}`;
234
- const inputPreview = task.initialInput.length > 30
235
- ? task.initialInput.substring(0, 27) + "..."
236
- : task.initialInput;
237
- data.push({
238
- ID: task.taskId,
239
- Agent: task.agentName,
240
- Status: task.status,
241
- Type: "running",
242
- Time: elapsed,
243
- Cost: cost,
244
- "Initial Input": inputPreview,
245
- });
246
- });
247
- console.table(data);
156
+ const runningTasks = this.taskRegistry.getAll();
157
+ const savedSessions = this.sessionManager.listAvailableSessions();
158
+ this.sessionManager.logSessionTable(runningTasks, savedSessions);
248
159
  }
249
160
  async handleSessionsCommand(args) {
250
161
  try {
251
- const runningTasks = Array.from(this.taskRegistry.values());
252
- const savedSessions = await this.listAvailableSessions();
162
+ const runningTasks = this.taskRegistry.getAll();
163
+ const savedSessions = this.sessionManager.listAvailableSessions();
253
164
  if (runningTasks.length === 0 && savedSessions.length === 0) {
254
165
  console.log("No active tasks or saved sessions found.");
255
166
  return;
@@ -283,6 +194,8 @@ class AgentModule extends BaseChatModule_1.BaseChatModule {
283
194
  context.selectedAgent = selectedAgent;
284
195
  context.agentMode = true;
285
196
  context.currentAgent = taskInfo.agentName;
197
+ context.currentModel = selectedAgent.getModel();
198
+ context.currentProvider = selectedAgent.getProvider();
286
199
  console.log(`🔄 Switched to agent mode with ${taskInfo.agentName}`);
287
200
  console.log(`📋 Attached to running task: ${id}`);
288
201
  console.log(`Task: ${taskInfo.initialInput}`);
@@ -290,21 +203,21 @@ class AgentModule extends BaseChatModule_1.BaseChatModule {
290
203
  return;
291
204
  }
292
205
  }
293
- console.log(index_1.Marked.parse(`**Attached to running task: ${id}**`));
206
+ console.log(index_2.Marked.parse(`**Attached to running task: ${id}**`));
294
207
  return;
295
208
  }
296
209
  try {
297
- const sessionPath = path.join(this.sessionsDir, `${id}.json`);
298
- if (fs.existsSync(sessionPath)) {
299
- console.log(index_1.Marked.parse(`**Resuming saved session: ${id}**`));
300
- const content = fs.readFileSync(sessionPath, "utf-8");
301
- const session = JSON.parse(content);
210
+ const session = this.sessionManager.loadSession(id);
211
+ if (session) {
212
+ console.log(index_2.Marked.parse(`**Resuming saved session: ${id}**`));
302
213
  const context = this.chatService?.getContext();
303
214
  const allAgents = (0, agents_1.agents)();
304
215
  const selectedAgent = allAgents[session.agentName];
305
216
  if (context && selectedAgent) {
306
217
  context.selectedAgent = selectedAgent;
307
218
  context.agentMode = true;
219
+ context.currentModel = selectedAgent.getModel();
220
+ context.currentProvider = selectedAgent.getProvider();
308
221
  console.log(`🔄 Switched to agent mode with ${session.agentName}`);
309
222
  console.log(`📋 Resuming saved session: ${id}`);
310
223
  console.log(`Original task: ${session.initialInput}`);
@@ -317,44 +230,14 @@ class AgentModule extends BaseChatModule_1.BaseChatModule {
317
230
  }
318
231
  catch (error) {
319
232
  }
320
- console.log(index_1.Marked.parse(`**Session/Task ${id} not found.**`));
233
+ console.log(index_2.Marked.parse(`**Session/Task ${id} not found.**`));
321
234
  }
322
235
  async listAvailableSessions() {
323
- try {
324
- const files = fs.readdirSync(this.sessionsDir);
325
- const sessionFiles = files.filter((f) => f.endsWith(".json"));
326
- const sessions = [];
327
- const thresholdTime = 15 * 60 * 1000;
328
- for (const file of sessionFiles) {
329
- const filePath = path.join(this.sessionsDir, file);
330
- try {
331
- const content = fs.readFileSync(filePath, "utf8");
332
- const session = JSON.parse(content);
333
- const isStale = Date.now() - session.lastUpdated > thresholdTime;
334
- const isRunningAndNotInRegistry = session.status === "running" &&
335
- !this.taskRegistry.has(session.sessionId);
336
- if (isRunningAndNotInRegistry && isStale) {
337
- console.log(`🧹 Marking stale session ${session.sessionId} as failed (last updated: ${new Date(session.lastUpdated).toLocaleString()})`);
338
- session.status = "failed";
339
- session.lastUpdated = Date.now();
340
- fs.writeFileSync(filePath, JSON.stringify(session, null, 2));
341
- }
342
- sessions.push(session);
343
- }
344
- catch (error) {
345
- console.warn(`Failed to read session file ${file}:`, error.message);
346
- }
347
- }
348
- return sessions.sort((a, b) => b.lastUpdated - a.lastUpdated);
349
- }
350
- catch (error) {
351
- console.warn("Failed to list sessions:", error.message);
352
- return [];
353
- }
236
+ return this.sessionManager.listAvailableSessions();
354
237
  }
355
238
  async listSessionsAndTasks() {
356
- const runningTasks = Array.from(this.taskRegistry.values());
357
- const savedSessions = await this.listAvailableSessions();
239
+ const runningTasks = this.taskRegistry.getAll();
240
+ const savedSessions = this.sessionManager.listAvailableSessions();
358
241
  return {
359
242
  runningTasks,
360
243
  savedSessions,
@@ -365,9 +248,11 @@ class AgentModule extends BaseChatModule_1.BaseChatModule {
365
248
  }
366
249
  async resumeSession(sessionId, resumeReason) {
367
250
  try {
368
- const sessionPath = path.join(this.sessionsDir, `${sessionId}.json`);
369
- const content = fs.readFileSync(sessionPath, "utf-8");
370
- const session = JSON.parse(content);
251
+ const session = this.sessionManager.loadSession(sessionId);
252
+ if (!session) {
253
+ console.error(`Session ${sessionId} not found.`);
254
+ return;
255
+ }
371
256
  const lastThread = session.threads[session.threads.length - 1];
372
257
  console.log(`\n🔄 Resuming session: ${sessionId}`);
373
258
  console.log(`Agent: ${session.agentName}`);
@@ -378,16 +263,16 @@ class AgentModule extends BaseChatModule_1.BaseChatModule {
378
263
  : "";
379
264
  const resumePrompt = `You are resuming a previously started task. Here's the context:
380
265
  ORIGINAL REQUEST:
381
- ${session.initialInput}
266
+ ${session.initialInput}
382
267
 
383
268
  LAST Progress State:
384
- ${JSON.stringify(lastThread)}
269
+ ${JSON.stringify(lastThread)}
385
270
 
386
271
  Please continue from where you left off and complete the original request.
387
- ${reason}
272
+ ${reason}
388
273
 
389
274
  `;
390
- console.log("🚀 Session resumption would restart the agent here...");
275
+ console.log("🚀 Session resuming...");
391
276
  const context = this.chatService?.getContext() || {};
392
277
  const allAgents = (0, agents_1.agents)();
393
278
  const selectedAgent = allAgents[session.agentName] || allAgents[context.currentAgent];
@@ -435,7 +320,7 @@ ${reason}
435
320
  const agent = allAgents[options.agentName];
436
321
  let done = false;
437
322
  let output = "Done";
438
- const taskId = this.generateTaskId(input);
323
+ const taskId = this.sessionManager.generateTaskId(input);
439
324
  let knowhowTaskId;
440
325
  try {
441
326
  const context = this.chatService?.getContext();
@@ -453,44 +338,25 @@ ${reason}
453
338
  startTime: Date.now(),
454
339
  totalCost: 0,
455
340
  };
456
- this.taskRegistry.set(taskId, taskInfo);
341
+ this.taskRegistry.register(taskId, taskInfo);
457
342
  this.saveSession(taskId, taskInfo, []);
458
- const baseUrl = KnowhowClient_1.KNOWHOW_API_URL;
459
- console.log(`Base URL for Knowhow API: ${baseUrl}, Message ID: ${options.messageId}`);
460
- const client = new KnowhowClient_1.KnowhowSimpleClient(baseUrl);
461
- if (options.messageId && !options.existingKnowhowTaskId && baseUrl) {
462
- try {
463
- const response = await client.createChatTask({
464
- messageId: options.messageId,
465
- prompt: input,
466
- });
467
- knowhowTaskId = response.data.id;
468
- console.log(`✅ Created Knowhow chat task: ${knowhowTaskId}`);
343
+ if (options.messageId && !options.existingKnowhowTaskId) {
344
+ knowhowTaskId = await this.agentSync.createChatTask({
345
+ messageId: options.messageId,
346
+ prompt: input,
347
+ });
348
+ if (knowhowTaskId) {
469
349
  taskInfo.knowhowTaskId = knowhowTaskId;
470
- this.taskRegistry.set(taskId, taskInfo);
471
- }
472
- catch (error) {
473
- console.error(`❌ Failed to create Knowhow chat task:`, error);
350
+ this.taskRegistry.register(taskId, taskInfo);
351
+ await this.agentSync.setupAgentSync(agent, knowhowTaskId);
474
352
  }
475
353
  }
476
354
  agent.agentEvents.on(agent.eventTypes.threadUpdate, async (threadState) => {
477
- taskInfo.totalCost = agent.getTotalCostUsd();
478
355
  this.updateSession(taskId, threadState);
479
- if (knowhowTaskId && options.messageId && baseUrl) {
480
- await client
481
- .updateChatTask(knowhowTaskId, {
482
- threads: agent.getThreads(),
483
- totalCostUsd: agent.getTotalCostUsd(),
484
- inProgress: true,
485
- })
486
- .catch((error) => {
487
- console.error(`❌ Failed to update Knowhow chat task:`, error);
488
- });
489
- console.log(`✅ Updated Knowhow chat task: ${knowhowTaskId}`);
490
- }
356
+ taskInfo.totalCost = agent.getTotalCostUsd();
491
357
  });
492
- console.log(index_1.Marked.parse(`**Starting ${agent.name} with task ID: ${taskId}...**`));
493
- console.log(index_1.Marked.parse(`**Task:** ${input}`));
358
+ console.log(index_2.Marked.parse(`**Starting ${agent.name} with task ID: ${taskId}...**`));
359
+ console.log(index_2.Marked.parse(`**Task:** ${input}`));
494
360
  await agent.newTask(taskId);
495
361
  if (options.model) {
496
362
  console.log("Setting model:", options.model);
@@ -506,17 +372,20 @@ ${reason}
506
372
  throw new Error("ChatService not available in tools context");
507
373
  }
508
374
  console.log("AI has asked: ");
509
- console.log(index_1.Marked.parse(question), "\n");
375
+ console.log(index_2.Marked.parse(question), "\n");
510
376
  return await chatService.getInput("response: ");
511
377
  }, 10);
512
378
  agent.messageProcessor.setProcessors("pre_call", [
513
379
  new ToolResponseCache_1.ToolResponseCache(agent.tools).createProcessor(),
514
380
  new TokenCompressor_1.TokenCompressor(agent.tools).createProcessor((msg) => Boolean(msg.role === "tool" && msg.tool_call_id)),
515
- new index_2.CustomVariables(agent.tools).createProcessor(),
381
+ new index_3.CustomVariables(agent.tools).createProcessor(),
516
382
  ]);
517
383
  agent.messageProcessor.setProcessors("post_call", [
518
- new index_2.XmlToolCallProcessor().createProcessor(),
519
- new index_2.HarmonyToolProcessor().createProcessor(),
384
+ new index_3.XmlToolCallProcessor().createProcessor(),
385
+ new index_3.HarmonyToolProcessor().createProcessor(),
386
+ ]);
387
+ agent.messageProcessor.setProcessors("post_tools", [
388
+ new TokenCompressor_1.TokenCompressor(agent.tools).createProcessor((msg) => Boolean(msg.role === "tool" && msg.tool_call_id)),
520
389
  ]);
521
390
  if (!agent.agentEvents.listenerCount(agent.eventTypes.toolCall)) {
522
391
  agent.agentEvents.on(agent.eventTypes.toolCall, (responseMsg) => {
@@ -542,22 +411,8 @@ ${reason}
542
411
  taskInfo.totalCost = agent.getTotalCostUsd();
543
412
  this.updateSession(taskId, agent.getThreads());
544
413
  taskInfo.endTime = Date.now();
545
- if (knowhowTaskId && options.messageId) {
546
- console.log(`Updating Knowhow chat task on completion..., ${knowhowTaskId}, ${options.messageId}`);
547
- await client
548
- .updateChatTask(knowhowTaskId, {
549
- inProgress: false,
550
- threads: agent.getThreads(),
551
- totalCostUsd: agent.getTotalCostUsd(),
552
- result: output,
553
- })
554
- .catch((error) => {
555
- console.error(`❌ Failed to update Knowhow chat task on completion:`, error);
556
- });
557
- console.log(`✅ Completed Knowhow chat task: ${knowhowTaskId}`);
558
- }
559
414
  }
560
- console.log(index_1.Marked.parse(output));
415
+ console.log(index_2.Marked.parse(output));
561
416
  resolve(doneMsg);
562
417
  });
563
418
  });
@@ -590,75 +445,25 @@ ${reason}
590
445
  }
591
446
  }
592
447
  getActiveTasks() {
593
- return Array.from(this.taskRegistry.entries()).map(([taskId, taskInfo]) => ({
448
+ return Array.from(this.taskRegistry.getEntries()).map(([taskId, taskInfo]) => ({
594
449
  taskId,
595
450
  agent: taskInfo,
596
451
  }));
597
452
  }
598
453
  attachToTask(taskId) {
599
454
  if (this.taskRegistry.has(taskId)) {
600
- console.log(index_1.Marked.parse(`**Attached to agent task: ${taskId}**`));
455
+ console.log(index_2.Marked.parse(`**Attached to agent task: ${taskId}**`));
601
456
  return true;
602
457
  }
603
- console.log(index_1.Marked.parse(`**Task ${taskId} not found or already completed.**`));
458
+ console.log(index_2.Marked.parse(`**Task ${taskId} not found or already completed.**`));
604
459
  return false;
605
460
  }
606
- generateTaskId(initialInput) {
607
- const words = initialInput
608
- .toLowerCase()
609
- .replace(/[^\w\s]/g, "")
610
- .split(/\s+/)
611
- .filter((word) => word.length > 2)
612
- .slice(0, 9);
613
- const wordPart = words.join("-") || "task";
614
- const epochSeconds = Math.floor(Date.now() / 1000);
615
- return `${epochSeconds}-${wordPart}`;
616
- }
617
461
  saveSession(taskId, taskInfo, threads) {
618
- try {
619
- const sessionPath = path.join(this.sessionsDir, `${taskId}.json`);
620
- const session = {
621
- sessionId: taskId,
622
- knowhowMessageId: taskInfo.knowhowMessageId,
623
- knowhowTaskId: taskInfo.knowhowTaskId,
624
- taskId,
625
- agentName: taskInfo.agentName,
626
- initialInput: taskInfo.initialInput,
627
- status: taskInfo.status,
628
- startTime: taskInfo.startTime,
629
- endTime: taskInfo.endTime,
630
- totalCost: taskInfo.totalCost,
631
- threads,
632
- currentThread: 0,
633
- lastUpdated: Date.now(),
634
- };
635
- fs.writeFileSync(sessionPath, JSON.stringify(session, null, 2));
636
- }
637
- catch (error) {
638
- console.error(`Error saving session ${taskId}:`, error);
639
- }
462
+ this.sessionManager.saveSession(taskId, taskInfo, threads);
640
463
  }
641
464
  updateSession(taskId, threads) {
642
- try {
643
- const sessionPath = path.join(this.sessionsDir, `${taskId}.json`);
644
- if (fs.existsSync(sessionPath)) {
645
- const session = JSON.parse(fs.readFileSync(sessionPath, "utf8"));
646
- const taskInfo = this.taskRegistry.get(taskId);
647
- session.threads = threads;
648
- session.lastUpdated = Date.now();
649
- if (taskInfo) {
650
- session.status = taskInfo.status;
651
- session.endTime = taskInfo.endTime;
652
- session.totalCost = taskInfo.totalCost;
653
- session.knowhowMessageId = taskInfo.knowhowMessageId;
654
- session.knowhowTaskId = taskInfo.knowhowTaskId;
655
- }
656
- fs.writeFileSync(sessionPath, JSON.stringify(session, null, 2));
657
- }
658
- }
659
- catch (error) {
660
- console.error(`Error updating session ${taskId}:`, error);
661
- }
465
+ const taskInfo = this.taskRegistry.get(taskId);
466
+ this.sessionManager.updateSession(taskId, taskInfo, threads);
662
467
  }
663
468
  async startAgent(selectedAgent, initialInput, chatHistory = []) {
664
469
  try {
@@ -687,6 +492,7 @@ ${reason}
687
492
  const donePromise = new Promise((resolve) => {
688
493
  agent.agentEvents.once(agent.eventTypes.done, (doneMsg) => {
689
494
  agentFinalOutput = doneMsg || "No response from the AI";
495
+ console.log("Finished", taskId, `$${agent.getTotalCostUsd()}`);
690
496
  finished = true;
691
497
  resolve("done");
692
498
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AgentModule.js","sourceRoot":"","sources":["../../../../src/chat/modules/AgentModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentModule.js","sourceRoot":"","sources":["../../../../src/chat/modules/AgentModule.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node --no-node-snapshot
2
2
  import "source-map-support/register";