aiden-runtime 3.19.8 → 3.19.9
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/config/hardware.json +2 -2
- package/dist/api/server.js +18 -4
- package/dist/core/skillLoader.js +4 -8
- package/dist/core/version.js +1 -1
- package/dist-bundle/cli.js +2 -8
- package/dist-bundle/index.js +8 -11
- package/package.json +1 -1
package/config/hardware.json
CHANGED
package/dist/api/server.js
CHANGED
|
@@ -358,6 +358,17 @@ function handleChatError(err, apiName, send) {
|
|
|
358
358
|
}
|
|
359
359
|
// Workspace root — AIDEN_USER_DATA in packaged Electron, cwd in dev
|
|
360
360
|
const WORKSPACE_ROOT = process.env.AIDEN_USER_DATA || process.cwd();
|
|
361
|
+
// Package root — where workspace-templates/ ships inside the npm tarball.
|
|
362
|
+
// In esbuild bundle (dist-bundle/index.js): __dirname = <pkg>/dist-bundle/ → parent is <pkg>
|
|
363
|
+
// In tsc output (dist/api/server.js): __dirname = <pkg>/dist/api/ → grandparent is <pkg>
|
|
364
|
+
// C22: needed because WORKSPACE_ROOT may differ from the npm install dir.
|
|
365
|
+
const _pkgCandidate1 = path.join(__dirname, '..');
|
|
366
|
+
const _pkgCandidate2 = path.join(__dirname, '..', '..');
|
|
367
|
+
const PACKAGE_ROOT = fs.existsSync(path.join(_pkgCandidate1, 'workspace-templates'))
|
|
368
|
+
? _pkgCandidate1
|
|
369
|
+
: fs.existsSync(path.join(_pkgCandidate2, 'workspace-templates'))
|
|
370
|
+
? _pkgCandidate2
|
|
371
|
+
: WORKSPACE_ROOT; // dev mode: cwd has workspace-templates
|
|
361
372
|
// Per-session soul hash for Option-B protected-context injection.
|
|
362
373
|
// First turn: undefined → full SOUL inject. Subsequent turns: compare → emit
|
|
363
374
|
// reference line when unchanged, re-inject when SOUL.md edited on disk.
|
|
@@ -395,22 +406,25 @@ function initWorkspaceDefaults() {
|
|
|
395
406
|
}
|
|
396
407
|
}
|
|
397
408
|
// Copy permissions.yaml from template if not present
|
|
409
|
+
// C22: Source from PACKAGE_ROOT (npm install dir), dest to WORKSPACE_ROOT (user data)
|
|
398
410
|
const permTarget = path.join(WORKSPACE_ROOT, 'workspace', 'permissions.yaml');
|
|
399
|
-
const permTemplate = path.join(
|
|
411
|
+
const permTemplate = path.join(PACKAGE_ROOT, 'workspace-templates', 'permissions.yaml');
|
|
400
412
|
if (!fs.existsSync(permTarget) && fs.existsSync(permTemplate)) {
|
|
401
413
|
fs.copyFileSync(permTemplate, permTarget);
|
|
402
414
|
console.log('[init] Created workspace/permissions.yaml from template');
|
|
403
415
|
}
|
|
404
416
|
// C21: Copy SOUL.md from template if not present (Ollama identity)
|
|
417
|
+
// C22: Source from PACKAGE_ROOT (npm install dir), dest to WORKSPACE_ROOT (user data)
|
|
405
418
|
const soulTarget = path.join(WORKSPACE_ROOT, 'workspace', 'SOUL.md');
|
|
406
|
-
const soulTemplate = path.join(
|
|
419
|
+
const soulTemplate = path.join(PACKAGE_ROOT, 'workspace-templates', 'SOUL.md');
|
|
407
420
|
if (!fs.existsSync(soulTarget) && fs.existsSync(soulTemplate)) {
|
|
408
421
|
fs.copyFileSync(soulTemplate, soulTarget);
|
|
409
422
|
console.log('[init] Created workspace/SOUL.md from template');
|
|
410
423
|
}
|
|
411
424
|
// C22: Copy bundled starter skills from workspace-templates/ on first boot.
|
|
412
|
-
//
|
|
413
|
-
|
|
425
|
+
// Source from PACKAGE_ROOT (npm install dir), dest to WORKSPACE_ROOT (user data).
|
|
426
|
+
// Idempotent — skips if skills already exist.
|
|
427
|
+
const skillTemplateSrc = path.join(PACKAGE_ROOT, 'workspace-templates', 'skills');
|
|
414
428
|
const skillDst = path.join(WORKSPACE_ROOT, 'workspace', 'skills', 'learned');
|
|
415
429
|
if (fs.existsSync(skillTemplateSrc)) {
|
|
416
430
|
const hasExisting = (() => {
|
package/dist/core/skillLoader.js
CHANGED
|
@@ -195,6 +195,9 @@ class SkillLoader {
|
|
|
195
195
|
// C22: Use AIDEN_USER_DATA (set by npx launcher) so SkillLoader reads
|
|
196
196
|
// from the same workspace root that initWorkspaceDefaults() writes to.
|
|
197
197
|
const root = process.env.AIDEN_USER_DATA || process.cwd();
|
|
198
|
+
// C24: Do NOT filter by existsSync here — the singleton is created at
|
|
199
|
+
// import time, before initWorkspaceDefaults() copies templates. loadAll()
|
|
200
|
+
// wraps readdirSync in try/catch, so non-existent dirs are safe.
|
|
198
201
|
this.skillsDirs = [
|
|
199
202
|
path_1.default.join(root, 'skills'),
|
|
200
203
|
path_1.default.join(root, 'workspace', 'skills'),
|
|
@@ -206,14 +209,7 @@ class SkillLoader {
|
|
|
206
209
|
path_1.default.join(root, 'skills', 'learned', 'approved'),
|
|
207
210
|
// A4 library-installed skills
|
|
208
211
|
path_1.default.join(root, 'skills', 'installed'),
|
|
209
|
-
]
|
|
210
|
-
try {
|
|
211
|
-
return fs_1.default.existsSync(d);
|
|
212
|
-
}
|
|
213
|
-
catch {
|
|
214
|
-
return false;
|
|
215
|
-
}
|
|
216
|
-
});
|
|
212
|
+
];
|
|
217
213
|
}
|
|
218
214
|
// loadAllRaw — bypasses the disabled-skills filter
|
|
219
215
|
// Used by GET /api/skills so the UI can show disabled skills too
|
package/dist/core/version.js
CHANGED
package/dist-bundle/cli.js
CHANGED
|
@@ -208,7 +208,7 @@ var init_updateCheck = __esm({
|
|
|
208
208
|
var VERSION;
|
|
209
209
|
var init_version = __esm({
|
|
210
210
|
"core/version.ts"() {
|
|
211
|
-
VERSION = "3.19.
|
|
211
|
+
VERSION = "3.19.9";
|
|
212
212
|
}
|
|
213
213
|
});
|
|
214
214
|
|
|
@@ -24909,13 +24909,7 @@ var init_skillLoader = __esm({
|
|
|
24909
24909
|
import_path12.default.join(root, "skills", "learned", "approved"),
|
|
24910
24910
|
// A4 library-installed skills
|
|
24911
24911
|
import_path12.default.join(root, "skills", "installed")
|
|
24912
|
-
]
|
|
24913
|
-
try {
|
|
24914
|
-
return import_fs11.default.existsSync(d);
|
|
24915
|
-
} catch {
|
|
24916
|
-
return false;
|
|
24917
|
-
}
|
|
24918
|
-
});
|
|
24912
|
+
];
|
|
24919
24913
|
}
|
|
24920
24914
|
// loadAllRaw — bypasses the disabled-skills filter
|
|
24921
24915
|
// Used by GET /api/skills so the UI can show disabled skills too
|
package/dist-bundle/index.js
CHANGED
|
@@ -26650,7 +26650,7 @@ var require_websocket_server = __commonJS({
|
|
|
26650
26650
|
var VERSION;
|
|
26651
26651
|
var init_version = __esm({
|
|
26652
26652
|
"core/version.ts"() {
|
|
26653
|
-
VERSION = "3.19.
|
|
26653
|
+
VERSION = "3.19.9";
|
|
26654
26654
|
}
|
|
26655
26655
|
});
|
|
26656
26656
|
|
|
@@ -99143,13 +99143,7 @@ var init_skillLoader = __esm({
|
|
|
99143
99143
|
import_path15.default.join(root, "skills", "learned", "approved"),
|
|
99144
99144
|
// A4 library-installed skills
|
|
99145
99145
|
import_path15.default.join(root, "skills", "installed")
|
|
99146
|
-
]
|
|
99147
|
-
try {
|
|
99148
|
-
return import_fs14.default.existsSync(d);
|
|
99149
|
-
} catch {
|
|
99150
|
-
return false;
|
|
99151
|
-
}
|
|
99152
|
-
});
|
|
99146
|
+
];
|
|
99153
99147
|
}
|
|
99154
99148
|
// loadAllRaw — bypasses the disabled-skills filter
|
|
99155
99149
|
// Used by GET /api/skills so the UI can show disabled skills too
|
|
@@ -1053398,6 +1053392,9 @@ function handleChatError(err, apiName, send) {
|
|
|
1053398
1053392
|
send({ done: true });
|
|
1053399
1053393
|
}
|
|
1053400
1053394
|
var WORKSPACE_ROOT4 = process.env.AIDEN_USER_DATA || process.cwd();
|
|
1053395
|
+
var _pkgCandidate1 = path73.join(__dirname, "..");
|
|
1053396
|
+
var _pkgCandidate2 = path73.join(__dirname, "..", "..");
|
|
1053397
|
+
var PACKAGE_ROOT = fs70.existsSync(path73.join(_pkgCandidate1, "workspace-templates")) ? _pkgCandidate1 : fs70.existsSync(path73.join(_pkgCandidate2, "workspace-templates")) ? _pkgCandidate2 : WORKSPACE_ROOT4;
|
|
1053401
1053398
|
var soulHashBySession2 = /* @__PURE__ */ new Map();
|
|
1053402
1053399
|
function initWorkspaceDefaults() {
|
|
1053403
1053400
|
const dirs = [
|
|
@@ -1053436,18 +1053433,18 @@ function initWorkspaceDefaults() {
|
|
|
1053436
1053433
|
}
|
|
1053437
1053434
|
}
|
|
1053438
1053435
|
const permTarget = path73.join(WORKSPACE_ROOT4, "workspace", "permissions.yaml");
|
|
1053439
|
-
const permTemplate = path73.join(
|
|
1053436
|
+
const permTemplate = path73.join(PACKAGE_ROOT, "workspace-templates", "permissions.yaml");
|
|
1053440
1053437
|
if (!fs70.existsSync(permTarget) && fs70.existsSync(permTemplate)) {
|
|
1053441
1053438
|
fs70.copyFileSync(permTemplate, permTarget);
|
|
1053442
1053439
|
console.log("[init] Created workspace/permissions.yaml from template");
|
|
1053443
1053440
|
}
|
|
1053444
1053441
|
const soulTarget = path73.join(WORKSPACE_ROOT4, "workspace", "SOUL.md");
|
|
1053445
|
-
const soulTemplate = path73.join(
|
|
1053442
|
+
const soulTemplate = path73.join(PACKAGE_ROOT, "workspace-templates", "SOUL.md");
|
|
1053446
1053443
|
if (!fs70.existsSync(soulTarget) && fs70.existsSync(soulTemplate)) {
|
|
1053447
1053444
|
fs70.copyFileSync(soulTemplate, soulTarget);
|
|
1053448
1053445
|
console.log("[init] Created workspace/SOUL.md from template");
|
|
1053449
1053446
|
}
|
|
1053450
|
-
const skillTemplateSrc = path73.join(
|
|
1053447
|
+
const skillTemplateSrc = path73.join(PACKAGE_ROOT, "workspace-templates", "skills");
|
|
1053451
1053448
|
const skillDst = path73.join(WORKSPACE_ROOT4, "workspace", "skills", "learned");
|
|
1053452
1053449
|
if (fs70.existsSync(skillTemplateSrc)) {
|
|
1053453
1053450
|
const hasExisting = (() => {
|
package/package.json
CHANGED