@tyvm/knowhow 0.0.22 → 0.0.24

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 (134) hide show
  1. package/package.json +1 -1
  2. package/src/agents/base/base.ts +28 -7
  3. package/src/agents/configurable/ConfigAgent.ts +5 -3
  4. package/src/agents/developer/developer.ts +3 -4
  5. package/src/agents/index.ts +27 -2
  6. package/src/agents/patcher/patcher.ts +3 -5
  7. package/src/agents/researcher/researcher.ts +3 -4
  8. package/src/agents/tools/agentCall.ts +5 -2
  9. package/src/agents/tools/executeScript/definition.ts +1 -1
  10. package/src/agents/tools/executeScript/examples/dependency-injection-validation.ts +272 -0
  11. package/src/agents/tools/executeScript/examples/quick-test.ts +9 -15
  12. package/src/agents/tools/executeScript/examples/serialization-test.ts +64 -52
  13. package/src/agents/tools/executeScript/examples/test-runner.ts +9 -16
  14. package/src/agents/tools/executeScript/index.ts +27 -8
  15. package/src/agents/vim/vim.ts +3 -4
  16. package/src/ai.ts +2 -1
  17. package/src/chat.ts +4 -2
  18. package/src/cli.ts +5 -9
  19. package/src/dataset/diffs/test.ts +2 -1
  20. package/src/index.ts +3 -3
  21. package/src/services/AgentService.ts +9 -10
  22. package/src/services/EventService.ts +0 -2
  23. package/src/services/GitHub.ts +0 -1
  24. package/src/services/KnowhowClient.ts +0 -3
  25. package/src/services/Mcp.ts +0 -2
  26. package/src/services/S3.ts +0 -1
  27. package/src/services/Tools.ts +44 -5
  28. package/src/services/flags.ts +0 -1
  29. package/src/services/index.ts +56 -0
  30. package/src/services/modules/index.ts +53 -0
  31. package/src/{modules → services/modules}/types.ts +16 -5
  32. package/src/services/script-execution/SandboxContext.ts +4 -4
  33. package/src/services/script-execution/ScriptExecutor.ts +12 -10
  34. package/src/worker.ts +3 -3
  35. package/tests/integration/fileblocks/readwrite.test.ts +2 -1
  36. package/tests/integration/patching.test.ts +5 -5
  37. package/ts_build/src/agents/base/base.d.ts +9 -4
  38. package/ts_build/src/agents/base/base.js +16 -9
  39. package/ts_build/src/agents/base/base.js.map +1 -1
  40. package/ts_build/src/agents/configurable/ConfigAgent.d.ts +2 -2
  41. package/ts_build/src/agents/configurable/ConfigAgent.js +2 -2
  42. package/ts_build/src/agents/configurable/ConfigAgent.js.map +1 -1
  43. package/ts_build/src/agents/developer/developer.d.ts +2 -3
  44. package/ts_build/src/agents/developer/developer.js +3 -4
  45. package/ts_build/src/agents/developer/developer.js.map +1 -1
  46. package/ts_build/src/agents/index.d.ts +12 -2
  47. package/ts_build/src/agents/index.js +19 -3
  48. package/ts_build/src/agents/index.js.map +1 -1
  49. package/ts_build/src/agents/patcher/patcher.d.ts +2 -3
  50. package/ts_build/src/agents/patcher/patcher.js +3 -4
  51. package/ts_build/src/agents/patcher/patcher.js.map +1 -1
  52. package/ts_build/src/agents/researcher/researcher.d.ts +2 -3
  53. package/ts_build/src/agents/researcher/researcher.js +3 -4
  54. package/ts_build/src/agents/researcher/researcher.js.map +1 -1
  55. package/ts_build/src/agents/tools/agentCall.js +4 -4
  56. package/ts_build/src/agents/tools/agentCall.js.map +1 -1
  57. package/ts_build/src/agents/tools/executeScript/definition.js +1 -1
  58. package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.d.ts +18 -0
  59. package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js +192 -0
  60. package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js.map +1 -0
  61. package/ts_build/src/agents/tools/executeScript/examples/quick-test.js +1 -4
  62. package/ts_build/src/agents/tools/executeScript/examples/quick-test.js.map +1 -1
  63. package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js +38 -39
  64. package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js.map +1 -1
  65. package/ts_build/src/agents/tools/executeScript/examples/test-runner.js +3 -7
  66. package/ts_build/src/agents/tools/executeScript/examples/test-runner.js.map +1 -1
  67. package/ts_build/src/agents/tools/executeScript/index.d.ts +7 -7
  68. package/ts_build/src/agents/tools/executeScript/index.js +11 -5
  69. package/ts_build/src/agents/tools/executeScript/index.js.map +1 -1
  70. package/ts_build/src/agents/vim/vim.d.ts +2 -3
  71. package/ts_build/src/agents/vim/vim.js +3 -4
  72. package/ts_build/src/agents/vim/vim.js.map +1 -1
  73. package/ts_build/src/ai.js +2 -1
  74. package/ts_build/src/ai.js.map +1 -1
  75. package/ts_build/src/chat.js +10 -9
  76. package/ts_build/src/chat.js.map +1 -1
  77. package/ts_build/src/cli.js +11 -14
  78. package/ts_build/src/cli.js.map +1 -1
  79. package/ts_build/src/dataset/diffs/test.js +2 -1
  80. package/ts_build/src/dataset/diffs/test.js.map +1 -1
  81. package/ts_build/src/index.js +10 -10
  82. package/ts_build/src/index.js.map +1 -1
  83. package/ts_build/src/services/AgentService.d.ts +7 -3
  84. package/ts_build/src/services/AgentService.js +11 -10
  85. package/ts_build/src/services/AgentService.js.map +1 -1
  86. package/ts_build/src/services/EventService.d.ts +0 -1
  87. package/ts_build/src/services/EventService.js +1 -2
  88. package/ts_build/src/services/EventService.js.map +1 -1
  89. package/ts_build/src/services/GitHub.d.ts +0 -1
  90. package/ts_build/src/services/GitHub.js +1 -2
  91. package/ts_build/src/services/GitHub.js.map +1 -1
  92. package/ts_build/src/services/KnowhowClient.d.ts +0 -1
  93. package/ts_build/src/services/KnowhowClient.js +1 -2
  94. package/ts_build/src/services/KnowhowClient.js.map +1 -1
  95. package/ts_build/src/services/Mcp.d.ts +0 -1
  96. package/ts_build/src/services/Mcp.js +1 -2
  97. package/ts_build/src/services/Mcp.js.map +1 -1
  98. package/ts_build/src/services/S3.d.ts +0 -1
  99. package/ts_build/src/services/S3.js +1 -2
  100. package/ts_build/src/services/S3.js.map +1 -1
  101. package/ts_build/src/services/Tools.d.ts +19 -1
  102. package/ts_build/src/services/Tools.js +22 -4
  103. package/ts_build/src/services/Tools.js.map +1 -1
  104. package/ts_build/src/services/flags.d.ts +0 -1
  105. package/ts_build/src/services/flags.js +1 -2
  106. package/ts_build/src/services/flags.js.map +1 -1
  107. package/ts_build/src/services/index.d.ts +25 -0
  108. package/ts_build/src/services/index.js +42 -1
  109. package/ts_build/src/services/index.js.map +1 -1
  110. package/ts_build/src/services/modules/example-usage.d.ts +11 -0
  111. package/ts_build/src/services/modules/example-usage.js +43 -0
  112. package/ts_build/src/services/modules/example-usage.js.map +1 -0
  113. package/ts_build/src/services/modules/index.d.ts +4 -0
  114. package/ts_build/src/services/modules/index.js +44 -0
  115. package/ts_build/src/services/modules/index.js.map +1 -0
  116. package/ts_build/src/services/modules/types.d.ts +47 -0
  117. package/ts_build/src/services/modules/types.js +3 -0
  118. package/ts_build/src/services/modules/types.js.map +1 -0
  119. package/ts_build/src/services/script-execution/SandboxContext.d.ts +3 -3
  120. package/ts_build/src/services/script-execution/SandboxContext.js +1 -3
  121. package/ts_build/src/services/script-execution/SandboxContext.js.map +1 -1
  122. package/ts_build/src/services/script-execution/ScriptExecutor.d.ts +3 -3
  123. package/ts_build/src/services/script-execution/ScriptExecutor.js +6 -2
  124. package/ts_build/src/services/script-execution/ScriptExecutor.js.map +1 -1
  125. package/ts_build/src/services/singletons.d.ts +17 -0
  126. package/ts_build/src/services/singletons.js +28 -0
  127. package/ts_build/src/services/singletons.js.map +1 -0
  128. package/ts_build/src/worker.js +4 -3
  129. package/ts_build/src/worker.js.map +1 -1
  130. package/ts_build/tests/integration/fileblocks/readwrite.test.js +10 -9
  131. package/ts_build/tests/integration/fileblocks/readwrite.test.js.map +1 -1
  132. package/ts_build/tests/integration/patching.test.js +9 -10
  133. package/ts_build/tests/integration/patching.test.js.map +1 -1
  134. package/src/modules/index.ts +0 -37
@@ -1,3 +1,13 @@
1
+ import { Clients } from "../clients";
2
+ import { Plugins } from "../plugins/plugins";
3
+ import { AgentService } from "./AgentService";
4
+ import { EventService } from "./EventService";
5
+ import { FlagsService } from "./flags";
6
+ import { GitHubService } from "./GitHub";
7
+ import { KnowhowSimpleClient } from "./KnowhowClient";
8
+ import { McpService } from "./Mcp";
9
+ import { S3Service } from "./S3";
10
+ import { ToolsService } from "./Tools";
1
11
  export * from "./AgentService";
2
12
  export * from "./EventService";
3
13
  export * from "./flags";
@@ -6,3 +16,18 @@ export * from "./S3";
6
16
  export * from "./Tools";
7
17
  export * as MCP from "./Mcp";
8
18
  export * from "./EmbeddingService";
19
+ export { Clients } from "../clients";
20
+ export { Plugins };
21
+ declare let Singletons: {
22
+ Tools: ToolsService;
23
+ Events: EventService;
24
+ Agents: AgentService;
25
+ Flags: FlagsService;
26
+ GitHub: GitHubService;
27
+ Mcp: McpService;
28
+ AwsS3: S3Service;
29
+ knowhowApiClient: KnowhowSimpleClient;
30
+ Plugins: typeof Plugins;
31
+ Clients: typeof Clients;
32
+ };
33
+ export declare const services: () => typeof Singletons;
@@ -26,7 +26,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.MCP = void 0;
29
+ exports.services = exports.Plugins = exports.Clients = exports.MCP = void 0;
30
+ const clients_1 = require("../clients");
31
+ const plugins_1 = require("../plugins/plugins");
32
+ Object.defineProperty(exports, "Plugins", { enumerable: true, get: function () { return plugins_1.Plugins; } });
33
+ const AgentService_1 = require("./AgentService");
34
+ const EventService_1 = require("./EventService");
35
+ const flags_1 = require("./flags");
36
+ const GitHub_1 = require("./GitHub");
37
+ const KnowhowClient_1 = require("./KnowhowClient");
38
+ const Mcp_1 = require("./Mcp");
39
+ const S3_1 = require("./S3");
40
+ const Tools_1 = require("./Tools");
30
41
  __exportStar(require("./AgentService"), exports);
31
42
  __exportStar(require("./EventService"), exports);
32
43
  __exportStar(require("./flags"), exports);
@@ -35,4 +46,34 @@ __exportStar(require("./S3"), exports);
35
46
  __exportStar(require("./Tools"), exports);
36
47
  exports.MCP = __importStar(require("./Mcp"));
37
48
  __exportStar(require("./EmbeddingService"), exports);
49
+ var clients_2 = require("../clients");
50
+ Object.defineProperty(exports, "Clients", { enumerable: true, get: function () { return clients_2.Clients; } });
51
+ let Singletons = {};
52
+ const services = () => {
53
+ if (Object.keys(Singletons).length === 0) {
54
+ const Tools = new Tools_1.ToolsService();
55
+ const Events = new EventService_1.EventService();
56
+ const Agents = new AgentService_1.AgentService(Tools, Events);
57
+ Singletons = {
58
+ Tools,
59
+ Events,
60
+ Agents,
61
+ Flags: new flags_1.FlagsService(),
62
+ GitHub: new GitHub_1.GitHubService(),
63
+ Mcp: new Mcp_1.McpService(),
64
+ AwsS3: new S3_1.S3Service(),
65
+ knowhowApiClient: new KnowhowClient_1.KnowhowSimpleClient(process.env.KNOWHOW_API_URL),
66
+ Plugins: plugins_1.Plugins,
67
+ Clients: clients_1.Clients,
68
+ };
69
+ Singletons.Tools.setContext({
70
+ Agents,
71
+ Events,
72
+ Plugins: plugins_1.Plugins,
73
+ Clients: clients_1.Clients,
74
+ });
75
+ }
76
+ return Singletons;
77
+ };
78
+ exports.services = services;
38
79
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,0CAAwB;AACxB,2CAAyB;AACzB,uCAAqB;AACrB,0CAAwB;AACxB,6CAA6B;AAC7B,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,gDAA6C;AAmBpC,wFAnBA,iBAAO,OAmBA;AAlBhB,iDAA8C;AAC9C,iDAA8C;AAC9C,mCAAuC;AACvC,qCAAyC;AACzC,mDAAsD;AACtD,+BAAmC;AACnC,6BAAiC;AACjC,mCAAuC;AAEvC,iDAA+B;AAC/B,iDAA+B;AAC/B,0CAAwB;AACxB,2CAAyB;AACzB,uCAAqB;AACrB,0CAAwB;AACxB,6CAA6B;AAC7B,qDAAmC;AACnC,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAGhB,IAAI,UAAU,GAAG,EAWhB,CAAC;AAEK,MAAM,QAAQ,GAAG,GAAsB,EAAE;IAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACxC,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,UAAU,GAAG;YACX,KAAK;YACL,MAAM;YACN,MAAM;YAEN,KAAK,EAAE,IAAI,oBAAY,EAAE;YACzB,MAAM,EAAE,IAAI,sBAAa,EAAE;YAC3B,GAAG,EAAE,IAAI,gBAAU,EAAE;YACrB,KAAK,EAAE,IAAI,cAAS,EAAE;YACtB,gBAAgB,EAAE,IAAI,mCAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YACtE,OAAO,EAAP,iBAAO;YACP,OAAO,EAAP,iBAAO;SACR,CAAC;QAEF,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1B,MAAM;YACN,MAAM;YACN,OAAO,EAAP,iBAAO;YACP,OAAO,EAAP,iBAAO;SACR,CAAC,CAAC;KACJ;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AA5BW,QAAA,QAAQ,YA4BnB"}
@@ -0,0 +1,11 @@
1
+ import { AgentService } from "../AgentService";
2
+ import { ToolsService } from "../Tools";
3
+ import { PluginService } from "../../plugins/plugins";
4
+ import { AIClient } from "../../clients";
5
+ export declare function loadModulesWithCustomContext(): Promise<{
6
+ agentService: AgentService;
7
+ pluginService: PluginService;
8
+ clients: AIClient;
9
+ toolsService: ToolsService;
10
+ }>;
11
+ export declare function loadModulesWithGlobalSingletons(): Promise<void>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadModulesWithGlobalSingletons = exports.loadModulesWithCustomContext = void 0;
4
+ const AgentService_1 = require("../AgentService");
5
+ const EventService_1 = require("../EventService");
6
+ const Tools_1 = require("../Tools");
7
+ const plugins_1 = require("../../plugins/plugins");
8
+ const clients_1 = require("../../clients");
9
+ const index_1 = require("./index");
10
+ async function loadModulesWithCustomContext() {
11
+ const toolsService = new Tools_1.ToolsService();
12
+ const eventService = new EventService_1.EventService();
13
+ const agentService = new AgentService_1.AgentService(toolsService, eventService);
14
+ const pluginService = new plugins_1.PluginService();
15
+ const clients = new clients_1.AIClient();
16
+ toolsService.setContext({
17
+ Agents,
18
+ Events,
19
+ Plugins,
20
+ Clients,
21
+ });
22
+ const moduleContext = {
23
+ agentService,
24
+ pluginService,
25
+ clients,
26
+ toolsService,
27
+ };
28
+ const modulesService = new index_1.ModulesService();
29
+ await modulesService.loadModulesFromConfig(moduleContext);
30
+ return {
31
+ agentService,
32
+ pluginService,
33
+ clients,
34
+ toolsService,
35
+ };
36
+ }
37
+ exports.loadModulesWithCustomContext = loadModulesWithCustomContext;
38
+ async function loadModulesWithGlobalSingletons() {
39
+ const modulesService = new index_1.ModulesService();
40
+ await modulesService.loadModulesFromConfig();
41
+ }
42
+ exports.loadModulesWithGlobalSingletons = loadModulesWithGlobalSingletons;
43
+ //# sourceMappingURL=example-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example-usage.js","sourceRoot":"","sources":["../../../../src/services/modules/example-usage.ts"],"names":[],"mappings":";;;AAAA,kDAA+C;AAC/C,kDAA+C;AAC/C,oCAAwC;AACxC,mDAAsD;AACtD,2CAAyC;AACzC,mCAAyC;AAOlC,KAAK,UAAU,4BAA4B;IAEhD,MAAM,YAAY,GAAG,IAAI,oBAAY,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,kBAAQ,EAAE,CAAC;IAG/B,YAAY,CAAC,UAAU,CAAC;QACtB,MAAM;QACN,MAAM;QACN,OAAO;QACP,OAAO;KACR,CAAC,CAAC;IAGH,MAAM,aAAa,GAAkB;QACnC,YAAY;QACZ,aAAa;QACb,OAAO;QACP,YAAY;KACb,CAAC;IAGF,MAAM,cAAc,GAAG,IAAI,sBAAc,EAAE,CAAC;IAC5C,MAAM,cAAc,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAI1D,OAAO;QACL,YAAY;QACZ,aAAa;QACb,OAAO;QACP,YAAY;KACb,CAAC;AACJ,CAAC;AApCD,oEAoCC;AAKM,KAAK,UAAU,+BAA+B;IACnD,MAAM,cAAc,GAAG,IAAI,sBAAc,EAAE,CAAC;IAG5C,MAAM,cAAc,CAAC,qBAAqB,EAAE,CAAC;AAC/C,CAAC;AALD,0EAKC"}
@@ -0,0 +1,4 @@
1
+ import { ModuleContext } from "./types";
2
+ export declare class ModulesService {
3
+ loadModulesFromConfig(context?: ModuleContext): Promise<void>;
4
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModulesService = void 0;
4
+ const config_1 = require("../../config");
5
+ const __1 = require("../");
6
+ class ModulesService {
7
+ async loadModulesFromConfig(context) {
8
+ const config = await (0, config_1.getConfig)();
9
+ if (!context) {
10
+ const { Clients, Plugins, Agents, Tools } = (0, __1.services)();
11
+ context = {
12
+ Agents,
13
+ Plugins,
14
+ Clients,
15
+ Tools,
16
+ };
17
+ }
18
+ const toolsService = context.Tools;
19
+ const agentService = context.Agents;
20
+ const pluginService = context.Plugins;
21
+ const clients = context.Clients;
22
+ const modules = config.modules || [];
23
+ for (const modulePath of modules) {
24
+ const importedModule = require(modulePath);
25
+ await importedModule.init({ config, cwd: process.cwd() });
26
+ for (const agent of importedModule.agents) {
27
+ agentService.registerAgent(agent);
28
+ }
29
+ for (const tool of importedModule.tools) {
30
+ toolsService.addTool(tool.definition);
31
+ toolsService.setFunction(tool.definition.function.name, tool.handler);
32
+ }
33
+ for (const plugin of importedModule.plugins) {
34
+ pluginService.registerPlugin(plugin.name, plugin.plugin);
35
+ }
36
+ for (const client of importedModule.clients) {
37
+ clients.registerClient(client.provider, client.client);
38
+ clients.registerModels(client.provider, client.models);
39
+ }
40
+ }
41
+ }
42
+ }
43
+ exports.ModulesService = ModulesService;
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/modules/index.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAGzC,2BAA+B;AAG/B,MAAa,cAAc;IACzB,KAAK,CAAC,qBAAqB,CAAC,OAAuB;QACjD,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,GAAE,CAAC;QAGjC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,YAAQ,GAAE,CAAC;YACvD,OAAO,GAAG;gBACR,MAAM;gBACN,OAAO;gBACP,OAAO;gBACP,KAAK;aACN,CAAC;SACH;QAGD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;QACnC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;QACpC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEhC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAErC,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE;YAChC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAkB,CAAC;YAC5D,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAE1D,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE;gBACzC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACnC;YAED,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE;gBACvC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aACvE;YAED,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;gBAC3C,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;aAC1D;YAED,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;gBAC3C,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvD,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;aACxD;SACF;IACH,CAAC;CACF;AA9CD,wCA8CC"}
@@ -0,0 +1,47 @@
1
+ import { Plugin } from "../../plugins/types";
2
+ import { IAgent } from "../../agents/interface";
3
+ import { Tool } from "../../clients/types";
4
+ import { Config } from "../../types";
5
+ import { GenericClient } from "../../clients/types";
6
+ import { AgentService } from "../AgentService";
7
+ import { PluginService } from "../../plugins/plugins";
8
+ import { AIClient } from "../../clients";
9
+ import { ToolsService } from "../Tools";
10
+ export interface ModuleChatCommand {
11
+ name: string;
12
+ description: string;
13
+ handler: (ctx: any) => void;
14
+ }
15
+ export interface ModuleTool {
16
+ name: string;
17
+ handler: (...args: any[]) => any;
18
+ definition: Tool;
19
+ }
20
+ export type ModuleAgent = IAgent;
21
+ export type ModulePlugin = {
22
+ name: string;
23
+ plugin: Plugin;
24
+ };
25
+ export type ModuleClient = {
26
+ client: GenericClient;
27
+ provider: string;
28
+ models: string[];
29
+ };
30
+ export type InitParams = {
31
+ config: Config;
32
+ cwd: string;
33
+ };
34
+ export interface ModuleContext {
35
+ Agents: AgentService;
36
+ Plugins: PluginService;
37
+ Clients: AIClient;
38
+ Tools: ToolsService;
39
+ }
40
+ export interface KnowhowModule {
41
+ init: (params: InitParams) => Promise<void>;
42
+ commands: ModuleChatCommand[];
43
+ tools: ModuleTool[];
44
+ agents: ModuleAgent[];
45
+ plugins: ModulePlugin[];
46
+ clients: ModuleClient[];
47
+ }
@@ -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/services/modules/types.ts"],"names":[],"mappings":""}
@@ -1,9 +1,9 @@
1
- import { Tools } from "../../services";
2
- import { Clients } from "../../clients";
1
+ import { AIClient } from "../../clients";
3
2
  import { ScriptTracer } from "./ScriptTracer";
4
3
  import { ScriptPolicyEnforcer } from "./ScriptPolicy";
5
4
  import { Artifact, QuotaUsage } from "./types";
6
5
  import { Message } from "../../clients/types";
6
+ import { ToolsService } from "../Tools";
7
7
  export declare class SandboxContext {
8
8
  private toolsService;
9
9
  private clients;
@@ -11,7 +11,7 @@ export declare class SandboxContext {
11
11
  private policyEnforcer;
12
12
  private artifacts;
13
13
  private consoleOutput;
14
- constructor(toolsService: typeof Tools, clients: typeof Clients, tracer: ScriptTracer, policyEnforcer: ScriptPolicyEnforcer);
14
+ constructor(toolsService: ToolsService, clients: AIClient, tracer: ScriptTracer, policyEnforcer: ScriptPolicyEnforcer);
15
15
  console: {
16
16
  log: (...args: any[]) => void;
17
17
  error: (...args: any[]) => void;
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SandboxContext = void 0;
4
- const services_1 = require("../../services");
5
- const clients_1 = require("../../clients");
6
4
  class SandboxContext {
7
5
  toolsService;
8
6
  clients;
@@ -10,7 +8,7 @@ class SandboxContext {
10
8
  policyEnforcer;
11
9
  artifacts = [];
12
10
  consoleOutput = [];
13
- constructor(toolsService = services_1.Tools, clients = clients_1.Clients, tracer, policyEnforcer) {
11
+ constructor(toolsService, clients, tracer, policyEnforcer) {
14
12
  this.toolsService = toolsService;
15
13
  this.clients = clients;
16
14
  this.tracer = tracer;
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxContext.js","sourceRoot":"","sources":["../../../../src/services/script-execution/SandboxContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SandboxContext.js","sourceRoot":"","sources":["../../../../src/services/script-execution/SandboxContext.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { Tools } from "../../services";
2
- import { Clients } from "../../clients";
1
+ import { ToolsService } from "../../services";
2
+ import { AIClient } from "../../clients";
3
3
  import { ExecutionRequest, ExecutionResult, ResourceQuotas, SecurityPolicy } from "./types";
4
4
  export declare class ScriptExecutor {
5
5
  private toolsService;
6
6
  private clients;
7
7
  private defaultQuotas;
8
8
  private defaultPolicy;
9
- constructor(toolsService?: typeof Tools | null, clients?: typeof Clients | null);
9
+ constructor(toolsService: ToolsService, clients: AIClient);
10
10
  execute(request: ExecutionRequest): Promise<ExecutionResult>;
11
11
  private executeWithTimeout;
12
12
  private executeScriptSecure;
@@ -29,7 +29,7 @@ class ScriptExecutor {
29
29
  allowNetworkAccess: false,
30
30
  allowFileSystemAccess: false,
31
31
  };
32
- constructor(toolsService = null, clients = null) {
32
+ constructor(toolsService, clients) {
33
33
  this.toolsService = toolsService;
34
34
  this.clients = clients;
35
35
  }
@@ -138,6 +138,7 @@ class ScriptExecutor {
138
138
  const result = await compiledScript.run(vmContext, {
139
139
  timeout: policyEnforcer.getQuotas().maxExecutionTimeMs,
140
140
  promise: true,
141
+ copy: true,
141
142
  });
142
143
  tracer.emitEvent("script_execution_complete", {
143
144
  resultType: typeof result,
@@ -175,7 +176,10 @@ class ScriptExecutor {
175
176
  { arguments: { copy: true }, result: { copy: true } });
176
177
  `);
177
178
  };
178
- await exposeAsync("callTool", (tool, params) => sandboxContext.callTool(tool, params));
179
+ await exposeAsync("callTool", async (tool, params) => {
180
+ const { functionResp } = await sandboxContext.callTool(tool, params);
181
+ return functionResp;
182
+ });
179
183
  await exposeAsync("llm", (messages, options) => sandboxContext.llm(messages, options || {}));
180
184
  await exposeAsync("sleep", (ms) => sandboxContext.sleep(ms));
181
185
  await exposeSync("createArtifact", (name, content, type) => sandboxContext.createArtifact(name, content, type));
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptExecutor.js","sourceRoot":"","sources":["../../../../src/services/script-execution/ScriptExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScriptExecutor.js","sourceRoot":"","sources":["../../../../src/services/script-execution/ScriptExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { AgentService } from "./AgentService";
2
+ import { EventService } from "./EventService";
3
+ import { FlagsService } from "./flags";
4
+ import { GitHubService } from "./GitHub";
5
+ import { KnowhowSimpleClient } from "./KnowhowClient";
6
+ import { McpService } from "./Mcp";
7
+ import { S3Service } from "./S3";
8
+ import { ToolsService } from "./Tools";
9
+ export { Clients } from "../clients";
10
+ export declare const Tools: ToolsService;
11
+ export declare const Events: EventService;
12
+ export declare const Agents: AgentService;
13
+ export declare const Flags: FlagsService;
14
+ export declare const GitHub: GitHubService;
15
+ export declare const Mcp: McpService;
16
+ export declare const AwsS3: S3Service;
17
+ export declare const knowhowApiClient: KnowhowSimpleClient;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.knowhowApiClient = exports.AwsS3 = exports.Mcp = exports.GitHub = exports.Flags = exports.Agents = exports.Events = exports.Tools = exports.Clients = void 0;
4
+ const clients_1 = require("../clients");
5
+ const AgentService_1 = require("./AgentService");
6
+ const EventService_1 = require("./EventService");
7
+ const flags_1 = require("./flags");
8
+ const GitHub_1 = require("./GitHub");
9
+ const KnowhowClient_1 = require("./KnowhowClient");
10
+ const Mcp_1 = require("./Mcp");
11
+ const S3_1 = require("./S3");
12
+ const Tools_1 = require("./Tools");
13
+ var clients_2 = require("../clients");
14
+ Object.defineProperty(exports, "Clients", { enumerable: true, get: function () { return clients_2.Clients; } });
15
+ exports.Tools = new Tools_1.ToolsService();
16
+ exports.Events = new EventService_1.EventService();
17
+ exports.Agents = new AgentService_1.AgentService(exports.Tools, exports.Events);
18
+ exports.Flags = new flags_1.FlagsService();
19
+ exports.GitHub = new GitHub_1.GitHubService();
20
+ exports.Mcp = new Mcp_1.McpService();
21
+ exports.AwsS3 = new S3_1.S3Service();
22
+ exports.Tools.setContext({
23
+ agentService: exports.Agents,
24
+ eventService: exports.Events,
25
+ clients: clients_1.Clients,
26
+ });
27
+ exports.knowhowApiClient = new KnowhowClient_1.KnowhowSimpleClient(process.env.KNOWHOW_API_URL);
28
+ //# sourceMappingURL=singletons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singletons.js","sourceRoot":"","sources":["../../../src/services/singletons.ts"],"names":[],"mappings":";;;AAAA,wCAAqC;AACrC,iDAA8C;AAC9C,iDAA8C;AAC9C,mCAAuC;AACvC,qCAAyC;AACzC,mDAAsD;AACtD,+BAAmC;AACnC,6BAAiC;AACjC,mCAAuC;AAEvC,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AACH,QAAA,KAAK,GAAG,IAAI,oBAAY,EAAE,CAAC;AAC3B,QAAA,MAAM,GAAG,IAAI,2BAAY,EAAE,CAAC;AAC5B,QAAA,MAAM,GAAG,IAAI,2BAAY,CAAC,aAAK,EAAE,cAAM,CAAC,CAAC;AACzC,QAAA,KAAK,GAAG,IAAI,oBAAY,EAAE,CAAC;AAC3B,QAAA,MAAM,GAAG,IAAI,sBAAa,EAAE,CAAC;AAC7B,QAAA,GAAG,GAAG,IAAI,gBAAU,EAAE,CAAC;AACvB,QAAA,KAAK,GAAG,IAAI,cAAS,EAAE,CAAC;AAErC,aAAK,CAAC,UAAU,CAAC;IACf,YAAY,EAAE,cAAM;IACpB,YAAY,EAAE,cAAM;IACpB,OAAO,EAAE,iBAAO;CACjB,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,IAAI,mCAAmB,CACrD,OAAO,CAAC,GAAG,CAAC,eAAe,CAC5B,CAAC"}
@@ -13,7 +13,8 @@ const utils_1 = require("./utils");
13
13
  const config_1 = require("./config");
14
14
  const API_URL = process.env.KNOWHOW_API_URL;
15
15
  async function worker() {
16
- const mcpServer = new Mcp_1.McpServerService(services_1.Tools);
16
+ const { Tools } = (0, services_1.services)();
17
+ const mcpServer = new Mcp_1.McpServerService(Tools);
17
18
  const clientName = "knowhow-worker";
18
19
  const clientVersion = "1.1.1";
19
20
  const config = await (0, config_1.getConfig)();
@@ -21,12 +22,12 @@ async function worker() {
21
22
  console.log("Worker tools configured! Update knowhow.json to adjust which tools are allowed by the worker.");
22
23
  config.worker = {
23
24
  ...config.worker,
24
- allowedTools: services_1.Tools.getToolNames(),
25
+ allowedTools: Tools.getToolNames(),
25
26
  };
26
27
  await (0, config_1.updateConfig)(config);
27
28
  return;
28
29
  }
29
- const toolsToUse = services_1.Tools.getToolsByNames(config.worker.allowedTools);
30
+ const toolsToUse = Tools.getToolsByNames(config.worker.allowedTools);
30
31
  mcpServer.createServer(clientName, clientVersion).withTools(toolsToUse);
31
32
  let connected = false;
32
33
  async function connectWebSocket() {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
@@ -25,18 +25,19 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const fs = __importStar(require("fs"));
27
27
  const utils_1 = require("../../../src/utils");
28
- const patcher_1 = require("../../../src/agents/patcher/patcher");
28
+ const agents_1 = require("../../../src/agents");
29
29
  describe("Developer", () => {
30
+ const { Patcher } = (0, agents_1.agents)();
30
31
  beforeAll(() => {
31
- patcher_1.Patcher.disableTool("searchFiles");
32
- patcher_1.Patcher.disableTool("execCommand");
33
- patcher_1.Patcher.enableTool("modifyFile");
34
- patcher_1.Patcher.enableTool("readFile");
32
+ Patcher.disableTool("searchFiles");
33
+ Patcher.disableTool("execCommand");
34
+ Patcher.enableTool("modifyFile");
35
+ Patcher.enableTool("readFile");
35
36
  });
36
37
  test("should be able to patch a codebase", async () => {
37
38
  const inputPath = "tests/integration/patching/input.txt";
38
39
  const originalText = (await (0, utils_1.readFile)(inputPath)).toString();
39
- await patcher_1.Patcher.call(`Update the file in ${inputPath} change the string "finalAnswer" to "FinalAnswer" on line 120. Do not modify anything else. Treat this file as a typescript file.`);
40
+ await Patcher.call(`Update the file in ${inputPath} change the string "finalAnswer" to "FinalAnswer" on line 120. Do not modify anything else. Treat this file as a typescript file.`);
40
41
  const updatedText = (await (0, utils_1.readFile)(inputPath)).toString();
41
42
  await (0, utils_1.writeFile)(inputPath, originalText);
42
43
  expect(updatedText).toBe(originalText.replace(`"finalAnswer"`, `"FinalAnswer"`));
@@ -44,7 +45,7 @@ describe("Developer", () => {
44
45
  test("should be able to update the unseen file", async () => {
45
46
  const unseenPath = "tests/integration/patching/unseen.txt";
46
47
  const originalText = (await (0, utils_1.readFile)(unseenPath)).toString();
47
- await patcher_1.Patcher.call(`Update the file in ${unseenPath} change the file additions and deletions count from 200 to 300. Do not modify anything else. Treat this file as a typescript file.`);
48
+ await Patcher.call(`Update the file in ${unseenPath} change the file additions and deletions count from 200 to 300. Do not modify anything else. Treat this file as a typescript file.`);
48
49
  const updatedText = (await (0, utils_1.readFile)(unseenPath)).toString();
49
50
  await (0, utils_1.writeFile)(unseenPath, originalText);
50
51
  expect(updatedText).toBe(originalText.replaceAll("200", "300"));
@@ -70,7 +71,7 @@ describe("Developer", () => {
70
71
 
71
72
  Make sure to module.exports the class and Singleton, as we will be importing it in the test via require("./outputs/flags.js").Flags
72
73
  `;
73
- await patcher_1.Patcher.call(`Modify the file in ${outputPath} for these instructions.: ${promptText}`);
74
+ await Patcher.call(`Modify the file in ${outputPath} for these instructions.: ${promptText}`);
74
75
  const fileContent = (await (0, utils_1.readFile)(outputPath)).toString();
75
76
  console.log(fileContent);
76
77
  jest.resetModules();
@@ -80,7 +81,7 @@ describe("Developer", () => {
80
81
  expect(service.enabled("test")).toEqual(false);
81
82
  service.flip("test");
82
83
  expect(service.enabled("test")).toEqual(true);
83
- await patcher_1.Patcher.call(`Modify the file in ${outputPath} and add a method called hasFlag that takes a string and returns a boolean. It should return true if the flag is defined at all, even if it is false. This is a unit test, only modify the file I've specified.`);
84
+ await Patcher.call(`Modify the file in ${outputPath} and add a method called hasFlag that takes a string and returns a boolean. It should return true if the flag is defined at all, even if it is false. This is a unit test, only modify the file I've specified.`);
84
85
  jest.resetModules();
85
86
  const newService = require("./outputs/flags.js").Flags;
86
87
  newService.register(["test"]);
@@ -1 +1 @@
1
- {"version":3,"file":"readwrite.test.js","sourceRoot":"","sources":["../../../../tests/integration/fileblocks/readwrite.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readwrite.test.js","sourceRoot":"","sources":["../../../../tests/integration/fileblocks/readwrite.test.ts"],"names":[],"mappings":"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"}