aiden-runtime 4.0.0 → 4.0.1
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/README.md +16 -14
- package/dist/core/permissionSystem.js +2 -2
- package/dist/core/toolRegistry.js +2 -2
- package/package.json +14 -6
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ Local-first · Self-healing routing · Browser & terminal control · Persistent
|
|
|
59
59
|
<p align="center">
|
|
60
60
|
<img src="https://img.shields.io/badge/Vitest-4-6e9f18?logo=vitest&logoColor=white&style=for-the-badge" alt="Vitest 4" />
|
|
61
61
|
<img src="https://img.shields.io/badge/esbuild-bundler-ffcf00?logo=esbuild&logoColor=black&style=for-the-badge" alt="esbuild" />
|
|
62
|
-
<img src="https://img.shields.io/badge/
|
|
62
|
+
<img src="https://img.shields.io/badge/install-npm%20global-cb3837?logo=npm&logoColor=white&style=for-the-badge" alt="npm install -g aiden-runtime" />
|
|
63
63
|
</p>
|
|
64
64
|
|
|
65
65
|
<p align="center">
|
|
@@ -139,7 +139,7 @@ Most AI agents answer questions. Aiden runs work end-to-end on your machine.
|
|
|
139
139
|
- **Plugin extension** — drop a plugin into `<aiden-home>/plugins/` and call `ctx.commandRegistry.register()` to add slash commands without touching core
|
|
140
140
|
- **Open source** — AGPL-3.0 core, Apache-2.0 skills. Read every line, modify anything, contribute back.
|
|
141
141
|
|
|
142
|
-
Aiden is a local-first AI operating system. It runs entirely on your machine — no cloud account required, no telemetry, no data leaving your hardware unless you configure a cloud provider. It
|
|
142
|
+
Aiden is a local-first AI operating system. It runs entirely on your machine — no cloud account required, no telemetry, no data leaving your hardware unless you configure a cloud provider. It installs as a global npm package (`aiden-runtime`, ~16 MB) on Windows, Linux, WSL, and macOS — Node.js 18+ is the only prerequisite. Features: 68 bundled skills, 42 built-in tools across 11 categories, multi-layer memory architecture, self-healing provider routing across 19 providers, the ability to control your screen, browse the web, run code, send emails and messages, manage files, and hold a full conversation — offline via Ollama.
|
|
143
143
|
|
|
144
144
|
---
|
|
145
145
|
|
|
@@ -164,12 +164,14 @@ For commercial deployments with support and indemnification, see [aiden.taracod.
|
|
|
164
164
|
|
|
165
165
|
## Platform support
|
|
166
166
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
|
170
|
-
|
|
171
|
-
| **
|
|
172
|
-
| **
|
|
167
|
+
All platforms use the same npm-based install path. Node.js 18+ is the only prerequisite.
|
|
168
|
+
|
|
169
|
+
| Platform | Install | Skills available |
|
|
170
|
+
|---|---|---|
|
|
171
|
+
| **Windows 10/11** | ✅ `npm install -g aiden-runtime` | All 68 (including Windows-only skills) |
|
|
172
|
+
| **Linux** | ✅ `npm install -g aiden-runtime` | ~62 (Windows-only skills auto-skipped) |
|
|
173
|
+
| **WSL 2** | ✅ `npm install -g aiden-runtime` | ~62 (Windows-only skills auto-skipped) |
|
|
174
|
+
| **macOS** | ✅ `npm install -g aiden-runtime` | ~62 (Windows-only skills auto-skipped) |
|
|
173
175
|
|
|
174
176
|
Windows-only skills (clipboard history, Defender, OneNote, Outlook COM, registry, Task Scheduler, etc.) are tagged `platform: windows` and silently skipped on other platforms at load time.
|
|
175
177
|
|
|
@@ -224,18 +226,18 @@ npm install -g aiden-runtime
|
|
|
224
226
|
aiden
|
|
225
227
|
```
|
|
226
228
|
|
|
227
|
-
### Prerequisites (
|
|
229
|
+
### Prerequisites (all platforms)
|
|
228
230
|
- Node.js 18+
|
|
229
|
-
- Git
|
|
231
|
+
- Git (only for the manual install path below)
|
|
230
232
|
- Ollama (optional, for offline mode): [ollama.ai](https://ollama.ai)
|
|
231
233
|
|
|
232
|
-
### Windows —
|
|
234
|
+
### Windows — one-line install
|
|
233
235
|
|
|
234
236
|
```powershell
|
|
235
237
|
irm aiden.taracod.com/install.ps1 | iex
|
|
236
238
|
```
|
|
237
239
|
|
|
238
|
-
|
|
240
|
+
The installer verifies Node.js 18+ then runs `npm install -g aiden-runtime`. Same package as `npx aiden-runtime` above; just adds the `aiden` command to your PATH so you can launch from any terminal.
|
|
239
241
|
|
|
240
242
|
### Linux / WSL / macOS — one-line install
|
|
241
243
|
|
|
@@ -648,7 +650,7 @@ Both the terminal CLI and the browser dashboard (`localhost:4200/ui`) expose the
|
|
|
648
650
|
|
|
649
651
|
- **TypeScript 5.9** — strict mode, full typing across core, providers, CLI, API.
|
|
650
652
|
- **Node.js 18+** — runtime; `node-fetch` not needed (built-in `fetch`).
|
|
651
|
-
- **Electron 41** —
|
|
653
|
+
- **Electron 41** — optional desktop wrapper; primary install is npm-based.
|
|
652
654
|
- **Next.js (app router)** — `dashboard-next/` for the browser UI.
|
|
653
655
|
- **React 18** — dashboard component model.
|
|
654
656
|
- **Playwright 1.58** — browser automation backbone.
|
|
@@ -658,7 +660,7 @@ Both the terminal CLI and the browser dashboard (`localhost:4200/ui`) expose the
|
|
|
658
660
|
- **croner** — cron scheduler.
|
|
659
661
|
- **discord.js**, **@slack/web-api**, **whatsapp-web.js**, **twilio**, **nodemailer**, **imap-simple** — channel adapters.
|
|
660
662
|
- **Vitest 4** — test runner; ~1,500 unit + integration tests.
|
|
661
|
-
- **esbuild**
|
|
663
|
+
- **esbuild** — bundler for the npm package; **electron-builder** — optional desktop wrapper.
|
|
662
664
|
- **Cloudflare Workers** — landing page + license server + install-script proxy.
|
|
663
665
|
|
|
664
666
|
---
|
|
@@ -53,7 +53,7 @@ exports.permissionSystem = void 0;
|
|
|
53
53
|
const fs = __importStar(require("fs"));
|
|
54
54
|
const path = __importStar(require("path"));
|
|
55
55
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
56
|
-
const minimatch_1 =
|
|
56
|
+
const minimatch_1 = require("minimatch");
|
|
57
57
|
// ── PermissionSystem ──────────────────────────────────────────
|
|
58
58
|
class PermissionSystem {
|
|
59
59
|
constructor() {
|
|
@@ -136,7 +136,7 @@ class PermissionSystem {
|
|
|
136
136
|
if (!p.includes('*') && !p.includes('?') && !p.includes('[')) {
|
|
137
137
|
return normalized.toLowerCase().startsWith(p.toLowerCase().replace(/\s*$/, ''));
|
|
138
138
|
}
|
|
139
|
-
return (0, minimatch_1.
|
|
139
|
+
return (0, minimatch_1.minimatch)(normalized, p, { dot: true, matchBase: true, nocase: true });
|
|
140
140
|
});
|
|
141
141
|
}
|
|
142
142
|
// ── Audit ────────────────────────────────────────────────────
|
|
@@ -68,7 +68,7 @@ const paths_1 = require("./paths");
|
|
|
68
68
|
const computerControl_1 = require("./computerControl");
|
|
69
69
|
const webSearch_1 = require("./webSearch");
|
|
70
70
|
const conversationMemory_1 = require("./conversationMemory");
|
|
71
|
-
const minimatch_1 =
|
|
71
|
+
const minimatch_1 = require("minimatch");
|
|
72
72
|
const morningBriefing_1 = require("./morningBriefing");
|
|
73
73
|
const marketDataTool_1 = require("./tools/marketDataTool");
|
|
74
74
|
const companyFilingsTool_1 = require("./tools/companyFilingsTool");
|
|
@@ -124,7 +124,7 @@ const DENIED_PATHS = [
|
|
|
124
124
|
];
|
|
125
125
|
function isPathDenied(filePath) {
|
|
126
126
|
const normalized = normalizeFilePath(filePath);
|
|
127
|
-
return DENIED_PATHS.some(pattern => (0, minimatch_1.
|
|
127
|
+
return DENIED_PATHS.some(pattern => (0, minimatch_1.minimatch)(normalized, pattern, { dot: true }));
|
|
128
128
|
}
|
|
129
129
|
// ── Command deny rules ────────────────────────────────────────
|
|
130
130
|
const DENIED_COMMANDS = [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aiden-runtime",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
"dev": "electron electron/main.js",
|
|
62
62
|
"build": "tsc --outDir dist && npm run build:cli && npm run build:api",
|
|
63
63
|
"prebuild:cli": "node scripts/inject-version.js",
|
|
64
|
-
"build:cli": "esbuild cli/aiden.ts --bundle --platform=node --target=node18 --outfile=dist-bundle/cli.js --external:electron --external:cpu-features --external:ssh2 --external:bcrypt --external:playwright --external:playwright-core",
|
|
64
|
+
"build:cli": "esbuild cli/aiden.ts --bundle --platform=node --target=node18 --outfile=dist-bundle/cli.js --external:electron --external:cpu-features --external:ssh2 --external:bcrypt --external:playwright --external:playwright-core --external:@aws-sdk/client-s3",
|
|
65
65
|
"prebuild:api": "node scripts/inject-version.js",
|
|
66
|
-
"build:api": "esbuild api/entry.ts --bundle --platform=node --target=node18 --outfile=dist-bundle/index.js --external:electron --external:cpu-features --external:ssh2 --external:bcrypt --external:playwright --external:playwright-core",
|
|
66
|
+
"build:api": "esbuild api/entry.ts --bundle --platform=node --target=node18 --outfile=dist-bundle/index.js --external:electron --external:cpu-features --external:ssh2 --external:bcrypt --external:playwright --external:playwright-core --external:@aws-sdk/client-s3",
|
|
67
67
|
"prepublishOnly": "npm run typecheck && npm run build",
|
|
68
68
|
"typecheck": "tsc --noEmit",
|
|
69
69
|
"publish:beta": "npm publish --tag beta",
|
|
@@ -233,7 +233,7 @@
|
|
|
233
233
|
"@types/twilio": "^3.19.2",
|
|
234
234
|
"@types/ws": "^8.18.1",
|
|
235
235
|
"archiver": "^7.0.1",
|
|
236
|
-
"axios": "^1.
|
|
236
|
+
"axios": "^1.15.2",
|
|
237
237
|
"bcrypt": "^6.0.0",
|
|
238
238
|
"better-sqlite3": "^12.9.0",
|
|
239
239
|
"blessed": "^0.1.81",
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
"kleur": "^4.1.5",
|
|
256
256
|
"marked": "^15.0.12",
|
|
257
257
|
"marked-terminal": "^7.3.0",
|
|
258
|
-
"multer": "^1.
|
|
258
|
+
"multer": "^2.1.1",
|
|
259
259
|
"nodemailer": "^8.0.3",
|
|
260
260
|
"open": "^11.0.0",
|
|
261
261
|
"ora": "^9.3.0",
|
|
@@ -272,12 +272,20 @@
|
|
|
272
272
|
"whatsapp-web.js": "^1.26.0",
|
|
273
273
|
"ws": "^8.20.0"
|
|
274
274
|
},
|
|
275
|
+
"overrides": {
|
|
276
|
+
"basic-ftp": "^5.3.1",
|
|
277
|
+
"ip-address": "^10.1.1",
|
|
278
|
+
"semver": "^7.5.2",
|
|
279
|
+
"postcss": "^8.5.10",
|
|
280
|
+
"hono": "^4.12.16",
|
|
281
|
+
"minimatch": "^9.0.9"
|
|
282
|
+
},
|
|
275
283
|
"devDependencies": {
|
|
276
284
|
"@types/better-sqlite3": "^7.6.13",
|
|
277
285
|
"@types/blessed": "^0.1.27",
|
|
278
286
|
"@types/dockerode": "^4.0.1",
|
|
279
287
|
"@types/js-yaml": "^4.0.9",
|
|
280
|
-
"@types/multer": "^
|
|
288
|
+
"@types/multer": "^2.0.0",
|
|
281
289
|
"@types/node": "^25.3.0",
|
|
282
290
|
"@types/nodemailer": "^7.0.11",
|
|
283
291
|
"@types/pdf-parse": "^1.1.4",
|