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 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/electron--builder-NSIS-47848f?style=for-the-badge" alt="electron-builder" />
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 ships with a signed Windows installer, Linux AppImage and .deb, and runs in headless API mode on macOS. 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.
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
- | Platform | GUI app | API + CLI | Skills available |
168
- |---|---|---|---|
169
- | **Windows 10/11** | signed installer | | All 68 (including Windows-only skills) |
170
- | **Linux** | ✅ AppImage / .deb | ✅ headless | ~62 (Windows-only skills auto-skipped) |
171
- | **WSL 2** | | headless | ~62 (Windows-only skills auto-skipped) |
172
- | **macOS** | | headless | ~62 (Windows-only skills auto-skipped) |
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 (for installer / manual builds)
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 — signed installer
234
+ ### Windows — one-line install
233
235
 
234
236
  ```powershell
235
237
  irm aiden.taracod.com/install.ps1 | iex
236
238
  ```
237
239
 
238
- Or [download the signed installer](https://github.com/taracodlabs/aiden-releases/releases/latest) manually. Windows 10/11, 64-bit, ~500 MB disk space.
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** — Windows NSIS installer, Linux AppImage + .deb.
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** + **electron-builder** — build pipeline.
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 = __importDefault(require("minimatch"));
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.default)(normalized, p, { dot: true, matchBase: true, nocase: true });
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 = __importDefault(require("minimatch"));
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.default)(normalized, pattern, { dot: true }));
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.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.13.5",
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.4.5-lts.2",
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": "^1.4.12",
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",