aiden-runtime 3.19.4 → 3.19.6

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.
Files changed (108) hide show
  1. package/config/devos.config.backup.json +224 -224
  2. package/config/devos.config.json +1 -1
  3. package/dist/api/server.js +7 -1
  4. package/dist/core/agentLoop.js +8 -3
  5. package/dist/core/skillLoader.js +2 -0
  6. package/dist/core/slashAsTool.js +2 -0
  7. package/dist/core/toolRegistry.js +16 -0
  8. package/dist/core/version.js +1 -1
  9. package/dist/providers/router.js +46 -6
  10. package/dist-bundle/cli.js +911 -557
  11. package/dist-bundle/index.js +758 -658
  12. package/package.json +268 -266
  13. package/scripts/postinstall.js +58 -1
  14. package/workspace-templates/HEARTBEAT.md +16 -0
  15. package/workspace-templates/SOUL.md +267 -0
  16. package/workspace-templates/STANDING_ORDERS.md +21 -0
  17. package/workspace-templates/permissions.yaml +180 -0
  18. package/workspace-templates/skills/architecture-diagram/SKILL.md +126 -0
  19. package/workspace-templates/skills/architecture-diagram/skill.json +25 -0
  20. package/workspace-templates/skills/arxiv/SKILL.md +124 -0
  21. package/workspace-templates/skills/arxiv/skill.json +26 -0
  22. package/workspace-templates/skills/ascii-art/SKILL.md +142 -0
  23. package/workspace-templates/skills/ascii-art/skill.json +26 -0
  24. package/workspace-templates/skills/blogwatcher/SKILL.md +147 -0
  25. package/workspace-templates/skills/blogwatcher/skill.json +26 -0
  26. package/workspace-templates/skills/censys/SKILL.md +104 -0
  27. package/workspace-templates/skills/censys/index.ts +133 -0
  28. package/workspace-templates/skills/censys/skill.json +25 -0
  29. package/workspace-templates/skills/clipboard-history/SKILL.md +101 -0
  30. package/workspace-templates/skills/clipboard-history/skill.json +23 -0
  31. package/workspace-templates/skills/crt-sh/SKILL.md +102 -0
  32. package/workspace-templates/skills/crt-sh/index.ts +59 -0
  33. package/workspace-templates/skills/crt-sh/skill.json +25 -0
  34. package/workspace-templates/skills/cveapi/SKILL.md +114 -0
  35. package/workspace-templates/skills/cveapi/index.ts +249 -0
  36. package/workspace-templates/skills/cveapi/skill.json +25 -0
  37. package/workspace-templates/skills/docker-management/SKILL.md +156 -0
  38. package/workspace-templates/skills/docker-management/skill.json +25 -0
  39. package/workspace-templates/skills/excalidraw/SKILL.md +148 -0
  40. package/workspace-templates/skills/excalidraw/skill.json +25 -0
  41. package/workspace-templates/skills/explainshell/SKILL.md +93 -0
  42. package/workspace-templates/skills/explainshell/index.ts +132 -0
  43. package/workspace-templates/skills/explainshell/skill.json +25 -0
  44. package/workspace-templates/skills/financial_research/SKILL.md +21 -0
  45. package/workspace-templates/skills/financial_research/skill.json +24 -0
  46. package/workspace-templates/skills/gif-search/SKILL.md +122 -0
  47. package/workspace-templates/skills/gif-search/skill.json +25 -0
  48. package/workspace-templates/skills/github-auth/SKILL.md +134 -0
  49. package/workspace-templates/skills/github-auth/skill.json +26 -0
  50. package/workspace-templates/skills/github-issues/SKILL.md +130 -0
  51. package/workspace-templates/skills/github-issues/skill.json +25 -0
  52. package/workspace-templates/skills/github-pr-workflow/SKILL.md +143 -0
  53. package/workspace-templates/skills/github-pr-workflow/skill.json +26 -0
  54. package/workspace-templates/skills/github-repo-management/SKILL.md +147 -0
  55. package/workspace-templates/skills/github-repo-management/skill.json +26 -0
  56. package/workspace-templates/skills/google-workspace/SKILL.md +110 -0
  57. package/workspace-templates/skills/google-workspace/skill.json +26 -0
  58. package/workspace-templates/skills/greynoise/SKILL.md +96 -0
  59. package/workspace-templates/skills/greynoise/index.ts +107 -0
  60. package/workspace-templates/skills/greynoise/skill.json +25 -0
  61. package/workspace-templates/skills/haveibeenpwned/SKILL.md +100 -0
  62. package/workspace-templates/skills/haveibeenpwned/index.ts +72 -0
  63. package/workspace-templates/skills/haveibeenpwned/skill.json +24 -0
  64. package/workspace-templates/skills/jupyter-live-kernel/SKILL.md +116 -0
  65. package/workspace-templates/skills/jupyter-live-kernel/skill.json +25 -0
  66. package/workspace-templates/skills/linear/SKILL.md +107 -0
  67. package/workspace-templates/skills/linear/skill.json +25 -0
  68. package/workspace-templates/skills/nano-pdf/SKILL.md +113 -0
  69. package/workspace-templates/skills/nano-pdf/skill.json +26 -0
  70. package/workspace-templates/skills/notion/SKILL.md +108 -0
  71. package/workspace-templates/skills/notion/skill.json +24 -0
  72. package/workspace-templates/skills/obsidian/SKILL.md +115 -0
  73. package/workspace-templates/skills/obsidian/skill.json +24 -0
  74. package/workspace-templates/skills/ocr-and-documents/SKILL.md +125 -0
  75. package/workspace-templates/skills/ocr-and-documents/skill.json +26 -0
  76. package/workspace-templates/skills/p5js/SKILL.md +163 -0
  77. package/workspace-templates/skills/p5js/skill.json +24 -0
  78. package/workspace-templates/skills/research-paper-writing/SKILL.md +158 -0
  79. package/workspace-templates/skills/research-paper-writing/skill.json +26 -0
  80. package/workspace-templates/skills/securityheaders/SKILL.md +99 -0
  81. package/workspace-templates/skills/securityheaders/index.ts +213 -0
  82. package/workspace-templates/skills/securityheaders/skill.json +26 -0
  83. package/workspace-templates/skills/shodan/SKILL.md +113 -0
  84. package/workspace-templates/skills/shodan/index.ts +94 -0
  85. package/workspace-templates/skills/shodan/skill.json +26 -0
  86. package/workspace-templates/skills/songsee/SKILL.md +152 -0
  87. package/workspace-templates/skills/songsee/skill.json +25 -0
  88. package/workspace-templates/skills/ssllabs/SKILL.md +107 -0
  89. package/workspace-templates/skills/ssllabs/index.ts +208 -0
  90. package/workspace-templates/skills/ssllabs/skill.json +27 -0
  91. package/workspace-templates/skills/stable-diffusion-image-generation/SKILL.md +136 -0
  92. package/workspace-templates/skills/stable-diffusion-image-generation/skill.json +24 -0
  93. package/workspace-templates/skills/systematic-debugging/SKILL.md +131 -0
  94. package/workspace-templates/skills/systematic-debugging/skill.json +25 -0
  95. package/workspace-templates/skills/test-driven-development/SKILL.md +164 -0
  96. package/workspace-templates/skills/test-driven-development/skill.json +25 -0
  97. package/workspace-templates/skills/urlscan/SKILL.md +118 -0
  98. package/workspace-templates/skills/urlscan/index.ts +94 -0
  99. package/workspace-templates/skills/urlscan/skill.json +24 -0
  100. package/workspace-templates/skills/virustotal/SKILL.md +120 -0
  101. package/workspace-templates/skills/virustotal/index.ts +124 -0
  102. package/workspace-templates/skills/virustotal/skill.json +26 -0
  103. package/workspace-templates/skills/web_research/SKILL.md +18 -0
  104. package/workspace-templates/skills/web_research/skill.json +20 -0
  105. package/workspace-templates/skills/xitter/SKILL.md +148 -0
  106. package/workspace-templates/skills/xitter/skill.json +26 -0
  107. package/workspace-templates/skills/youtube-content/SKILL.md +121 -0
  108. package/workspace-templates/skills/youtube-content/skill.json +25 -0
package/package.json CHANGED
@@ -1,266 +1,268 @@
1
- {
2
- "name": "aiden-runtime",
3
- "version": "3.19.4",
4
- "description": "Autonomous AI Operating System — Local, Private, Free. Runs on your machine with Ollama.",
5
- "author": "Taracod <hello@taracod.com>",
6
- "license": "AGPL-3.0-only",
7
- "keywords": [
8
- "ai",
9
- "autonomous-agent",
10
- "agent",
11
- "personal-ai",
12
- "ollama",
13
- "local-ai",
14
- "devos",
15
- "llm",
16
- "ai-os",
17
- "self-hosted-ai",
18
- "open-source-ai",
19
- "mistral",
20
- "qwen",
21
- "builder"
22
- ],
23
- "engines": {
24
- "node": ">=18"
25
- },
26
- "bin": {
27
- "devos-ai": "./dist/bin/npx-init.js",
28
- "aiden": "./dist-bundle/cli.js"
29
- },
30
- "main": "./dist/index.js",
31
- "files": [
32
- "dist/",
33
- "dist-bundle/cli.js",
34
- "dist-bundle/index.js",
35
- "config/",
36
- "scripts/postinstall.js",
37
- "scripts/uninstall.ps1",
38
- "README.md",
39
- "LICENSE"
40
- ],
41
- "workspaces": [
42
- "packages/*"
43
- ],
44
- "preferGlobal": true,
45
- "type": "commonjs",
46
- "scripts": {
47
- "dev": "electron electron/main.js",
48
- "build": "tsc --outDir dist && npm run build:cli && npm run build:api",
49
- "prebuild:cli": "node scripts/inject-version.js",
50
- "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",
51
- "prebuild:api": "node scripts/inject-version.js",
52
- "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",
53
- "prepublishOnly": "npm run build",
54
- "postinstall": "node scripts/postinstall.js",
55
- "start": "node dist-bundle/index.js serve",
56
- "electron": "electron electron/main.js",
57
- "dist": "node scripts/prepare-electron.js && electron-builder --win --publish never && node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('package.json','utf8'));p.main='./dist/index.js';fs.writeFileSync('package.json',JSON.stringify(p,null,2)+'\\n');console.log(' main restored → ./dist/index.js')\"",
58
- "dist:dir": "node scripts/prepare-electron.js && electron-builder --win --dir --publish never",
59
- "build:win": "npm run dist",
60
- "dist:linux": "node scripts/prepare-electron.js && electron-builder --linux --x64 --publish never && node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('package.json','utf8'));p.main='./dist/index.js';fs.writeFileSync('package.json',JSON.stringify(p,null,2)+'\\n');console.log(' main restored')\"",
61
- "test": "vitest run",
62
- "test:ui": "vitest --ui",
63
- "stress-test": "npx ts-node tests/stressTest.ts",
64
- "test:all": "npx ts-node tests/e2e/masterTestSuite.ts",
65
- "test:unit": "npx ts-node tests/e2e/masterTestSuite.ts --part1",
66
- "test:api": "npx ts-node tests/e2e/masterTestSuite.ts --part1 --part2",
67
- "test:chat": "npx ts-node tests/e2e/masterTestSuite.ts --part3",
68
- "test:reliability": "npx ts-node tests/reliability-sprint.ts",
69
- "test:full": "npx ts-node tests/full-suite.ts",
70
- "test:audit": "npx ts-node scripts/test-suite.ts",
71
- "test:audit:full": "npx ts-node scripts/test-suite.ts --full",
72
- "test:audit:api": "npx ts-node scripts/test-suite.ts --api",
73
- "test:audit:behavioral": "npx ts-node scripts/test-suite/behavioral.ts",
74
- "test:helper:clean": "npx ts-node scripts/test-suite/manual-helpers.ts clean",
75
- "test:helper:status": "npx ts-node scripts/test-suite/manual-helpers.ts status",
76
- "test:helper:memory": "npx ts-node scripts/test-suite/manual-helpers.ts memory",
77
- "cli": "npx ts-node cli/aiden.ts",
78
- "uninstall": "powershell -ExecutionPolicy Bypass -File scripts\\uninstall.ps1",
79
- "livepulse": "powershell -ExecutionPolicy Bypass -File scripts\\livepulse.ps1",
80
- "obfuscate": "javascript-obfuscator dist/ --output dist/ --compact true --string-array true --rotate-string-array true --string-array-threshold 0.75",
81
- "release": "node scripts/release.js"
82
- },
83
- "build": {
84
- "appId": "com.taracod.aiden",
85
- "productName": "Aiden",
86
- "copyright": "© 2026 Taracod",
87
- "publish": [
88
- {
89
- "provider": "github",
90
- "owner": "taracodlabs",
91
- "repo": "aiden-releases",
92
- "releaseType": "release"
93
- }
94
- ],
95
- "directories": {
96
- "output": "release"
97
- },
98
- "win": {
99
- "target": "nsis",
100
- "icon": "assets/icon.ico"
101
- },
102
- "nsis": {
103
- "oneClick": false,
104
- "allowToChangeInstallationDirectory": false,
105
- "createDesktopShortcut": true,
106
- "createStartMenuShortcut": true,
107
- "shortcutName": "Aiden",
108
- "installerIcon": "assets/icon.ico",
109
- "uninstallerIcon": "assets/icon.ico",
110
- "installerHeaderIcon": "assets/icon.ico",
111
- "deleteAppDataOnUninstall": false,
112
- "include": "build/installer.nsh"
113
- },
114
- "linux": {
115
- "target": [
116
- {
117
- "target": "AppImage",
118
- "arch": [
119
- "x64"
120
- ]
121
- },
122
- {
123
- "target": "deb",
124
- "arch": [
125
- "x64"
126
- ]
127
- }
128
- ],
129
- "category": "Development",
130
- "synopsis": "Local-first AI operating system",
131
- "description": "DevOS — Aiden is a local-first AI operating system with 69+ skills, 80+ tools, and self-healing provider routing across 13 LLM providers.",
132
- "maintainer": "Taracod Labs <contact@taracod.com>",
133
- "vendor": "Taracod Labs",
134
- "desktop": {
135
- "entry": {
136
- "Name": "DevOS — Aiden",
137
- "Comment": "Local-first AI operating system",
138
- "Categories": "Development;Utility;"
139
- }
140
- },
141
- "icon": "assets/icon.png"
142
- },
143
- "files": [
144
- "electron/**/*",
145
- "assets/**/*",
146
- "package.json"
147
- ],
148
- "extraResources": [
149
- {
150
- "from": "bin",
151
- "to": "bin",
152
- "filter": [
153
- "**/*"
154
- ]
155
- },
156
- {
157
- "from": "dist-bundle",
158
- "to": "dist",
159
- "filter": [
160
- "**/*"
161
- ]
162
- },
163
- {
164
- "from": "native-modules",
165
- "to": "node_modules",
166
- "filter": [
167
- "**/*"
168
- ]
169
- },
170
- {
171
- "from": "dashboard-next/.next/standalone/node_modules",
172
- "to": "dashboard/standalone/node_modules",
173
- "filter": [
174
- "**/*"
175
- ]
176
- },
177
- {
178
- "from": "dashboard-next/.next/standalone",
179
- "to": "dashboard/standalone",
180
- "filter": [
181
- "**/*"
182
- ]
183
- },
184
- {
185
- "from": "config",
186
- "to": "config",
187
- "filter": [
188
- "devos.config.json",
189
- "model-selection.json",
190
- "hardware.json"
191
- ]
192
- },
193
- {
194
- "from": "workspace-templates",
195
- "to": "workspace-templates",
196
- "filter": [
197
- "**/*"
198
- ]
199
- }
200
- ],
201
- "asar": true,
202
- "npmRebuild": false,
203
- "buildDependenciesFromSource": false,
204
- "asarUnpack": []
205
- },
206
- "dependencies": {
207
- "@inquirer/core": "^11.1.9",
208
- "@inquirer/prompts": "^8.4.2",
209
- "@modelcontextprotocol/sdk": "^1.27.1",
210
- "@slack/bolt": "^4.6.0",
211
- "@slack/web-api": "^7.15.0",
212
- "@types/archiver": "^7.0.0",
213
- "@types/bcrypt": "^6.0.0",
214
- "@types/sql.js": "^1.4.9",
215
- "@types/twilio": "^3.19.2",
216
- "@types/ws": "^8.18.1",
217
- "archiver": "^7.0.1",
218
- "axios": "^1.13.5",
219
- "bcrypt": "^6.0.0",
220
- "chalk": "^5.6.2",
221
- "cors": "^2.8.5",
222
- "discord.js": "^14.25.1",
223
- "dockerode": "^4.0.9",
224
- "dotenv": "^17.3.1",
225
- "electron-updater": "^6.8.3",
226
- "epub2": "^3.0.2",
227
- "execa": "^8.0.1",
228
- "express": "^4.18.2",
229
- "imap-simple": "^5.1.0",
230
- "multer": "^1.4.5-lts.2",
231
- "nodemailer": "^8.0.3",
232
- "open": "^11.0.0",
233
- "ora": "^9.3.0",
234
- "pdf-parse": "^1.1.1",
235
- "playwright": "^1.58.2",
236
- "puppeteer": "^24.39.1",
237
- "qrcode-terminal": "^0.12.0",
238
- "screenshot-desktop": "^1.15.3",
239
- "sql.js": "^1.14.1",
240
- "stripe": "^20.4.1",
241
- "tar-stream": "^3.1.8",
242
- "twilio": "^5.13.1",
243
- "uuid": "^9.0.0",
244
- "whatsapp-web.js": "^1.26.0",
245
- "ws": "^8.20.0"
246
- },
247
- "devDependencies": {
248
- "@types/dockerode": "^4.0.1",
249
- "@types/js-yaml": "^4.0.9",
250
- "@types/multer": "^1.4.12",
251
- "@types/node": "^25.3.0",
252
- "@types/nodemailer": "^7.0.11",
253
- "@types/pdf-parse": "^1.1.4",
254
- "@types/qrcode-terminal": "^0.12.2",
255
- "@types/tar-stream": "^3.1.4",
256
- "@types/uuid": "^9.0.0",
257
- "@vitest/ui": "^4.1.5",
258
- "electron": "^41.1.1",
259
- "electron-builder": "^26.8.1",
260
- "esbuild": "^0.28.0",
261
- "javascript-obfuscator": "^5.4.1",
262
- "ts-node": "^10.9.2",
263
- "typescript": "^5.9.3",
264
- "vitest": "^4.1.5"
265
- }
266
- }
1
+ {
2
+ "name": "aiden-runtime",
3
+ "version": "3.19.6",
4
+ "description": "Autonomous AI Operating System — Local, Private, Free. Runs on your machine with Ollama.",
5
+ "author": "Taracod <hello@taracod.com>",
6
+ "license": "AGPL-3.0-only",
7
+ "keywords": [
8
+ "ai",
9
+ "autonomous-agent",
10
+ "agent",
11
+ "personal-ai",
12
+ "ollama",
13
+ "local-ai",
14
+ "devos",
15
+ "llm",
16
+ "ai-os",
17
+ "self-hosted-ai",
18
+ "open-source-ai",
19
+ "mistral",
20
+ "qwen",
21
+ "builder"
22
+ ],
23
+ "engines": {
24
+ "node": ">=18"
25
+ },
26
+ "bin": {
27
+ "devos-ai": "./dist/bin/npx-init.js",
28
+ "aiden": "./dist-bundle/cli.js"
29
+ },
30
+ "main": "./dist/index.js",
31
+ "files": [
32
+ "dist/",
33
+ "dist-bundle/cli.js",
34
+ "dist-bundle/index.js",
35
+ "config/",
36
+ "workspace-templates/",
37
+ "scripts/postinstall.js",
38
+ "scripts/uninstall.ps1",
39
+ "README.md",
40
+ "LICENSE"
41
+ ],
42
+ "workspaces": [
43
+ "packages/*"
44
+ ],
45
+ "preferGlobal": true,
46
+ "type": "commonjs",
47
+ "scripts": {
48
+ "dev": "electron electron/main.js",
49
+ "build": "tsc --outDir dist && npm run build:cli && npm run build:api",
50
+ "prebuild:cli": "node scripts/inject-version.js",
51
+ "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",
52
+ "prebuild:api": "node scripts/inject-version.js",
53
+ "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",
54
+ "prepublishOnly": "npm run build",
55
+ "postinstall": "node scripts/postinstall.js",
56
+ "start": "node dist-bundle/index.js serve",
57
+ "electron": "electron electron/main.js",
58
+ "dist": "node scripts/prepare-electron.js && electron-builder --win --publish never && node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('package.json','utf8'));p.main='./dist/index.js';fs.writeFileSync('package.json',JSON.stringify(p,null,2)+'\\n');console.log(' main restored → ./dist/index.js')\"",
59
+ "dist:dir": "node scripts/prepare-electron.js && electron-builder --win --dir --publish never",
60
+ "build:win": "npm run dist",
61
+ "dist:linux": "node scripts/prepare-electron.js && electron-builder --linux --x64 --publish never && node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('package.json','utf8'));p.main='./dist/index.js';fs.writeFileSync('package.json',JSON.stringify(p,null,2)+'\\n');console.log(' main restored')\"",
62
+ "test": "vitest run",
63
+ "test:ui": "vitest --ui",
64
+ "stress-test": "npx ts-node tests/stressTest.ts",
65
+ "test:all": "npx ts-node tests/e2e/masterTestSuite.ts",
66
+ "test:unit": "npx ts-node tests/e2e/masterTestSuite.ts --part1",
67
+ "test:api": "npx ts-node tests/e2e/masterTestSuite.ts --part1 --part2",
68
+ "test:chat": "npx ts-node tests/e2e/masterTestSuite.ts --part3",
69
+ "test:reliability": "npx ts-node tests/reliability-sprint.ts",
70
+ "test:full": "npx ts-node tests/full-suite.ts",
71
+ "test:audit": "npx ts-node scripts/test-suite.ts",
72
+ "test:audit:full": "npx ts-node scripts/test-suite.ts --full",
73
+ "test:audit:api": "npx ts-node scripts/test-suite.ts --api",
74
+ "test:audit:behavioral": "npx ts-node scripts/test-suite/behavioral.ts",
75
+ "test:helper:clean": "npx ts-node scripts/test-suite/manual-helpers.ts clean",
76
+ "test:helper:status": "npx ts-node scripts/test-suite/manual-helpers.ts status",
77
+ "test:helper:memory": "npx ts-node scripts/test-suite/manual-helpers.ts memory",
78
+ "cli": "npx ts-node cli/aiden.ts",
79
+ "uninstall": "powershell -ExecutionPolicy Bypass -File scripts\\uninstall.ps1",
80
+ "livepulse": "powershell -ExecutionPolicy Bypass -File scripts\\livepulse.ps1",
81
+ "obfuscate": "javascript-obfuscator dist/ --output dist/ --compact true --string-array true --rotate-string-array true --string-array-threshold 0.75",
82
+ "release": "node scripts/release.js",
83
+ "release:npm": "powershell -ExecutionPolicy Bypass -File scripts/release-npm.ps1"
84
+ },
85
+ "build": {
86
+ "appId": "com.taracod.aiden",
87
+ "productName": "Aiden",
88
+ "copyright": "© 2026 Taracod",
89
+ "publish": [
90
+ {
91
+ "provider": "github",
92
+ "owner": "taracodlabs",
93
+ "repo": "aiden-releases",
94
+ "releaseType": "release"
95
+ }
96
+ ],
97
+ "directories": {
98
+ "output": "release"
99
+ },
100
+ "win": {
101
+ "target": "nsis",
102
+ "icon": "assets/icon.ico"
103
+ },
104
+ "nsis": {
105
+ "oneClick": false,
106
+ "allowToChangeInstallationDirectory": false,
107
+ "createDesktopShortcut": true,
108
+ "createStartMenuShortcut": true,
109
+ "shortcutName": "Aiden",
110
+ "installerIcon": "assets/icon.ico",
111
+ "uninstallerIcon": "assets/icon.ico",
112
+ "installerHeaderIcon": "assets/icon.ico",
113
+ "deleteAppDataOnUninstall": false,
114
+ "include": "build/installer.nsh"
115
+ },
116
+ "linux": {
117
+ "target": [
118
+ {
119
+ "target": "AppImage",
120
+ "arch": [
121
+ "x64"
122
+ ]
123
+ },
124
+ {
125
+ "target": "deb",
126
+ "arch": [
127
+ "x64"
128
+ ]
129
+ }
130
+ ],
131
+ "category": "Development",
132
+ "synopsis": "Local-first AI operating system",
133
+ "description": "DevOS — Aiden is a local-first AI operating system with 69+ skills, 80+ tools, and self-healing provider routing across 13 LLM providers.",
134
+ "maintainer": "Taracod Labs <contact@taracod.com>",
135
+ "vendor": "Taracod Labs",
136
+ "desktop": {
137
+ "entry": {
138
+ "Name": "DevOS — Aiden",
139
+ "Comment": "Local-first AI operating system",
140
+ "Categories": "Development;Utility;"
141
+ }
142
+ },
143
+ "icon": "assets/icon.png"
144
+ },
145
+ "files": [
146
+ "electron/**/*",
147
+ "assets/**/*",
148
+ "package.json"
149
+ ],
150
+ "extraResources": [
151
+ {
152
+ "from": "bin",
153
+ "to": "bin",
154
+ "filter": [
155
+ "**/*"
156
+ ]
157
+ },
158
+ {
159
+ "from": "dist-bundle",
160
+ "to": "dist",
161
+ "filter": [
162
+ "**/*"
163
+ ]
164
+ },
165
+ {
166
+ "from": "native-modules",
167
+ "to": "node_modules",
168
+ "filter": [
169
+ "**/*"
170
+ ]
171
+ },
172
+ {
173
+ "from": "dashboard-next/.next/standalone/node_modules",
174
+ "to": "dashboard/standalone/node_modules",
175
+ "filter": [
176
+ "**/*"
177
+ ]
178
+ },
179
+ {
180
+ "from": "dashboard-next/.next/standalone",
181
+ "to": "dashboard/standalone",
182
+ "filter": [
183
+ "**/*"
184
+ ]
185
+ },
186
+ {
187
+ "from": "config",
188
+ "to": "config",
189
+ "filter": [
190
+ "devos.config.json",
191
+ "model-selection.json",
192
+ "hardware.json"
193
+ ]
194
+ },
195
+ {
196
+ "from": "workspace-templates",
197
+ "to": "workspace-templates",
198
+ "filter": [
199
+ "**/*"
200
+ ]
201
+ }
202
+ ],
203
+ "asar": true,
204
+ "npmRebuild": false,
205
+ "buildDependenciesFromSource": false,
206
+ "asarUnpack": []
207
+ },
208
+ "dependencies": {
209
+ "@inquirer/core": "^11.1.9",
210
+ "@inquirer/prompts": "^8.4.2",
211
+ "@modelcontextprotocol/sdk": "^1.27.1",
212
+ "@slack/bolt": "^4.6.0",
213
+ "@slack/web-api": "^7.15.0",
214
+ "@types/archiver": "^7.0.0",
215
+ "@types/bcrypt": "^6.0.0",
216
+ "@types/sql.js": "^1.4.9",
217
+ "@types/twilio": "^3.19.2",
218
+ "@types/ws": "^8.18.1",
219
+ "archiver": "^7.0.1",
220
+ "axios": "^1.13.5",
221
+ "bcrypt": "^6.0.0",
222
+ "chalk": "^5.6.2",
223
+ "cors": "^2.8.5",
224
+ "discord.js": "^14.25.1",
225
+ "dockerode": "^4.0.9",
226
+ "dotenv": "^17.3.1",
227
+ "electron-updater": "^6.8.3",
228
+ "epub2": "^3.0.2",
229
+ "execa": "^8.0.1",
230
+ "express": "^4.18.2",
231
+ "imap-simple": "^5.1.0",
232
+ "multer": "^1.4.5-lts.2",
233
+ "nodemailer": "^8.0.3",
234
+ "open": "^11.0.0",
235
+ "ora": "^9.3.0",
236
+ "pdf-parse": "^1.1.1",
237
+ "playwright": "^1.58.2",
238
+ "puppeteer": "^24.39.1",
239
+ "qrcode-terminal": "^0.12.0",
240
+ "screenshot-desktop": "^1.15.3",
241
+ "sql.js": "^1.14.1",
242
+ "stripe": "^20.4.1",
243
+ "tar-stream": "^3.1.8",
244
+ "twilio": "^5.13.1",
245
+ "uuid": "^9.0.0",
246
+ "whatsapp-web.js": "^1.26.0",
247
+ "ws": "^8.20.0"
248
+ },
249
+ "devDependencies": {
250
+ "@types/dockerode": "^4.0.1",
251
+ "@types/js-yaml": "^4.0.9",
252
+ "@types/multer": "^1.4.12",
253
+ "@types/node": "^25.3.0",
254
+ "@types/nodemailer": "^7.0.11",
255
+ "@types/pdf-parse": "^1.1.4",
256
+ "@types/qrcode-terminal": "^0.12.2",
257
+ "@types/tar-stream": "^3.1.4",
258
+ "@types/uuid": "^9.0.0",
259
+ "@vitest/ui": "^4.1.5",
260
+ "electron": "^41.1.1",
261
+ "electron-builder": "^26.8.1",
262
+ "esbuild": "^0.28.0",
263
+ "javascript-obfuscator": "^5.4.1",
264
+ "ts-node": "^10.9.2",
265
+ "typescript": "^5.9.3",
266
+ "vitest": "^4.1.5"
267
+ }
268
+ }
@@ -1,5 +1,5 @@
1
1
  // postinstall.js — runs after npm install
2
- // Creates required workspace directories
2
+ // Creates required workspace directories and copies bundled starter skills
3
3
  'use strict'
4
4
  const fs = require('fs')
5
5
  const path = require('path')
@@ -10,6 +10,7 @@ const dirs = [
10
10
  'workspace/uploads',
11
11
  'workspace/artifacts',
12
12
  'workspace/memory',
13
+ 'workspace/skills',
13
14
  'logs',
14
15
  ]
15
16
 
@@ -19,3 +20,59 @@ for (const d of dirs) {
19
20
  try { fs.mkdirSync(p, { recursive: true }) } catch { /* skip */ }
20
21
  }
21
22
  }
23
+
24
+ // ── Copy bundled starter skills on first install ─────────────
25
+ // Only runs when workspace/skills/ is empty (no learned/ or approved/ subdirs
26
+ // with content). Does NOT overwrite existing user skills.
27
+ const skillsDst = path.join(root, 'workspace', 'skills')
28
+ const skillsSrc = path.join(root, 'workspace-templates', 'skills')
29
+
30
+ function dirHasSkills(dir) {
31
+ try {
32
+ const entries = fs.readdirSync(dir, { withFileTypes: true })
33
+ return entries.some(e => e.isDirectory() && fs.existsSync(path.join(dir, e.name, 'SKILL.md')))
34
+ } catch { return false }
35
+ }
36
+
37
+ function copyDirRecursive(src, dst) {
38
+ fs.mkdirSync(dst, { recursive: true })
39
+ for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
40
+ const s = path.join(src, entry.name)
41
+ const d = path.join(dst, entry.name)
42
+ if (entry.isDirectory()) {
43
+ copyDirRecursive(s, d)
44
+ } else {
45
+ fs.copyFileSync(s, d)
46
+ }
47
+ }
48
+ }
49
+
50
+ if (fs.existsSync(skillsSrc)) {
51
+ // Check if user already has skills anywhere in workspace/skills/
52
+ const hasExisting =
53
+ dirHasSkills(skillsDst) ||
54
+ dirHasSkills(path.join(skillsDst, 'learned')) ||
55
+ dirHasSkills(path.join(skillsDst, 'approved'))
56
+
57
+ if (!hasExisting) {
58
+ try {
59
+ const srcEntries = fs.readdirSync(skillsSrc, { withFileTypes: true })
60
+ .filter(e => e.isDirectory())
61
+ let copied = 0
62
+ for (const entry of srcEntries) {
63
+ const from = path.join(skillsSrc, entry.name)
64
+ const to = path.join(skillsDst, entry.name)
65
+ if (!fs.existsSync(to)) {
66
+ copyDirRecursive(from, to)
67
+ copied++
68
+ }
69
+ }
70
+ if (copied > 0) {
71
+ console.log(` Installed ${copied} starter skills. Type /skills to view.`)
72
+ }
73
+ } catch (e) {
74
+ // Non-fatal — skills copy failure shouldn't break install
75
+ console.log(' Note: Could not copy starter skills:', e.message)
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,16 @@
1
+ # Aiden Heartbeat Configuration
2
+
3
+ ## Morning Briefing (8:00 AM daily)
4
+ - Check unfinished tasks from yesterday
5
+ - Get NSE/NIFTY market summary
6
+ - Weather for user's location
7
+ - NASA EONET active natural events
8
+ - Proactive suggestion based on patterns
9
+
10
+ ## Market Watch (every 2 hours, market hours only)
11
+ - Check watchlist stocks for significant moves (>2%)
12
+
13
+ ## System Health (every 6 hours)
14
+ - Disk space warning if < 20% free
15
+ - Memory usage check
16
+ - Ollama model availability