@aria_asi/cli 0.2.25 → 0.2.29
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/CLIENT-ONBOARDING.md +282 -0
- package/bin/aria.js +1140 -14
- package/dist/aria-connector/src/auth-commands.d.ts +1 -0
- package/dist/aria-connector/src/auth-commands.d.ts.map +1 -1
- package/dist/aria-connector/src/auth-commands.js +89 -41
- package/dist/aria-connector/src/auth-commands.js.map +1 -1
- package/dist/aria-connector/src/chat.d.ts +3 -0
- package/dist/aria-connector/src/chat.d.ts.map +1 -1
- package/dist/aria-connector/src/chat.js +146 -8
- package/dist/aria-connector/src/chat.js.map +1 -1
- package/dist/aria-connector/src/codebase-scanner.d.ts +2 -2
- package/dist/aria-connector/src/codebase-scanner.d.ts.map +1 -1
- package/dist/aria-connector/src/codebase-scanner.js +1 -1
- package/dist/aria-connector/src/codebase-scanner.js.map +1 -1
- package/dist/aria-connector/src/config.d.ts +12 -0
- package/dist/aria-connector/src/config.d.ts.map +1 -1
- package/dist/aria-connector/src/config.js +2 -0
- package/dist/aria-connector/src/config.js.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.js +111 -21
- package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts +37 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.js +335 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.js.map +1 -0
- package/dist/aria-connector/src/connectors/codex.d.ts +3 -0
- package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/codex.js +248 -0
- package/dist/aria-connector/src/connectors/codex.js.map +1 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.d.ts +2 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.js +47 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.js.map +1 -0
- package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/opencode.js +90 -4
- package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
- package/dist/aria-connector/src/connectors/repo-git-hooks.d.ts +3 -0
- package/dist/aria-connector/src/connectors/repo-git-hooks.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/repo-git-hooks.js +87 -0
- package/dist/aria-connector/src/connectors/repo-git-hooks.js.map +1 -0
- package/dist/aria-connector/src/connectors/repo-guard.d.ts +19 -0
- package/dist/aria-connector/src/connectors/repo-guard.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/repo-guard.js +509 -0
- package/dist/aria-connector/src/connectors/repo-guard.js.map +1 -0
- package/dist/aria-connector/src/connectors/runtime.d.ts +2 -0
- package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/runtime.js +330 -0
- package/dist/aria-connector/src/connectors/runtime.js.map +1 -0
- package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/shell.js +78 -13
- package/dist/aria-connector/src/connectors/shell.js.map +1 -1
- package/dist/aria-connector/src/connectors/syncd.d.ts +27 -0
- package/dist/aria-connector/src/connectors/syncd.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/syncd.js +405 -0
- package/dist/aria-connector/src/connectors/syncd.js.map +1 -0
- package/dist/aria-connector/src/decisions.d.ts +207 -0
- package/dist/aria-connector/src/decisions.d.ts.map +1 -0
- package/dist/aria-connector/src/decisions.js +291 -0
- package/dist/aria-connector/src/decisions.js.map +1 -0
- package/dist/aria-connector/src/garden-control-plane.d.ts.map +1 -1
- package/dist/aria-connector/src/garden-control-plane.js +74 -17
- package/dist/aria-connector/src/garden-control-plane.js.map +1 -1
- package/dist/aria-connector/src/github-connect.d.ts +18 -0
- package/dist/aria-connector/src/github-connect.d.ts.map +1 -0
- package/dist/aria-connector/src/github-connect.js +117 -0
- package/dist/aria-connector/src/github-connect.js.map +1 -0
- package/dist/aria-connector/src/harness-client.d.ts +15 -0
- package/dist/aria-connector/src/harness-client.d.ts.map +1 -1
- package/dist/aria-connector/src/harness-client.js +106 -3
- package/dist/aria-connector/src/harness-client.js.map +1 -1
- package/dist/aria-connector/src/hive-client.d.ts +30 -0
- package/dist/aria-connector/src/hive-client.d.ts.map +1 -1
- package/dist/aria-connector/src/hive-client.js +124 -5
- package/dist/aria-connector/src/hive-client.js.map +1 -1
- package/dist/aria-connector/src/index.d.ts +13 -2
- package/dist/aria-connector/src/index.d.ts.map +1 -1
- package/dist/aria-connector/src/index.js +10 -1
- package/dist/aria-connector/src/index.js.map +1 -1
- package/dist/aria-connector/src/lib/aristotle-noor-wire.d.ts +102 -0
- package/dist/aria-connector/src/lib/aristotle-noor-wire.d.ts.map +1 -0
- package/dist/aria-connector/src/lib/aristotle-noor-wire.js +231 -0
- package/dist/aria-connector/src/lib/aristotle-noor-wire.js.map +1 -0
- package/dist/aria-connector/src/providers/types.d.ts +5 -0
- package/dist/aria-connector/src/providers/types.d.ts.map +1 -1
- package/dist/aria-connector/src/runtime-proof.d.ts +45 -0
- package/dist/aria-connector/src/runtime-proof.d.ts.map +1 -0
- package/dist/aria-connector/src/runtime-proof.js +340 -0
- package/dist/aria-connector/src/runtime-proof.js.map +1 -0
- package/dist/aria-connector/src/setup-wizard.d.ts.map +1 -1
- package/dist/aria-connector/src/setup-wizard.js +34 -2
- package/dist/aria-connector/src/setup-wizard.js.map +1 -1
- package/dist/assets/hooks/aria-agent-handoff.mjs +224 -0
- package/dist/assets/hooks/aria-agent-ledger-merge.mjs +164 -0
- package/dist/assets/hooks/aria-architect-fallback.mjs +267 -0
- package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +676 -0
- package/dist/assets/hooks/aria-discovery-record.mjs +101 -0
- package/dist/assets/hooks/aria-harness-via-sdk.mjs +412 -0
- package/dist/assets/hooks/aria-import-resolution-gate.mjs +330 -0
- package/dist/assets/hooks/aria-outcome-record.mjs +84 -0
- package/dist/assets/hooks/aria-pre-emit-dryrun.mjs +294 -0
- package/dist/assets/hooks/aria-pre-text-gate.mjs +112 -0
- package/dist/assets/hooks/aria-pre-tool-gate.mjs +2133 -0
- package/dist/assets/hooks/aria-preprompt-consult.mjs +438 -0
- package/dist/assets/hooks/aria-preturn-memory-gate.mjs +570 -0
- package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +397 -0
- package/dist/assets/hooks/aria-stop-gate.mjs +1551 -0
- package/dist/assets/hooks/aria-trigger-autolearn.mjs +229 -0
- package/dist/assets/hooks/aria-userprompt-abandon-detect.mjs +192 -0
- package/dist/assets/hooks/doctrine_trigger_map.json +479 -0
- package/dist/assets/hooks/lib/canonical-lenses.mjs +64 -0
- package/dist/assets/hooks/lib/gate-audit.mjs +43 -0
- package/dist/assets/hooks/test-aria-preturn-memory-gate.mjs +245 -0
- package/dist/assets/hooks/test-tier-lens-labeling.mjs +399 -0
- package/dist/assets/opencode-plugins/harness-context/index.js +60 -0
- package/dist/assets/opencode-plugins/harness-context/inject-context.mjs +179 -0
- package/dist/assets/opencode-plugins/harness-context/package.json +9 -0
- package/dist/assets/opencode-plugins/harness-gate/index.js +248 -0
- package/dist/assets/opencode-plugins/harness-outcome/index.js +129 -0
- package/dist/assets/opencode-plugins/harness-role/index.js +77 -0
- package/dist/assets/opencode-plugins/harness-role/package.json +9 -0
- package/dist/assets/opencode-plugins/harness-stop/index.js +241 -0
- package/dist/runtime/discipline/CLAUDE.md +339 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/SKILL.md +63 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/domain-matrix.md +80 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/evolution-loop.md +30 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/readable-cognition.md +27 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-forge-guardrails/SKILL.md +35 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-forge-guardrails/references/checklist.md +31 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-repo-doctrine/SKILL.md +39 -0
- package/dist/runtime/discipline/skills/aria-cognition/forge-quality-rules/SKILL.md +43 -0
- package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/SKILL.md +38 -0
- package/dist/runtime/discipline/skills/aria-cognition/istiqra-induction/SKILL.md +26 -0
- package/dist/runtime/discipline/skills/aria-cognition/ladunni-22/SKILL.md +35 -0
- package/dist/runtime/discipline/skills/aria-cognition/mizan/SKILL.md +72 -0
- package/dist/runtime/discipline/skills/aria-cognition/nadia/SKILL.md +38 -0
- package/dist/runtime/discipline/skills/aria-cognition/nadia-psi/SKILL.md +38 -0
- package/dist/runtime/discipline/skills/aria-cognition/predictor/SKILL.md +25 -0
- package/dist/runtime/discipline/skills/aria-cognition/qiyas-analogy/SKILL.md +26 -0
- package/dist/runtime/discipline/skills/aria-cognition/soul-domains/SKILL.md +25 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-intra-phase/SKILL.md +81 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-post-phase/SKILL.md +98 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-pre-phase/SKILL.md +99 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-deploy/SKILL.md +127 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-no-stripping/SKILL.md +117 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-onboarding/SKILL.md +112 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-output-discipline/SKILL.md +102 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-substrate-binding/SKILL.md +121 -0
- package/dist/runtime/doctor.mjs +23 -0
- package/dist/runtime/local-phase.mjs +632 -0
- package/dist/runtime/manifest.json +15 -0
- package/dist/runtime/mizan-scheduler.mjs +331 -0
- package/dist/runtime/package.json +6 -0
- package/dist/runtime/provider-proxy.mjs +594 -0
- package/dist/runtime/sdk/BUNDLED.json +5 -0
- package/dist/runtime/sdk/index.d.ts +477 -0
- package/dist/runtime/sdk/index.js +1469 -0
- package/dist/runtime/sdk/index.js.map +1 -0
- package/dist/runtime/sdk/package.json +8 -0
- package/dist/runtime/sdk/runWithCognition.d.ts +77 -0
- package/dist/runtime/sdk/runWithCognition.js +157 -0
- package/dist/runtime/sdk/runWithCognition.js.map +1 -0
- package/dist/runtime/service.mjs +2708 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.d.ts +53 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.d.ts.map +1 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.js +277 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.js.map +1 -0
- package/dist/runtime/vendor/aria-gate-runtime/package.json +6 -0
- package/dist/sdk/BUNDLED.json +2 -2
- package/dist/sdk/index.d.ts +317 -0
- package/dist/sdk/index.js +827 -85
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runWithCognition.d.ts +77 -0
- package/dist/sdk/runWithCognition.js +157 -0
- package/dist/sdk/runWithCognition.js.map +1 -0
- package/hooks/aria-agent-handoff.mjs +11 -1
- package/hooks/aria-architect-fallback.mjs +267 -0
- package/hooks/aria-cognition-substrate-binding.mjs +676 -0
- package/hooks/aria-discovery-record.mjs +101 -0
- package/hooks/aria-harness-via-sdk.mjs +34 -21
- package/hooks/aria-import-resolution-gate.mjs +330 -0
- package/hooks/aria-outcome-record.mjs +84 -0
- package/hooks/aria-pre-emit-dryrun.mjs +294 -0
- package/hooks/aria-pre-tool-gate.mjs +985 -40
- package/hooks/aria-preprompt-consult.mjs +113 -13
- package/hooks/aria-preturn-memory-gate.mjs +298 -6
- package/hooks/aria-repo-doctrine-gate.mjs +397 -0
- package/hooks/aria-stop-gate.mjs +840 -75
- package/hooks/aria-userprompt-abandon-detect.mjs +5 -1
- package/hooks/doctrine_trigger_map.json +209 -15
- package/hooks/lib/canonical-lenses.mjs +64 -0
- package/hooks/lib/gate-audit.mjs +43 -0
- package/opencode-plugins/harness-context/index.js +1 -1
- package/opencode-plugins/harness-context/inject-context.mjs +82 -23
- package/opencode-plugins/harness-gate/index.js +248 -0
- package/opencode-plugins/harness-outcome/index.js +129 -0
- package/opencode-plugins/harness-stop/index.js +241 -0
- package/package.json +8 -2
- package/runtime-src/doctor.mjs +23 -0
- package/runtime-src/local-phase.mjs +632 -0
- package/runtime-src/mizan-scheduler.mjs +331 -0
- package/runtime-src/provider-proxy.mjs +594 -0
- package/runtime-src/service.mjs +2708 -0
- package/scripts/bundle-sdk.mjs +317 -0
- package/scripts/install-client.sh +176 -0
- package/scripts/publish-all.sh +344 -0
- package/scripts/publish-docker.sh +27 -0
- package/scripts/validate-hook-contracts.mjs +54 -0
- package/scripts/validate-skill-prompts.mjs +95 -0
- package/skills/aria-cognition/aria-essence/SKILL.md +63 -0
- package/skills/aria-cognition/aria-essence/references/domain-matrix.md +80 -0
- package/skills/aria-cognition/aria-essence/references/evolution-loop.md +30 -0
- package/skills/aria-cognition/aria-essence/references/readable-cognition.md +27 -0
- package/skills/aria-cognition/aria-forge-guardrails/SKILL.md +35 -0
- package/skills/aria-cognition/aria-forge-guardrails/references/checklist.md +31 -0
- package/skills/aria-cognition/aria-repo-doctrine/SKILL.md +39 -0
- package/skills/aria-cognition/forge-quality-rules/SKILL.md +43 -0
- package/skills/aria-cognition/ghazali-8lens/SKILL.md +38 -0
- package/skills/aria-cognition/istiqra-induction/SKILL.md +26 -0
- package/skills/aria-cognition/ladunni-22/SKILL.md +35 -0
- package/skills/aria-cognition/mizan/SKILL.md +72 -0
- package/skills/aria-cognition/nadia/SKILL.md +38 -0
- package/skills/aria-cognition/nadia-psi/SKILL.md +38 -0
- package/skills/aria-cognition/predictor/SKILL.md +25 -0
- package/skills/aria-cognition/qiyas-analogy/SKILL.md +26 -0
- package/skills/aria-cognition/soul-domains/SKILL.md +25 -0
- package/src/auth-commands.ts +111 -45
- package/src/chat.ts +174 -13
- package/src/codebase-scanner.ts +4 -0
- package/src/config.ts +15 -0
- package/src/connectors/claude-code.ts +115 -26
- package/src/connectors/codebase-awareness.ts +408 -0
- package/src/connectors/codex.ts +274 -0
- package/src/connectors/cognitive-skills.ts +51 -0
- package/src/connectors/opencode.ts +93 -4
- package/src/connectors/repo-git-hooks.ts +86 -0
- package/src/connectors/repo-guard.ts +589 -0
- package/src/connectors/runtime.ts +374 -0
- package/src/connectors/shell.ts +83 -14
- package/src/connectors/syncd.ts +488 -0
- package/src/decisions.ts +469 -0
- package/src/garden-control-plane.ts +101 -26
- package/src/github-connect.ts +143 -0
- package/src/harness-client.ts +128 -3
- package/src/hive-client.ts +165 -5
- package/src/index.ts +41 -2
- package/src/lib/aristotle-noor-wire.ts +310 -0
- package/src/providers/types.ts +6 -0
- package/src/runtime-proof.ts +392 -0
- package/src/setup-wizard.ts +37 -2
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readdirSync, statSync, copyFileSync, chmodSync, rmSync, writeFileSync, } from 'fs';
|
|
2
|
+
import { execFileSync } from 'child_process';
|
|
3
|
+
import { homedir } from 'os';
|
|
4
|
+
import * as path from 'path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
import { loadConfig, saveConfig } from '../config.js';
|
|
7
|
+
function packageRuntimeDir() {
|
|
8
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
return path.resolve(here, '..', '..', '..', 'runtime');
|
|
10
|
+
}
|
|
11
|
+
function packageSdkDir() {
|
|
12
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
return path.resolve(here, '..', '..', '..', 'sdk');
|
|
14
|
+
}
|
|
15
|
+
function copyTree(srcDir, dstDir) {
|
|
16
|
+
mkdirSync(dstDir, { recursive: true, mode: 0o755 });
|
|
17
|
+
for (const name of readdirSync(srcDir)) {
|
|
18
|
+
const src = path.join(srcDir, name);
|
|
19
|
+
const dst = path.join(dstDir, name);
|
|
20
|
+
const stat = statSync(src);
|
|
21
|
+
if (stat.isDirectory()) {
|
|
22
|
+
copyTree(src, dst);
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
copyFileSync(src, dst);
|
|
26
|
+
if (name.endsWith('.mjs') || name.endsWith('.js') || !name.includes('.')) {
|
|
27
|
+
try {
|
|
28
|
+
chmodSync(dst, 0o755);
|
|
29
|
+
}
|
|
30
|
+
catch { }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function writeWrapper(binPath, targetScript) {
|
|
35
|
+
writeFileSync(binPath, `#!/usr/bin/env bash\nexec node "${targetScript}" "$@"\n`, { mode: 0o755 });
|
|
36
|
+
try {
|
|
37
|
+
chmodSync(binPath, 0o755);
|
|
38
|
+
}
|
|
39
|
+
catch { }
|
|
40
|
+
}
|
|
41
|
+
function writeRuntimeEnv(runtimeDst) {
|
|
42
|
+
const envPath = path.join(runtimeDst, 'runtime.env');
|
|
43
|
+
const config = loadConfig();
|
|
44
|
+
const runtimeProfiles = config.runtimeProfiles || {};
|
|
45
|
+
const defaultProvider = config.defaultProvider || config.model?.provider || 'deepseek';
|
|
46
|
+
const chatModel = runtimeProfiles.chatModel || 'deepseek-v4-flash';
|
|
47
|
+
const deepModel = runtimeProfiles.deepModel || 'deepseek-v4-pro';
|
|
48
|
+
const xaiFallbackModel = runtimeProfiles.xaiFallbackModel || 'grok-4-2-reasoning';
|
|
49
|
+
const nimFallbackModel = runtimeProfiles.nimFallbackModel || 'qwen/qwen3.5-122b-a10b';
|
|
50
|
+
const harnessUrl = process.env.ARIA_HIVE_RUNTIME_URL ||
|
|
51
|
+
process.env.ARIA_HARNESS_BASE_URL ||
|
|
52
|
+
process.env.ARIA_HARNESS_URL ||
|
|
53
|
+
'https://harness.ariasos.com';
|
|
54
|
+
const forgeServiceUrl = process.env.ARIA_FORGE_SERVICE_URL ||
|
|
55
|
+
process.env.FORGE_SERVICE_URL ||
|
|
56
|
+
`${harnessUrl.replace(/\/$/, '')}/api/forge/psi`;
|
|
57
|
+
writeFileSync(envPath, [
|
|
58
|
+
'ARIA_RUNTIME_HOST=127.0.0.1',
|
|
59
|
+
'ARIA_RUNTIME_PORT=4319',
|
|
60
|
+
'ARIA_RUNTIME_URL=http://127.0.0.1:4319',
|
|
61
|
+
`ARIA_HIVE_RUNTIME_URL=${harnessUrl}`,
|
|
62
|
+
`ARIA_HARNESS_URL=${harnessUrl}`,
|
|
63
|
+
`ARIA_FORGE_SERVICE_URL=${forgeServiceUrl}`,
|
|
64
|
+
'ARIA_QDRANT_URL=http://127.0.0.1:6333',
|
|
65
|
+
'ARIA_QDRANT_COLLECTION=aria_garden_memory',
|
|
66
|
+
`ARIA_RUNTIME_DEFAULT_PROVIDER=${defaultProvider}`,
|
|
67
|
+
`ARIA_CHAT_MODEL=${chatModel}`,
|
|
68
|
+
`ARIA_DEEP_MODEL=${deepModel}`,
|
|
69
|
+
`ARIA_XAI_FALLBACK_MODEL=${xaiFallbackModel}`,
|
|
70
|
+
`ARIA_NIM_FALLBACK_MODEL=${nimFallbackModel}`,
|
|
71
|
+
'OPENAI_BASE_URL=http://127.0.0.1:4319/v1',
|
|
72
|
+
'ANTHROPIC_BASE_URL=http://127.0.0.1:4319/v1',
|
|
73
|
+
'',
|
|
74
|
+
].join('\n'), { mode: 0o600 });
|
|
75
|
+
return envPath;
|
|
76
|
+
}
|
|
77
|
+
function installSharedSdk(ariaDir, logs) {
|
|
78
|
+
const sdkSrc = packageSdkDir();
|
|
79
|
+
if (!existsSync(sdkSrc)) {
|
|
80
|
+
logs.push(`⚠ shared SDK bundle missing: ${sdkSrc} (run npm run build)`);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const sdkDst = path.join(ariaDir, 'sdk');
|
|
84
|
+
mkdirSync(sdkDst, { recursive: true, mode: 0o700 });
|
|
85
|
+
let copied = 0;
|
|
86
|
+
for (const name of readdirSync(sdkSrc)) {
|
|
87
|
+
const src = path.join(sdkSrc, name);
|
|
88
|
+
const stat = statSync(src);
|
|
89
|
+
if (!stat.isFile())
|
|
90
|
+
continue;
|
|
91
|
+
copyFileSync(src, path.join(sdkDst, name));
|
|
92
|
+
copied++;
|
|
93
|
+
}
|
|
94
|
+
logs.push(`Installed shared Aria SDK (${copied} files) → ${sdkDst}`);
|
|
95
|
+
}
|
|
96
|
+
function ensureRuntimeProviderDefaults() {
|
|
97
|
+
const config = loadConfig();
|
|
98
|
+
saveConfig({
|
|
99
|
+
...config,
|
|
100
|
+
defaultProvider: config.defaultProvider || config.model?.provider || 'deepseek',
|
|
101
|
+
runtimeProfiles: {
|
|
102
|
+
chatModel: config.runtimeProfiles?.chatModel || 'deepseek-v4-flash',
|
|
103
|
+
deepModel: config.runtimeProfiles?.deepModel || 'deepseek-v4-pro',
|
|
104
|
+
xaiFallbackModel: config.runtimeProfiles?.xaiFallbackModel || 'grok-4-2-reasoning',
|
|
105
|
+
nimFallbackModel: config.runtimeProfiles?.nimFallbackModel || 'qwen/qwen3.5-122b-a10b',
|
|
106
|
+
xaiApiKey: config.runtimeProfiles?.xaiApiKey || '',
|
|
107
|
+
nimApiKey: config.runtimeProfiles?.nimApiKey || '',
|
|
108
|
+
xaiBaseUrl: config.runtimeProfiles?.xaiBaseUrl || 'https://api.x.ai/v1/chat/completions',
|
|
109
|
+
nimBaseUrl: config.runtimeProfiles?.nimBaseUrl || 'https://integrate.api.nvidia.com/v1/chat/completions',
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
function installLocalQdrantService(ariaDir, logs) {
|
|
114
|
+
const systemctlPath = '/bin/systemctl';
|
|
115
|
+
const dockerPath = '/usr/bin/docker';
|
|
116
|
+
if (process.platform !== 'linux' || !existsSync(systemctlPath) || !existsSync(dockerPath)) {
|
|
117
|
+
logs.push('Skipped local Qdrant service install: requires Linux systemd user services and Docker.');
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const qdrantDir = path.join(ariaDir, 'qdrant');
|
|
121
|
+
const qdrantStorage = path.join(qdrantDir, 'storage');
|
|
122
|
+
mkdirSync(qdrantStorage, { recursive: true, mode: 0o700 });
|
|
123
|
+
const serviceDir = path.join(homedir(), '.config', 'systemd', 'user');
|
|
124
|
+
const servicePath = path.join(serviceDir, 'aria-qdrant.service');
|
|
125
|
+
mkdirSync(serviceDir, { recursive: true, mode: 0o755 });
|
|
126
|
+
const unit = [
|
|
127
|
+
'[Unit]',
|
|
128
|
+
'Description=Aria Local Qdrant Memory',
|
|
129
|
+
'After=network.target docker.service',
|
|
130
|
+
'',
|
|
131
|
+
'[Service]',
|
|
132
|
+
'Type=simple',
|
|
133
|
+
`ExecStartPre=-${dockerPath} rm -f aria-qdrant`,
|
|
134
|
+
`${'ExecStart='}${dockerPath} run --rm --name aria-qdrant -p 127.0.0.1:6333:6333 -v ${qdrantStorage}:/qdrant/storage qdrant/qdrant:v1.17.0`,
|
|
135
|
+
`ExecStop=${dockerPath} stop -t 10 aria-qdrant`,
|
|
136
|
+
'Restart=always',
|
|
137
|
+
'RestartSec=5',
|
|
138
|
+
'',
|
|
139
|
+
'[Install]',
|
|
140
|
+
'WantedBy=default.target',
|
|
141
|
+
'',
|
|
142
|
+
].join('\n');
|
|
143
|
+
writeFileSync(servicePath, unit, { mode: 0o644 });
|
|
144
|
+
logs.push(`Installed systemd user unit → ${servicePath}`);
|
|
145
|
+
try {
|
|
146
|
+
execFileSync(systemctlPath, ['--user', 'daemon-reload'], { stdio: 'ignore' });
|
|
147
|
+
execFileSync(systemctlPath, ['--user', 'enable', '--now', 'aria-qdrant.service'], { stdio: 'ignore' });
|
|
148
|
+
logs.push('Enabled and started systemd user service: aria-qdrant.service');
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
logs.push(`⚠ local Qdrant service installed but not activated: ${error instanceof Error ? error.message : String(error)}`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
function installDisciplinePack(runtimeDst, logs) {
|
|
155
|
+
const harnessSkillsSrc = path.join(runtimeDst, 'discipline', 'skills', 'aria-harness');
|
|
156
|
+
const cognitionSkillsSrc = path.join(runtimeDst, 'discipline', 'skills', 'aria-cognition');
|
|
157
|
+
if (existsSync(harnessSkillsSrc)) {
|
|
158
|
+
const harnessTargets = [
|
|
159
|
+
path.join(homedir(), '.claude', 'skills', 'aria-harness'),
|
|
160
|
+
path.join(homedir(), '.codex', 'skills', 'aria-harness'),
|
|
161
|
+
];
|
|
162
|
+
for (const target of harnessTargets) {
|
|
163
|
+
copyTree(harnessSkillsSrc, target);
|
|
164
|
+
logs.push(`Installed Aria harness discipline pack → ${target}`);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (existsSync(cognitionSkillsSrc)) {
|
|
168
|
+
const nestedTargets = [
|
|
169
|
+
path.join(homedir(), '.claude', 'skills', 'aria-cognition'),
|
|
170
|
+
path.join(homedir(), '.codex', 'skills', 'aria-cognition'),
|
|
171
|
+
];
|
|
172
|
+
for (const target of nestedTargets) {
|
|
173
|
+
copyTree(cognitionSkillsSrc, target);
|
|
174
|
+
logs.push(`Installed Aria cognition discipline pack → ${target}`);
|
|
175
|
+
}
|
|
176
|
+
const agentSkillsRoot = path.join(homedir(), '.agents', 'skills');
|
|
177
|
+
mkdirSync(agentSkillsRoot, { recursive: true, mode: 0o755 });
|
|
178
|
+
for (const skillName of readdirSync(cognitionSkillsSrc)) {
|
|
179
|
+
const src = path.join(cognitionSkillsSrc, skillName);
|
|
180
|
+
if (!statSync(src).isDirectory())
|
|
181
|
+
continue;
|
|
182
|
+
const target = path.join(agentSkillsRoot, skillName);
|
|
183
|
+
copyTree(src, target);
|
|
184
|
+
logs.push(`Installed Aria cognition skill → ${target}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function installSystemdUserService(ariaDir, logs) {
|
|
189
|
+
const systemctlPath = '/bin/systemctl';
|
|
190
|
+
if (process.platform !== 'linux' || !existsSync(systemctlPath)) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const serviceDir = path.join(homedir(), '.config', 'systemd', 'user');
|
|
194
|
+
const servicePath = path.join(serviceDir, 'aria-mounted-runtime.service');
|
|
195
|
+
mkdirSync(serviceDir, { recursive: true, mode: 0o755 });
|
|
196
|
+
const unit = [
|
|
197
|
+
'[Unit]',
|
|
198
|
+
'Description=Aria Mounted Runtime',
|
|
199
|
+
'After=network.target',
|
|
200
|
+
'',
|
|
201
|
+
'[Service]',
|
|
202
|
+
'Type=simple',
|
|
203
|
+
`EnvironmentFile=-${path.join(ariaDir, 'runtime', 'runtime.env')}`,
|
|
204
|
+
`ExecStart=${path.join(ariaDir, 'bin', 'aria-runtime')}`,
|
|
205
|
+
'Restart=always',
|
|
206
|
+
'RestartSec=2',
|
|
207
|
+
'',
|
|
208
|
+
'[Install]',
|
|
209
|
+
'WantedBy=default.target',
|
|
210
|
+
'',
|
|
211
|
+
].join('\n');
|
|
212
|
+
writeFileSync(servicePath, unit, { mode: 0o644 });
|
|
213
|
+
logs.push(`Installed systemd user unit → ${servicePath}`);
|
|
214
|
+
try {
|
|
215
|
+
execFileSync(systemctlPath, ['--user', 'daemon-reload'], { stdio: 'ignore' });
|
|
216
|
+
execFileSync(systemctlPath, ['--user', 'enable', '--now', 'aria-mounted-runtime.service'], { stdio: 'ignore' });
|
|
217
|
+
logs.push('Enabled and started systemd user service: aria-mounted-runtime.service');
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
logs.push(`⚠ systemd user service install present but not activated: ${error instanceof Error ? error.message : String(error)}`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
function installLaunchAgent(ariaDir, logs) {
|
|
224
|
+
if (process.platform !== 'darwin')
|
|
225
|
+
return;
|
|
226
|
+
const harnessUrl = process.env.ARIA_HIVE_RUNTIME_URL ||
|
|
227
|
+
process.env.ARIA_HARNESS_BASE_URL ||
|
|
228
|
+
process.env.ARIA_HARNESS_URL ||
|
|
229
|
+
'https://harness.ariasos.com';
|
|
230
|
+
const launchAgentDir = path.join(homedir(), 'Library', 'LaunchAgents');
|
|
231
|
+
const plistPath = path.join(launchAgentDir, 'com.aria.mounted-runtime.plist');
|
|
232
|
+
mkdirSync(launchAgentDir, { recursive: true, mode: 0o755 });
|
|
233
|
+
const plist = `<?xml version="1.0" encoding="UTF-8"?>
|
|
234
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
235
|
+
<plist version="1.0">
|
|
236
|
+
<dict>
|
|
237
|
+
<key>Label</key>
|
|
238
|
+
<string>com.aria.mounted-runtime</string>
|
|
239
|
+
<key>ProgramArguments</key>
|
|
240
|
+
<array>
|
|
241
|
+
<string>${path.join(ariaDir, 'bin', 'aria-runtime')}</string>
|
|
242
|
+
</array>
|
|
243
|
+
<key>EnvironmentVariables</key>
|
|
244
|
+
<dict>
|
|
245
|
+
<key>ARIA_RUNTIME_HOST</key>
|
|
246
|
+
<string>127.0.0.1</string>
|
|
247
|
+
<key>ARIA_RUNTIME_PORT</key>
|
|
248
|
+
<string>4319</string>
|
|
249
|
+
<key>ARIA_RUNTIME_URL</key>
|
|
250
|
+
<string>http://127.0.0.1:4319</string>
|
|
251
|
+
<key>ARIA_HIVE_RUNTIME_URL</key>
|
|
252
|
+
<string>${harnessUrl}</string>
|
|
253
|
+
<key>ARIA_HARNESS_URL</key>
|
|
254
|
+
<string>${harnessUrl}</string>
|
|
255
|
+
</dict>
|
|
256
|
+
<key>RunAtLoad</key>
|
|
257
|
+
<true/>
|
|
258
|
+
<key>KeepAlive</key>
|
|
259
|
+
<true/>
|
|
260
|
+
</dict>
|
|
261
|
+
</plist>
|
|
262
|
+
`;
|
|
263
|
+
writeFileSync(plistPath, plist, { mode: 0o644 });
|
|
264
|
+
logs.push(`Installed launchd agent → ${plistPath}`);
|
|
265
|
+
try {
|
|
266
|
+
execFileSync('/bin/launchctl', ['unload', plistPath], { stdio: 'ignore' });
|
|
267
|
+
}
|
|
268
|
+
catch { }
|
|
269
|
+
try {
|
|
270
|
+
execFileSync('/bin/launchctl', ['load', plistPath], { stdio: 'ignore' });
|
|
271
|
+
logs.push('Loaded launchd agent: com.aria.mounted-runtime');
|
|
272
|
+
}
|
|
273
|
+
catch (error) {
|
|
274
|
+
logs.push(`⚠ launchd agent installed but not activated: ${error instanceof Error ? error.message : String(error)}`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
export async function installSharedRuntime() {
|
|
278
|
+
const logs = [];
|
|
279
|
+
const runtimeSrc = packageRuntimeDir();
|
|
280
|
+
if (!existsSync(runtimeSrc)) {
|
|
281
|
+
logs.push(`⚠ bundled runtime missing: ${runtimeSrc} (run npm run build)`);
|
|
282
|
+
return logs;
|
|
283
|
+
}
|
|
284
|
+
const ariaDir = path.join(homedir(), '.aria');
|
|
285
|
+
const runtimeDst = path.join(ariaDir, 'runtime');
|
|
286
|
+
const binDir = path.join(ariaDir, 'bin');
|
|
287
|
+
mkdirSync(ariaDir, { recursive: true, mode: 0o700 });
|
|
288
|
+
mkdirSync(binDir, { recursive: true, mode: 0o755 });
|
|
289
|
+
ensureRuntimeProviderDefaults();
|
|
290
|
+
installSharedSdk(ariaDir, logs);
|
|
291
|
+
const runtimeStateBackup = path.join(ariaDir, 'runtime-state-backup');
|
|
292
|
+
if (existsSync(runtimeStateBackup)) {
|
|
293
|
+
rmSync(runtimeStateBackup, { recursive: true, force: true });
|
|
294
|
+
}
|
|
295
|
+
const existingStateDir = path.join(runtimeDst, 'state');
|
|
296
|
+
if (existsSync(existingStateDir)) {
|
|
297
|
+
copyTree(existingStateDir, runtimeStateBackup);
|
|
298
|
+
logs.push(`Preserved runtime state → ${existingStateDir}`);
|
|
299
|
+
}
|
|
300
|
+
if (existsSync(runtimeDst)) {
|
|
301
|
+
rmSync(runtimeDst, { recursive: true, force: true });
|
|
302
|
+
}
|
|
303
|
+
copyTree(runtimeSrc, runtimeDst);
|
|
304
|
+
if (existsSync(runtimeStateBackup)) {
|
|
305
|
+
copyTree(runtimeStateBackup, path.join(runtimeDst, 'state'));
|
|
306
|
+
rmSync(runtimeStateBackup, { recursive: true, force: true });
|
|
307
|
+
logs.push('Restored runtime state into refreshed runtime bundle');
|
|
308
|
+
}
|
|
309
|
+
const startWrapper = path.join(binDir, 'aria-runtime');
|
|
310
|
+
const doctorWrapper = path.join(binDir, 'aria-runtime-doctor');
|
|
311
|
+
writeWrapper(startWrapper, path.join(runtimeDst, 'service.mjs'));
|
|
312
|
+
writeWrapper(doctorWrapper, path.join(runtimeDst, 'doctor.mjs'));
|
|
313
|
+
const envPath = writeRuntimeEnv(runtimeDst);
|
|
314
|
+
installDisciplinePack(runtimeDst, logs);
|
|
315
|
+
installLocalQdrantService(ariaDir, logs);
|
|
316
|
+
installSystemdUserService(ariaDir, logs);
|
|
317
|
+
installLaunchAgent(ariaDir, logs);
|
|
318
|
+
logs.push(`Installed shared Aria runtime → ${runtimeDst}`);
|
|
319
|
+
logs.push(`Installed runtime wrapper → ${startWrapper}`);
|
|
320
|
+
logs.push(`Installed runtime doctor → ${doctorWrapper}`);
|
|
321
|
+
logs.push(`Installed runtime env → ${envPath}`);
|
|
322
|
+
logs.push('Mount any client against ARIA_RUNTIME_URL=http://127.0.0.1:4319');
|
|
323
|
+
logs.push('Local Qdrant memory is mounted at http://127.0.0.1:6333 for garden pulse persistence.');
|
|
324
|
+
logs.push('Runtime lease is encrypted at rest and revalidated against /api/license/heartbeat');
|
|
325
|
+
logs.push('Forge synthesis is relayed through the canonical Aria endpoint unless ARIA_FORGE_SERVICE_URL overrides it.');
|
|
326
|
+
logs.push('Start it with: aria-runtime');
|
|
327
|
+
logs.push('Health-check it with: aria-runtime-doctor');
|
|
328
|
+
return logs;
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/connectors/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,MAAM,EACN,aAAa,GACd,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEtD,SAAS,iBAAiB;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,MAAc;IAC9C,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC;gBAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACzC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,YAAoB;IACzD,aAAa,CACX,OAAO,EACP,mCAAmC,YAAY,UAAU,EACzD,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;IACF,IAAI,CAAC;QAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IACrD,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,UAAU,CAAC;IACvF,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,IAAI,mBAAmB,CAAC;IACnE,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,IAAI,iBAAiB,CAAC;IACjE,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,IAAI,oBAAoB,CAAC;IAClF,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,IAAI,wBAAwB,CAAC;IACtF,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACjC,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACjC,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,6BAA6B,CAAC;IAChC,MAAM,eAAe,GACnB,OAAO,CAAC,GAAG,CAAC,sBAAsB;QAClC,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7B,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACnD,aAAa,CACX,OAAO,EACP;QACE,6BAA6B;QAC7B,wBAAwB;QACxB,wCAAwC;QACxC,yBAAyB,UAAU,EAAE;QACrC,oBAAoB,UAAU,EAAE;QAChC,0BAA0B,eAAe,EAAE;QAC3C,uCAAuC;QACvC,2CAA2C;QAC3C,iCAAiC,eAAe,EAAE;QAClD,mBAAmB,SAAS,EAAE;QAC9B,mBAAmB,SAAS,EAAE;QAC9B,2BAA2B,gBAAgB,EAAE;QAC7C,2BAA2B,gBAAgB,EAAE;QAC7C,0CAA0C;QAC1C,6CAA6C;QAC7C,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,IAAc;IACvD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,gCAAgC,MAAM,sBAAsB,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEpD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,SAAS;QAC7B,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,8BAA8B,MAAM,aAAa,MAAM,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,6BAA6B;IACpC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,UAAU,CAAC;QACT,GAAG,MAAM;QACT,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,UAAU;QAC/E,eAAe,EAAE;YACf,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,SAAS,IAAI,mBAAmB;YACnE,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,SAAS,IAAI,iBAAiB;YACjE,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,gBAAgB,IAAI,oBAAoB;YAClF,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,gBAAgB,IAAI,wBAAwB;YACtF,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,SAAS,IAAI,EAAE;YAClD,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,SAAS,IAAI,EAAE;YAClD,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,UAAU,IAAI,sCAAsC;YACxF,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,UAAU,IAAI,sDAAsD;SACzG;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe,EAAE,IAAc;IAChE,MAAM,aAAa,GAAG,gBAAgB,CAAC;IACvC,MAAM,UAAU,GAAG,iBAAiB,CAAC;IACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1F,IAAI,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;QACpG,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACjE,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAExD,MAAM,IAAI,GAAG;QACX,QAAQ;QACR,sCAAsC;QACtC,qCAAqC;QACrC,EAAE;QACF,WAAW;QACX,aAAa;QACb,iBAAiB,UAAU,oBAAoB;QAC/C,GAAG,YAAY,GAAG,UAAU,0DAA0D,aAAa,wCAAwC;QAC3I,YAAY,UAAU,yBAAyB;QAC/C,gBAAgB;QAChB,cAAc;QACd,EAAE;QACF,WAAW;QACX,yBAAyB;QACzB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,YAAY,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9E,YAAY,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvG,IAAI,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,uDAAuD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7H,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB,EAAE,IAAc;IAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAE3F,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC;SACzD,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG;YACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC;SAC3D,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,8CAA8C,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClE,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;gBAAE,SAAS;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YACrD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe,EAAE,IAAc;IAChE,MAAM,aAAa,GAAG,gBAAgB,CAAC;IACvC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;IAC1E,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAExD,MAAM,IAAI,GAAG;QACX,QAAQ;QACR,kCAAkC;QAClC,sBAAsB;QACtB,EAAE;QACF,WAAW;QACX,aAAa;QACb,oBAAoB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE;QAClE,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE;QACxD,gBAAgB;QAChB,cAAc;QACd,EAAE;QACF,WAAW;QACX,yBAAyB;QACzB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,YAAY,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9E,YAAY,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,8BAA8B,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChH,IAAI,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,6DAA6D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnI,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAc;IACzD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO;IAC1C,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACjC,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACjC,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,6BAA6B,CAAC;IAEhC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;IAC9E,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAG;;;;;;;;cAQF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC;;;;;;;;;;;cAWzC,UAAU;;cAEV,UAAU;;;;;;;;CAQvB,CAAC;IAEA,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,YAAY,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,IAAI,CAAC;QACH,YAAY,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,gDAAgD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,8BAA8B,UAAU,sBAAsB,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEzC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,6BAA6B,EAAE,CAAC;IAChC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEhC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,6BAA6B,gBAAgB,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjC,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC/D,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IACjE,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5C,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACxC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC,IAAI,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,CAAC,8BAA8B,aAAa,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;IACnG,IAAI,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;IAC/F,IAAI,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAC;IACxH,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../src/connectors/shell.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../src/connectors/shell.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAyE/C,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CA+BnB;AAmBD,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUzE"}
|
|
@@ -1,34 +1,99 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, writeFileSync, chmodSync, unlinkSync } from 'fs';
|
|
1
|
+
import { existsSync, mkdirSync, writeFileSync, chmodSync, unlinkSync, readFileSync } from 'fs';
|
|
2
2
|
import { execSync } from 'child_process';
|
|
3
3
|
import { homedir } from 'os';
|
|
4
4
|
import * as path from 'path';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const ARIA_DIR = path.join(homedir(), '.aria');
|
|
6
|
+
const WRAPPER_DIR = path.join(ARIA_DIR, 'wrappers');
|
|
7
|
+
const SHELL_DIR = path.join(ARIA_DIR, 'shell');
|
|
8
|
+
const SHELL_HOOK_PATH = path.join(SHELL_DIR, 'runtime-client-env.sh');
|
|
9
|
+
const SHELL_RC_FILES = ['.bashrc', '.bash_profile', '.profile', '.zshrc', '.zprofile'];
|
|
10
|
+
const SHELL_HOOK_LINE = '[ -f "$HOME/.aria/shell/runtime-client-env.sh" ] && . "$HOME/.aria/shell/runtime-client-env.sh"';
|
|
11
|
+
function resolveToolPath(toolName) {
|
|
8
12
|
try {
|
|
9
|
-
|
|
13
|
+
const lines = execSync(`which -a ${toolName}`, { encoding: 'utf-8' })
|
|
14
|
+
.split('\n')
|
|
15
|
+
.map((line) => line.trim())
|
|
16
|
+
.filter(Boolean);
|
|
17
|
+
const preferred = lines.find((candidate) => !candidate.startsWith(`${WRAPPER_DIR}/`));
|
|
18
|
+
return preferred || lines[0] || null;
|
|
10
19
|
}
|
|
11
20
|
catch {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function ensureWrapperShellHook(logs) {
|
|
25
|
+
if (!existsSync(SHELL_DIR)) {
|
|
26
|
+
mkdirSync(SHELL_DIR, { recursive: true, mode: 0o700 });
|
|
27
|
+
}
|
|
28
|
+
const shellHook = `#!/usr/bin/env bash
|
|
29
|
+
if [ -d "$HOME/.aria/wrappers" ]; then
|
|
30
|
+
case ":$PATH:" in
|
|
31
|
+
*":$HOME/.aria/wrappers:"*) ;;
|
|
32
|
+
*) export PATH="$HOME/.aria/wrappers:$PATH" ;;
|
|
33
|
+
esac
|
|
34
|
+
fi
|
|
35
|
+
`;
|
|
36
|
+
writeFileSync(SHELL_HOOK_PATH, shellHook, { mode: 0o755 });
|
|
37
|
+
chmodSync(SHELL_HOOK_PATH, 0o755);
|
|
38
|
+
logs.push(`Installed shell hook → ${SHELL_HOOK_PATH}`);
|
|
39
|
+
for (const rcFile of SHELL_RC_FILES) {
|
|
40
|
+
const rcPath = path.join(homedir(), rcFile);
|
|
41
|
+
const existing = existsSync(rcPath) ? readFileSync(rcPath, 'utf8') : '';
|
|
42
|
+
if (existing.includes(SHELL_HOOK_LINE))
|
|
43
|
+
continue;
|
|
44
|
+
const prefix = existing && !existing.endsWith('\n') ? '\n' : '';
|
|
45
|
+
writeFileSync(rcPath, `${existing}${prefix}${SHELL_HOOK_LINE}\n`, { mode: 0o644 });
|
|
46
|
+
logs.push(`Added Aria wrapper PATH hook → ${rcPath}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function buildRuntimeInjectionBlock() {
|
|
50
|
+
return `
|
|
51
|
+
RUNTIME_ENV="$HOME/.aria/runtime/runtime.env"
|
|
52
|
+
if [ -f "$RUNTIME_ENV" ]; then
|
|
53
|
+
set -a
|
|
54
|
+
. "$RUNTIME_ENV"
|
|
55
|
+
set +a
|
|
56
|
+
fi
|
|
57
|
+
export ARIA_RUNTIME_URL="\${ARIA_RUNTIME_URL:-http://127.0.0.1:4319}"
|
|
58
|
+
export OPENAI_BASE_URL="\${OPENAI_BASE_URL:-$ARIA_RUNTIME_URL/v1}"
|
|
59
|
+
export ANTHROPIC_BASE_URL="\${ANTHROPIC_BASE_URL:-$ARIA_RUNTIME_URL/v1}"
|
|
60
|
+
if [ -z "\${ARIA_API_KEY:-}" ]; then
|
|
61
|
+
if [ -f "$HOME/.aria/owner-token" ]; then
|
|
62
|
+
export ARIA_API_KEY="$(tr -d '\\n' < "$HOME/.aria/owner-token")"
|
|
63
|
+
elif [ -f "$HOME/.aria/license.json" ]; then
|
|
64
|
+
export ARIA_API_KEY="$(sed -n 's/.*"harnessToken"[[:space:]]*:[[:space:]]*"\\([^"]*\\)".*/\\1/p' "$HOME/.aria/license.json" | head -n 1)"
|
|
65
|
+
if [ -z "$ARIA_API_KEY" ]; then
|
|
66
|
+
export ARIA_API_KEY="$(sed -n 's/.*"token"[[:space:]]*:[[:space:]]*"\\([^"]*\\)".*/\\1/p' "$HOME/.aria/license.json" | head -n 1)"
|
|
67
|
+
fi
|
|
68
|
+
fi
|
|
69
|
+
fi
|
|
70
|
+
`;
|
|
71
|
+
}
|
|
72
|
+
export async function connectShell(toolName, config) {
|
|
73
|
+
const logs = [];
|
|
74
|
+
const toolPath = resolveToolPath(toolName);
|
|
75
|
+
if (!toolPath) {
|
|
12
76
|
logs.push(`Tool "${toolName}" not found in PATH`);
|
|
13
77
|
return logs;
|
|
14
78
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (!existsSync(wrapperDir)) {
|
|
18
|
-
mkdirSync(wrapperDir, { recursive: true });
|
|
79
|
+
if (!existsSync(WRAPPER_DIR)) {
|
|
80
|
+
mkdirSync(WRAPPER_DIR, { recursive: true });
|
|
19
81
|
}
|
|
20
82
|
const ariaBlock = buildShellWrapperBlock(config, toolName);
|
|
83
|
+
const runtimeBlock = buildRuntimeInjectionBlock();
|
|
84
|
+
const wrapperPath = path.join(WRAPPER_DIR, toolName);
|
|
21
85
|
const script = `#!/usr/bin/env bash
|
|
22
86
|
# ARIA HARNESS WRAPPER — generated by @aria/connector
|
|
23
87
|
# Wraps ${toolName} with Aria's cognitive harness
|
|
24
88
|
${ariaBlock}
|
|
25
|
-
|
|
89
|
+
${runtimeBlock}
|
|
90
|
+
exec "${toolPath}" "$@"
|
|
26
91
|
`;
|
|
27
92
|
writeFileSync(wrapperPath, script);
|
|
28
93
|
chmodSync(wrapperPath, 0o755);
|
|
94
|
+
ensureWrapperShellHook(logs);
|
|
29
95
|
logs.push(`Created wrapper: ${wrapperPath}`);
|
|
30
|
-
logs.push(
|
|
31
|
-
logs.push(` export PATH="$HOME/.aria/wrappers:$PATH"`);
|
|
96
|
+
logs.push(`${toolName} will route through the mounted Aria runtime on new shell sessions.`);
|
|
32
97
|
return logs;
|
|
33
98
|
}
|
|
34
99
|
function buildShellWrapperBlock(config, toolName) {
|
|
@@ -48,7 +113,7 @@ function buildShellWrapperBlock(config, toolName) {
|
|
|
48
113
|
}
|
|
49
114
|
export async function disconnectShell(toolName) {
|
|
50
115
|
const logs = [];
|
|
51
|
-
const wrapperPath = path.join(
|
|
116
|
+
const wrapperPath = path.join(WRAPPER_DIR, toolName);
|
|
52
117
|
if (existsSync(wrapperPath)) {
|
|
53
118
|
unlinkSync(wrapperPath);
|
|
54
119
|
logs.push(`Removed wrapper: ${wrapperPath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/connectors/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/connectors/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
type SyncStatus = 'idle' | 'running' | 'watching' | 'skipped' | 'error';
|
|
2
|
+
interface SyncState {
|
|
3
|
+
status: SyncStatus;
|
|
4
|
+
sourceRoot: string | null;
|
|
5
|
+
lastTrigger: string | null;
|
|
6
|
+
lastSourceHash: string | null;
|
|
7
|
+
lastBundleHash: string | null;
|
|
8
|
+
lastSyncedAt: string | null;
|
|
9
|
+
lastError: string | null;
|
|
10
|
+
watchedPaths: string[];
|
|
11
|
+
updatedAt: string;
|
|
12
|
+
}
|
|
13
|
+
interface SyncOptions {
|
|
14
|
+
sourceRoot?: string;
|
|
15
|
+
force?: boolean;
|
|
16
|
+
reason?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function installAriaSyncDaemon(options?: SyncOptions): Promise<string[]>;
|
|
19
|
+
export declare function runSyncOnce(options?: SyncOptions): Promise<{
|
|
20
|
+
changed: boolean;
|
|
21
|
+
bundleHash: string;
|
|
22
|
+
sourceRoot: string;
|
|
23
|
+
}>;
|
|
24
|
+
export declare function readSyncDaemonState(): SyncState;
|
|
25
|
+
export declare function startSyncDaemon(options?: SyncOptions): Promise<void>;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=syncd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncd.d.ts","sourceRoot":"","sources":["../../../../src/connectors/syncd.ts"],"names":[],"mappings":"AAqBA,KAAK,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAExE,UAAU,SAAS;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,WAAW;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA0QD,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsBxF;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;CAAE,CAAC,CAwEnI;AAED,wBAAgB,mBAAmB,IAAI,SAAS,CAE/C;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgF9E"}
|