@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.
- package/package.json +1 -1
- package/src/agents/base/base.ts +28 -7
- package/src/agents/configurable/ConfigAgent.ts +5 -3
- package/src/agents/developer/developer.ts +3 -4
- package/src/agents/index.ts +27 -2
- package/src/agents/patcher/patcher.ts +3 -5
- package/src/agents/researcher/researcher.ts +3 -4
- package/src/agents/tools/agentCall.ts +5 -2
- package/src/agents/tools/executeScript/definition.ts +1 -1
- package/src/agents/tools/executeScript/examples/dependency-injection-validation.ts +272 -0
- package/src/agents/tools/executeScript/examples/quick-test.ts +9 -15
- package/src/agents/tools/executeScript/examples/serialization-test.ts +64 -52
- package/src/agents/tools/executeScript/examples/test-runner.ts +9 -16
- package/src/agents/tools/executeScript/index.ts +27 -8
- package/src/agents/vim/vim.ts +3 -4
- package/src/ai.ts +2 -1
- package/src/chat.ts +4 -2
- package/src/cli.ts +5 -9
- package/src/dataset/diffs/test.ts +2 -1
- package/src/index.ts +3 -3
- package/src/services/AgentService.ts +9 -10
- package/src/services/EventService.ts +0 -2
- package/src/services/GitHub.ts +0 -1
- package/src/services/KnowhowClient.ts +0 -3
- package/src/services/Mcp.ts +0 -2
- package/src/services/S3.ts +0 -1
- package/src/services/Tools.ts +44 -5
- package/src/services/flags.ts +0 -1
- package/src/services/index.ts +56 -0
- package/src/services/modules/index.ts +53 -0
- package/src/{modules → services/modules}/types.ts +16 -5
- package/src/services/script-execution/SandboxContext.ts +4 -4
- package/src/services/script-execution/ScriptExecutor.ts +12 -10
- package/src/worker.ts +3 -3
- package/tests/integration/fileblocks/readwrite.test.ts +2 -1
- package/tests/integration/patching.test.ts +5 -5
- package/ts_build/src/agents/base/base.d.ts +9 -4
- package/ts_build/src/agents/base/base.js +16 -9
- package/ts_build/src/agents/base/base.js.map +1 -1
- package/ts_build/src/agents/configurable/ConfigAgent.d.ts +2 -2
- package/ts_build/src/agents/configurable/ConfigAgent.js +2 -2
- package/ts_build/src/agents/configurable/ConfigAgent.js.map +1 -1
- package/ts_build/src/agents/developer/developer.d.ts +2 -3
- package/ts_build/src/agents/developer/developer.js +3 -4
- package/ts_build/src/agents/developer/developer.js.map +1 -1
- package/ts_build/src/agents/index.d.ts +12 -2
- package/ts_build/src/agents/index.js +19 -3
- package/ts_build/src/agents/index.js.map +1 -1
- package/ts_build/src/agents/patcher/patcher.d.ts +2 -3
- package/ts_build/src/agents/patcher/patcher.js +3 -4
- package/ts_build/src/agents/patcher/patcher.js.map +1 -1
- package/ts_build/src/agents/researcher/researcher.d.ts +2 -3
- package/ts_build/src/agents/researcher/researcher.js +3 -4
- package/ts_build/src/agents/researcher/researcher.js.map +1 -1
- package/ts_build/src/agents/tools/agentCall.js +4 -4
- package/ts_build/src/agents/tools/agentCall.js.map +1 -1
- package/ts_build/src/agents/tools/executeScript/definition.js +1 -1
- package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.d.ts +18 -0
- package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js +192 -0
- package/ts_build/src/agents/tools/executeScript/examples/dependency-injection-validation.js.map +1 -0
- package/ts_build/src/agents/tools/executeScript/examples/quick-test.js +1 -4
- package/ts_build/src/agents/tools/executeScript/examples/quick-test.js.map +1 -1
- package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js +38 -39
- package/ts_build/src/agents/tools/executeScript/examples/serialization-test.js.map +1 -1
- package/ts_build/src/agents/tools/executeScript/examples/test-runner.js +3 -7
- package/ts_build/src/agents/tools/executeScript/examples/test-runner.js.map +1 -1
- package/ts_build/src/agents/tools/executeScript/index.d.ts +7 -7
- package/ts_build/src/agents/tools/executeScript/index.js +11 -5
- package/ts_build/src/agents/tools/executeScript/index.js.map +1 -1
- package/ts_build/src/agents/vim/vim.d.ts +2 -3
- package/ts_build/src/agents/vim/vim.js +3 -4
- package/ts_build/src/agents/vim/vim.js.map +1 -1
- package/ts_build/src/ai.js +2 -1
- package/ts_build/src/ai.js.map +1 -1
- package/ts_build/src/chat.js +10 -9
- package/ts_build/src/chat.js.map +1 -1
- package/ts_build/src/cli.js +11 -14
- package/ts_build/src/cli.js.map +1 -1
- package/ts_build/src/dataset/diffs/test.js +2 -1
- package/ts_build/src/dataset/diffs/test.js.map +1 -1
- package/ts_build/src/index.js +10 -10
- package/ts_build/src/index.js.map +1 -1
- package/ts_build/src/services/AgentService.d.ts +7 -3
- package/ts_build/src/services/AgentService.js +11 -10
- package/ts_build/src/services/AgentService.js.map +1 -1
- package/ts_build/src/services/EventService.d.ts +0 -1
- package/ts_build/src/services/EventService.js +1 -2
- package/ts_build/src/services/EventService.js.map +1 -1
- package/ts_build/src/services/GitHub.d.ts +0 -1
- package/ts_build/src/services/GitHub.js +1 -2
- package/ts_build/src/services/GitHub.js.map +1 -1
- package/ts_build/src/services/KnowhowClient.d.ts +0 -1
- package/ts_build/src/services/KnowhowClient.js +1 -2
- package/ts_build/src/services/KnowhowClient.js.map +1 -1
- package/ts_build/src/services/Mcp.d.ts +0 -1
- package/ts_build/src/services/Mcp.js +1 -2
- package/ts_build/src/services/Mcp.js.map +1 -1
- package/ts_build/src/services/S3.d.ts +0 -1
- package/ts_build/src/services/S3.js +1 -2
- package/ts_build/src/services/S3.js.map +1 -1
- package/ts_build/src/services/Tools.d.ts +19 -1
- package/ts_build/src/services/Tools.js +22 -4
- package/ts_build/src/services/Tools.js.map +1 -1
- package/ts_build/src/services/flags.d.ts +0 -1
- package/ts_build/src/services/flags.js +1 -2
- package/ts_build/src/services/flags.js.map +1 -1
- package/ts_build/src/services/index.d.ts +25 -0
- package/ts_build/src/services/index.js +42 -1
- package/ts_build/src/services/index.js.map +1 -1
- package/ts_build/src/services/modules/example-usage.d.ts +11 -0
- package/ts_build/src/services/modules/example-usage.js +43 -0
- package/ts_build/src/services/modules/example-usage.js.map +1 -0
- package/ts_build/src/services/modules/index.d.ts +4 -0
- package/ts_build/src/services/modules/index.js +44 -0
- package/ts_build/src/services/modules/index.js.map +1 -0
- package/ts_build/src/services/modules/types.d.ts +47 -0
- package/ts_build/src/services/modules/types.js +3 -0
- package/ts_build/src/services/modules/types.js.map +1 -0
- package/ts_build/src/services/script-execution/SandboxContext.d.ts +3 -3
- package/ts_build/src/services/script-execution/SandboxContext.js +1 -3
- package/ts_build/src/services/script-execution/SandboxContext.js.map +1 -1
- package/ts_build/src/services/script-execution/ScriptExecutor.d.ts +3 -3
- package/ts_build/src/services/script-execution/ScriptExecutor.js +6 -2
- package/ts_build/src/services/script-execution/ScriptExecutor.js.map +1 -1
- package/ts_build/src/services/singletons.d.ts +17 -0
- package/ts_build/src/services/singletons.js +28 -0
- package/ts_build/src/services/singletons.js.map +1 -0
- package/ts_build/src/worker.js +4 -3
- package/ts_build/src/worker.js.map +1 -1
- package/ts_build/tests/integration/fileblocks/readwrite.test.js +10 -9
- package/ts_build/tests/integration/fileblocks/readwrite.test.js.map +1 -1
- package/ts_build/tests/integration/patching.test.js +9 -10
- package/ts_build/tests/integration/patching.test.js.map +1 -1
- 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,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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/modules/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
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:
|
|
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
|
|
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":";;;
|
|
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 {
|
|
2
|
-
import {
|
|
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
|
|
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
|
|
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) =>
|
|
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":";;;;;;AAAA,8DAA8B;AAG9B,qDAAkD;AAClD,iDAA8C;AAC9C,iDAAsD;AAYtD,MAAa,cAAc;
|
|
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"}
|
package/ts_build/src/worker.js
CHANGED
|
@@ -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
|
|
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:
|
|
25
|
+
allowedTools: Tools.getToolNames(),
|
|
25
26
|
};
|
|
26
27
|
await (0, config_1.updateConfig)(config);
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
|
-
const toolsToUse =
|
|
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":";;;;;;AAAA,4CAAoB;AACpB,2BAA+B;
|
|
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
|
|
28
|
+
const agents_1 = require("../../../src/agents");
|
|
29
29
|
describe("Developer", () => {
|
|
30
|
+
const { Patcher } = (0, agents_1.agents)();
|
|
30
31
|
beforeAll(() => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,8CAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"readwrite.test.js","sourceRoot":"","sources":["../../../../tests/integration/fileblocks/readwrite.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,8CAAyD;AACzD,gDAA6C;AAG7C,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,eAAM,GAAE,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACnC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACnC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACjC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,SAAS,GAAG,sCAAsC,CAAC;QACzD,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5D,MAAM,OAAO,CAAC,IAAI,CAChB,sBAAsB,SAAS,mIAAmI,CACnK,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,MAAM,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAA,iBAAS,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAEzC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CACtB,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,CACvD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,UAAU,GAAG,uCAAuC,CAAC;QAC3D,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,OAAO,CAAC,IAAI,CAChB,sBAAsB,UAAU,oIAAoI,CACrK,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,MAAM,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5D,MAAM,IAAA,iBAAS,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAE1C,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,UAAU,GAAG,+CAA+C,CAAC;QAEnE,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;CAkBtB,CAAC;QACE,MAAM,OAAO,CAAC,IAAI,CAChB,sBAAsB,UAAU,6BAA6B,UAAU,EAAE,CAC1E,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,MAAM,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,OAAO,GAAiB,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;QAClE,IAAI;YACF,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9C,MAAM,OAAO,CAAC,IAAI,CAChB,sBAAsB,UAAU,iNAAiN,CAClP,CAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,MAAM,UAAU,GAEZ,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;YAExC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjD,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;SAC3B;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAChB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|