arkaos 2.22.1 → 2.25.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/README.md +105 -9
- package/VERSION +1 -1
- package/arka/SKILL.md +1 -0
- package/arka/skills/comfyui/SKILL.md +2 -2
- package/arka/skills/comfyui/references/workflows.md +6 -6
- package/arka/skills/costs/SKILL.md +11 -0
- package/config/cognition/prompts/dreaming.md +3 -3
- package/config/cognition/prompts/research.md +4 -4
- package/config/hooks/user-prompt-submit.sh +6 -1
- package/core/cognition/__pycache__/auto_documentor.cpython-313.pyc +0 -0
- package/core/cognition/capture/__pycache__/collector.cpython-313.pyc +0 -0
- package/core/cognition/capture/collector.py +10 -3
- package/core/cognition/scheduler/__pycache__/daemon.cpython-313.pyc +0 -0
- package/core/cognition/scheduler/daemon.py +5 -0
- package/core/jobs/__pycache__/auto_doc_worker.cpython-313.pyc +0 -0
- package/core/obsidian/__pycache__/writer.cpython-313.pyc +0 -0
- package/core/obsidian/writer.py +5 -4
- package/core/runtime/__pycache__/base.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/claude_code.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/codex_cli.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/gemini_cli.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/llm_provider.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/path_resolver.cpython-313.pyc +0 -0
- package/core/runtime/path_resolver.py +202 -0
- package/core/shared/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/shared/__pycache__/safe_session_id.cpython-313.pyc +0 -0
- package/core/specs/SPEC-installer-cross-os.md +227 -0
- package/core/specs/SPEC-paths-portability.md +209 -0
- package/core/synapse/__pycache__/kb_cache.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/layers.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/flow_enforcer.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/marker_cache.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/research_gate.cpython-313.pyc +0 -0
- package/departments/dev/skills/scaffold/SKILL.md +4 -4
- package/departments/kb/skills/knowledge/SKILL.md +1 -1
- package/departments/ops/skills/operations/SKILL.md +1 -1
- package/installer/cli.js +2 -1
- package/installer/doctor.js +48 -0
- package/installer/index.js +26 -1
- package/installer/migrate-user-data.js +17 -1
- package/installer/migrations/v3_path_schema.js +109 -0
- package/installer/package-manager.js +191 -0
- package/installer/path-resolver.js +124 -0
- package/installer/system-tools.js +243 -0
- package/installer/update.js +24 -3
- package/knowledge/obsidian-config.json +1 -1
- package/package.json +1 -1
- package/pyproject.toml +1 -1
package/installer/update.js
CHANGED
|
@@ -6,6 +6,7 @@ import { ensureVenv, getArkaosPython, pipInstall } from "./python-resolver.js";
|
|
|
6
6
|
import { getRuntimeConfig } from "./detect-runtime.js";
|
|
7
7
|
import { loadAdapter } from "./index.js";
|
|
8
8
|
import { migrateUserData, printMigrationReport } from "./migrate-user-data.js";
|
|
9
|
+
import { resolveFile } from "./path-resolver.js";
|
|
9
10
|
import { IS_WINDOWS, HOOK_EXT } from "./platform.js";
|
|
10
11
|
import { fileURLToPath } from "node:url";
|
|
11
12
|
|
|
@@ -277,7 +278,7 @@ export async function update() {
|
|
|
277
278
|
const skillDest = join(skillsBase, "arka");
|
|
278
279
|
mkdirSync(skillDest, { recursive: true });
|
|
279
280
|
if (existsSync(skillSrc)) {
|
|
280
|
-
|
|
281
|
+
safeResolveMarkdown(skillSrc, join(skillDest, "SKILL.md"));
|
|
281
282
|
writeFileSync(join(skillDest, ".repo-path"), ARKAOS_ROOT);
|
|
282
283
|
writeFileSync(join(skillDest, "VERSION"), VERSION);
|
|
283
284
|
console.log(" ✓ /arka skill updated");
|
|
@@ -309,7 +310,7 @@ export async function update() {
|
|
|
309
310
|
if (!existsSync(md)) return false;
|
|
310
311
|
const dest = join(skillsBase, arkaName);
|
|
311
312
|
mkdirSync(dest, { recursive: true });
|
|
312
|
-
|
|
313
|
+
safeResolveMarkdown(md, join(dest, "SKILL.md"));
|
|
313
314
|
copyResources(src, dest);
|
|
314
315
|
return true;
|
|
315
316
|
};
|
|
@@ -476,6 +477,20 @@ function ensureDir(dir) {
|
|
|
476
477
|
}
|
|
477
478
|
}
|
|
478
479
|
|
|
480
|
+
/**
|
|
481
|
+
* Copy a markdown file, substituting ${VAR} tokens from path-resolver when
|
|
482
|
+
* a profile.json is available. Falls back to plain copy on any error so a
|
|
483
|
+
* missing profile during first install never blocks deployment of the file
|
|
484
|
+
* itself; the agent / Python runtime will resolve later when profile lands.
|
|
485
|
+
*/
|
|
486
|
+
function safeResolveMarkdown(src, dst) {
|
|
487
|
+
try {
|
|
488
|
+
resolveFile(src, dst);
|
|
489
|
+
} catch {
|
|
490
|
+
copyFileSync(src, dst);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
479
494
|
/**
|
|
480
495
|
* Copy v2 hook state files from the legacy ~/.arka-os/ directory into
|
|
481
496
|
* the canonical ~/.arkaos/ runtime directory. Safe to run every update:
|
|
@@ -563,7 +578,13 @@ function updateCognitiveScheduler(installDir, arkaosRoot) {
|
|
|
563
578
|
const promptsSrc = join(arkaosRoot, "config", "cognition", "prompts");
|
|
564
579
|
if (existsSync(promptsSrc)) {
|
|
565
580
|
for (const f of readdirSync(promptsSrc)) {
|
|
566
|
-
|
|
581
|
+
const src = join(promptsSrc, f);
|
|
582
|
+
const dst = join(promptsDir, f);
|
|
583
|
+
if (f.endsWith(".md")) {
|
|
584
|
+
safeResolveMarkdown(src, dst);
|
|
585
|
+
} else {
|
|
586
|
+
copyFileSync(src, dst);
|
|
587
|
+
}
|
|
567
588
|
}
|
|
568
589
|
console.log(" \u2713 Cognitive prompts updated");
|
|
569
590
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "ARKA OS — Obsidian Vault Configuration",
|
|
4
4
|
"notes": "ALL department output goes to this Obsidian vault. Conventions match existing vault format."
|
|
5
5
|
},
|
|
6
|
-
"vault_path": "
|
|
6
|
+
"vault_path": "${VAULT_PATH}",
|
|
7
7
|
"paths": {
|
|
8
8
|
"personas": "Personas",
|
|
9
9
|
"sources_videos": "Sources/Videos",
|
package/package.json
CHANGED