@tyvm/knowhow 0.0.146 → 0.0.148

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 (271) hide show
  1. package/autodoc/cli-reference.md +36 -7
  2. package/bin/knowhow.js +8 -6
  3. package/package.json +1 -1
  4. package/src/agents/base/base.ts +51 -23
  5. package/src/agents/historyRollback.ts +36 -0
  6. package/src/agents/tools/execCommand.ts +102 -320
  7. package/src/agents/tools/list.ts +2 -2
  8. package/src/agents/tools/startAgentTask.ts +91 -34
  9. package/src/ai.ts +4 -1
  10. package/src/auth/browserLogin.ts +9 -3
  11. package/src/auth/keyAuth.ts +115 -0
  12. package/src/auth/keyManager.ts +166 -0
  13. package/src/chat/CliChatService.ts +23 -2
  14. package/src/chat/modules/AgentModule.ts +114 -33
  15. package/src/chat/modules/AskModule.ts +2 -0
  16. package/src/chat/modules/BaseChatModule.ts +0 -1
  17. package/src/chat/modules/CustomCommandsModule.ts +2 -0
  18. package/src/chat/modules/InternalChatModule.ts +7 -0
  19. package/src/chat/modules/RemoteSyncModule.ts +4 -0
  20. package/src/chat/modules/RendererModule.ts +2 -0
  21. package/src/chat/modules/SearchModule.ts +2 -0
  22. package/src/chat/modules/SessionsModule.ts +103 -34
  23. package/src/chat/modules/SetupModule.ts +2 -0
  24. package/src/chat/modules/ShellCommandModule.ts +2 -0
  25. package/src/chat/modules/SystemModule.ts +2 -0
  26. package/src/chat/modules/ToolCommandModule.ts +102 -0
  27. package/src/chat/modules/index.ts +1 -0
  28. package/src/chat/types.ts +3 -1
  29. package/src/cli.ts +10 -3
  30. package/src/clients/http.ts +67 -7
  31. package/src/clients/index.ts +4 -0
  32. package/src/commands/agent.ts +1 -38
  33. package/src/commands/agents.ts +455 -60
  34. package/src/commands/misc.ts +3 -2
  35. package/src/commands/processes.ts +138 -0
  36. package/src/commands/services.ts +23 -1
  37. package/src/index.ts +1 -0
  38. package/src/login.ts +89 -28
  39. package/src/processes/ProcessManager.ts +95 -0
  40. package/src/processes/managedProcessShim.ts +115 -0
  41. package/src/services/AgentService.ts +2 -0
  42. package/src/services/AgentSyncFs.ts +77 -1
  43. package/src/services/AgentSyncKnowhowWeb.ts +22 -4
  44. package/src/services/BehaviorsService.ts +2 -0
  45. package/src/services/DockerService.ts +2 -0
  46. package/src/services/EmbeddingService.ts +2 -0
  47. package/src/services/EmbeddingsService.ts +3 -0
  48. package/src/services/ExtensionsService.ts +25 -0
  49. package/src/services/KnowhowClient.ts +68 -7
  50. package/src/services/LazyToolsService.ts +24 -20
  51. package/src/services/Mcp.ts +2 -0
  52. package/src/services/McpServer.ts +2 -0
  53. package/src/services/MessageProcessor.ts +2 -0
  54. package/src/services/MinimalToolsService.ts +2 -0
  55. package/src/services/SessionManager.ts +5 -0
  56. package/src/services/SkillsService.ts +2 -0
  57. package/src/services/SyncedAgentWatcher.ts +2 -0
  58. package/src/services/SyncerService.ts +23 -8
  59. package/src/services/TaskRegistry.ts +2 -0
  60. package/src/services/Tools.ts +12 -0
  61. package/src/services/index.ts +6 -0
  62. package/src/services/modules/index.ts +10 -1
  63. package/src/services/modules/types.ts +4 -0
  64. package/src/types.ts +2 -0
  65. package/src/util/Trace.ts +1 -1
  66. package/src/utils/http.ts +18 -2
  67. package/tests/unit/agents/historyRollback.test.ts +53 -0
  68. package/tests/unit/auth/keyAuth.test.ts +102 -0
  69. package/tests/unit/auth/keyManager.test.ts +67 -0
  70. package/tests/unit/chat/ToolCommandModule.test.ts +71 -0
  71. package/tests/unit/chat/historyCommandArgs.test.ts +37 -0
  72. package/tests/unit/commands/agents.test.ts +111 -0
  73. package/tests/unit/login.test.ts +119 -0
  74. package/tests/unit/services/AgentSyncKnowhowWeb.test.ts +38 -0
  75. package/tests/unit/services/LazyToolsService.test.ts +53 -0
  76. package/tests/unit/services/SessionManager.test.ts +43 -0
  77. package/tests/unit/services/SyncerService.test.ts +45 -0
  78. package/tests/unit/util/Trace.test.ts +119 -0
  79. package/tests/unit/utils/http.test.ts +43 -0
  80. package/ts_build/package.json +1 -1
  81. package/ts_build/src/agents/base/base.d.ts +2 -1
  82. package/ts_build/src/agents/base/base.js +47 -14
  83. package/ts_build/src/agents/base/base.js.map +1 -1
  84. package/ts_build/src/agents/historyRollback.d.ts +2 -0
  85. package/ts_build/src/agents/historyRollback.js +22 -0
  86. package/ts_build/src/agents/historyRollback.js.map +1 -0
  87. package/ts_build/src/agents/tools/execCommand.d.ts +4 -1
  88. package/ts_build/src/agents/tools/execCommand.js +100 -223
  89. package/ts_build/src/agents/tools/execCommand.js.map +1 -1
  90. package/ts_build/src/agents/tools/list.js +2 -2
  91. package/ts_build/src/agents/tools/list.js.map +1 -1
  92. package/ts_build/src/agents/tools/startAgentTask.d.ts +16 -1
  93. package/ts_build/src/agents/tools/startAgentTask.js +71 -28
  94. package/ts_build/src/agents/tools/startAgentTask.js.map +1 -1
  95. package/ts_build/src/ai.js +2 -1
  96. package/ts_build/src/ai.js.map +1 -1
  97. package/ts_build/src/auth/browserLogin.d.ts +1 -0
  98. package/ts_build/src/auth/browserLogin.js +5 -2
  99. package/ts_build/src/auth/browserLogin.js.map +1 -1
  100. package/ts_build/src/auth/keyAuth.d.ts +5 -0
  101. package/ts_build/src/auth/keyAuth.js +79 -0
  102. package/ts_build/src/auth/keyAuth.js.map +1 -0
  103. package/ts_build/src/auth/keyManager.d.ts +14 -0
  104. package/ts_build/src/auth/keyManager.js +145 -0
  105. package/ts_build/src/auth/keyManager.js.map +1 -0
  106. package/ts_build/src/chat/CliChatService.d.ts +6 -0
  107. package/ts_build/src/chat/CliChatService.js +17 -2
  108. package/ts_build/src/chat/CliChatService.js.map +1 -1
  109. package/ts_build/src/chat/modules/AgentModule.d.ts +13 -1
  110. package/ts_build/src/chat/modules/AgentModule.js +83 -24
  111. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  112. package/ts_build/src/chat/modules/AskModule.js +12 -2
  113. package/ts_build/src/chat/modules/AskModule.js.map +1 -1
  114. package/ts_build/src/chat/modules/BaseChatModule.js.map +1 -1
  115. package/ts_build/src/chat/modules/CustomCommandsModule.js +12 -2
  116. package/ts_build/src/chat/modules/CustomCommandsModule.js.map +1 -1
  117. package/ts_build/src/chat/modules/InternalChatModule.d.ts +1 -0
  118. package/ts_build/src/chat/modules/InternalChatModule.js +21 -2
  119. package/ts_build/src/chat/modules/InternalChatModule.js.map +1 -1
  120. package/ts_build/src/chat/modules/RemoteSyncModule.js +19 -2
  121. package/ts_build/src/chat/modules/RemoteSyncModule.js.map +1 -1
  122. package/ts_build/src/chat/modules/RendererModule.js +17 -2
  123. package/ts_build/src/chat/modules/RendererModule.js.map +1 -1
  124. package/ts_build/src/chat/modules/SearchModule.js +12 -2
  125. package/ts_build/src/chat/modules/SearchModule.js.map +1 -1
  126. package/ts_build/src/chat/modules/SessionsModule.d.ts +6 -0
  127. package/ts_build/src/chat/modules/SessionsModule.js +113 -18
  128. package/ts_build/src/chat/modules/SessionsModule.js.map +1 -1
  129. package/ts_build/src/chat/modules/SetupModule.js +17 -2
  130. package/ts_build/src/chat/modules/SetupModule.js.map +1 -1
  131. package/ts_build/src/chat/modules/ShellCommandModule.js +12 -2
  132. package/ts_build/src/chat/modules/ShellCommandModule.js.map +1 -1
  133. package/ts_build/src/chat/modules/SystemModule.js +12 -2
  134. package/ts_build/src/chat/modules/SystemModule.js.map +1 -1
  135. package/ts_build/src/chat/modules/ToolCommandModule.d.ts +10 -0
  136. package/ts_build/src/chat/modules/ToolCommandModule.js +86 -0
  137. package/ts_build/src/chat/modules/ToolCommandModule.js.map +1 -0
  138. package/ts_build/src/chat/modules/index.d.ts +1 -0
  139. package/ts_build/src/chat/modules/index.js +3 -1
  140. package/ts_build/src/chat/modules/index.js.map +1 -1
  141. package/ts_build/src/chat/types.d.ts +3 -1
  142. package/ts_build/src/cli.js +7 -3
  143. package/ts_build/src/cli.js.map +1 -1
  144. package/ts_build/src/clients/http.d.ts +4 -0
  145. package/ts_build/src/clients/http.js +68 -6
  146. package/ts_build/src/clients/http.js.map +1 -1
  147. package/ts_build/src/clients/index.js +23 -4
  148. package/ts_build/src/clients/index.js.map +1 -1
  149. package/ts_build/src/commands/agent.js +1 -21
  150. package/ts_build/src/commands/agent.js.map +1 -1
  151. package/ts_build/src/commands/agents.d.ts +2 -1
  152. package/ts_build/src/commands/agents.js +216 -23
  153. package/ts_build/src/commands/agents.js.map +1 -1
  154. package/ts_build/src/commands/misc.js +3 -2
  155. package/ts_build/src/commands/misc.js.map +1 -1
  156. package/ts_build/src/commands/processes.d.ts +2 -0
  157. package/ts_build/src/commands/processes.js +213 -0
  158. package/ts_build/src/commands/processes.js.map +1 -0
  159. package/ts_build/src/commands/services.js +11 -1
  160. package/ts_build/src/commands/services.js.map +1 -1
  161. package/ts_build/src/index.d.ts +1 -0
  162. package/ts_build/src/index.js +1 -0
  163. package/ts_build/src/index.js.map +1 -1
  164. package/ts_build/src/login.d.ts +1 -1
  165. package/ts_build/src/login.js +53 -15
  166. package/ts_build/src/login.js.map +1 -1
  167. package/ts_build/src/processes/ProcessManager.d.ts +51 -0
  168. package/ts_build/src/processes/ProcessManager.js +160 -0
  169. package/ts_build/src/processes/ProcessManager.js.map +1 -0
  170. package/ts_build/src/processes/managedProcessShim.d.ts +1 -0
  171. package/ts_build/src/processes/managedProcessShim.js +161 -0
  172. package/ts_build/src/processes/managedProcessShim.js.map +1 -0
  173. package/ts_build/src/services/AgentService.js +18 -2
  174. package/ts_build/src/services/AgentService.js.map +1 -1
  175. package/ts_build/src/services/AgentSyncFs.d.ts +3 -0
  176. package/ts_build/src/services/AgentSyncFs.js +68 -16
  177. package/ts_build/src/services/AgentSyncFs.js.map +1 -1
  178. package/ts_build/src/services/AgentSyncKnowhowWeb.d.ts +2 -0
  179. package/ts_build/src/services/AgentSyncKnowhowWeb.js +28 -6
  180. package/ts_build/src/services/AgentSyncKnowhowWeb.js.map +1 -1
  181. package/ts_build/src/services/BehaviorsService.js +12 -2
  182. package/ts_build/src/services/BehaviorsService.js.map +1 -1
  183. package/ts_build/src/services/DockerService.js +20 -8
  184. package/ts_build/src/services/DockerService.js.map +1 -1
  185. package/ts_build/src/services/EmbeddingService.js +16 -2
  186. package/ts_build/src/services/EmbeddingService.js.map +1 -1
  187. package/ts_build/src/services/EmbeddingsService.js +12 -2
  188. package/ts_build/src/services/EmbeddingsService.js.map +1 -1
  189. package/ts_build/src/services/ExtensionsService.d.ts +10 -0
  190. package/ts_build/src/services/ExtensionsService.js +17 -0
  191. package/ts_build/src/services/ExtensionsService.js.map +1 -0
  192. package/ts_build/src/services/KnowhowClient.d.ts +7 -2
  193. package/ts_build/src/services/KnowhowClient.js +108 -10
  194. package/ts_build/src/services/KnowhowClient.js.map +1 -1
  195. package/ts_build/src/services/LazyToolsService.d.ts +2 -0
  196. package/ts_build/src/services/LazyToolsService.js +26 -9
  197. package/ts_build/src/services/LazyToolsService.js.map +1 -1
  198. package/ts_build/src/services/Mcp.js +12 -2
  199. package/ts_build/src/services/Mcp.js.map +1 -1
  200. package/ts_build/src/services/McpServer.js +17 -2
  201. package/ts_build/src/services/McpServer.js.map +1 -1
  202. package/ts_build/src/services/MessageProcessor.js +16 -2
  203. package/ts_build/src/services/MessageProcessor.js.map +1 -1
  204. package/ts_build/src/services/MinimalToolsService.js +16 -2
  205. package/ts_build/src/services/MinimalToolsService.js.map +1 -1
  206. package/ts_build/src/services/SessionManager.js +19 -2
  207. package/ts_build/src/services/SessionManager.js.map +1 -1
  208. package/ts_build/src/services/SkillsService.js +16 -2
  209. package/ts_build/src/services/SkillsService.js.map +1 -1
  210. package/ts_build/src/services/SyncedAgentWatcher.js +16 -2
  211. package/ts_build/src/services/SyncedAgentWatcher.js.map +1 -1
  212. package/ts_build/src/services/SyncerService.d.ts +1 -0
  213. package/ts_build/src/services/SyncerService.js +27 -5
  214. package/ts_build/src/services/SyncerService.js.map +1 -1
  215. package/ts_build/src/services/TaskRegistry.js +12 -2
  216. package/ts_build/src/services/TaskRegistry.js.map +1 -1
  217. package/ts_build/src/services/Tools.d.ts +1 -0
  218. package/ts_build/src/services/Tools.js +19 -2
  219. package/ts_build/src/services/Tools.js.map +1 -1
  220. package/ts_build/src/services/index.d.ts +5 -0
  221. package/ts_build/src/services/index.js +7 -2
  222. package/ts_build/src/services/index.js.map +1 -1
  223. package/ts_build/src/services/modules/index.d.ts +4 -1
  224. package/ts_build/src/services/modules/index.js +6 -1
  225. package/ts_build/src/services/modules/index.js.map +1 -1
  226. package/ts_build/src/services/modules/types.d.ts +3 -0
  227. package/ts_build/src/types.d.ts +1 -0
  228. package/ts_build/src/types.js.map +1 -1
  229. package/ts_build/src/util/Trace.d.ts +1 -3
  230. package/ts_build/src/utils/http.d.ts +6 -2
  231. package/ts_build/src/utils/http.js +8 -2
  232. package/ts_build/src/utils/http.js.map +1 -1
  233. package/ts_build/tests/unit/agents/historyRollback.test.d.ts +1 -0
  234. package/ts_build/tests/unit/agents/historyRollback.test.js +42 -0
  235. package/ts_build/tests/unit/agents/historyRollback.test.js.map +1 -0
  236. package/ts_build/tests/unit/auth/keyAuth.test.d.ts +1 -0
  237. package/ts_build/tests/unit/auth/keyAuth.test.js +77 -0
  238. package/ts_build/tests/unit/auth/keyAuth.test.js.map +1 -0
  239. package/ts_build/tests/unit/auth/keyManager.test.d.ts +1 -0
  240. package/ts_build/tests/unit/auth/keyManager.test.js +52 -0
  241. package/ts_build/tests/unit/auth/keyManager.test.js.map +1 -0
  242. package/ts_build/tests/unit/chat/ToolCommandModule.test.d.ts +1 -0
  243. package/ts_build/tests/unit/chat/ToolCommandModule.test.js +61 -0
  244. package/ts_build/tests/unit/chat/ToolCommandModule.test.js.map +1 -0
  245. package/ts_build/tests/unit/chat/historyCommandArgs.test.d.ts +1 -0
  246. package/ts_build/tests/unit/chat/historyCommandArgs.test.js +29 -0
  247. package/ts_build/tests/unit/chat/historyCommandArgs.test.js.map +1 -0
  248. package/ts_build/tests/unit/commands/agents.test.d.ts +1 -0
  249. package/ts_build/tests/unit/commands/agents.test.js +119 -0
  250. package/ts_build/tests/unit/commands/agents.test.js.map +1 -0
  251. package/ts_build/tests/unit/login.test.d.ts +1 -0
  252. package/ts_build/tests/unit/login.test.js +97 -0
  253. package/ts_build/tests/unit/login.test.js.map +1 -0
  254. package/ts_build/tests/unit/services/AgentSyncKnowhowWeb.test.d.ts +1 -0
  255. package/ts_build/tests/unit/services/AgentSyncKnowhowWeb.test.js +32 -0
  256. package/ts_build/tests/unit/services/AgentSyncKnowhowWeb.test.js.map +1 -0
  257. package/ts_build/tests/unit/services/LazyToolsService.test.d.ts +1 -0
  258. package/ts_build/tests/unit/services/LazyToolsService.test.js +47 -0
  259. package/ts_build/tests/unit/services/LazyToolsService.test.js.map +1 -0
  260. package/ts_build/tests/unit/services/SessionManager.test.d.ts +1 -0
  261. package/ts_build/tests/unit/services/SessionManager.test.js +72 -0
  262. package/ts_build/tests/unit/services/SessionManager.test.js.map +1 -0
  263. package/ts_build/tests/unit/services/SyncerService.test.d.ts +1 -0
  264. package/ts_build/tests/unit/services/SyncerService.test.js +40 -0
  265. package/ts_build/tests/unit/services/SyncerService.test.js.map +1 -0
  266. package/ts_build/tests/unit/util/Trace.test.d.ts +1 -0
  267. package/ts_build/tests/unit/util/Trace.test.js +107 -0
  268. package/ts_build/tests/unit/util/Trace.test.js.map +1 -0
  269. package/ts_build/tests/unit/utils/http.test.d.ts +1 -0
  270. package/ts_build/tests/unit/utils/http.test.js +69 -0
  271. package/ts_build/tests/unit/utils/http.test.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Tools.js","sourceRoot":"","sources":["../../../src/services/Tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tools.js","sourceRoot":"","sources":["../../../src/services/Tools.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,9 @@ import { DockerService } from "./DockerService";
12
12
  import { MediaProcessorService } from "./MediaProcessorService";
13
13
  import { BehaviorsService } from "./BehaviorsService";
14
14
  import { RuntimeReloadService } from "./RuntimeReloadService";
15
+ import { ExtensionsService } from "./ExtensionsService";
15
16
  import { ConversionService } from "./conversion/ConversionService";
17
+ import { TracingService } from "./TracingService";
16
18
  export * from "./AgentService";
17
19
  export * from "./EventService";
18
20
  export * from "./flags";
@@ -38,11 +40,13 @@ export { TracingService } from "./TracingService";
38
40
  export type { TracerImpl, SpanHandle } from "./TracingService";
39
41
  export * from "./conversion";
40
42
  export * from "./RuntimeReloadService";
43
+ export * from "./ExtensionsService";
41
44
  export { BehaviorsService } from "./BehaviorsService";
42
45
  declare let Singletons: {
43
46
  Tools: ToolsService;
44
47
  Events: EventService;
45
48
  Agents: AgentService;
49
+ Tracing: typeof TracingService;
46
50
  Embeddings: EmbeddingsService;
47
51
  Flags: FlagsService;
48
52
  Mcp: McpService;
@@ -55,5 +59,6 @@ declare let Singletons: {
55
59
  Conversion: ConversionService;
56
60
  Behaviors: BehaviorsService;
57
61
  RuntimeReload: RuntimeReloadService;
62
+ Extensions: ExtensionsService;
58
63
  };
59
64
  export declare const services: () => typeof Singletons;
@@ -51,7 +51,9 @@ const DockerService_1 = require("./DockerService");
51
51
  const MediaProcessorService_1 = require("./MediaProcessorService");
52
52
  const BehaviorsService_1 = require("./BehaviorsService");
53
53
  const RuntimeReloadService_1 = require("./RuntimeReloadService");
54
+ const ExtensionsService_1 = require("./ExtensionsService");
54
55
  const ConversionService_1 = require("./conversion/ConversionService");
56
+ const TracingService_1 = require("./TracingService");
55
57
  __exportStar(require("./AgentService"), exports);
56
58
  __exportStar(require("./EventService"), exports);
57
59
  __exportStar(require("./flags"), exports);
@@ -74,10 +76,11 @@ __exportStar(require("./watchers"), exports);
74
76
  var clients_2 = require("../clients");
75
77
  Object.defineProperty(exports, "Clients", { enumerable: true, get: function () { return clients_2.Clients; } });
76
78
  __exportStar(require("../util/Trace"), exports);
77
- var TracingService_1 = require("./TracingService");
78
- Object.defineProperty(exports, "TracingService", { enumerable: true, get: function () { return TracingService_1.TracingService; } });
79
+ var TracingService_2 = require("./TracingService");
80
+ Object.defineProperty(exports, "TracingService", { enumerable: true, get: function () { return TracingService_2.TracingService; } });
79
81
  __exportStar(require("./conversion"), exports);
80
82
  __exportStar(require("./RuntimeReloadService"), exports);
83
+ __exportStar(require("./ExtensionsService"), exports);
81
84
  var BehaviorsService_2 = require("./BehaviorsService");
82
85
  Object.defineProperty(exports, "BehaviorsService", { enumerable: true, get: function () { return BehaviorsService_2.BehaviorsService; } });
83
86
  let Singletons = {};
@@ -98,6 +101,7 @@ const services = () => {
98
101
  Singletons = {
99
102
  Agents,
100
103
  AwsS3: new S3_1.S3Service(),
104
+ Tracing: TracingService_1.TracingService,
101
105
  Clients: clients_1.Clients,
102
106
  Docker: new DockerService_1.DockerService(),
103
107
  Events,
@@ -111,6 +115,7 @@ const services = () => {
111
115
  knowhowApiClient: new KnowhowClient_1.KnowhowSimpleClient(),
112
116
  Behaviors,
113
117
  RuntimeReload: new RuntimeReloadService_1.RuntimeReloadService(),
118
+ Extensions: new ExtensionsService_1.ExtensionsService(),
114
119
  };
115
120
  Singletons.Tools.setContext({
116
121
  Agents,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA+C;AAC/C,iDAA8C;AAC9C,iDAA8C;AAC9C,mCAAuC;AACvC,2DAAwD;AACxD,mDAAsD;AACtD,+BAAmC;AACnC,6BAAiC;AACjC,mCAAuC;AACvC,gDAAqE;AACrE,mDAAgD;AAKhD,mEAAgE;AAChE,yDAAsD;AACtD,iEAA8D;AAE9D,sEAAmE;AAGnE,iDAA+B;AAC/B,iDAA+B;AAC/B,0CAAwB;AACxB,sDAAoC;AACpC,uCAAqB;AACrB,0CAAwB;AACxB,qDAAmC;AACnC,wDAAsC;AACtC,6CAA6B;AAC7B,qDAAmC;AACnC,kDAAgC;AAChC,0DAAwC;AACxC,wDAAsC;AACtC,gDAA8B;AAC9B,mDAAiC;AACjC,iDAA+B;AAC/B,uDAAqC;AACrC,kDAAgC;AAChC,6CAA2B;AAC3B,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAChB,gDAA8B;AAC9B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,+CAA6B;AAC7B,yDAAuC;AACvC,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB,IAAI,UAAU,GAAG,EAgBhB,CAAC;AAEK,MAAM,QAAQ,GAAG,GAAsB,EAAE;IAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,oBAAY,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,2BAAY,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,2BAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,IAAI,6CAAqB,CAAC,iBAAO,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,mCAAgB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,iBAAO,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,0BAAgB,CAAC;YACnC,MAAM;YACN,MAAM;YACN,KAAK;YACL,OAAO,EAAP,iBAAO;SACR,CAAC,CAAC;QAEH,UAAU,GAAG;YACX,MAAM;YACN,KAAK,EAAE,IAAI,cAAS,EAAE;YACtB,OAAO,EAAP,iBAAO;YACP,MAAM,EAAE,IAAI,6BAAa,EAAE;YAC3B,MAAM;YACN,UAAU,EAAE,IAAI,qCAAiB,EAAE;YACnC,KAAK,EAAE,IAAI,oBAAY,EAAE;YACzB,GAAG,EAAE,IAAI,gBAAU,EAAE;YACrB,cAAc;YACd,UAAU;YACV,OAAO;YACP,KAAK;YACL,gBAAgB,EAAE,IAAI,mCAAmB,EAAE;YAC3C,SAAS;YACT,aAAa,EAAE,IAAI,2CAAoB,EAAE;SAC1C,CAAC;QAEF,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1B,MAAM;YACN,MAAM;YACN,OAAO;YACP,OAAO,EAAP,iBAAO;YACP,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AA3CW,QAAA,QAAQ,YA2CnB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA+C;AAC/C,iDAA8C;AAC9C,iDAA8C;AAC9C,mCAAuC;AACvC,2DAAwD;AACxD,mDAAsD;AACtD,+BAAmC;AACnC,6BAAiC;AACjC,mCAAuC;AACvC,gDAAqE;AACrE,mDAAgD;AAKhD,mEAAgE;AAChE,yDAAsD;AACtD,iEAA8D;AAC9D,2DAAwD;AAExD,sEAAmE;AACnE,qDAAkD;AAElD,iDAA+B;AAC/B,iDAA+B;AAC/B,0CAAwB;AACxB,sDAAoC;AACpC,uCAAqB;AACrB,0CAAwB;AACxB,qDAAmC;AACnC,wDAAsC;AACtC,6CAA6B;AAC7B,qDAAmC;AACnC,kDAAgC;AAChC,0DAAwC;AACxC,wDAAsC;AACtC,gDAA8B;AAC9B,mDAAiC;AACjC,iDAA+B;AAC/B,uDAAqC;AACrC,kDAAgC;AAChC,6CAA2B;AAC3B,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAChB,gDAA8B;AAC9B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,+CAA6B;AAC7B,yDAAuC;AACvC,sDAAoC;AACpC,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB,IAAI,UAAU,GAAG,EAkBhB,CAAC;AAEK,MAAM,QAAQ,GAAG,GAAsB,EAAE;IAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,oBAAY,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,2BAAY,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,2BAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,IAAI,6CAAqB,CAAC,iBAAO,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,mCAAgB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,iBAAO,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,0BAAgB,CAAC;YACnC,MAAM;YACN,MAAM;YACN,KAAK;YACL,OAAO,EAAP,iBAAO;SACR,CAAC,CAAC;QAEH,UAAU,GAAG;YACX,MAAM;YACN,KAAK,EAAE,IAAI,cAAS,EAAE;YACtB,OAAO,EAAE,+BAAc;YACvB,OAAO,EAAP,iBAAO;YACP,MAAM,EAAE,IAAI,6BAAa,EAAE;YAC3B,MAAM;YACN,UAAU,EAAE,IAAI,qCAAiB,EAAE;YACnC,KAAK,EAAE,IAAI,oBAAY,EAAE;YACzB,GAAG,EAAE,IAAI,gBAAU,EAAE;YACrB,cAAc;YACd,UAAU;YACV,OAAO;YACP,KAAK;YACL,gBAAgB,EAAE,IAAI,mCAAmB,EAAE;YAC3C,SAAS;YACT,aAAa,EAAE,IAAI,2CAAoB,EAAE;YACzC,UAAU,EAAE,IAAI,qCAAiB,EAAE;SACpC,CAAC;QAEF,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1B,MAAM;YACN,MAAM;YACN,OAAO;YACP,OAAO,EAAP,iBAAO;YACP,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AA7CW,QAAA,QAAQ,YA6CnB"}
@@ -5,6 +5,7 @@ export declare class ModulesService {
5
5
  Tools: import("../Tools").ToolsService;
6
6
  Events: import("../EventService").EventService;
7
7
  Agents: import("../AgentService").AgentService;
8
+ Tracing: typeof import("../TracingService").TracingService;
8
9
  Embeddings: import("../EmbeddingsService").EmbeddingsService;
9
10
  Flags: import("../flags").FlagsService;
10
11
  Mcp: import("../Mcp").McpService;
@@ -17,6 +18,7 @@ export declare class ModulesService {
17
18
  Conversion: import("../").ConversionService;
18
19
  Behaviors: import("../BehaviorsService").BehaviorsService;
19
20
  RuntimeReload: import("../RuntimeReloadService").RuntimeReloadService;
21
+ Extensions: import("../ExtensionsService").ExtensionsService;
20
22
  }>;
21
23
  overrideDefaultContext(overrides: Partial<ModuleContext>): Promise<{
22
24
  Agents: import("../AgentService").AgentService;
@@ -31,7 +33,8 @@ export declare class ModulesService {
31
33
  Program?: import("node_modules/commander/typings").Command;
32
34
  Behaviors: import("../BehaviorsService").BehaviorsService;
33
35
  ComputerUse?: import("./computerUse").ComputerUseService;
34
- Tracing?: typeof import("../TracingService").TracingService;
36
+ Extensions: import("../ExtensionsService").ExtensionsService;
37
+ Tracing: typeof import("../TracingService").TracingService;
35
38
  Flags: import("../flags").FlagsService;
36
39
  Mcp: import("../Mcp").McpService;
37
40
  AwsS3: import("../S3").S3Service;
@@ -156,6 +156,10 @@ class ModulesService {
156
156
  continue;
157
157
  }
158
158
  this._loadedModules.push({ modulePath, resolvedPath, module: importedModule, params: initParams });
159
+ context.Extensions?.removeOwner(modulePath);
160
+ for (const extension of importedModule.extensions ?? []) {
161
+ context.Extensions?.register(modulePath, extension);
162
+ }
159
163
  if (context.Agents) {
160
164
  for (const agent of importedModule.agents) {
161
165
  context.Agents.registerAgent(agent);
@@ -184,6 +188,7 @@ class ModulesService {
184
188
  const toDestroy = [...this._loadedModules].reverse();
185
189
  this._loadedModules = [];
186
190
  for (const { modulePath, resolvedPath, module: mod, params } of toDestroy) {
191
+ params.context?.Extensions?.removeOwner(modulePath);
187
192
  if (typeof mod.destroy === "function") {
188
193
  try {
189
194
  await mod.destroy(params);
@@ -203,7 +208,7 @@ class ModulesService {
203
208
  const globalModules = (0, utils_1.toUniqueArray)(globalConfig.modules || []);
204
209
  const localModules = (0, utils_1.toUniqueArray)(config.modules || []).filter((m) => !globalModules.includes(m));
205
210
  if (globalModules.length > 0) {
206
- await this.loadModulesFrom({ ...config, modules: globalModules }, context, globalResolvePaths());
211
+ await this.loadModulesFrom({ ...globalConfig, ...config, modules: globalModules }, context, globalResolvePaths());
207
212
  }
208
213
  if (localModules.length > 0) {
209
214
  await this.loadModulesFrom({ ...config, modules: localModules }, context, localResolvePaths());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/modules/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/modules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,uCAAyB;AACzB,+CAAiC;AAEjC,yCAA0D;AAE1D,2BAA+B;AAC/B,uCAA4C;AAiB5C,SAAS,iBAAiB;IACxB,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAa,cAAc;IACjB,cAAc,GAKhB,EAAE,CAAC;IAET,KAAK,CAAC,iBAAiB;QACrB,OAAO,EAAE,GAAG,IAAA,YAAQ,GAAE,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,SAAiC;QAC5D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAmC,EACnC,OAAgC,EAChC,eAAyB,iBAAiB,EAAE;QAG5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QACpD,CAAC;QAMD,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;QAClF,MAAM,WAAW,GAAI,MAAc,CAAC,WAAuB,CAAC;QAC5D,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACnE,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;QAiBtC,MAAM,aAAa,GAIb,EAAE,CAAC;QAET,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;YAMxC,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBAGN,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE;4BAC3C,KAAK,EAAE,CAAC,UAAU,CAAC;yBACpB,CAAC,CAAC;wBACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAChE,CAAC;oBAAC,MAAM,CAAC;oBAET,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChE,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;gBACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;oBAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3D,CAAC;YAMD,IAAI,cAA6B,CAAC;YAClC,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,oBAAoB,GAAG,UAAU,CAAC;YACtC,MAAM,MAAM,GAA0C,EAAE,CAAC;YACzD,KAAK,MAAM,YAAY,IAAI,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;oBACxC,cAAc,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAkB,CAAC;oBACnE,OAAO,CAAC,MAAM,EAAE,GAAG,CACjB,gBAAgB,EAChB,sBAAsB,UAAU,eAAe,YAAY,GAAG,CAC/D,CAAC;oBAIF,IAAI,OAAO,cAAc,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;wBAClD,MAAM,cAAc,CAAC,QAAQ,CAAC;4BAC5B,MAAM;4BACN,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;4BAClB,OAAO,EAAE,OAAwB;yBAClC,CAAC,CAAC;oBACL,CAAC;oBACD,oBAAoB,GAAG,YAAY,CAAC;oBACpC,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM;gBACR,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAEvD,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBAEZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,IAAI;oBACjB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBACzB,CAAC,CAAC,4BAA4B,CAAC;gBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gCAAgC,UAAU,MAAM,MAAM,IAAI;oBAC1D,aAAa,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI;oBAClD,uEAAuE,UAAU,6BAA6B,CAC/G,CAAC;gBACF,SAAS;YACX,CAAC;YACD,aAAa,CAAC,IAAI,CAAC;gBACjB,UAAU;gBACV,YAAY,EAAE,oBAAoB;gBAClC,MAAM,EAAE,cAAc;aACvB,CAAC,CAAC;QACL,CAAC;QAID,KAAK,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,aAAa,EAAE,CAAC;YACjF,MAAM,UAAU,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAwB,EAAE,CAAC;YACrF,IAAI,CAAC;gBACH,MAAM,cAAc,CAAC,IAAI,CAAC;oBACxB,MAAM;oBACN,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;oBAClB,OAAO,EAAE,OAAwB;iBAClC,CAAC,CAAC;gBACH,OAAO,CAAC,MAAM,EAAE,GAAG,CACjB,gBAAgB,EAChB,yBAAyB,UAAU,YAAY,cAAc,CAAC,KAAK,CAAC,MAAM,aAAa,cAAc,CAAC,MAAM,CAAC,MAAM,cAAc,cAAc,CAAC,OAAO,CAAC,MAAM,cAAc,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAC7M,CAAC;YACJ,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gCAAgC,UAAU,MAAM,GAAG,EAAE,OAAO,IAAI,GAAG,MAAM,CAC1E,CAAC;gBACF,SAAS;YACX,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAEnG,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;YAC5C,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBACxD,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACtD,CAAC;YAID,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC1C,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;oBACxC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACvC,OAAO,CAAC,KAAK,CAAC,WAAW,CACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAC7B,IAAI,CAAC,OAAO,CACb,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC5C,OAAO,CAAC,OAAO,CAAC,cAAc,CAC5B,MAAM,CAAC,IAAI,EACX,IAAI,MAAM,CAAC,MAAM,CAAC,OAAc,CAAC,CAClC,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC5C,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/D,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAOD,KAAK,CAAC,cAAc;QAClB,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;QAErD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC1E,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kCAAkC,UAAU,MAAM,GAAG,EAAE,OAAO,IAAI,GAAG,MAAM,CAC5E,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAuB;QACjD,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,GAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,MAAM,IAAA,wBAAe,GAAE,CAAC;QAE7C,MAAM,aAAa,GAAG,IAAA,qBAAa,EAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAIhE,MAAM,YAAY,GAAG,IAAA,qBAAa,EAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAC7D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAClC,CAAC;QAOF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,EACtD,OAAO,EACP,kBAAkB,EAAE,CACrB,CAAC;QACJ,CAAC;QAID,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,eAAe,CACxB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EACpC,OAAO,EACP,iBAAiB,EAAE,CACpB,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAjRD,wCAiRC"}
@@ -15,6 +15,7 @@ import { EventService } from "../EventService";
15
15
  import { ConversionService } from "../conversion/ConversionService";
16
16
  import { BehaviorsService } from "../BehaviorsService";
17
17
  import { ComputerUseService } from "./computerUse";
18
+ import { ExtensionsService, ModuleExtension } from "../ExtensionsService";
18
19
  import { TracingService as TracingServiceType } from "../TracingService";
19
20
  export interface ModuleChatCommand {
20
21
  name: string;
@@ -55,6 +56,7 @@ export interface ModuleContext {
55
56
  Program?: Command;
56
57
  Behaviors?: BehaviorsService;
57
58
  ComputerUse?: ComputerUseService;
59
+ Extensions?: ExtensionsService;
58
60
  [key: string]: any;
59
61
  Tracing?: typeof TracingServiceType;
60
62
  }
@@ -63,6 +65,7 @@ export interface KnowhowModule {
63
65
  init: (params: InitParams) => Promise<void>;
64
66
  destroy?: (params: InitParams) => Promise<void>;
65
67
  commands: ModuleChatCommand[];
68
+ extensions?: ModuleExtension[];
66
69
  tools: ModuleTool[];
67
70
  agents: ModuleAgent[];
68
71
  plugins: ModulePlugin[];
@@ -43,6 +43,7 @@ export type Config = {
43
43
  [fileExtension: string]: string;
44
44
  };
45
45
  orgId?: string;
46
+ cliIdentityPath?: string;
46
47
  syncRemote?: boolean;
47
48
  micCommand?: string;
48
49
  defaultMic?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA8PA,8CAGC;AAED,gDAGC;AAlDD,2DAAmF;AAsCjF,oGAtCwB,+BAAmB,OAsCxB;AArCrB,qDAKkC;AA0BhC,sGA7BA,8BAAqB,OA6BA;AAAE,iGA7BA,yBAAgB,OA6BA;AAAE,0GA7BA,kCAAyB,OA6BA;AAClE,0GA7BA,kCAAyB,OA6BA;AAAE,kGA7BA,0BAAiB,OA6BA;AAAE,kGA7BA,0BAAiB,OA6BA;AAC/D,gGA7BA,wBAAe,OA6BA;AAAE,0GA7BA,kCAAyB,OA6BA;AAAE,qGA7BA,6BAAoB,OA6BA;AA3BlE,qDAIkC;AAwBZ,sGA1BpB,yBAAgB,OA0ByB;AACzC,kGA3BkB,0BAAiB,OA2BlB;AAAE,kGA3BkB,0BAAiB,OA2BlB;AAAE,gGA1BtC,wBAAe,OA0BsC;AAAE,0GA1BtC,kCAAyB,OA0BsC;AAChF,0GA3B4C,kCAAyB,OA2B5C;AAAE,2GA3B4C,mCAA0B,OA2B5C;AAzBvD,+CAE+B;AAyB7B,8FA1BW,mBAAa,OA0BX;AAAE,+FA1BW,oBAAc,OA0BX;AAAE,+FA1BW,oBAAc,OA0BX;AAAE,uGA1BW,4BAAsB,OA0BX;AAAE,mGA1BW,wBAAkB,OA0BX;AAxB3F,2DAA8D;AAEjD,QAAA,MAAM,GAAG;IACpB,SAAS,EAAE,2BAAe;IAC1B,GAAG,EAAE,eAAS;IACd,MAAM,EAAE,qBAAY;IACpB,MAAM,EAAE,qBAAY;IACpB,SAAS,EAAE,2BAAe;CAC3B,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,8BAAqB;IAC7B,MAAM,EAAE,8BAAqB;CAC9B,CAAC;AAcF,SAAgB,iBAAiB,CAAC,OAAsC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAsC;IACvE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;AAChC,CAAC;AAEY,QAAA,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC/D,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACf,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAA0D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAgQA,8CAGC;AAED,gDAGC;AAlDD,2DAAmF;AAsCjF,oGAtCwB,+BAAmB,OAsCxB;AArCrB,qDAKkC;AA0BhC,sGA7BA,8BAAqB,OA6BA;AAAE,iGA7BA,yBAAgB,OA6BA;AAAE,0GA7BA,kCAAyB,OA6BA;AAClE,0GA7BA,kCAAyB,OA6BA;AAAE,kGA7BA,0BAAiB,OA6BA;AAAE,kGA7BA,0BAAiB,OA6BA;AAC/D,gGA7BA,wBAAe,OA6BA;AAAE,0GA7BA,kCAAyB,OA6BA;AAAE,qGA7BA,6BAAoB,OA6BA;AA3BlE,qDAIkC;AAwBZ,sGA1BpB,yBAAgB,OA0ByB;AACzC,kGA3BkB,0BAAiB,OA2BlB;AAAE,kGA3BkB,0BAAiB,OA2BlB;AAAE,gGA1BtC,wBAAe,OA0BsC;AAAE,0GA1BtC,kCAAyB,OA0BsC;AAChF,0GA3B4C,kCAAyB,OA2B5C;AAAE,2GA3B4C,mCAA0B,OA2B5C;AAzBvD,+CAE+B;AAyB7B,8FA1BW,mBAAa,OA0BX;AAAE,+FA1BW,oBAAc,OA0BX;AAAE,+FA1BW,oBAAc,OA0BX;AAAE,uGA1BW,4BAAsB,OA0BX;AAAE,mGA1BW,wBAAkB,OA0BX;AAxB3F,2DAA8D;AAEjD,QAAA,MAAM,GAAG;IACpB,SAAS,EAAE,2BAAe;IAC1B,GAAG,EAAE,eAAS;IACd,MAAM,EAAE,qBAAY;IACpB,MAAM,EAAE,qBAAY;IACpB,SAAS,EAAE,2BAAe;CAC3B,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,8BAAqB;IAC7B,MAAM,EAAE,8BAAqB;CAC9B,CAAC;AAcF,SAAgB,iBAAiB,CAAC,OAAsC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAsC;IACvE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;AAChC,CAAC;AAEY,QAAA,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC/D,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACf,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAA0D,CAAC"}
@@ -7,7 +7,5 @@ export interface TraceAllOptions {
7
7
  attributes?: Record<string, string | number | boolean>;
8
8
  skip?: string[];
9
9
  }
10
- export declare function TraceAll(options?: TraceAllOptions): <T extends {
11
- new (...args: unknown[]): object;
12
- }>(constructor: T) => T;
10
+ export declare function TraceAll(options?: TraceAllOptions): <T extends abstract new (...args: unknown[]) => object>(constructor: T) => T;
13
11
  export declare function tracify<T extends object>(instance: T, namespace: string, options?: TraceAllOptions): T;
@@ -9,14 +9,18 @@ export declare class HttpError extends Error {
9
9
  body?: any;
10
10
  constructor(status: number, response: Response, message: string, body?: any);
11
11
  }
12
+ export declare const HTTP_UNAUTHORIZED_HANDLER: unique symbol;
13
+ export type RefreshableHeaders = Record<string, string> & {
14
+ [HTTP_UNAUTHORIZED_HANDLER]?: () => Promise<void>;
15
+ };
12
16
  declare function request<T = any>(url: string, options?: {
13
17
  method?: string;
14
- headers?: Record<string, string>;
18
+ headers?: RefreshableHeaders;
15
19
  body?: any;
16
20
  responseType?: "json" | "arraybuffer" | "stream" | "text";
17
21
  params?: Record<string, any>;
18
22
  timeout?: number;
19
- }): Promise<HttpResponse<T>>;
23
+ }, mayRefresh?: boolean): Promise<HttpResponse<T>>;
20
24
  export declare const http: {
21
25
  get: <T = any>(url: string, options?: Omit<Parameters<typeof request>[1], "method">) => Promise<HttpResponse<T>>;
22
26
  post: <T = any>(url: string, body?: any, options?: Omit<Parameters<typeof request>[1], "method" | "body">) => Promise<HttpResponse<T>>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.http = exports.HttpError = void 0;
3
+ exports.http = exports.HTTP_UNAUTHORIZED_HANDLER = exports.HttpError = void 0;
4
4
  class HttpError extends Error {
5
5
  status;
6
6
  response;
@@ -14,6 +14,7 @@ class HttpError extends Error {
14
14
  }
15
15
  }
16
16
  exports.HttpError = HttpError;
17
+ exports.HTTP_UNAUTHORIZED_HANDLER = Symbol("httpUnauthorizedHandler");
17
18
  async function parseBody(response, responseType) {
18
19
  if (responseType === "arraybuffer") {
19
20
  return (await response.arrayBuffer());
@@ -31,7 +32,7 @@ async function parseBody(response, responseType) {
31
32
  return text;
32
33
  }
33
34
  }
34
- async function request(url, options = {}) {
35
+ async function request(url, options = {}, mayRefresh = true) {
35
36
  const { method = "GET", headers = {}, body, responseType, params, timeout = 30000 } = options;
36
37
  let fullUrl = url;
37
38
  if (params && Object.keys(params).length > 0) {
@@ -82,6 +83,11 @@ async function request(url, options = {}) {
82
83
  clearTimeout(timeoutId);
83
84
  }
84
85
  if (!response.ok) {
86
+ const refresh = headers[exports.HTTP_UNAUTHORIZED_HANDLER];
87
+ if (response.status === 401 && mayRefresh && refresh) {
88
+ await refresh();
89
+ return request(url, options, false);
90
+ }
85
91
  const text = await response.text().catch(() => "");
86
92
  let parsedBody;
87
93
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/utils/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/utils/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const historyRollback_1 = require("../../../src/agents/historyRollback");
4
+ const message = (role, content) => ({ role, content });
5
+ describe("rollbackAgentInteractions", () => {
6
+ const threads = [[
7
+ message("user", "request"),
8
+ message("assistant", "first"),
9
+ message("tool", "first result"),
10
+ message("assistant", "second"),
11
+ message("tool", "second result"),
12
+ ]];
13
+ it("clones history without changing it when rollback is zero", () => {
14
+ const result = (0, historyRollback_1.rollbackAgentInteractions)(threads, 0);
15
+ expect(result).toEqual(threads);
16
+ expect(result).not.toBe(threads);
17
+ expect(result[0]).not.toBe(threads[0]);
18
+ expect(result[0][0]).not.toBe(threads[0][0]);
19
+ });
20
+ it("removes the newest assistant and its following tool results", () => {
21
+ expect((0, historyRollback_1.rollbackAgentInteractions)(threads, 1)).toEqual([threads[0].slice(0, 3)]);
22
+ });
23
+ it("can remove multiple interactions", () => {
24
+ expect((0, historyRollback_1.rollbackAgentInteractions)(threads, 2)).toEqual([[threads[0][0]]]);
25
+ });
26
+ it("removes a trailing assistant without tools", () => {
27
+ const input = [[message("user", "request"), message("assistant", "tail")]];
28
+ expect((0, historyRollback_1.rollbackAgentInteractions)(input, 1)).toEqual([[input[0][0]]]);
29
+ });
30
+ it.each([-1, 1.5])("rejects invalid rollback %p", (rollback) => {
31
+ expect(() => (0, historyRollback_1.rollbackAgentInteractions)(threads, rollback)).toThrow("rollback must be a non-negative integer");
32
+ });
33
+ it("rejects rollback beyond available interactions", () => {
34
+ expect(() => (0, historyRollback_1.rollbackAgentInteractions)(threads, 3)).toThrow("only has 2 assistant interaction(s)");
35
+ });
36
+ it("does not mutate input history", () => {
37
+ const before = JSON.stringify(threads);
38
+ (0, historyRollback_1.rollbackAgentInteractions)(threads, 1);
39
+ expect(JSON.stringify(threads)).toBe(before);
40
+ });
41
+ });
42
+ //# sourceMappingURL=historyRollback.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"historyRollback.test.js","sourceRoot":"","sources":["../../../../tests/unit/agents/historyRollback.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const post = jest.fn();
4
+ const publicKeyBase64 = Buffer.alloc(32, 7).toString("base64");
5
+ const keyPairExists = jest.fn(() => true);
6
+ const loadKeyPair = jest.fn(() => ({ publicKeyBase64 }));
7
+ const signMessage = jest.fn(() => "server-message-signature");
8
+ jest.mock("../../../src/utils/http", () => ({
9
+ __esModule: true,
10
+ default: {
11
+ post,
12
+ isHttpError: (error) => typeof error === "object" && error !== null && "status" in error,
13
+ },
14
+ }));
15
+ jest.mock("../../../src/auth/keyManager", () => ({
16
+ keyPairExists,
17
+ loadKeyPair,
18
+ signMessage,
19
+ }));
20
+ jest.mock("../../../src/auth/browserLogin", () => ({
21
+ getCliUserAgent: () => "test-agent",
22
+ }));
23
+ const keyAuth_1 = require("../../../src/auth/keyAuth");
24
+ describe("keyAuth", () => {
25
+ beforeEach(() => {
26
+ jest.clearAllMocks();
27
+ keyPairExists.mockReturnValue(true);
28
+ });
29
+ it("signs the exact server challenge for the selected key, org, and environment", async () => {
30
+ post
31
+ .mockResolvedValueOnce({
32
+ data: {
33
+ challengeId: "challenge_1",
34
+ message: "exact message from server",
35
+ expiresAt: "2099-01-01T00:00:00.000Z",
36
+ },
37
+ status: 201,
38
+ })
39
+ .mockResolvedValueOnce({ data: { jwt: "renewed-jwt" }, status: 200 });
40
+ expect((0, keyAuth_1.hasKeyPair)("/keys/work")).toBe(true);
41
+ await expect((0, keyAuth_1.exchangePublicKeyJwt)("org-1", "https://work.example", "/keys/work")).resolves.toBe("renewed-jwt");
42
+ expect(loadKeyPair).toHaveBeenCalledWith("/keys/work");
43
+ expect(signMessage).toHaveBeenCalledWith("exact message from server", "/keys/work");
44
+ expect(post.mock.calls).toEqual([
45
+ [
46
+ "https://work.example/api/public-keys/challenge",
47
+ { publicKey: publicKeyBase64, orgId: "org-1" },
48
+ { headers: { "User-Agent": "test-agent" } },
49
+ ],
50
+ [
51
+ "https://work.example/api/public-keys/authenticate",
52
+ { challengeId: "challenge_1", signature: "server-message-signature" },
53
+ { headers: { "User-Agent": "test-agent" } },
54
+ ],
55
+ ]);
56
+ });
57
+ it("falls back when the key is unavailable without signing a challenge", async () => {
58
+ post.mockRejectedValueOnce({ status: 401 });
59
+ await expect((0, keyAuth_1.authenticateWithKey)("org-1", "https://work.example", "/keys/work")).resolves.toBe(false);
60
+ expect(post).toHaveBeenCalledTimes(1);
61
+ expect(signMessage).not.toHaveBeenCalled();
62
+ });
63
+ it("registers only server-owned Ed25519 key fields in the selected environment", async () => {
64
+ post.mockResolvedValueOnce({ data: {}, status: 201 });
65
+ await (0, keyAuth_1.registerPublicKey)("browser-jwt", publicKeyBase64, "https://dev.example");
66
+ expect(post).toHaveBeenCalledWith("https://dev.example/api/public-keys/register", {
67
+ publicKey: publicKeyBase64,
68
+ label: expect.any(String),
69
+ }, {
70
+ headers: {
71
+ Authorization: "Bearer browser-jwt",
72
+ "User-Agent": "test-agent",
73
+ },
74
+ });
75
+ });
76
+ });
77
+ //# sourceMappingURL=keyAuth.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyAuth.test.js","sourceRoot":"","sources":["../../../../tests/unit/auth/keyAuth.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const crypto_1 = __importDefault(require("crypto"));
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const os_1 = __importDefault(require("os"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const keyManager_1 = require("../../../src/auth/keyManager");
11
+ describe("keyManager", () => {
12
+ let directory;
13
+ let identity;
14
+ beforeEach(() => {
15
+ directory = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), "knowhow-key-manager-"));
16
+ identity = path_1.default.join(directory, "identity");
17
+ });
18
+ afterEach(() => {
19
+ fs_1.default.rmSync(directory, { recursive: true, force: true });
20
+ });
21
+ it("creates an Ed25519 identity with an OpenSSH-compatible public key", () => {
22
+ const generated = (0, keyManager_1.generateKeyPair)(identity);
23
+ const publicKeyLine = fs_1.default.readFileSync(`${identity}.pub`, "utf8").trim();
24
+ expect(publicKeyLine).toMatch(/^ssh-ed25519 [A-Za-z0-9+/]+=* knowhow-cli$/);
25
+ expect(fs_1.default.statSync(identity).mode % 0o1000).toBe(0o600);
26
+ expect((0, keyManager_1.loadKeyPair)(identity)).toEqual(generated);
27
+ const challengeMessage = "exact server-provided challenge";
28
+ const signature = (0, keyManager_1.signMessage)(challengeMessage, identity);
29
+ const publicKey = crypto_1.default.createPublicKey(fs_1.default.readFileSync(identity));
30
+ expect(crypto_1.default.verify(null, Buffer.from(challengeMessage), publicKey, Buffer.from(signature, "base64"))).toBe(true);
31
+ });
32
+ it("loads legacy raw-base64 public keys but rejects non-Ed25519 identities", () => {
33
+ const generated = (0, keyManager_1.generateKeyPair)(identity);
34
+ fs_1.default.writeFileSync(`${identity}.pub`, generated.publicKeyBase64);
35
+ expect((0, keyManager_1.loadKeyPair)(identity).publicKeyBase64).toBe(generated.publicKeyBase64);
36
+ const rsaIdentity = path_1.default.join(directory, "rsa");
37
+ const rsa = crypto_1.default.generateKeyPairSync("rsa", {
38
+ modulusLength: 2048,
39
+ privateKeyEncoding: { type: "pkcs8", format: "pem" },
40
+ publicKeyEncoding: { type: "spki", format: "pem" },
41
+ });
42
+ fs_1.default.writeFileSync(rsaIdentity, rsa.privateKey);
43
+ fs_1.default.writeFileSync(`${rsaIdentity}.pub`, generated.publicKeyBase64);
44
+ expect(() => (0, keyManager_1.loadKeyPair)(rsaIdentity)).toThrow("must be an Ed25519 private key");
45
+ });
46
+ it("does not overwrite a partial identity", () => {
47
+ fs_1.default.writeFileSync(identity, "existing key");
48
+ expect(() => (0, keyManager_1.generateKeyPair)(identity)).toThrow("a key file already exists");
49
+ expect(fs_1.default.readFileSync(identity, "utf8")).toBe("existing key");
50
+ });
51
+ });
52
+ //# sourceMappingURL=keyManager.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyManager.test.js","sourceRoot":"","sources":["../../../../tests/unit/auth/keyManager.test.ts"],"names":[],"mappings":"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"}