@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.
Files changed (249) hide show
  1. package/CLIENT-ONBOARDING.md +282 -0
  2. package/bin/aria.js +1140 -14
  3. package/dist/aria-connector/src/auth-commands.d.ts +1 -0
  4. package/dist/aria-connector/src/auth-commands.d.ts.map +1 -1
  5. package/dist/aria-connector/src/auth-commands.js +89 -41
  6. package/dist/aria-connector/src/auth-commands.js.map +1 -1
  7. package/dist/aria-connector/src/chat.d.ts +3 -0
  8. package/dist/aria-connector/src/chat.d.ts.map +1 -1
  9. package/dist/aria-connector/src/chat.js +146 -8
  10. package/dist/aria-connector/src/chat.js.map +1 -1
  11. package/dist/aria-connector/src/codebase-scanner.d.ts +2 -2
  12. package/dist/aria-connector/src/codebase-scanner.d.ts.map +1 -1
  13. package/dist/aria-connector/src/codebase-scanner.js +1 -1
  14. package/dist/aria-connector/src/codebase-scanner.js.map +1 -1
  15. package/dist/aria-connector/src/config.d.ts +12 -0
  16. package/dist/aria-connector/src/config.d.ts.map +1 -1
  17. package/dist/aria-connector/src/config.js +2 -0
  18. package/dist/aria-connector/src/config.js.map +1 -1
  19. package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
  20. package/dist/aria-connector/src/connectors/claude-code.js +111 -21
  21. package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
  22. package/dist/aria-connector/src/connectors/codebase-awareness.d.ts +37 -0
  23. package/dist/aria-connector/src/connectors/codebase-awareness.d.ts.map +1 -0
  24. package/dist/aria-connector/src/connectors/codebase-awareness.js +335 -0
  25. package/dist/aria-connector/src/connectors/codebase-awareness.js.map +1 -0
  26. package/dist/aria-connector/src/connectors/codex.d.ts +3 -0
  27. package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -0
  28. package/dist/aria-connector/src/connectors/codex.js +248 -0
  29. package/dist/aria-connector/src/connectors/codex.js.map +1 -0
  30. package/dist/aria-connector/src/connectors/cognitive-skills.d.ts +2 -0
  31. package/dist/aria-connector/src/connectors/cognitive-skills.d.ts.map +1 -0
  32. package/dist/aria-connector/src/connectors/cognitive-skills.js +47 -0
  33. package/dist/aria-connector/src/connectors/cognitive-skills.js.map +1 -0
  34. package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
  35. package/dist/aria-connector/src/connectors/opencode.js +90 -4
  36. package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
  37. package/dist/aria-connector/src/connectors/repo-git-hooks.d.ts +3 -0
  38. package/dist/aria-connector/src/connectors/repo-git-hooks.d.ts.map +1 -0
  39. package/dist/aria-connector/src/connectors/repo-git-hooks.js +87 -0
  40. package/dist/aria-connector/src/connectors/repo-git-hooks.js.map +1 -0
  41. package/dist/aria-connector/src/connectors/repo-guard.d.ts +19 -0
  42. package/dist/aria-connector/src/connectors/repo-guard.d.ts.map +1 -0
  43. package/dist/aria-connector/src/connectors/repo-guard.js +509 -0
  44. package/dist/aria-connector/src/connectors/repo-guard.js.map +1 -0
  45. package/dist/aria-connector/src/connectors/runtime.d.ts +2 -0
  46. package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -0
  47. package/dist/aria-connector/src/connectors/runtime.js +330 -0
  48. package/dist/aria-connector/src/connectors/runtime.js.map +1 -0
  49. package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
  50. package/dist/aria-connector/src/connectors/shell.js +78 -13
  51. package/dist/aria-connector/src/connectors/shell.js.map +1 -1
  52. package/dist/aria-connector/src/connectors/syncd.d.ts +27 -0
  53. package/dist/aria-connector/src/connectors/syncd.d.ts.map +1 -0
  54. package/dist/aria-connector/src/connectors/syncd.js +405 -0
  55. package/dist/aria-connector/src/connectors/syncd.js.map +1 -0
  56. package/dist/aria-connector/src/decisions.d.ts +207 -0
  57. package/dist/aria-connector/src/decisions.d.ts.map +1 -0
  58. package/dist/aria-connector/src/decisions.js +291 -0
  59. package/dist/aria-connector/src/decisions.js.map +1 -0
  60. package/dist/aria-connector/src/garden-control-plane.d.ts.map +1 -1
  61. package/dist/aria-connector/src/garden-control-plane.js +74 -17
  62. package/dist/aria-connector/src/garden-control-plane.js.map +1 -1
  63. package/dist/aria-connector/src/github-connect.d.ts +18 -0
  64. package/dist/aria-connector/src/github-connect.d.ts.map +1 -0
  65. package/dist/aria-connector/src/github-connect.js +117 -0
  66. package/dist/aria-connector/src/github-connect.js.map +1 -0
  67. package/dist/aria-connector/src/harness-client.d.ts +15 -0
  68. package/dist/aria-connector/src/harness-client.d.ts.map +1 -1
  69. package/dist/aria-connector/src/harness-client.js +106 -3
  70. package/dist/aria-connector/src/harness-client.js.map +1 -1
  71. package/dist/aria-connector/src/hive-client.d.ts +30 -0
  72. package/dist/aria-connector/src/hive-client.d.ts.map +1 -1
  73. package/dist/aria-connector/src/hive-client.js +124 -5
  74. package/dist/aria-connector/src/hive-client.js.map +1 -1
  75. package/dist/aria-connector/src/index.d.ts +13 -2
  76. package/dist/aria-connector/src/index.d.ts.map +1 -1
  77. package/dist/aria-connector/src/index.js +10 -1
  78. package/dist/aria-connector/src/index.js.map +1 -1
  79. package/dist/aria-connector/src/lib/aristotle-noor-wire.d.ts +102 -0
  80. package/dist/aria-connector/src/lib/aristotle-noor-wire.d.ts.map +1 -0
  81. package/dist/aria-connector/src/lib/aristotle-noor-wire.js +231 -0
  82. package/dist/aria-connector/src/lib/aristotle-noor-wire.js.map +1 -0
  83. package/dist/aria-connector/src/providers/types.d.ts +5 -0
  84. package/dist/aria-connector/src/providers/types.d.ts.map +1 -1
  85. package/dist/aria-connector/src/runtime-proof.d.ts +45 -0
  86. package/dist/aria-connector/src/runtime-proof.d.ts.map +1 -0
  87. package/dist/aria-connector/src/runtime-proof.js +340 -0
  88. package/dist/aria-connector/src/runtime-proof.js.map +1 -0
  89. package/dist/aria-connector/src/setup-wizard.d.ts.map +1 -1
  90. package/dist/aria-connector/src/setup-wizard.js +34 -2
  91. package/dist/aria-connector/src/setup-wizard.js.map +1 -1
  92. package/dist/assets/hooks/aria-agent-handoff.mjs +224 -0
  93. package/dist/assets/hooks/aria-agent-ledger-merge.mjs +164 -0
  94. package/dist/assets/hooks/aria-architect-fallback.mjs +267 -0
  95. package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +676 -0
  96. package/dist/assets/hooks/aria-discovery-record.mjs +101 -0
  97. package/dist/assets/hooks/aria-harness-via-sdk.mjs +412 -0
  98. package/dist/assets/hooks/aria-import-resolution-gate.mjs +330 -0
  99. package/dist/assets/hooks/aria-outcome-record.mjs +84 -0
  100. package/dist/assets/hooks/aria-pre-emit-dryrun.mjs +294 -0
  101. package/dist/assets/hooks/aria-pre-text-gate.mjs +112 -0
  102. package/dist/assets/hooks/aria-pre-tool-gate.mjs +2133 -0
  103. package/dist/assets/hooks/aria-preprompt-consult.mjs +438 -0
  104. package/dist/assets/hooks/aria-preturn-memory-gate.mjs +570 -0
  105. package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +397 -0
  106. package/dist/assets/hooks/aria-stop-gate.mjs +1551 -0
  107. package/dist/assets/hooks/aria-trigger-autolearn.mjs +229 -0
  108. package/dist/assets/hooks/aria-userprompt-abandon-detect.mjs +192 -0
  109. package/dist/assets/hooks/doctrine_trigger_map.json +479 -0
  110. package/dist/assets/hooks/lib/canonical-lenses.mjs +64 -0
  111. package/dist/assets/hooks/lib/gate-audit.mjs +43 -0
  112. package/dist/assets/hooks/test-aria-preturn-memory-gate.mjs +245 -0
  113. package/dist/assets/hooks/test-tier-lens-labeling.mjs +399 -0
  114. package/dist/assets/opencode-plugins/harness-context/index.js +60 -0
  115. package/dist/assets/opencode-plugins/harness-context/inject-context.mjs +179 -0
  116. package/dist/assets/opencode-plugins/harness-context/package.json +9 -0
  117. package/dist/assets/opencode-plugins/harness-gate/index.js +248 -0
  118. package/dist/assets/opencode-plugins/harness-outcome/index.js +129 -0
  119. package/dist/assets/opencode-plugins/harness-role/index.js +77 -0
  120. package/dist/assets/opencode-plugins/harness-role/package.json +9 -0
  121. package/dist/assets/opencode-plugins/harness-stop/index.js +241 -0
  122. package/dist/runtime/discipline/CLAUDE.md +339 -0
  123. package/dist/runtime/discipline/skills/aria-cognition/aria-essence/SKILL.md +63 -0
  124. package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/domain-matrix.md +80 -0
  125. package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/evolution-loop.md +30 -0
  126. package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/readable-cognition.md +27 -0
  127. package/dist/runtime/discipline/skills/aria-cognition/aria-forge-guardrails/SKILL.md +35 -0
  128. package/dist/runtime/discipline/skills/aria-cognition/aria-forge-guardrails/references/checklist.md +31 -0
  129. package/dist/runtime/discipline/skills/aria-cognition/aria-repo-doctrine/SKILL.md +39 -0
  130. package/dist/runtime/discipline/skills/aria-cognition/forge-quality-rules/SKILL.md +43 -0
  131. package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/SKILL.md +38 -0
  132. package/dist/runtime/discipline/skills/aria-cognition/istiqra-induction/SKILL.md +26 -0
  133. package/dist/runtime/discipline/skills/aria-cognition/ladunni-22/SKILL.md +35 -0
  134. package/dist/runtime/discipline/skills/aria-cognition/mizan/SKILL.md +72 -0
  135. package/dist/runtime/discipline/skills/aria-cognition/nadia/SKILL.md +38 -0
  136. package/dist/runtime/discipline/skills/aria-cognition/nadia-psi/SKILL.md +38 -0
  137. package/dist/runtime/discipline/skills/aria-cognition/predictor/SKILL.md +25 -0
  138. package/dist/runtime/discipline/skills/aria-cognition/qiyas-analogy/SKILL.md +26 -0
  139. package/dist/runtime/discipline/skills/aria-cognition/soul-domains/SKILL.md +25 -0
  140. package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-intra-phase/SKILL.md +81 -0
  141. package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-post-phase/SKILL.md +98 -0
  142. package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-pre-phase/SKILL.md +99 -0
  143. package/dist/runtime/discipline/skills/aria-harness/aria-harness-deploy/SKILL.md +127 -0
  144. package/dist/runtime/discipline/skills/aria-harness/aria-harness-no-stripping/SKILL.md +117 -0
  145. package/dist/runtime/discipline/skills/aria-harness/aria-harness-onboarding/SKILL.md +112 -0
  146. package/dist/runtime/discipline/skills/aria-harness/aria-harness-output-discipline/SKILL.md +102 -0
  147. package/dist/runtime/discipline/skills/aria-harness/aria-harness-substrate-binding/SKILL.md +121 -0
  148. package/dist/runtime/doctor.mjs +23 -0
  149. package/dist/runtime/local-phase.mjs +632 -0
  150. package/dist/runtime/manifest.json +15 -0
  151. package/dist/runtime/mizan-scheduler.mjs +331 -0
  152. package/dist/runtime/package.json +6 -0
  153. package/dist/runtime/provider-proxy.mjs +594 -0
  154. package/dist/runtime/sdk/BUNDLED.json +5 -0
  155. package/dist/runtime/sdk/index.d.ts +477 -0
  156. package/dist/runtime/sdk/index.js +1469 -0
  157. package/dist/runtime/sdk/index.js.map +1 -0
  158. package/dist/runtime/sdk/package.json +8 -0
  159. package/dist/runtime/sdk/runWithCognition.d.ts +77 -0
  160. package/dist/runtime/sdk/runWithCognition.js +157 -0
  161. package/dist/runtime/sdk/runWithCognition.js.map +1 -0
  162. package/dist/runtime/service.mjs +2708 -0
  163. package/dist/runtime/vendor/aria-gate-runtime/index.d.ts +53 -0
  164. package/dist/runtime/vendor/aria-gate-runtime/index.d.ts.map +1 -0
  165. package/dist/runtime/vendor/aria-gate-runtime/index.js +277 -0
  166. package/dist/runtime/vendor/aria-gate-runtime/index.js.map +1 -0
  167. package/dist/runtime/vendor/aria-gate-runtime/package.json +6 -0
  168. package/dist/sdk/BUNDLED.json +2 -2
  169. package/dist/sdk/index.d.ts +317 -0
  170. package/dist/sdk/index.js +827 -85
  171. package/dist/sdk/index.js.map +1 -1
  172. package/dist/sdk/runWithCognition.d.ts +77 -0
  173. package/dist/sdk/runWithCognition.js +157 -0
  174. package/dist/sdk/runWithCognition.js.map +1 -0
  175. package/hooks/aria-agent-handoff.mjs +11 -1
  176. package/hooks/aria-architect-fallback.mjs +267 -0
  177. package/hooks/aria-cognition-substrate-binding.mjs +676 -0
  178. package/hooks/aria-discovery-record.mjs +101 -0
  179. package/hooks/aria-harness-via-sdk.mjs +34 -21
  180. package/hooks/aria-import-resolution-gate.mjs +330 -0
  181. package/hooks/aria-outcome-record.mjs +84 -0
  182. package/hooks/aria-pre-emit-dryrun.mjs +294 -0
  183. package/hooks/aria-pre-tool-gate.mjs +985 -40
  184. package/hooks/aria-preprompt-consult.mjs +113 -13
  185. package/hooks/aria-preturn-memory-gate.mjs +298 -6
  186. package/hooks/aria-repo-doctrine-gate.mjs +397 -0
  187. package/hooks/aria-stop-gate.mjs +840 -75
  188. package/hooks/aria-userprompt-abandon-detect.mjs +5 -1
  189. package/hooks/doctrine_trigger_map.json +209 -15
  190. package/hooks/lib/canonical-lenses.mjs +64 -0
  191. package/hooks/lib/gate-audit.mjs +43 -0
  192. package/opencode-plugins/harness-context/index.js +1 -1
  193. package/opencode-plugins/harness-context/inject-context.mjs +82 -23
  194. package/opencode-plugins/harness-gate/index.js +248 -0
  195. package/opencode-plugins/harness-outcome/index.js +129 -0
  196. package/opencode-plugins/harness-stop/index.js +241 -0
  197. package/package.json +8 -2
  198. package/runtime-src/doctor.mjs +23 -0
  199. package/runtime-src/local-phase.mjs +632 -0
  200. package/runtime-src/mizan-scheduler.mjs +331 -0
  201. package/runtime-src/provider-proxy.mjs +594 -0
  202. package/runtime-src/service.mjs +2708 -0
  203. package/scripts/bundle-sdk.mjs +317 -0
  204. package/scripts/install-client.sh +176 -0
  205. package/scripts/publish-all.sh +344 -0
  206. package/scripts/publish-docker.sh +27 -0
  207. package/scripts/validate-hook-contracts.mjs +54 -0
  208. package/scripts/validate-skill-prompts.mjs +95 -0
  209. package/skills/aria-cognition/aria-essence/SKILL.md +63 -0
  210. package/skills/aria-cognition/aria-essence/references/domain-matrix.md +80 -0
  211. package/skills/aria-cognition/aria-essence/references/evolution-loop.md +30 -0
  212. package/skills/aria-cognition/aria-essence/references/readable-cognition.md +27 -0
  213. package/skills/aria-cognition/aria-forge-guardrails/SKILL.md +35 -0
  214. package/skills/aria-cognition/aria-forge-guardrails/references/checklist.md +31 -0
  215. package/skills/aria-cognition/aria-repo-doctrine/SKILL.md +39 -0
  216. package/skills/aria-cognition/forge-quality-rules/SKILL.md +43 -0
  217. package/skills/aria-cognition/ghazali-8lens/SKILL.md +38 -0
  218. package/skills/aria-cognition/istiqra-induction/SKILL.md +26 -0
  219. package/skills/aria-cognition/ladunni-22/SKILL.md +35 -0
  220. package/skills/aria-cognition/mizan/SKILL.md +72 -0
  221. package/skills/aria-cognition/nadia/SKILL.md +38 -0
  222. package/skills/aria-cognition/nadia-psi/SKILL.md +38 -0
  223. package/skills/aria-cognition/predictor/SKILL.md +25 -0
  224. package/skills/aria-cognition/qiyas-analogy/SKILL.md +26 -0
  225. package/skills/aria-cognition/soul-domains/SKILL.md +25 -0
  226. package/src/auth-commands.ts +111 -45
  227. package/src/chat.ts +174 -13
  228. package/src/codebase-scanner.ts +4 -0
  229. package/src/config.ts +15 -0
  230. package/src/connectors/claude-code.ts +115 -26
  231. package/src/connectors/codebase-awareness.ts +408 -0
  232. package/src/connectors/codex.ts +274 -0
  233. package/src/connectors/cognitive-skills.ts +51 -0
  234. package/src/connectors/opencode.ts +93 -4
  235. package/src/connectors/repo-git-hooks.ts +86 -0
  236. package/src/connectors/repo-guard.ts +589 -0
  237. package/src/connectors/runtime.ts +374 -0
  238. package/src/connectors/shell.ts +83 -14
  239. package/src/connectors/syncd.ts +488 -0
  240. package/src/decisions.ts +469 -0
  241. package/src/garden-control-plane.ts +101 -26
  242. package/src/github-connect.ts +143 -0
  243. package/src/harness-client.ts +128 -3
  244. package/src/hive-client.ts +165 -5
  245. package/src/index.ts +41 -2
  246. package/src/lib/aristotle-noor-wire.ts +310 -0
  247. package/src/providers/types.ts +6 -0
  248. package/src/runtime-proof.ts +392 -0
  249. 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":"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"}
@@ -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;AAE/C,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAiCnB;AAmBD,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUzE"}
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
- export async function connectShell(toolName, config) {
6
- const logs = [];
7
- let toolPath;
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
- toolPath = execSync(`which ${toolName}`, { encoding: 'utf-8' }).trim();
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
- const wrapperDir = path.join(homedir(), '.aria', 'wrappers');
16
- const wrapperPath = path.join(wrapperDir, toolName);
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
- exec ${toolPath} "$@"
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(`Add ~/.aria/wrappers to your PATH to use it:`);
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(homedir(), '.aria', 'wrappers', toolName);
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;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,MAAkB;IAElB,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,QAAQ,CAAC,SAAS,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,IAAI,CAAC,SAAS,QAAQ,qBAAqB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEpD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG;;UAEP,QAAQ;EAChB,SAAS;OACJ,QAAQ;CACd,CAAC;IAEA,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAExD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAkB,EAAE,QAAgB;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnE,OAAO;6BACoB,QAAQ;qBAChB,QAAQ,IAAI,MAAM;8BACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;;;;;;;;CAQlF,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAExE,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,UAAU,CAAC,WAAW,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,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"}