@tyvm/knowhow 0.0.55 → 0.0.56
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/docs/input-queue-manager.md +142 -0
- package/docs/multi-worker-management.md +142 -0
- package/package.json +1 -1
- package/scripts/README.md +119 -0
- package/scripts/restore_keys.sh +59 -0
- package/scripts/unset_keys.sh +60 -0
- package/src/agents/tools/askHuman.ts +2 -0
- package/src/agents/tools/startAgentTask.ts +2 -2
- package/src/ai.ts +3 -1
- package/src/chat/CliChatService.ts +2 -2
- package/src/chat/modules/AgentModule.ts +25 -2
- package/src/chat-old.ts +2 -2
- package/src/cli.ts +56 -3
- package/src/clients/anthropic.ts +7 -5
- package/src/clients/knowhow.ts +2 -2
- package/src/index.ts +6 -6
- package/src/microphone.ts +12 -4
- package/src/services/DockerService.ts +473 -0
- package/src/services/KnowhowClient.ts +4 -1
- package/src/services/index.ts +5 -1
- package/src/types.ts +6 -0
- package/src/utils/InputQueueManager.ts +324 -0
- package/src/utils/index.ts +5 -152
- package/src/worker.ts +158 -9
- package/src/workerRegistry.ts +152 -0
- package/tests/clients/AIClient.test.ts +177 -92
- package/tests/manual/test-concurrent-ask.ts +43 -0
- package/tests/services/DockerService.test.ts +24 -0
- package/tests/unit/input-queue.test.ts +80 -0
- package/ts_build/package.json +1 -1
- package/ts_build/src/agents/tools/askHuman.d.ts +1 -1
- package/ts_build/src/agents/tools/askHuman.js.map +1 -1
- package/ts_build/src/agents/tools/startAgentTask.js +2 -1
- package/ts_build/src/agents/tools/startAgentTask.js.map +1 -1
- package/ts_build/src/ai.js +3 -1
- package/ts_build/src/ai.js.map +1 -1
- package/ts_build/src/chat/CliChatService.js +1 -1
- package/ts_build/src/chat/CliChatService.js.map +1 -1
- package/ts_build/src/chat/modules/AgentModule.js +11 -1
- package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
- package/ts_build/src/chat-old.js +1 -1
- package/ts_build/src/chat-old.js.map +1 -1
- package/ts_build/src/cli.js +46 -3
- package/ts_build/src/cli.js.map +1 -1
- package/ts_build/src/clients/anthropic.js +7 -5
- package/ts_build/src/clients/anthropic.js.map +1 -1
- package/ts_build/src/clients/knowhow.js +1 -1
- package/ts_build/src/clients/knowhow.js.map +1 -1
- package/ts_build/src/dockerWorker.d.ts +22 -0
- package/ts_build/src/dockerWorker.js +210 -0
- package/ts_build/src/dockerWorker.js.map +1 -0
- package/ts_build/src/index.js +4 -4
- package/ts_build/src/index.js.map +1 -1
- package/ts_build/src/microphone.js +8 -3
- package/ts_build/src/microphone.js.map +1 -1
- package/ts_build/src/services/DockerService.d.ts +26 -0
- package/ts_build/src/services/DockerService.js +363 -0
- package/ts_build/src/services/DockerService.js.map +1 -0
- package/ts_build/src/services/KnowhowClient.d.ts +1 -1
- package/ts_build/src/services/KnowhowClient.js +1 -1
- package/ts_build/src/services/KnowhowClient.js.map +1 -1
- package/ts_build/src/services/index.d.ts +3 -0
- package/ts_build/src/services/index.js +4 -1
- package/ts_build/src/services/index.js.map +1 -1
- package/ts_build/src/types.d.ts +4 -0
- package/ts_build/src/types.js +3 -0
- package/ts_build/src/types.js.map +1 -1
- package/ts_build/src/utils/InputQueueManager.d.ts +19 -0
- package/ts_build/src/utils/InputQueueManager.js +234 -0
- package/ts_build/src/utils/InputQueueManager.js.map +1 -0
- package/ts_build/src/utils/index.d.ts +1 -3
- package/ts_build/src/utils/index.js +4 -114
- package/ts_build/src/utils/index.js.map +1 -1
- package/ts_build/src/worker-entrypoint.d.ts +2 -0
- package/ts_build/src/worker-entrypoint.js +39 -0
- package/ts_build/src/worker-entrypoint.js.map +1 -0
- package/ts_build/src/worker.d.ts +7 -1
- package/ts_build/src/worker.js +117 -9
- package/ts_build/src/worker.js.map +1 -1
- package/ts_build/src/workerRegistry.d.ts +11 -0
- package/ts_build/src/workerRegistry.js +143 -0
- package/ts_build/src/workerRegistry.js.map +1 -0
- package/ts_build/tests/clients/AIClient.test.js +88 -42
- package/ts_build/tests/clients/AIClient.test.js.map +1 -1
- package/ts_build/tests/manual/test-concurrent-ask.d.ts +1 -0
- package/ts_build/tests/manual/test-concurrent-ask.js +22 -0
- package/ts_build/tests/manual/test-concurrent-ask.js.map +1 -0
- package/ts_build/tests/services/DockerService.test.d.ts +1 -0
- package/ts_build/tests/services/DockerService.test.js +22 -0
- package/ts_build/tests/services/DockerService.test.js.map +1 -0
- package/ts_build/tests/unit/input-queue.test.d.ts +1 -0
- package/ts_build/tests/unit/input-queue.test.js +32 -0
- package/ts_build/tests/unit/input-queue.test.js.map +1 -0
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.DockerService = void 0;
|
|
27
|
+
const utils_1 = require("../utils");
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const os = __importStar(require("os"));
|
|
30
|
+
const config_1 = require("../config");
|
|
31
|
+
class DockerService {
|
|
32
|
+
static IMAGE_NAME = "knowhow-worker";
|
|
33
|
+
static CONTAINER_PREFIX = "knowhow-worker";
|
|
34
|
+
async checkDockerAvailable() {
|
|
35
|
+
try {
|
|
36
|
+
await (0, utils_1.execAsync)("docker --version");
|
|
37
|
+
await (0, utils_1.execAsync)("docker info");
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.log(error);
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
getDockerfilePath() {
|
|
46
|
+
const buildContext = process.cwd();
|
|
47
|
+
return path.join(buildContext, ".knowhow", "Dockerfile.worker");
|
|
48
|
+
}
|
|
49
|
+
async ensureDockerfile() {
|
|
50
|
+
const dockerfilePath = this.getDockerfilePath();
|
|
51
|
+
const fs = require("fs");
|
|
52
|
+
const knowhowDir = path.dirname(dockerfilePath);
|
|
53
|
+
if (!fs.existsSync(knowhowDir)) {
|
|
54
|
+
fs.mkdirSync(knowhowDir, { recursive: true });
|
|
55
|
+
}
|
|
56
|
+
if (!fs.existsSync(dockerfilePath)) {
|
|
57
|
+
console.log("📝 Creating default worker.Dockerfile...");
|
|
58
|
+
const dockerfile = this.generateDockerfile();
|
|
59
|
+
fs.writeFileSync(dockerfilePath, dockerfile);
|
|
60
|
+
console.log(`✓ Dockerfile created at ${dockerfilePath}`);
|
|
61
|
+
console.log(" You can customize this file to modify the worker image\n");
|
|
62
|
+
}
|
|
63
|
+
return dockerfilePath;
|
|
64
|
+
}
|
|
65
|
+
async buildWorkerImage() {
|
|
66
|
+
console.log("🔨 Building Docker image for knowhow worker...");
|
|
67
|
+
const dockerfilePath = await this.ensureDockerfile();
|
|
68
|
+
const buildContext = process.cwd();
|
|
69
|
+
console.log("📦 Starting Docker build process...\n");
|
|
70
|
+
return new Promise((resolve, reject) => {
|
|
71
|
+
const { spawn } = require("child_process");
|
|
72
|
+
const buildProcess = spawn("docker", [
|
|
73
|
+
"build",
|
|
74
|
+
"-t",
|
|
75
|
+
DockerService.IMAGE_NAME,
|
|
76
|
+
"-f",
|
|
77
|
+
dockerfilePath,
|
|
78
|
+
buildContext,
|
|
79
|
+
], {
|
|
80
|
+
stdio: ["inherit", "pipe", "pipe"],
|
|
81
|
+
});
|
|
82
|
+
buildProcess.stdout.on("data", (data) => {
|
|
83
|
+
const output = data.toString();
|
|
84
|
+
const lines = output.split("\n").filter((line) => line.trim());
|
|
85
|
+
lines.forEach((line) => {
|
|
86
|
+
if (line.includes("Step ")) {
|
|
87
|
+
console.log(`🔧 ${line}`);
|
|
88
|
+
}
|
|
89
|
+
else if (line.includes("---> ")) {
|
|
90
|
+
console.log(` ${line}`);
|
|
91
|
+
}
|
|
92
|
+
else if (line.trim()) {
|
|
93
|
+
console.log(` ${line}`);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
buildProcess.stderr.on("data", (data) => {
|
|
98
|
+
const output = data.toString();
|
|
99
|
+
const lines = output.split("\n").filter((line) => line.trim());
|
|
100
|
+
lines.forEach((line) => {
|
|
101
|
+
console.log(`⚠️ ${line}`);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
buildProcess.on("close", (code) => {
|
|
105
|
+
if (code === 0) {
|
|
106
|
+
console.log("\n🎉 Docker image built successfully!");
|
|
107
|
+
console.log(`✅ Image '${DockerService.IMAGE_NAME}' is ready to use\n`);
|
|
108
|
+
resolve();
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
reject(new Error(`Docker build failed with exit code ${code}`));
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
buildProcess.on("error", (error) => {
|
|
115
|
+
reject(error);
|
|
116
|
+
});
|
|
117
|
+
buildProcess.on("spawn", () => {
|
|
118
|
+
console.log("🚀 Docker build process started...\n");
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
async imageExists() {
|
|
123
|
+
try {
|
|
124
|
+
const { stdout } = await (0, utils_1.execAsync)(`docker images -q ${DockerService.IMAGE_NAME}`);
|
|
125
|
+
return stdout.trim().length > 0;
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
expandPath(pathStr) {
|
|
132
|
+
if (pathStr.startsWith("~/") || pathStr === "~") {
|
|
133
|
+
return pathStr.replace("~", os.homedir());
|
|
134
|
+
}
|
|
135
|
+
return pathStr;
|
|
136
|
+
}
|
|
137
|
+
parseVolumeMount(volumeSpec) {
|
|
138
|
+
const parts = volumeSpec.split(":");
|
|
139
|
+
if (parts.length < 2) {
|
|
140
|
+
return {
|
|
141
|
+
hostPath: "",
|
|
142
|
+
containerPath: "",
|
|
143
|
+
isValid: false,
|
|
144
|
+
error: `Invalid volume format: "${volumeSpec}". Expected format: "host_path:container_path[:mode]"`,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
const hostPath = this.expandPath(parts[0]);
|
|
148
|
+
const containerPath = parts[1];
|
|
149
|
+
const mode = parts[2];
|
|
150
|
+
const fs = require("fs");
|
|
151
|
+
if (!fs.existsSync(hostPath)) {
|
|
152
|
+
return {
|
|
153
|
+
hostPath,
|
|
154
|
+
containerPath,
|
|
155
|
+
mode,
|
|
156
|
+
isValid: false,
|
|
157
|
+
error: `Host path does not exist: ${hostPath} (from "${volumeSpec}")`,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
hostPath,
|
|
162
|
+
containerPath,
|
|
163
|
+
mode,
|
|
164
|
+
isValid: true,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
processVolumeMounts(volumes) {
|
|
168
|
+
const valid = [];
|
|
169
|
+
const errors = [];
|
|
170
|
+
for (const volumeSpec of volumes) {
|
|
171
|
+
const parsed = this.parseVolumeMount(volumeSpec);
|
|
172
|
+
if (!parsed.isValid) {
|
|
173
|
+
errors.push(parsed.error);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
const mount = parsed.mode
|
|
177
|
+
? `${parsed.hostPath}:${parsed.containerPath}:${parsed.mode}`
|
|
178
|
+
: `${parsed.hostPath}:${parsed.containerPath}`;
|
|
179
|
+
valid.push(mount);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return { valid, errors };
|
|
183
|
+
}
|
|
184
|
+
async runWorkerContainer(options) {
|
|
185
|
+
const containerName = `${DockerService.CONTAINER_PREFIX}-${Date.now()}`;
|
|
186
|
+
const homedir = os.homedir();
|
|
187
|
+
const relativeWorkspace = options.workspaceDir.replace(homedir, "~");
|
|
188
|
+
const knowhowDir = path.join(homedir, ".knowhow");
|
|
189
|
+
const relativeKnowhowDir = "~/.knowhow";
|
|
190
|
+
let config = options.config;
|
|
191
|
+
const defaultVolumes = [
|
|
192
|
+
`${relativeWorkspace}:/workspace`,
|
|
193
|
+
`${relativeKnowhowDir}:/root/.knowhow`,
|
|
194
|
+
];
|
|
195
|
+
if (!config?.worker?.volumes || config.worker.volumes.length === 0) {
|
|
196
|
+
console.log("📝 Initializing default volume mounts in config...");
|
|
197
|
+
config = {
|
|
198
|
+
...config,
|
|
199
|
+
worker: {
|
|
200
|
+
...config?.worker,
|
|
201
|
+
volumes: defaultVolumes,
|
|
202
|
+
},
|
|
203
|
+
};
|
|
204
|
+
await (0, config_1.updateConfig)(config);
|
|
205
|
+
console.log("✓ Config updated with default volume mounts\n");
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
const configVolumes = config.worker.volumes;
|
|
209
|
+
const missingDefaults = defaultVolumes.filter((dv) => !configVolumes.some((cv) => cv.split(":")[1] === dv.split(":")[1]));
|
|
210
|
+
if (missingDefaults.length > 0) {
|
|
211
|
+
console.log("📝 Adding missing default volumes to config...");
|
|
212
|
+
config.worker.volumes = [...missingDefaults, ...configVolumes];
|
|
213
|
+
await (0, config_1.updateConfig)(config);
|
|
214
|
+
console.log("✓ Config updated with missing default volumes\n");
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
const volumeMounts = [];
|
|
218
|
+
console.log(`📁 Processing ${config.worker.volumes.length} volume mount(s)...`);
|
|
219
|
+
const { valid, errors } = this.processVolumeMounts(config.worker.volumes);
|
|
220
|
+
if (errors.length > 0) {
|
|
221
|
+
console.warn("⚠️ Some volume mounts could not be processed:");
|
|
222
|
+
errors.forEach((error) => console.warn(` ${error}`));
|
|
223
|
+
}
|
|
224
|
+
if (valid.length > 0) {
|
|
225
|
+
console.log(`✓ Mounting ${valid.length} volume(s):`);
|
|
226
|
+
valid.forEach((mount) => {
|
|
227
|
+
const parts = mount.split(":");
|
|
228
|
+
const mode = parts[2] ? ` (${parts[2]})` : "";
|
|
229
|
+
console.log(` ${parts[0]} → ${parts[1]}${mode}`);
|
|
230
|
+
volumeMounts.push(`-v "${mount}"`);
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
console.error("❌ No valid volume mounts available!");
|
|
235
|
+
throw new Error("Cannot start container without valid volume mounts");
|
|
236
|
+
}
|
|
237
|
+
const hostname = `${os.hostname()}.docker`;
|
|
238
|
+
const workspaceRoot = process.env.WORKER_ROOT || relativeWorkspace;
|
|
239
|
+
const envVars = [
|
|
240
|
+
`-e KNOWHOW_JWT="${options.jwt}"`,
|
|
241
|
+
`-e KNOWHOW_API_URL="${options.apiUrl}"`,
|
|
242
|
+
`-e WORKSPACE_ROOT="${relativeWorkspace}"`,
|
|
243
|
+
`-e WORKER_HOSTNAME="${hostname}"`,
|
|
244
|
+
`-e WORKER_ROOT="${workspaceRoot}"`,
|
|
245
|
+
];
|
|
246
|
+
if (options.share) {
|
|
247
|
+
envVars.push(`-e WORKER_SHARED="true"`);
|
|
248
|
+
}
|
|
249
|
+
else if (options.unshare) {
|
|
250
|
+
envVars.push(`-e WORKER_SHARED="false"`);
|
|
251
|
+
}
|
|
252
|
+
const envFileArgs = [];
|
|
253
|
+
if (config?.worker?.envFile) {
|
|
254
|
+
const envFilePath = this.expandPath(config.worker.envFile);
|
|
255
|
+
const fs = require("fs");
|
|
256
|
+
if (fs.existsSync(envFilePath)) {
|
|
257
|
+
console.log(`📄 Using environment file: ${envFilePath}`);
|
|
258
|
+
envFileArgs.push(`--env-file "${envFilePath}"`);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
console.warn(`⚠️ Environment file not found: ${envFilePath}`);
|
|
262
|
+
console.warn(` Container will run without the environment file.`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
const dockerCmd = [
|
|
266
|
+
"docker run",
|
|
267
|
+
"-d",
|
|
268
|
+
`--name ${containerName}`,
|
|
269
|
+
"--network host",
|
|
270
|
+
...volumeMounts,
|
|
271
|
+
...envVars,
|
|
272
|
+
...envFileArgs,
|
|
273
|
+
`-w /workspace`,
|
|
274
|
+
DockerService.IMAGE_NAME,
|
|
275
|
+
].join(" ");
|
|
276
|
+
console.log("Starting Docker container...");
|
|
277
|
+
try {
|
|
278
|
+
const { stdout } = await (0, utils_1.execAsync)(dockerCmd);
|
|
279
|
+
const containerId = stdout.trim();
|
|
280
|
+
console.log(`✓ Container started: ${containerName} (${containerId.substring(0, 12)})`);
|
|
281
|
+
console.log(` Workspace: ${options.workspaceDir}`);
|
|
282
|
+
console.log(` Container ID: ${containerId.substring(0, 12)}`);
|
|
283
|
+
return containerId;
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
console.error("Failed to start container:", error.message);
|
|
287
|
+
throw error;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
async followContainerLogs(containerId) {
|
|
291
|
+
console.log("\nFollowing container logs (Ctrl+C to stop)...\n");
|
|
292
|
+
const { spawn } = require("child_process");
|
|
293
|
+
const logsProcess = spawn("docker", ["logs", "-f", containerId], {
|
|
294
|
+
stdio: "inherit",
|
|
295
|
+
});
|
|
296
|
+
return new Promise((resolve, reject) => {
|
|
297
|
+
logsProcess.on("error", reject);
|
|
298
|
+
process.on("SIGINT", () => {
|
|
299
|
+
logsProcess.kill();
|
|
300
|
+
resolve();
|
|
301
|
+
});
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
async stopContainer(containerId) {
|
|
305
|
+
try {
|
|
306
|
+
console.log(`\nStopping container ${containerId.substring(0, 12)}...`);
|
|
307
|
+
await (0, utils_1.execAsync)(`docker stop ${containerId}`);
|
|
308
|
+
await (0, utils_1.execAsync)(`docker rm ${containerId}`);
|
|
309
|
+
console.log("✓ Container stopped and removed");
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
console.error("Failed to stop container:", error.message);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
async cleanupAllWorkerContainers() {
|
|
316
|
+
try {
|
|
317
|
+
const { stdout } = await (0, utils_1.execAsync)(`docker ps -a --filter "name=${DockerService.CONTAINER_PREFIX}" --format "{{.ID}}"`);
|
|
318
|
+
const containerIds = stdout.trim().split("\n").filter(Boolean);
|
|
319
|
+
if (containerIds.length === 0) {
|
|
320
|
+
console.log("No worker containers to clean up");
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
console.log(`Cleaning up ${containerIds.length} worker container(s)...`);
|
|
324
|
+
for (const containerId of containerIds) {
|
|
325
|
+
await this.stopContainer(containerId);
|
|
326
|
+
}
|
|
327
|
+
console.log("✓ All worker containers cleaned up");
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
console.error("Failed to clean up containers:", error.message);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
generateDockerfile() {
|
|
334
|
+
return `FROM node:20
|
|
335
|
+
|
|
336
|
+
# Install necessary system dependencies
|
|
337
|
+
RUN apt-get update && apt-get install -y \
|
|
338
|
+
curl \
|
|
339
|
+
ffmpeg \
|
|
340
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
341
|
+
|
|
342
|
+
# Install necessary packages
|
|
343
|
+
RUN apt-get install git python3 make g++ bash curl
|
|
344
|
+
|
|
345
|
+
# Install knowhow CLI globally
|
|
346
|
+
RUN npm install -g @tyvm/knowhow
|
|
347
|
+
|
|
348
|
+
# Create workspace directory
|
|
349
|
+
WORKDIR /workspace
|
|
350
|
+
|
|
351
|
+
RUN knowhow init
|
|
352
|
+
|
|
353
|
+
# Set environment variables
|
|
354
|
+
ENV NODE_ENV=production
|
|
355
|
+
ENV KNOWHOW_DOCKER=true
|
|
356
|
+
|
|
357
|
+
# Set the default command to run the worker
|
|
358
|
+
CMD ["knowhow", "worker"]
|
|
359
|
+
`;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
exports.DockerService = DockerService;
|
|
363
|
+
//# sourceMappingURL=DockerService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DockerService.js","sourceRoot":"","sources":["../../../src/services/DockerService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAqC;AACrC,2CAA6B;AAC7B,uCAAyB;AAEzB,sCAAyC;AAWzC,MAAa,aAAa;IAChB,MAAM,CAAU,UAAU,GAAG,gBAAgB,CAAC;IAC9C,MAAM,CAAU,gBAAgB,GAAG,gBAAgB,CAAC;IAK5D,KAAK,CAAC,oBAAoB;QACxB,IAAI;YACF,MAAM,IAAA,iBAAS,EAAC,kBAAkB,CAAC,CAAC;YACpC,MAAM,IAAA,iBAAS,EAAC,aAAa,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAKO,iBAAiB;QACvB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAClE,CAAC;IAKO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAGzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC9B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAC/C;QAGD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7C,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;SAC3E;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAKD,KAAK,CAAC,gBAAgB;QACpB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAE9D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAEnC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QAErD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,KAAK,CACxB,QAAQ,EACR;gBACE,OAAO;gBACP,IAAI;gBACJ,aAAa,CAAC,UAAU;gBACxB,IAAI;gBACJ,cAAc;gBACd,YAAY;aACb,EACD;gBACE,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;aACnC,CACF,CAAC;YAEF,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;qBAC3B;yBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBACjC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;qBAC3B;yBAAM,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;wBACtB,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;qBAC3B;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;gBACxC,IAAI,IAAI,KAAK,CAAC,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;oBACrD,OAAO,CAAC,GAAG,CACT,YAAY,aAAa,CAAC,UAAU,qBAAqB,CAC1D,CAAC;oBACF,OAAO,EAAE,CAAC;iBACX;qBAAM;oBACL,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC,CAAC;iBACjE;YACH,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBACxC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC5B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,WAAW;QACf,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAS,EAChC,oBAAoB,aAAa,CAAC,UAAU,EAAE,CAC/C,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAKO,UAAU,CAAC,OAAe;QAChC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,GAAG,EAAE;YAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;SAC3C;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAMO,gBAAgB,CAAC,UAAkB;QAOzC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO;gBACL,QAAQ,EAAE,EAAE;gBACZ,aAAa,EAAE,EAAE;gBACjB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,2BAA2B,UAAU,uDAAuD;aACpG,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAGtB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC5B,OAAO;gBACL,QAAQ;gBACR,aAAa;gBACb,IAAI;gBACJ,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,6BAA6B,QAAQ,WAAW,UAAU,IAAI;aACtE,CAAC;SACH;QAED,OAAO;YACL,QAAQ;YACR,aAAa;YACb,IAAI;YACJ,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAKO,mBAAmB,CAAC,OAAiB;QAI3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC;aAC5B;iBAAM;gBAEL,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI;oBACvB,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,EAAE;oBAC7D,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnB;SACF;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAKD,KAAK,CAAC,kBAAkB,CAAC,OAA4B;QACnD,MAAM,aAAa,GAAG,GAAG,aAAa,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,YAAY,CAAC;QAExC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAG5B,MAAM,cAAc,GAAG;YACrB,GAAG,iBAAiB,aAAa;YACjC,GAAG,kBAAkB,iBAAiB;SACvC,CAAC;QAGF,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAClE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,MAAM,EAAE;oBACN,GAAG,MAAM,EAAE,MAAM;oBACjB,OAAO,EAAE,cAAc;iBACxB;aACF,CAAC;YACF,MAAM,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;SAC9D;aAAM;YAEL,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5C,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAC3C,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3E,CAAC;YAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,aAAa,CAAC,CAAC;gBAC/D,MAAM,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;aAChE;SACF;QAID,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,OAAO,CAAC,GAAG,CACT,iBAAiB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,qBAAqB,CACnE,CAAC;QAEF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAG1E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC;SACxD;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC;YACrD,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;gBACnD,YAAY,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACvE;QAGD,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,iBAAiB,CAAC;QAEnE,MAAM,OAAO,GAAG;YACd,mBAAmB,OAAO,CAAC,GAAG,GAAG;YACjC,uBAAuB,OAAO,CAAC,MAAM,GAAG;YACxC,sBAAsB,iBAAiB,GAAG;YAC1C,uBAAuB,QAAQ,GAAG;YAClC,mBAAmB,aAAa,GAAG;SACpC,CAAC;QAEF,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;SACzC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SAC1C;QAGD,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAEzB,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;gBACzD,WAAW,CAAC,IAAI,CAAC,eAAe,WAAW,GAAG,CAAC,CAAC;aACjD;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;aACrE;SACF;QAED,MAAM,SAAS,GAAG;YAChB,YAAY;YACZ,IAAI;YACJ,UAAU,aAAa,EAAE;YACzB,gBAAgB;YAChB,GAAG,YAAY;YACf,GAAG,OAAO;YACV,GAAG,WAAW;YACd,eAAe;YACf,aAAa,CAAC,UAAU;SACzB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAE5C,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAElC,OAAO,CAAC,GAAG,CACT,wBAAwB,aAAa,KAAK,WAAW,CAAC,SAAS,CAC7D,CAAC,EACD,EAAE,CACH,GAAG,CACL,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAE/D,OAAO,WAAW,CAAC;SACpB;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAKD,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QAC3C,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAEhE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE;YAC/D,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAGhC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACxB,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,IAAI;YACF,OAAO,CAAC,GAAG,CAAC,wBAAwB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAA,iBAAS,EAAC,eAAe,WAAW,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAA,iBAAS,EAAC,aAAa,WAAW,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;SAChD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SAC3D;IACH,CAAC;IAKD,KAAK,CAAC,0BAA0B;QAC9B,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAS,EAChC,+BAA+B,aAAa,CAAC,gBAAgB,sBAAsB,CACpF,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE/D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,OAAO;aACR;YAED,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,MAAM,yBAAyB,CAAC,CAAC;YAEzE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;gBACtC,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;aACvC;YAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;SACnD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SAChE;IACH,CAAC;IAKO,kBAAkB;QACxB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAyBV,CAAC;IACA,CAAC;;AAxcH,sCAycC"}
|
|
@@ -26,7 +26,7 @@ export declare class KnowhowSimpleClient {
|
|
|
26
26
|
private jwt;
|
|
27
27
|
headers: {};
|
|
28
28
|
jwtValidated: boolean;
|
|
29
|
-
constructor(baseUrl
|
|
29
|
+
constructor(baseUrl?: string, jwt?: string);
|
|
30
30
|
setJwt(jwt: string): void;
|
|
31
31
|
checkJwt(): Promise<void>;
|
|
32
32
|
me(): Promise<import("axios").AxiosResponse<any, any>>;
|
|
@@ -22,7 +22,7 @@ class KnowhowSimpleClient {
|
|
|
22
22
|
jwt;
|
|
23
23
|
headers = {};
|
|
24
24
|
jwtValidated = false;
|
|
25
|
-
constructor(baseUrl, jwt = loadKnowhowJwt()) {
|
|
25
|
+
constructor(baseUrl = exports.KNOWHOW_API_URL, jwt = loadKnowhowJwt()) {
|
|
26
26
|
this.baseUrl = baseUrl;
|
|
27
27
|
this.jwt = jwt;
|
|
28
28
|
this.setJwt(jwt);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnowhowClient.js","sourceRoot":"","sources":["../../../src/services/KnowhowClient.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AAEpB,gDAAwB;AAgCxB,SAAgB,cAAc;IAC5B,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,EAAE,CAAC;KACX;IACD,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAErD,OAAO,GAAG,CAAC;AACb,CAAC;AARD,wCAQC;AAEY,QAAA,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,6BAA6B,CAAC;AAE/D,MAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"KnowhowClient.js","sourceRoot":"","sources":["../../../src/services/KnowhowClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { McpService } from "./Mcp";
|
|
|
9
9
|
import { S3Service } from "./S3";
|
|
10
10
|
import { ToolsService } from "./Tools";
|
|
11
11
|
import { PluginService } from "../plugins/plugins";
|
|
12
|
+
import { DockerService } from "./DockerService";
|
|
12
13
|
export * from "./AgentService";
|
|
13
14
|
export * from "./EventService";
|
|
14
15
|
export * from "./flags";
|
|
@@ -17,6 +18,7 @@ export * from "./S3";
|
|
|
17
18
|
export * from "./Tools";
|
|
18
19
|
export * as MCP from "./Mcp";
|
|
19
20
|
export * from "./EmbeddingService";
|
|
21
|
+
export * from "./DockerService";
|
|
20
22
|
export { Clients } from "../clients";
|
|
21
23
|
declare let Singletons: {
|
|
22
24
|
Tools: ToolsService;
|
|
@@ -26,6 +28,7 @@ declare let Singletons: {
|
|
|
26
28
|
GitHub: GitHubService;
|
|
27
29
|
Mcp: McpService;
|
|
28
30
|
AwsS3: S3Service;
|
|
31
|
+
Docker: DockerService;
|
|
29
32
|
knowhowApiClient: KnowhowSimpleClient;
|
|
30
33
|
Plugins: PluginService;
|
|
31
34
|
Clients: AIClient;
|
|
@@ -38,6 +38,7 @@ const Mcp_1 = require("./Mcp");
|
|
|
38
38
|
const S3_1 = require("./S3");
|
|
39
39
|
const Tools_1 = require("./Tools");
|
|
40
40
|
const plugins_1 = require("../plugins/plugins");
|
|
41
|
+
const DockerService_1 = require("./DockerService");
|
|
41
42
|
__exportStar(require("./AgentService"), exports);
|
|
42
43
|
__exportStar(require("./EventService"), exports);
|
|
43
44
|
__exportStar(require("./flags"), exports);
|
|
@@ -46,6 +47,7 @@ __exportStar(require("./S3"), exports);
|
|
|
46
47
|
__exportStar(require("./Tools"), exports);
|
|
47
48
|
exports.MCP = __importStar(require("./Mcp"));
|
|
48
49
|
__exportStar(require("./EmbeddingService"), exports);
|
|
50
|
+
__exportStar(require("./DockerService"), exports);
|
|
49
51
|
var clients_2 = require("../clients");
|
|
50
52
|
Object.defineProperty(exports, "Clients", { enumerable: true, get: function () { return clients_2.Clients; } });
|
|
51
53
|
let Singletons = {};
|
|
@@ -65,6 +67,7 @@ const services = () => {
|
|
|
65
67
|
Agents,
|
|
66
68
|
AwsS3: new S3_1.S3Service(),
|
|
67
69
|
Clients: clients_1.Clients,
|
|
70
|
+
Docker: new DockerService_1.DockerService(),
|
|
68
71
|
Downloader,
|
|
69
72
|
Events,
|
|
70
73
|
Flags: new flags_1.FlagsService(),
|
|
@@ -72,7 +75,7 @@ const services = () => {
|
|
|
72
75
|
Mcp: new Mcp_1.McpService(),
|
|
73
76
|
Plugins,
|
|
74
77
|
Tools,
|
|
75
|
-
knowhowApiClient: new KnowhowClient_1.KnowhowSimpleClient(
|
|
78
|
+
knowhowApiClient: new KnowhowClient_1.KnowhowSimpleClient(),
|
|
76
79
|
};
|
|
77
80
|
Singletons.Tools.setContext({
|
|
78
81
|
Agents,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAqE;AACrE,wCAA+C;AAC/C,iDAA8C;AAC9C,iDAA8C;AAC9C,mCAAuC;AACvC,qCAAyC;AACzC,mDAAsD;AACtD,+BAAmC;AACnC,6BAAiC;AACjC,mCAAuC;AACvC,gDAAmD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAqE;AACrE,wCAA+C;AAC/C,iDAA8C;AAC9C,iDAA8C;AAC9C,mCAAuC;AACvC,qCAAyC;AACzC,mDAAsD;AACtD,+BAAmC;AACnC,6BAAiC;AACjC,mCAAuC;AACvC,gDAAmD;AACnD,mDAAgD;AAEhD,iDAA+B;AAC/B,iDAA+B;AAC/B,0CAAwB;AACxB,2CAAyB;AACzB,uCAAqB;AACrB,0CAAwB;AACxB,6CAA6B;AAC7B,qDAAmC;AACnC,kDAAgC;AAChC,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAEhB,IAAI,UAAU,GAAG,EAahB,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,MAAM,UAAU,GAAG,IAAI,8BAAiB,CAAC,iBAAO,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,uBAAa,CAAC;YAChC,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,UAAU;YACV,MAAM;YACN,KAAK,EAAE,IAAI,oBAAY,EAAE;YACzB,MAAM,EAAE,IAAI,sBAAa,EAAE;YAC3B,GAAG,EAAE,IAAI,gBAAU,EAAE;YACrB,OAAO;YACP,KAAK;YACL,gBAAgB,EAAE,IAAI,mCAAmB,EAAE;SAC5C,CAAC;QAEF,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1B,MAAM;YACN,MAAM;YACN,OAAO;YACP,OAAO,EAAP,iBAAO;SACR,CAAC,CAAC;KACJ;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AArCW,QAAA,QAAQ,YAqCnB"}
|
package/ts_build/src/types.d.ts
CHANGED
|
@@ -53,6 +53,9 @@ export type Config = {
|
|
|
53
53
|
};
|
|
54
54
|
worker?: {
|
|
55
55
|
allowedTools?: string[];
|
|
56
|
+
sandbox?: boolean;
|
|
57
|
+
volumes?: string[];
|
|
58
|
+
envFile?: string;
|
|
56
59
|
};
|
|
57
60
|
};
|
|
58
61
|
export type Assistant = {
|
|
@@ -120,6 +123,7 @@ export type ChatInteraction = {
|
|
|
120
123
|
};
|
|
121
124
|
export declare const Models: {
|
|
122
125
|
anthropic: {
|
|
126
|
+
Opus4_5: string;
|
|
123
127
|
Opus4: string;
|
|
124
128
|
Opus4_1: string;
|
|
125
129
|
Sonnet4_5: string;
|
package/ts_build/src/types.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GoogleEmbeddingModels = exports.GoogleVideoModels = exports.GoogleImageModels = exports.GoogleReasoningModels = exports.OpenAiEmbeddingModels = exports.OpenAiReasoningModels = exports.Providers = exports.EmbeddingModels = exports.Models = void 0;
|
|
4
4
|
exports.Models = {
|
|
5
5
|
anthropic: {
|
|
6
|
+
Opus4_5: "claude-opus-4-5-20251101",
|
|
6
7
|
Opus4: "claude-opus-4-20250514",
|
|
7
8
|
Opus4_1: "claude-opus-4-1-20250805",
|
|
8
9
|
Sonnet4_5: "claude-sonnet-4-5-20250929",
|
|
@@ -91,6 +92,8 @@ exports.OpenAiReasoningModels = [
|
|
|
91
92
|
exports.Models.openai.GPT_5,
|
|
92
93
|
exports.Models.openai.GPT_5_Mini,
|
|
93
94
|
exports.Models.openai.GPT_5_Nano,
|
|
95
|
+
exports.Models.openai.GPT_5_1,
|
|
96
|
+
exports.Models.openai.GPT_5_2,
|
|
94
97
|
];
|
|
95
98
|
exports.OpenAiEmbeddingModels = [
|
|
96
99
|
exports.EmbeddingModels.openai.EmbeddingAda2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const askHistory: string[];
|
|
2
|
+
export declare class InputQueueManager {
|
|
3
|
+
private stack;
|
|
4
|
+
private rl;
|
|
5
|
+
private currentLine;
|
|
6
|
+
private historyIndex;
|
|
7
|
+
private savedLineBeforeHistory;
|
|
8
|
+
private ensureRl;
|
|
9
|
+
ask(question: string, options?: string[], history?: string[]): Promise<string>;
|
|
10
|
+
private peek;
|
|
11
|
+
private syncFromReadline;
|
|
12
|
+
private sanitizeHistoryEntry;
|
|
13
|
+
private getFullHistory;
|
|
14
|
+
private render;
|
|
15
|
+
private renderTopOrClose;
|
|
16
|
+
private replaceLine;
|
|
17
|
+
private longestCommonPrefix;
|
|
18
|
+
private close;
|
|
19
|
+
}
|