aiden-runtime 3.16.0
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/LICENSE +661 -0
- package/README.md +465 -0
- package/config/devos.config.json +186 -0
- package/config/hardware.json +9 -0
- package/config/model-selection.json +7 -0
- package/config/setup-complete.json +20 -0
- package/dist/api/routes/computerUse.js +112 -0
- package/dist/api/server.js +6870 -0
- package/dist/bin/npx-init.js +71 -0
- package/dist/coordination/commandGate.js +115 -0
- package/dist/coordination/livePulse.js +127 -0
- package/dist/core/agentLoop.js +2718 -0
- package/dist/core/agentShield.js +231 -0
- package/dist/core/aidenIdentity.js +215 -0
- package/dist/core/aidenPersonality.js +166 -0
- package/dist/core/aidenSdk.js +374 -0
- package/dist/core/asyncTasks.js +82 -0
- package/dist/core/auditTrail.js +61 -0
- package/dist/core/auxiliaryClient.js +114 -0
- package/dist/core/bgLLM.js +108 -0
- package/dist/core/bm25.js +68 -0
- package/dist/core/callbackSystem.js +64 -0
- package/dist/core/channels/adapter.js +6 -0
- package/dist/core/channels/discord.js +173 -0
- package/dist/core/channels/email.js +253 -0
- package/dist/core/channels/imessage.js +164 -0
- package/dist/core/channels/manager.js +96 -0
- package/dist/core/channels/signal.js +140 -0
- package/dist/core/channels/slack.js +139 -0
- package/dist/core/channels/twilio.js +144 -0
- package/dist/core/channels/webhook.js +186 -0
- package/dist/core/channels/whatsapp.js +185 -0
- package/dist/core/clarifyBus.js +75 -0
- package/dist/core/codeInterpreter.js +82 -0
- package/dist/core/computerControl.js +439 -0
- package/dist/core/conversationMemory.js +334 -0
- package/dist/core/costTracker.js +221 -0
- package/dist/core/cronManager.js +217 -0
- package/dist/core/deepKB.js +77 -0
- package/dist/core/doctor.js +279 -0
- package/dist/core/dreamEngine.js +334 -0
- package/dist/core/entityGraph.js +169 -0
- package/dist/core/eventBus.js +16 -0
- package/dist/core/evolutionAnalyzer.js +153 -0
- package/dist/core/executionLoop.js +309 -0
- package/dist/core/executor.js +224 -0
- package/dist/core/failureAnalyzer.js +166 -0
- package/dist/core/fastPathExpansion.js +82 -0
- package/dist/core/faultEngine.js +106 -0
- package/dist/core/featureGates.js +70 -0
- package/dist/core/fileIngestion.js +113 -0
- package/dist/core/gateway.js +97 -0
- package/dist/core/goalTracker.js +75 -0
- package/dist/core/growthEngine.js +168 -0
- package/dist/core/hardwareDetector.js +98 -0
- package/dist/core/hooks.js +45 -0
- package/dist/core/httpKeepalive.js +46 -0
- package/dist/core/hybridSearch.js +101 -0
- package/dist/core/importers.js +164 -0
- package/dist/core/instinctSystem.js +223 -0
- package/dist/core/knowledgeBase.js +351 -0
- package/dist/core/learningMemory.js +121 -0
- package/dist/core/lessonsBrowser.js +125 -0
- package/dist/core/licenseManager.js +399 -0
- package/dist/core/logBuffer.js +85 -0
- package/dist/core/machineId.js +87 -0
- package/dist/core/mcpClient.js +442 -0
- package/dist/core/memoryDistiller.js +165 -0
- package/dist/core/memoryExtractor.js +212 -0
- package/dist/core/memoryIds.js +213 -0
- package/dist/core/memoryPreamble.js +113 -0
- package/dist/core/memoryQuery.js +136 -0
- package/dist/core/memoryRecall.js +140 -0
- package/dist/core/memoryStrategy.js +201 -0
- package/dist/core/messageValidator.js +85 -0
- package/dist/core/modelDiscovery.js +108 -0
- package/dist/core/modelRouter.js +118 -0
- package/dist/core/morningBriefing.js +203 -0
- package/dist/core/multiGoalValidator.js +51 -0
- package/dist/core/parallelExecutor.js +43 -0
- package/dist/core/passiveSkillObserver.js +204 -0
- package/dist/core/paths.js +57 -0
- package/dist/core/patternDetector.js +83 -0
- package/dist/core/planResponseRepair.js +64 -0
- package/dist/core/planTool.js +111 -0
- package/dist/core/playwrightBridge.js +356 -0
- package/dist/core/pluginSystem.js +121 -0
- package/dist/core/privateMode.js +85 -0
- package/dist/core/reactLoop.js +156 -0
- package/dist/core/recipeEngine.js +166 -0
- package/dist/core/responseCache.js +128 -0
- package/dist/core/runSandbox.js +132 -0
- package/dist/core/sandboxRunner.js +200 -0
- package/dist/core/scheduler.js +543 -0
- package/dist/core/secretScanner.js +49 -0
- package/dist/core/semanticMemory.js +223 -0
- package/dist/core/sessionMemory.js +259 -0
- package/dist/core/sessionRouter.js +91 -0
- package/dist/core/sessionSearch.js +163 -0
- package/dist/core/setupWizard.js +225 -0
- package/dist/core/skillImporter.js +303 -0
- package/dist/core/skillLibrary.js +144 -0
- package/dist/core/skillLoader.js +471 -0
- package/dist/core/skillTeacher.js +352 -0
- package/dist/core/skillValidator.js +210 -0
- package/dist/core/skillWriter.js +384 -0
- package/dist/core/slashAsTool.js +226 -0
- package/dist/core/spawnManager.js +197 -0
- package/dist/core/statusVerbs.js +43 -0
- package/dist/core/swarmManager.js +109 -0
- package/dist/core/taskQueue.js +119 -0
- package/dist/core/taskRecovery.js +128 -0
- package/dist/core/taskState.js +168 -0
- package/dist/core/telegramBot.js +152 -0
- package/dist/core/todoManager.js +70 -0
- package/dist/core/toolNameRepair.js +71 -0
- package/dist/core/toolRegistry.js +2730 -0
- package/dist/core/tools/calendarTool.js +98 -0
- package/dist/core/tools/companyFilingsTool.js +98 -0
- package/dist/core/tools/gmailTool.js +87 -0
- package/dist/core/tools/marketDataTool.js +135 -0
- package/dist/core/tools/socialResearchTool.js +121 -0
- package/dist/core/truthCheck.js +57 -0
- package/dist/core/updateChecker.js +74 -0
- package/dist/core/userCognitionProfile.js +238 -0
- package/dist/core/userProfile.js +341 -0
- package/dist/core/version.js +5 -0
- package/dist/core/visionAnalyze.js +161 -0
- package/dist/core/voice/audio.js +187 -0
- package/dist/core/voice/stt.js +226 -0
- package/dist/core/voice/tts.js +310 -0
- package/dist/core/voiceInput.js +118 -0
- package/dist/core/voiceOutput.js +130 -0
- package/dist/core/webSearch.js +326 -0
- package/dist/core/workflowTracker.js +72 -0
- package/dist/core/workspaceMemory.js +54 -0
- package/dist/core/youtubeTranscript.js +224 -0
- package/dist/integrations/computerUse/apiRegistry.js +113 -0
- package/dist/integrations/computerUse/screenAgent.js +203 -0
- package/dist/integrations/computerUse/visionLoop.js +296 -0
- package/dist/memory/memoryLayers.js +143 -0
- package/dist/providers/boa.js +93 -0
- package/dist/providers/cerebras.js +70 -0
- package/dist/providers/custom.js +89 -0
- package/dist/providers/gemini.js +82 -0
- package/dist/providers/groq.js +92 -0
- package/dist/providers/index.js +149 -0
- package/dist/providers/nvidia.js +70 -0
- package/dist/providers/ollama.js +99 -0
- package/dist/providers/openrouter.js +74 -0
- package/dist/providers/router.js +497 -0
- package/dist/providers/types.js +6 -0
- package/dist/security/browserVault.js +129 -0
- package/dist/security/dataGuard.js +89 -0
- package/dist/tools/eonetTool.js +72 -0
- package/dist/types/computerUse.js +2 -0
- package/dist/types/executor.js +2 -0
- package/dist-bundle/cli.js +357859 -0
- package/package.json +256 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// DevOS — Autonomous AI Execution System
|
|
4
|
+
// Copyright (c) 2026 Shiva Deore. All rights reserved.
|
|
5
|
+
// ============================================================
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
+
};
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.checkDockerAvailable = checkDockerAvailable;
|
|
44
|
+
exports.resetDockerCache = resetDockerCache;
|
|
45
|
+
exports.buildSandboxImage = buildSandboxImage;
|
|
46
|
+
exports.runInDockerSandbox = runInDockerSandbox;
|
|
47
|
+
exports.getSandboxStatus = getSandboxStatus;
|
|
48
|
+
// core/sandboxRunner.ts — Opt-in Docker sandbox backend (N+34).
|
|
49
|
+
// When AIDEN_SANDBOX_MODE is "auto" or "strict", dangerous tools
|
|
50
|
+
// (shell_exec, run_python) execute inside short-lived Docker containers
|
|
51
|
+
// instead of the host, providing network isolation and resource limits.
|
|
52
|
+
const child_process_1 = require("child_process");
|
|
53
|
+
const util_1 = require("util");
|
|
54
|
+
const path_1 = __importDefault(require("path"));
|
|
55
|
+
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
56
|
+
// ── Constants ─────────────────────────────────────────────────
|
|
57
|
+
const SANDBOX_IMAGE = 'aiden-sandbox:latest';
|
|
58
|
+
const DOCKERFILE_CONTENT = `FROM node:20-alpine
|
|
59
|
+
RUN apk add --no-cache python3 py3-pip bash curl git
|
|
60
|
+
WORKDIR /workspace
|
|
61
|
+
# Drop to non-root for safety
|
|
62
|
+
RUN addgroup -S aiden && adduser -S aiden -G aiden && chown aiden:aiden /workspace
|
|
63
|
+
USER aiden
|
|
64
|
+
`;
|
|
65
|
+
// ── Docker availability check ─────────────────────────────────
|
|
66
|
+
let _dockerAvailableCache = null;
|
|
67
|
+
async function checkDockerAvailable() {
|
|
68
|
+
if (_dockerAvailableCache !== null)
|
|
69
|
+
return _dockerAvailableCache;
|
|
70
|
+
try {
|
|
71
|
+
await execAsync('docker --version', { timeout: 5000 });
|
|
72
|
+
_dockerAvailableCache = true;
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
_dockerAvailableCache = false;
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Resets the cache — useful after Docker Desktop starts up
|
|
81
|
+
function resetDockerCache() {
|
|
82
|
+
_dockerAvailableCache = null;
|
|
83
|
+
}
|
|
84
|
+
// ── Image build / cache ───────────────────────────────────────
|
|
85
|
+
let _imageBuildPromise = null;
|
|
86
|
+
async function buildSandboxImage() {
|
|
87
|
+
// Deduplicate concurrent build calls
|
|
88
|
+
if (_imageBuildPromise)
|
|
89
|
+
return _imageBuildPromise;
|
|
90
|
+
_imageBuildPromise = _doBuild().finally(() => {
|
|
91
|
+
_imageBuildPromise = null;
|
|
92
|
+
});
|
|
93
|
+
return _imageBuildPromise;
|
|
94
|
+
}
|
|
95
|
+
async function _doBuild() {
|
|
96
|
+
// Check if image already exists
|
|
97
|
+
try {
|
|
98
|
+
const { stdout } = await execAsync(`docker image inspect ${SANDBOX_IMAGE} --format "{{.Id}}"`, { timeout: 10000 });
|
|
99
|
+
if (stdout.trim()) {
|
|
100
|
+
console.log('[Sandbox] Image already present:', SANDBOX_IMAGE);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// Image doesn't exist — build it
|
|
106
|
+
}
|
|
107
|
+
// Write Dockerfile to a temp dir and build
|
|
108
|
+
const { mkdtempSync, writeFileSync, rmSync } = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
109
|
+
const os = await Promise.resolve().then(() => __importStar(require('os')));
|
|
110
|
+
const tmpDir = mkdtempSync(path_1.default.join(os.tmpdir(), 'aiden-sandbox-'));
|
|
111
|
+
try {
|
|
112
|
+
writeFileSync(path_1.default.join(tmpDir, 'Dockerfile'), DOCKERFILE_CONTENT);
|
|
113
|
+
console.log('[Sandbox] Building image', SANDBOX_IMAGE, '...');
|
|
114
|
+
const { stdout, stderr } = await execAsync(`docker build -t ${SANDBOX_IMAGE} "${tmpDir}"`, { timeout: 120000 });
|
|
115
|
+
console.log('[Sandbox] Build complete.', (stdout || stderr).slice(0, 200));
|
|
116
|
+
}
|
|
117
|
+
finally {
|
|
118
|
+
try {
|
|
119
|
+
rmSync(tmpDir, { recursive: true, force: true });
|
|
120
|
+
}
|
|
121
|
+
catch { }
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// ── Core runner ───────────────────────────────────────────────
|
|
125
|
+
/**
|
|
126
|
+
* Run a command or Python script inside a Docker container with:
|
|
127
|
+
* --rm auto-remove on exit
|
|
128
|
+
* --network=none no outbound traffic (unless args.network=true)
|
|
129
|
+
* --memory=512m RAM cap
|
|
130
|
+
* --cpus=1 CPU cap
|
|
131
|
+
* --read-only immutable container FS
|
|
132
|
+
* --tmpfs /tmp writable temp space
|
|
133
|
+
* -v workspace:/workspace (optional) host workspace mount
|
|
134
|
+
*/
|
|
135
|
+
async function runInDockerSandbox(args) {
|
|
136
|
+
const available = await checkDockerAvailable();
|
|
137
|
+
if (!available)
|
|
138
|
+
throw new Error('Docker is not available on this system');
|
|
139
|
+
await buildSandboxImage();
|
|
140
|
+
const timeout = args.timeout ?? 30000;
|
|
141
|
+
const network = args.network ? 'bridge' : 'none';
|
|
142
|
+
const workspace = args.workspace ?? path_1.default.join(process.cwd(), 'workspace');
|
|
143
|
+
// Resolve the actual command to pass to docker
|
|
144
|
+
let dockerCmd;
|
|
145
|
+
if (args.type === 'python') {
|
|
146
|
+
// Inline the script via stdin-style echo pipe to python3
|
|
147
|
+
const escaped = args.command
|
|
148
|
+
.replace(/\\/g, '\\\\')
|
|
149
|
+
.replace(/"/g, '\\"')
|
|
150
|
+
.replace(/\$/g, '\\$')
|
|
151
|
+
.replace(/`/g, '\\`');
|
|
152
|
+
dockerCmd = `python3 -c "${escaped}"`;
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
dockerCmd = args.command;
|
|
156
|
+
}
|
|
157
|
+
// Escape for outer shell
|
|
158
|
+
const innerEscaped = dockerCmd.replace(/"/g, '\\"');
|
|
159
|
+
const volumeFlag = `-v "${workspace}:/workspace"`;
|
|
160
|
+
const runCmd = [
|
|
161
|
+
'docker run',
|
|
162
|
+
'--rm',
|
|
163
|
+
`--network=${network}`,
|
|
164
|
+
'--memory=512m',
|
|
165
|
+
'--cpus=1',
|
|
166
|
+
'--read-only',
|
|
167
|
+
'--tmpfs /tmp',
|
|
168
|
+
volumeFlag,
|
|
169
|
+
SANDBOX_IMAGE,
|
|
170
|
+
`bash -c "${innerEscaped}"`,
|
|
171
|
+
].join(' ');
|
|
172
|
+
try {
|
|
173
|
+
const { stdout, stderr } = await execAsync(runCmd, {
|
|
174
|
+
timeout,
|
|
175
|
+
cwd: process.cwd(),
|
|
176
|
+
});
|
|
177
|
+
return { stdout: stdout || '', stderr: stderr || '', exitCode: 0 };
|
|
178
|
+
}
|
|
179
|
+
catch (e) {
|
|
180
|
+
const exitCode = e.code ?? 1;
|
|
181
|
+
return {
|
|
182
|
+
stdout: e.stdout ?? '',
|
|
183
|
+
stderr: e.stderr ?? e.message ?? '',
|
|
184
|
+
exitCode: typeof exitCode === 'number' ? exitCode : 1,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
async function getSandboxStatus() {
|
|
189
|
+
const mode = process.env.AIDEN_SANDBOX_MODE || 'off';
|
|
190
|
+
const dockerAvailable = await checkDockerAvailable();
|
|
191
|
+
let imageCached = false;
|
|
192
|
+
if (dockerAvailable) {
|
|
193
|
+
try {
|
|
194
|
+
const { stdout } = await execAsync(`docker image inspect ${SANDBOX_IMAGE} --format "{{.Id}}"`, { timeout: 5000 });
|
|
195
|
+
imageCached = Boolean(stdout.trim());
|
|
196
|
+
}
|
|
197
|
+
catch { }
|
|
198
|
+
}
|
|
199
|
+
return { mode, dockerAvailable, imageCached, imageTag: SANDBOX_IMAGE };
|
|
200
|
+
}
|