@tyvm/knowhow 0.0.83 → 0.0.85

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 (237) hide show
  1. package/package.json +4 -2
  2. package/src/agents/base/base.ts +72 -62
  3. package/src/agents/index.ts +30 -14
  4. package/src/agents/researcher/researcher.ts +1 -2
  5. package/src/agents/tools/aiClient.ts +48 -0
  6. package/src/agents/tools/list.ts +57 -0
  7. package/src/agents/tools/startAgentTask.ts +3 -1
  8. package/src/chat/CliChatService.ts +20 -4
  9. package/src/chat/modules/AgentModule.ts +399 -357
  10. package/src/chat/modules/CustomCommandsModule.ts +0 -1
  11. package/src/chat/modules/InternalChatModule.ts +18 -2
  12. package/src/chat/modules/RendererModule.ts +109 -0
  13. package/src/chat/modules/SessionsModule.ts +854 -0
  14. package/src/chat/modules/SetupModule.ts +6 -8
  15. package/src/chat/modules/index.ts +1 -0
  16. package/src/chat/renderer/CompactRenderer.ts +209 -0
  17. package/src/chat/renderer/ConsoleRenderer.ts +141 -0
  18. package/src/chat/renderer/FancyRenderer.ts +421 -0
  19. package/src/chat/renderer/index.ts +5 -0
  20. package/src/chat/renderer/loadRenderer.ts +314 -0
  21. package/src/chat/renderer/messagesToRenderEvents.ts +96 -0
  22. package/src/chat/renderer/types.ts +88 -0
  23. package/src/chat/types.ts +5 -0
  24. package/src/chat.ts +69 -5
  25. package/src/cli.ts +24 -5
  26. package/src/clients/index.ts +91 -0
  27. package/src/clients/pricing/google.ts +81 -2
  28. package/src/clients/pricing/openai.ts +68 -0
  29. package/src/config.ts +15 -0
  30. package/src/plugins/AgentsMdPlugin.ts +1 -1
  31. package/src/plugins/GitPlugin.ts +20 -20
  32. package/src/plugins/PluginBase.ts +11 -0
  33. package/src/plugins/SkillsPlugin.ts +150 -0
  34. package/src/plugins/asana.ts +4 -4
  35. package/src/plugins/embedding.ts +3 -5
  36. package/src/plugins/exec.ts +3 -3
  37. package/src/plugins/figma.ts +3 -7
  38. package/src/plugins/github.ts +18 -29
  39. package/src/plugins/jira.ts +2 -2
  40. package/src/plugins/language.ts +4 -4
  41. package/src/plugins/linear.ts +4 -4
  42. package/src/plugins/notion.ts +6 -8
  43. package/src/plugins/plugins.ts +29 -3
  44. package/src/plugins/url.ts +2 -2
  45. package/src/plugins/vim.ts +4 -3
  46. package/src/services/AgentService.ts +17 -0
  47. package/src/services/AgentSyncFs.ts +3 -0
  48. package/src/services/EventService.ts +168 -27
  49. package/src/services/KnowhowClient.ts +1 -0
  50. package/src/services/SessionManager.ts +51 -1
  51. package/src/services/SyncedAgentWatcher.ts +397 -0
  52. package/src/services/SyncerService.ts +147 -0
  53. package/src/services/index.ts +2 -0
  54. package/src/services/modules/index.ts +14 -3
  55. package/src/types.ts +103 -5
  56. package/src/worker.ts +80 -2
  57. package/src/workers/auth/PasskeySetup.ts +185 -0
  58. package/src/workers/auth/WorkerPasskeyAuth.ts +190 -0
  59. package/src/workers/auth/types.ts +58 -0
  60. package/src/workers/tools/getChallenge.ts +33 -0
  61. package/src/workers/tools/index.ts +8 -0
  62. package/src/workers/tools/lock.ts +31 -0
  63. package/src/workers/tools/unlock.ts +116 -0
  64. package/tests/clients/pricing.test.ts +144 -0
  65. package/tests/unit/modules/moduleLoading.test.ts +226 -0
  66. package/tests/unit/plugins/pluginLoading.test.ts +151 -0
  67. package/ts_build/package.json +4 -2
  68. package/ts_build/src/agents/base/base.d.ts +4 -3
  69. package/ts_build/src/agents/base/base.js +54 -30
  70. package/ts_build/src/agents/base/base.js.map +1 -1
  71. package/ts_build/src/agents/index.d.ts +3 -0
  72. package/ts_build/src/agents/index.js +21 -11
  73. package/ts_build/src/agents/index.js.map +1 -1
  74. package/ts_build/src/agents/researcher/researcher.js +1 -1
  75. package/ts_build/src/agents/researcher/researcher.js.map +1 -1
  76. package/ts_build/src/agents/tools/aiClient.d.ts +3 -0
  77. package/ts_build/src/agents/tools/aiClient.js +31 -1
  78. package/ts_build/src/agents/tools/aiClient.js.map +1 -1
  79. package/ts_build/src/agents/tools/list.js +48 -0
  80. package/ts_build/src/agents/tools/list.js.map +1 -1
  81. package/ts_build/src/agents/tools/startAgentTask.js +2 -1
  82. package/ts_build/src/agents/tools/startAgentTask.js.map +1 -1
  83. package/ts_build/src/chat/CliChatService.js +16 -5
  84. package/ts_build/src/chat/CliChatService.js.map +1 -1
  85. package/ts_build/src/chat/modules/AgentModule.d.ts +34 -17
  86. package/ts_build/src/chat/modules/AgentModule.js +248 -258
  87. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  88. package/ts_build/src/chat/modules/CustomCommandsModule.js.map +1 -1
  89. package/ts_build/src/chat/modules/InternalChatModule.d.ts +3 -0
  90. package/ts_build/src/chat/modules/InternalChatModule.js +16 -1
  91. package/ts_build/src/chat/modules/InternalChatModule.js.map +1 -1
  92. package/ts_build/src/chat/modules/RendererModule.d.ts +16 -0
  93. package/ts_build/src/chat/modules/RendererModule.js +76 -0
  94. package/ts_build/src/chat/modules/RendererModule.js.map +1 -0
  95. package/ts_build/src/chat/modules/SessionsModule.d.ts +33 -0
  96. package/ts_build/src/chat/modules/SessionsModule.js +582 -0
  97. package/ts_build/src/chat/modules/SessionsModule.js.map +1 -0
  98. package/ts_build/src/chat/modules/SetupModule.d.ts +3 -3
  99. package/ts_build/src/chat/modules/SetupModule.js +4 -6
  100. package/ts_build/src/chat/modules/SetupModule.js.map +1 -1
  101. package/ts_build/src/chat/modules/index.d.ts +1 -0
  102. package/ts_build/src/chat/modules/index.js +3 -1
  103. package/ts_build/src/chat/modules/index.js.map +1 -1
  104. package/ts_build/src/chat/renderer/CompactRenderer.d.ts +23 -0
  105. package/ts_build/src/chat/renderer/CompactRenderer.js +167 -0
  106. package/ts_build/src/chat/renderer/CompactRenderer.js.map +1 -0
  107. package/ts_build/src/chat/renderer/ConsoleRenderer.d.ts +22 -0
  108. package/ts_build/src/chat/renderer/ConsoleRenderer.js +110 -0
  109. package/ts_build/src/chat/renderer/ConsoleRenderer.js.map +1 -0
  110. package/ts_build/src/chat/renderer/FancyRenderer.d.ts +23 -0
  111. package/ts_build/src/chat/renderer/FancyRenderer.js +328 -0
  112. package/ts_build/src/chat/renderer/FancyRenderer.js.map +1 -0
  113. package/ts_build/src/chat/renderer/index.d.ts +5 -0
  114. package/ts_build/src/chat/renderer/index.js +29 -0
  115. package/ts_build/src/chat/renderer/index.js.map +1 -0
  116. package/ts_build/src/chat/renderer/loadRenderer.d.ts +4 -0
  117. package/ts_build/src/chat/renderer/loadRenderer.js +246 -0
  118. package/ts_build/src/chat/renderer/loadRenderer.js.map +1 -0
  119. package/ts_build/src/chat/renderer/messagesToRenderEvents.d.ts +15 -0
  120. package/ts_build/src/chat/renderer/messagesToRenderEvents.js +72 -0
  121. package/ts_build/src/chat/renderer/messagesToRenderEvents.js.map +1 -0
  122. package/ts_build/src/chat/renderer/types.d.ts +75 -0
  123. package/ts_build/src/chat/renderer/types.js +3 -0
  124. package/ts_build/src/chat/renderer/types.js.map +1 -0
  125. package/ts_build/src/chat/types.d.ts +5 -0
  126. package/ts_build/src/chat.js +46 -4
  127. package/ts_build/src/chat.js.map +1 -1
  128. package/ts_build/src/cli.js +18 -5
  129. package/ts_build/src/cli.js.map +1 -1
  130. package/ts_build/src/clients/gemini.d.ts +10 -10
  131. package/ts_build/src/clients/index.d.ts +10 -0
  132. package/ts_build/src/clients/index.js +58 -0
  133. package/ts_build/src/clients/index.js.map +1 -1
  134. package/ts_build/src/clients/pricing/google.d.ts +10 -10
  135. package/ts_build/src/clients/pricing/google.js +74 -2
  136. package/ts_build/src/clients/pricing/google.js.map +1 -1
  137. package/ts_build/src/clients/pricing/openai.js +65 -0
  138. package/ts_build/src/clients/pricing/openai.js.map +1 -1
  139. package/ts_build/src/config.d.ts +1 -0
  140. package/ts_build/src/config.js +17 -1
  141. package/ts_build/src/config.js.map +1 -1
  142. package/ts_build/src/plugins/AgentsMdPlugin.js +1 -1
  143. package/ts_build/src/plugins/AgentsMdPlugin.js.map +1 -1
  144. package/ts_build/src/plugins/GitPlugin.js +20 -20
  145. package/ts_build/src/plugins/GitPlugin.js.map +1 -1
  146. package/ts_build/src/plugins/PluginBase.d.ts +1 -0
  147. package/ts_build/src/plugins/PluginBase.js +13 -0
  148. package/ts_build/src/plugins/PluginBase.js.map +1 -1
  149. package/ts_build/src/plugins/SkillsPlugin.d.ts +13 -0
  150. package/ts_build/src/plugins/SkillsPlugin.js +149 -0
  151. package/ts_build/src/plugins/SkillsPlugin.js.map +1 -0
  152. package/ts_build/src/plugins/asana.js +4 -4
  153. package/ts_build/src/plugins/asana.js.map +1 -1
  154. package/ts_build/src/plugins/embedding.js +3 -3
  155. package/ts_build/src/plugins/embedding.js.map +1 -1
  156. package/ts_build/src/plugins/exec.js +3 -3
  157. package/ts_build/src/plugins/exec.js.map +1 -1
  158. package/ts_build/src/plugins/figma.js +3 -3
  159. package/ts_build/src/plugins/figma.js.map +1 -1
  160. package/ts_build/src/plugins/github.js +18 -18
  161. package/ts_build/src/plugins/github.js.map +1 -1
  162. package/ts_build/src/plugins/jira.js +2 -2
  163. package/ts_build/src/plugins/jira.js.map +1 -1
  164. package/ts_build/src/plugins/language.js +4 -4
  165. package/ts_build/src/plugins/language.js.map +1 -1
  166. package/ts_build/src/plugins/linear.js +4 -4
  167. package/ts_build/src/plugins/linear.js.map +1 -1
  168. package/ts_build/src/plugins/notion.js +6 -6
  169. package/ts_build/src/plugins/notion.js.map +1 -1
  170. package/ts_build/src/plugins/plugins.d.ts +3 -0
  171. package/ts_build/src/plugins/plugins.js +18 -3
  172. package/ts_build/src/plugins/plugins.js.map +1 -1
  173. package/ts_build/src/plugins/url.js +2 -2
  174. package/ts_build/src/plugins/url.js.map +1 -1
  175. package/ts_build/src/plugins/vim.js +2 -2
  176. package/ts_build/src/plugins/vim.js.map +1 -1
  177. package/ts_build/src/services/AgentService.d.ts +3 -0
  178. package/ts_build/src/services/AgentService.js +7 -0
  179. package/ts_build/src/services/AgentService.js.map +1 -1
  180. package/ts_build/src/services/AgentSyncFs.d.ts +1 -0
  181. package/ts_build/src/services/AgentSyncFs.js +2 -0
  182. package/ts_build/src/services/AgentSyncFs.js.map +1 -1
  183. package/ts_build/src/services/EventService.d.ts +25 -2
  184. package/ts_build/src/services/EventService.js +92 -14
  185. package/ts_build/src/services/EventService.js.map +1 -1
  186. package/ts_build/src/services/KnowhowClient.d.ts +1 -0
  187. package/ts_build/src/services/KnowhowClient.js.map +1 -1
  188. package/ts_build/src/services/SessionManager.d.ts +6 -0
  189. package/ts_build/src/services/SessionManager.js +39 -1
  190. package/ts_build/src/services/SessionManager.js.map +1 -1
  191. package/ts_build/src/services/SyncedAgentWatcher.d.ts +101 -0
  192. package/ts_build/src/services/SyncedAgentWatcher.js +312 -0
  193. package/ts_build/src/services/SyncedAgentWatcher.js.map +1 -0
  194. package/ts_build/src/services/SyncerService.d.ts +30 -0
  195. package/ts_build/src/services/SyncerService.js +72 -0
  196. package/ts_build/src/services/SyncerService.js.map +1 -0
  197. package/ts_build/src/services/index.d.ts +2 -0
  198. package/ts_build/src/services/index.js +2 -0
  199. package/ts_build/src/services/index.js.map +1 -1
  200. package/ts_build/src/services/modules/index.js +10 -2
  201. package/ts_build/src/services/modules/index.js.map +1 -1
  202. package/ts_build/src/types.d.ts +51 -2
  203. package/ts_build/src/types.js +73 -5
  204. package/ts_build/src/types.js.map +1 -1
  205. package/ts_build/src/worker.d.ts +2 -0
  206. package/ts_build/src/worker.js +59 -4
  207. package/ts_build/src/worker.js.map +1 -1
  208. package/ts_build/src/workers/auth/PasskeySetup.d.ts +10 -0
  209. package/ts_build/src/workers/auth/PasskeySetup.js +131 -0
  210. package/ts_build/src/workers/auth/PasskeySetup.js.map +1 -0
  211. package/ts_build/src/workers/auth/WorkerPasskeyAuth.d.ts +35 -0
  212. package/ts_build/src/workers/auth/WorkerPasskeyAuth.js +129 -0
  213. package/ts_build/src/workers/auth/WorkerPasskeyAuth.js.map +1 -0
  214. package/ts_build/src/workers/auth/types.d.ts +36 -0
  215. package/ts_build/src/workers/auth/types.js +3 -0
  216. package/ts_build/src/workers/auth/types.js.map +1 -0
  217. package/ts_build/src/workers/tools/getChallenge.d.ts +9 -0
  218. package/ts_build/src/workers/tools/getChallenge.js +27 -0
  219. package/ts_build/src/workers/tools/getChallenge.js.map +1 -0
  220. package/ts_build/src/workers/tools/index.d.ts +6 -0
  221. package/ts_build/src/workers/tools/index.js +10 -0
  222. package/ts_build/src/workers/tools/index.js.map +1 -1
  223. package/ts_build/src/workers/tools/lock.d.ts +9 -0
  224. package/ts_build/src/workers/tools/lock.js +27 -0
  225. package/ts_build/src/workers/tools/lock.js.map +1 -0
  226. package/ts_build/src/workers/tools/unlock.d.ts +18 -0
  227. package/ts_build/src/workers/tools/unlock.js +78 -0
  228. package/ts_build/src/workers/tools/unlock.js.map +1 -0
  229. package/ts_build/tests/clients/pricing.test.d.ts +1 -0
  230. package/ts_build/tests/clients/pricing.test.js +90 -0
  231. package/ts_build/tests/clients/pricing.test.js.map +1 -0
  232. package/ts_build/tests/unit/modules/moduleLoading.test.d.ts +1 -0
  233. package/ts_build/tests/unit/modules/moduleLoading.test.js +187 -0
  234. package/ts_build/tests/unit/modules/moduleLoading.test.js.map +1 -0
  235. package/ts_build/tests/unit/plugins/pluginLoading.test.d.ts +1 -0
  236. package/ts_build/tests/unit/plugins/pluginLoading.test.js +123 -0
  237. package/ts_build/tests/unit/plugins/pluginLoading.test.js.map +1 -0
@@ -0,0 +1,15 @@
1
+ import { RenderEvent } from "../../chat/renderer/types";
2
+ export interface Message {
3
+ role: "assistant" | "user" | "tool" | "system";
4
+ content?: any;
5
+ tool_calls?: Array<{
6
+ id: string;
7
+ function: {
8
+ name: string;
9
+ arguments: string;
10
+ };
11
+ }>;
12
+ name?: string;
13
+ tool_call_id?: string;
14
+ }
15
+ export declare function messagesToRenderEvents(messages: Message[], taskId: string, agentName: string): RenderEvent[];
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.messagesToRenderEvents = void 0;
4
+ function messagesToRenderEvents(messages, taskId, agentName) {
5
+ const events = [];
6
+ for (const msg of messages) {
7
+ if (msg.role === "assistant") {
8
+ if (typeof msg.content === "string" && msg.content) {
9
+ events.push({
10
+ type: "agentMessage",
11
+ taskId,
12
+ agentName,
13
+ message: msg.content,
14
+ role: "assistant",
15
+ });
16
+ }
17
+ if (msg.tool_calls) {
18
+ for (const tc of msg.tool_calls) {
19
+ events.push({
20
+ type: "toolCall",
21
+ taskId,
22
+ agentName,
23
+ toolCall: {
24
+ id: tc.id,
25
+ function: {
26
+ name: tc.function.name,
27
+ arguments: tc.function.arguments,
28
+ },
29
+ },
30
+ });
31
+ }
32
+ }
33
+ }
34
+ else if (msg.role === "tool") {
35
+ const content = typeof msg.content === "string"
36
+ ? msg.content
37
+ : JSON.stringify(msg.content);
38
+ events.push({
39
+ type: "toolResult",
40
+ taskId,
41
+ agentName,
42
+ toolCall: { function: { name: msg.name || "unknown", arguments: "" } },
43
+ result: content,
44
+ });
45
+ }
46
+ else if (msg.role === "user") {
47
+ const content = typeof msg.content === "string"
48
+ ? msg.content
49
+ : Array.isArray(msg.content)
50
+ ? msg.content
51
+ .filter((c) => c.type === "text")
52
+ .map((c) => c.text)
53
+ .join("\n")
54
+ : String(msg.content ?? "");
55
+ if (content.trim().startsWith("<Workflow>") || /<Workflow>/i.test(content)) {
56
+ continue;
57
+ }
58
+ if (content) {
59
+ events.push({
60
+ type: "agentMessage",
61
+ taskId,
62
+ agentName,
63
+ message: content,
64
+ role: "user",
65
+ });
66
+ }
67
+ }
68
+ }
69
+ return events;
70
+ }
71
+ exports.messagesToRenderEvents = messagesToRenderEvents;
72
+ //# sourceMappingURL=messagesToRenderEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messagesToRenderEvents.js","sourceRoot":"","sources":["../../../../src/chat/renderer/messagesToRenderEvents.ts"],"names":[],"mappings":";;;AAqBA,SAAgB,sBAAsB,CACpC,QAAmB,EACnB,MAAc,EACd,SAAiB;IAEjB,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;QAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE;YAC5B,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE;gBAClD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,cAAc;oBACpB,MAAM;oBACN,SAAS;oBACT,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC;aACJ;YACD,IAAI,GAAG,CAAC,UAAU,EAAE;gBAClB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE;oBAC/B,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,UAAU;wBAChB,MAAM;wBACN,SAAS;wBACT,QAAQ,EAAE;4BACR,EAAE,EAAE,EAAE,CAAC,EAAE;4BACT,QAAQ,EAAE;gCACR,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;gCACtB,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS;6BACjC;yBACF;qBACF,CAAC,CAAC;iBACJ;aACF;SACF;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;YAC9B,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAC7B,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,MAAM;gBACN,SAAS;gBACT,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE;gBACtE,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;SACJ;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;YAC9B,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAC7B,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;oBAC5B,CAAC,CAAC,GAAG,CAAC,OAAO;yBACR,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;yBACrC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;yBACvB,IAAI,CAAC,IAAI,CAAC;oBACf,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAGhC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC1E,SAAS;aACV;YACD,IAAI,OAAO,EAAE;gBACX,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,cAAc;oBACpB,MAAM;oBACN,SAAS;oBACT,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,MAAM;iBACb,CAAC,CAAC;aACJ;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA1ED,wDA0EC"}
@@ -0,0 +1,75 @@
1
+ export interface LogEvent {
2
+ taskId: string;
3
+ agentName: string;
4
+ message: string;
5
+ level: "info" | "warn" | "error";
6
+ timestamp: number;
7
+ }
8
+ export interface ToolCall {
9
+ id?: string;
10
+ function: {
11
+ name: string;
12
+ arguments: string;
13
+ };
14
+ }
15
+ export interface ToolCallEvent {
16
+ taskId: string;
17
+ agentName: string;
18
+ toolCall: ToolCall;
19
+ }
20
+ export interface ToolResultEvent {
21
+ taskId: string;
22
+ agentName: string;
23
+ toolCall: ToolCall;
24
+ result: any;
25
+ }
26
+ export interface AgentMessageEvent {
27
+ taskId: string;
28
+ agentName: string;
29
+ message: string;
30
+ role: "assistant" | "user";
31
+ }
32
+ export interface AgentDoneEvent {
33
+ taskId: string;
34
+ agentName: string;
35
+ output: string;
36
+ totalCost: number;
37
+ }
38
+ export interface AgentStatusEvent {
39
+ taskId: string;
40
+ agentName: string;
41
+ statusMessage: string;
42
+ details: {
43
+ totalCostUsd: number;
44
+ elapsedMs: number;
45
+ remainingTimeMs?: number;
46
+ remainingTurns?: number;
47
+ remainingBudget?: number;
48
+ };
49
+ timestamp: number;
50
+ }
51
+ export type RenderEvent = ({
52
+ type: "log";
53
+ } & LogEvent) | ({
54
+ type: "agentStatus";
55
+ } & AgentStatusEvent) | ({
56
+ type: "toolCall";
57
+ } & ToolCallEvent) | ({
58
+ type: "toolResult";
59
+ } & ToolResultEvent) | ({
60
+ type: "agentMessage";
61
+ } & AgentMessageEvent) | ({
62
+ type: "agentDone";
63
+ } & AgentDoneEvent);
64
+ export interface AgentRenderer {
65
+ onLog(handler: (event: LogEvent) => void): void;
66
+ onAgentStatus(handler: (event: AgentStatusEvent) => void): void;
67
+ onToolCall(handler: (event: ToolCallEvent) => void): void;
68
+ onToolResult(handler: (event: ToolResultEvent) => void): void;
69
+ onAgentMessage(handler: (event: AgentMessageEvent) => void): void;
70
+ onAgentDone(handler: (event: AgentDoneEvent) => void): void;
71
+ render(event: RenderEvent): void;
72
+ setActiveTaskId(taskId: string | undefined): void;
73
+ getActiveTaskId(): string | undefined;
74
+ logMessages(events: RenderEvent[], count?: number): void;
75
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chat/renderer/types.ts"],"names":[],"mappings":""}
@@ -1,10 +1,12 @@
1
1
  import { ChatInteraction } from "../types";
2
2
  import { BaseAgent } from "../agents/base/base";
3
3
  import { ToolsService } from "src/services";
4
+ import { AgentRenderer } from "./renderer/types";
4
5
  export interface ChatContext {
5
6
  debugMode?: boolean;
6
7
  agentMode?: boolean;
7
8
  currentAgent?: string;
9
+ promptText?: string;
8
10
  searchMode?: boolean;
9
11
  voiceMode?: boolean;
10
12
  multilineMode?: boolean;
@@ -13,12 +15,15 @@ export interface ChatContext {
13
15
  inputMethod?: InputMethod;
14
16
  selectedAgent?: BaseAgent;
15
17
  plugins: string[];
18
+ activeAgentTaskId?: string;
19
+ renderer?: AgentRenderer;
16
20
  [key: string]: any;
17
21
  }
18
22
  export interface ChatMode {
19
23
  name: string;
20
24
  description: string;
21
25
  active: boolean;
26
+ promptText?: string | (() => string);
22
27
  }
23
28
  export interface CommandResult {
24
29
  handled: boolean;
@@ -5,6 +5,7 @@ exports.startChat = void 0;
5
5
  const CliChatService_js_1 = require("./chat/CliChatService.js");
6
6
  const InternalChatModule_js_1 = require("./chat/modules/InternalChatModule.js");
7
7
  const config_js_1 = require("./config.js");
8
+ const loadRenderer_js_1 = require("./chat/renderer/loadRenderer.js");
8
9
  async function main() {
9
10
  try {
10
11
  let config;
@@ -31,9 +32,48 @@ async function main() {
31
32
  },
32
33
  };
33
34
  }
34
- const chatService = new CliChatService_js_1.CliChatService(config.plugins.enabled);
35
- const internalModule = new InternalChatModule_js_1.InternalChatModule();
36
- await internalModule.initialize(chatService);
35
+ const chatService = new CliChatService_js_1.CliChatService(config.plugins?.enabled ?? []);
36
+ const rendererSpecifier = config.chat?.renderer;
37
+ if (rendererSpecifier) {
38
+ try {
39
+ const customRenderer = await (0, loadRenderer_js_1.loadRenderer)(rendererSpecifier);
40
+ chatService.setContext({ renderer: customRenderer });
41
+ console.log(`✓ Loaded custom renderer: ${rendererSpecifier}`);
42
+ }
43
+ catch (err) {
44
+ console.warn(`⚠ Could not load renderer "${rendererSpecifier}": ${err.message}`);
45
+ console.warn(" Falling back to default ConsoleRenderer.");
46
+ }
47
+ }
48
+ const rootModuleSpecifier = config.chat?.rootModule;
49
+ if (rootModuleSpecifier) {
50
+ try {
51
+ const customModule = await (0, loadRenderer_js_1.loadRootModule)(rootModuleSpecifier);
52
+ await customModule.initialize(chatService);
53
+ console.log(`✓ Loaded custom root module: ${rootModuleSpecifier}`);
54
+ }
55
+ catch (err) {
56
+ console.warn(`⚠ Could not load root module "${rootModuleSpecifier}": ${err.message}`);
57
+ console.warn(" Falling back to InternalChatModule.");
58
+ const internalModule = new InternalChatModule_js_1.InternalChatModule();
59
+ await internalModule.initialize(chatService);
60
+ }
61
+ }
62
+ else {
63
+ const internalModule = new InternalChatModule_js_1.InternalChatModule();
64
+ await internalModule.initialize(chatService);
65
+ }
66
+ const moduleSpecifiers = config.chat?.modules ?? [];
67
+ for (const specifier of moduleSpecifiers) {
68
+ try {
69
+ const chatModule = await (0, loadRenderer_js_1.loadChatModule)(specifier);
70
+ await chatModule.initialize(chatService);
71
+ console.log(`✓ Loaded chat module: ${specifier}`);
72
+ }
73
+ catch (err) {
74
+ console.warn(`⚠ Could not load chat module "${specifier}": ${err.message}`);
75
+ }
76
+ }
37
77
  await chatService.startChatLoop();
38
78
  }
39
79
  catch (error) {
@@ -43,7 +83,9 @@ async function main() {
43
83
  }
44
84
  exports.startChat = main;
45
85
  const isMainModule = (process.argv[1] && process.argv[1].endsWith("chat2.ts")) ||
46
- (process.argv[1] && process.argv[1].endsWith("chat2.js"));
86
+ (process.argv[1] && process.argv[1].endsWith("chat2.js")) ||
87
+ (process.argv[1] && process.argv[1].endsWith("chat.ts")) ||
88
+ (process.argv[1] && process.argv[1].endsWith("chat.js"));
47
89
  if (isMainModule) {
48
90
  main().catch(console.error);
49
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":";;;;AAMA,gEAA0D;AAC1D,gFAA0E;AAC1E,2CAAwC;AAExC,KAAK,UAAU,IAAI;IACjB,IAAI;QAEF,IAAI,MAAM,CAAC;QACX,IAAI;YACF,MAAM,GAAG,MAAM,IAAA,qBAAS,GAAE,CAAC;SAC5B;QAAC,OAAO,WAAW,EAAE;YACpB,OAAO,CAAC,IAAI,CACV,wDAAwD,EACxD,WAAW,CACZ,CAAC;YACF,MAAM,GAAG;gBACP,OAAO,EAAE;oBACP,OAAO,EAAE;wBACP,YAAY;wBACZ,UAAU;wBACV,KAAK;wBACL,QAAQ;wBACR,OAAO;wBACP,MAAM;wBACN,QAAQ;wBACR,UAAU;wBACV,OAAO;wBACP,KAAK;qBACN;oBACD,QAAQ,EAAE,EAAE;iBACb;aACF,CAAC;SACH;QAGD,MAAM,WAAW,GAAG,IAAI,kCAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAG/D,MAAM,cAAc,GAAG,IAAI,0CAAkB,EAAE,CAAC;QAChD,MAAM,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAG7C,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC;KACnC;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC;AAWgB,yBAAS;AAR1B,MAAM,YAAY,GAChB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAE5D,IAAI,YAAY,EAAE;IAChB,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;CAC7B"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ const types_1 = require("./types");
46
46
  const AskModule_1 = require("./chat/modules/AskModule");
47
47
  const SearchModule_1 = require("./chat/modules/SearchModule");
48
48
  const AgentModule_1 = require("./chat/modules/AgentModule");
49
+ const SessionsModule_1 = require("./chat/modules/SessionsModule");
49
50
  const ai_1 = require("./ai");
50
51
  const SetupModule_1 = require("./chat/modules/SetupModule");
51
52
  const CliChatService_1 = require("./chat/CliChatService");
@@ -55,17 +56,21 @@ async function setupServices() {
55
56
  Tools.setContext({
56
57
  ...OldTools.getContext(),
57
58
  });
58
- const { Researcher, Developer, Patcher, Setup } = (0, agents_1.agents)({
59
+ const agentContext = {
59
60
  ...(0, services_1.services)(),
60
61
  Tools,
62
+ };
63
+ const { Researcher, Developer, Patcher, Setup } = (0, agents_1.agents)({
64
+ ...agentContext,
61
65
  });
62
66
  Agents.registerAgent(Researcher);
63
67
  Agents.registerAgent(Patcher);
64
68
  Agents.registerAgent(Developer);
65
69
  Agents.registerAgent(Setup);
66
- Agents.loadAgentsFromConfig((0, services_1.services)());
70
+ Agents.loadAgentsFromConfig(agentContext);
67
71
  Tools.defineTools(list_1.includedTools, allTools);
68
72
  Tools.addContext("Mcp", Mcp);
73
+ Agents.setAgentContext(agentContext);
69
74
  console.log("🔌 Connecting to MCP...");
70
75
  await Mcp.connectToConfigured(Tools);
71
76
  console.log("Connecting to clients...");
@@ -264,7 +269,9 @@ async function main() {
264
269
  .action(async (options) => {
265
270
  try {
266
271
  await setupServices();
267
- const setupModule = new SetupModule_1.SetupModule();
272
+ const agentModule = new AgentModule_1.AgentModule();
273
+ await agentModule.initialize(chatService);
274
+ const setupModule = new SetupModule_1.SetupModule(agentModule);
268
275
  await setupModule.initialize(chatService);
269
276
  await setupModule.handleSetupCommand([]);
270
277
  }
@@ -299,11 +306,15 @@ async function main() {
299
306
  program
300
307
  .command("sessions")
301
308
  .description("Manage agent sessions from CLI")
302
- .action(async () => {
309
+ .option("--all", "Show all historical sessions (default: current process only)")
310
+ .option("--csv", "Output sessions as CSV")
311
+ .action(async (options) => {
303
312
  try {
304
313
  const agentModule = new AgentModule_1.AgentModule();
305
314
  await agentModule.initialize(chatService);
306
- await agentModule.logSessionTable();
315
+ const sessionsModule = new SessionsModule_1.SessionsModule(agentModule);
316
+ await sessionsModule.initialize(chatService);
317
+ await sessionsModule.logSessionTable(options.all || false, options.csv || false, true);
307
318
  }
308
319
  catch (error) {
309
320
  console.error("Error listing sessions:", error);
@@ -318,6 +329,8 @@ async function main() {
318
329
  .option("--unshare", "Make this worker private (only you can use it)")
319
330
  .option("--sandbox", "Run worker in a Docker container for isolation")
320
331
  .option("--no-sandbox", "Run worker directly on host (disable sandbox mode)")
332
+ .option("--passkey", "Set up passkey authentication for this worker")
333
+ .option("--passkey-reset", "Remove passkey authentication requirement")
321
334
  .action(async (options) => {
322
335
  await setupServices();
323
336
  await (0, worker_1.worker)(options);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -21,18 +21,18 @@ export declare class GenericGeminiClient implements GenericClient {
21
21
  output_gt_200k: number;
22
22
  context_caching: number;
23
23
  context_caching_gt_200k: number;
24
- thinking_output?: undefined;
25
24
  image_generation?: undefined;
25
+ thinking_output?: undefined;
26
26
  video_generation?: undefined;
27
27
  } | {
28
28
  input: number;
29
29
  output: number;
30
- thinking_output: number;
31
- context_caching: number;
30
+ image_generation: number;
32
31
  input_gt_200k?: undefined;
33
32
  output_gt_200k?: undefined;
33
+ context_caching?: undefined;
34
34
  context_caching_gt_200k?: undefined;
35
- image_generation?: undefined;
35
+ thinking_output?: undefined;
36
36
  video_generation?: undefined;
37
37
  } | {
38
38
  input: number;
@@ -41,18 +41,18 @@ export declare class GenericGeminiClient implements GenericClient {
41
41
  input_gt_200k?: undefined;
42
42
  output_gt_200k?: undefined;
43
43
  context_caching_gt_200k?: undefined;
44
- thinking_output?: undefined;
45
44
  image_generation?: undefined;
45
+ thinking_output?: undefined;
46
46
  video_generation?: undefined;
47
47
  } | {
48
48
  input: number;
49
49
  output: number;
50
- image_generation: number;
50
+ thinking_output: number;
51
+ context_caching: number;
51
52
  input_gt_200k?: undefined;
52
53
  output_gt_200k?: undefined;
53
- context_caching?: undefined;
54
54
  context_caching_gt_200k?: undefined;
55
- thinking_output?: undefined;
55
+ image_generation?: undefined;
56
56
  video_generation?: undefined;
57
57
  } | {
58
58
  input: number;
@@ -61,8 +61,8 @@ export declare class GenericGeminiClient implements GenericClient {
61
61
  output_gt_200k?: undefined;
62
62
  context_caching?: undefined;
63
63
  context_caching_gt_200k?: undefined;
64
- thinking_output?: undefined;
65
64
  image_generation?: undefined;
65
+ thinking_output?: undefined;
66
66
  video_generation?: undefined;
67
67
  } | {
68
68
  image_generation: number;
@@ -82,8 +82,8 @@ export declare class GenericGeminiClient implements GenericClient {
82
82
  output_gt_200k?: undefined;
83
83
  context_caching?: undefined;
84
84
  context_caching_gt_200k?: undefined;
85
- thinking_output?: undefined;
86
85
  image_generation?: undefined;
86
+ thinking_output?: undefined;
87
87
  };
88
88
  };
89
89
  calculateCost(model: string, usage: UsageMetadata): number | undefined;
@@ -4,6 +4,7 @@ import { GenericAnthropicClient } from "./anthropic";
4
4
  import { GenericGeminiClient } from "./gemini";
5
5
  import { GenericXAIClient } from "./xai";
6
6
  import { KnowhowGenericClient } from "./knowhow";
7
+ export type ModelModality = "completion" | "embedding" | "image" | "audio" | "video";
7
8
  export declare class AIClient {
8
9
  clients: {
9
10
  knowhow: KnowhowGenericClient;
@@ -28,6 +29,9 @@ export declare class AIClient {
28
29
  anthropic: string[];
29
30
  openai: string[];
30
31
  };
32
+ imageModels: Record<string, string[]>;
33
+ audioModels: Record<string, string[]>;
34
+ videoModels: Record<string, string[]>;
31
35
  getClient(provider: string, model?: string): {
32
36
  client: any;
33
37
  provider: string;
@@ -40,6 +44,9 @@ export declare class AIClient {
40
44
  registerModels(provider: string, models: string[]): void;
41
45
  registerClientProviderModels(client: GenericClient, providerModels: Record<string, string[]>): void;
42
46
  registerEmbeddingModels(provider: string, models: string[]): void;
47
+ registerImageModels(provider: string, models: string[]): void;
48
+ registerAudioModels(provider: string, models: string[]): void;
49
+ registerVideoModels(provider: string, models: string[]): void;
43
50
  providerHasModel(provider: string, model: string): boolean;
44
51
  findModel(modelPrefix: string): any;
45
52
  detectProviderModel(provider: string, model?: string): any;
@@ -75,6 +82,9 @@ export declare class AIClient {
75
82
  openai: string[];
76
83
  };
77
84
  listAllProviders(): string[];
85
+ listAllImageModels(): Record<string, string[]>;
86
+ listAllAudioModels(): Record<string, string[]>;
87
+ listAllVideoModels(): Record<string, string[]>;
78
88
  }
79
89
  export declare const Clients: AIClient;
80
90
  export * from "./types";
@@ -21,6 +21,7 @@ const gemini_1 = require("./gemini");
21
21
  const http_1 = require("./http");
22
22
  const types_1 = require("../types");
23
23
  const config_1 = require("../config");
24
+ const types_2 = require("../types");
24
25
  const xai_1 = require("./xai");
25
26
  const knowhow_1 = require("./knowhow");
26
27
  const KnowhowClient_1 = require("../services/KnowhowClient");
@@ -73,6 +74,36 @@ class AIClient {
73
74
  }),
74
75
  ...(envCheck("XAI_API_KEY") && { xai: this.completionModels.xai }),
75
76
  };
77
+ imageModels = {
78
+ ...(envCheck("OPENAI_KEY") && {
79
+ openai: types_2.OpenAiImageModels,
80
+ }),
81
+ ...(envCheck("GEMINI_API_KEY") && {
82
+ google: types_2.GoogleImageModels,
83
+ }),
84
+ ...(envCheck("XAI_API_KEY") && {
85
+ xai: types_2.XaiImageModels,
86
+ }),
87
+ };
88
+ audioModels = {
89
+ ...(envCheck("OPENAI_KEY") && {
90
+ openai: [...types_2.OpenAiTTSModels, ...types_2.OpenAiTranscriptionModels],
91
+ }),
92
+ ...(envCheck("GEMINI_API_KEY") && {
93
+ google: types_2.GoogleTTSModels,
94
+ }),
95
+ };
96
+ videoModels = {
97
+ ...(envCheck("OPENAI_KEY") && {
98
+ openai: types_2.OpenAiVideoModels,
99
+ }),
100
+ ...(envCheck("GEMINI_API_KEY") && {
101
+ google: types_2.GoogleVideoModels,
102
+ }),
103
+ ...(envCheck("XAI_API_KEY") && {
104
+ xai: types_2.XaiVideoModels,
105
+ }),
106
+ };
76
107
  getClient(provider, model) {
77
108
  if (provider && !model) {
78
109
  return { client: this.clients[provider], provider, model: undefined };
@@ -147,6 +178,24 @@ class AIClient {
147
178
  this.clientModels[provider] = Array.from(new Set(currentModels.concat(models)));
148
179
  this.embeddingModels[provider] = Array.from(new Set(currentModels.concat(models)));
149
180
  }
181
+ registerImageModels(provider, models) {
182
+ const currentModels = this.clientModels[provider] || [];
183
+ const currentImageModels = this.imageModels[provider] || [];
184
+ this.clientModels[provider] = Array.from(new Set(currentModels.concat(models)));
185
+ this.imageModels[provider] = Array.from(new Set(currentImageModels.concat(models)));
186
+ }
187
+ registerAudioModels(provider, models) {
188
+ const currentModels = this.clientModels[provider] || [];
189
+ const currentAudioModels = this.audioModels[provider] || [];
190
+ this.clientModels[provider] = Array.from(new Set(currentModels.concat(models)));
191
+ this.audioModels[provider] = Array.from(new Set(currentAudioModels.concat(models)));
192
+ }
193
+ registerVideoModels(provider, models) {
194
+ const currentModels = this.clientModels[provider] || [];
195
+ const currentVideoModels = this.videoModels[provider] || [];
196
+ this.clientModels[provider] = Array.from(new Set(currentModels.concat(models)));
197
+ this.videoModels[provider] = Array.from(new Set(currentVideoModels.concat(models)));
198
+ }
150
199
  providerHasModel(provider, model) {
151
200
  const models = this.clientModels[provider];
152
201
  if (!models)
@@ -338,6 +387,15 @@ class AIClient {
338
387
  listAllProviders() {
339
388
  return Object.keys(this.clientModels);
340
389
  }
390
+ listAllImageModels() {
391
+ return this.imageModels;
392
+ }
393
+ listAllAudioModels() {
394
+ return this.audioModels;
395
+ }
396
+ listAllVideoModels() {
397
+ return this.videoModels;
398
+ }
341
399
  }
342
400
  exports.AIClient = AIClient;
343
401
  exports.Clients = new AIClient();