@aria_asi/cli 0.2.30 → 0.2.31

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 (87) hide show
  1. package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
  2. package/dist/aria-connector/src/connectors/claude-code.js +88 -20
  3. package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
  4. package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -1
  5. package/dist/aria-connector/src/connectors/codex.js +526 -2
  6. package/dist/aria-connector/src/connectors/codex.js.map +1 -1
  7. package/dist/aria-connector/src/connectors/doctrine-trigger-map.d.ts +7 -0
  8. package/dist/aria-connector/src/connectors/doctrine-trigger-map.d.ts.map +1 -0
  9. package/dist/aria-connector/src/connectors/doctrine-trigger-map.js +87 -0
  10. package/dist/aria-connector/src/connectors/doctrine-trigger-map.js.map +1 -0
  11. package/dist/aria-connector/src/connectors/must-read.d.ts +4 -0
  12. package/dist/aria-connector/src/connectors/must-read.d.ts.map +1 -0
  13. package/dist/aria-connector/src/connectors/must-read.js +111 -0
  14. package/dist/aria-connector/src/connectors/must-read.js.map +1 -0
  15. package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
  16. package/dist/aria-connector/src/connectors/opencode.js +2 -0
  17. package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
  18. package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -1
  19. package/dist/aria-connector/src/connectors/runtime.js +231 -19
  20. package/dist/aria-connector/src/connectors/runtime.js.map +1 -1
  21. package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
  22. package/dist/aria-connector/src/connectors/shell.js +76 -3
  23. package/dist/aria-connector/src/connectors/shell.js.map +1 -1
  24. package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +52 -25
  25. package/dist/assets/hooks/aria-harness-via-sdk.mjs +126 -12
  26. package/dist/assets/hooks/aria-pre-tool-gate.mjs +185 -76
  27. package/dist/assets/hooks/aria-preturn-memory-gate.mjs +63 -14
  28. package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +2 -0
  29. package/dist/assets/hooks/aria-stop-gate.mjs +225 -52
  30. package/dist/assets/hooks/lib/canonical-lenses.mjs +6 -5
  31. package/dist/assets/hooks/lib/gate-loop-state.mjs +50 -0
  32. package/dist/assets/hooks/lib/hook-message-window.mjs +121 -0
  33. package/dist/assets/hooks/test-tier-lens-labeling.mjs +26 -58
  34. package/dist/assets/opencode-plugins/harness-gate/index.js +23 -1
  35. package/dist/assets/opencode-plugins/harness-stop/index.js +93 -4
  36. package/dist/runtime/auth-middleware.mjs +251 -0
  37. package/dist/runtime/codex-bridge.mjs +644 -0
  38. package/dist/runtime/discipline/CLAUDE.md +12 -0
  39. package/dist/runtime/discipline/doctrine_trigger_map.json +479 -0
  40. package/dist/runtime/doctrine_trigger_map.json +479 -0
  41. package/dist/runtime/fleet-engine.mjs +231 -0
  42. package/dist/runtime/harness-daemon.mjs +433 -0
  43. package/dist/runtime/manifest.json +1 -1
  44. package/dist/runtime/metering.mjs +100 -0
  45. package/dist/runtime/onboarding-engine.mjs +89 -0
  46. package/dist/runtime/plugin-engine.mjs +196 -0
  47. package/dist/runtime/sdk/BUNDLED.json +1 -1
  48. package/dist/runtime/sdk/index.d.ts +7 -0
  49. package/dist/runtime/sdk/index.js +120 -14
  50. package/dist/runtime/sdk/index.js.map +1 -1
  51. package/dist/runtime/service.mjs +1094 -47
  52. package/dist/runtime/workflow-engine.mjs +322 -0
  53. package/dist/sdk/BUNDLED.json +1 -1
  54. package/dist/sdk/index.d.ts +7 -0
  55. package/dist/sdk/index.js +120 -14
  56. package/dist/sdk/index.js.map +1 -1
  57. package/hooks/aria-cognition-substrate-binding.mjs +52 -25
  58. package/hooks/aria-harness-via-sdk.mjs +126 -12
  59. package/hooks/aria-pre-tool-gate.mjs +185 -76
  60. package/hooks/aria-preturn-memory-gate.mjs +63 -14
  61. package/hooks/aria-repo-doctrine-gate.mjs +2 -0
  62. package/hooks/aria-stop-gate.mjs +225 -52
  63. package/hooks/lib/canonical-lenses.mjs +6 -5
  64. package/hooks/lib/gate-loop-state.mjs +50 -0
  65. package/hooks/lib/hook-message-window.mjs +121 -0
  66. package/hooks/test-tier-lens-labeling.mjs +26 -58
  67. package/opencode-plugins/harness-gate/index.js +23 -1
  68. package/opencode-plugins/harness-stop/index.js +93 -4
  69. package/package.json +1 -1
  70. package/runtime-src/auth-middleware.mjs +251 -0
  71. package/runtime-src/codex-bridge.mjs +644 -0
  72. package/runtime-src/fleet-engine.mjs +231 -0
  73. package/runtime-src/harness-daemon.mjs +433 -0
  74. package/runtime-src/metering.mjs +100 -0
  75. package/runtime-src/onboarding-engine.mjs +89 -0
  76. package/runtime-src/plugin-engine.mjs +196 -0
  77. package/runtime-src/service.mjs +1094 -47
  78. package/runtime-src/workflow-engine.mjs +322 -0
  79. package/scripts/bundle-sdk.mjs +5 -0
  80. package/src/connectors/claude-code.ts +98 -20
  81. package/src/connectors/codex.ts +534 -1
  82. package/src/connectors/doctrine-trigger-map.ts +112 -0
  83. package/src/connectors/must-read.ts +113 -0
  84. package/src/connectors/opencode.ts +3 -0
  85. package/src/connectors/runtime.ts +241 -21
  86. package/src/connectors/shell.ts +78 -3
  87. package/dist/cli-0.2.0.tgz +0 -0
@@ -0,0 +1,87 @@
1
+ import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync, } from 'fs';
2
+ import { homedir } from 'os';
3
+ import * as path from 'path';
4
+ import { fileURLToPath } from 'node:url';
5
+ function bundledDoctrineTriggerMapCandidates() {
6
+ const here = path.dirname(fileURLToPath(import.meta.url));
7
+ return [
8
+ path.resolve(here, '..', '..', '..', '..', 'hooks', 'doctrine_trigger_map.json'),
9
+ path.resolve(here, '..', '..', '..', 'assets', 'hooks', 'doctrine_trigger_map.json'),
10
+ ];
11
+ }
12
+ function installedDoctrineTriggerMapTargets() {
13
+ const home = homedir();
14
+ return [
15
+ path.join(home, '.aria', 'runtime', 'discipline', 'doctrine_trigger_map.json'),
16
+ path.join(home, '.aria', 'runtime', 'doctrine_trigger_map.json'),
17
+ path.join(home, '.claude', 'hooks', 'doctrine_trigger_map.json'),
18
+ path.join(home, '.claude', 'projects', '-home-hamzaibrahim1', 'memory', 'doctrine_trigger_map.json'),
19
+ path.join(home, '.codex', 'doctrine_trigger_map.json'),
20
+ path.join(home, '.opencode', 'doctrine_trigger_map.json'),
21
+ ];
22
+ }
23
+ function readCandidate(targetPath) {
24
+ if (!existsSync(targetPath))
25
+ return null;
26
+ try {
27
+ const data = JSON.parse(readFileSync(targetPath, 'utf8'));
28
+ if (!Array.isArray(data.triggers))
29
+ return null;
30
+ return {
31
+ path: targetPath,
32
+ mtimeMs: statSync(targetPath).mtimeMs,
33
+ data,
34
+ };
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
40
+ function normalizeDoctrineMap(data) {
41
+ return JSON.stringify(data, null, 2) + '\n';
42
+ }
43
+ export function syncDoctrineTriggerMap(logs = []) {
44
+ const targets = installedDoctrineTriggerMapTargets();
45
+ const readableCandidates = [
46
+ ...bundledDoctrineTriggerMapCandidates(),
47
+ ...targets,
48
+ ];
49
+ const candidates = readableCandidates
50
+ .map((targetPath) => readCandidate(targetPath))
51
+ .filter((candidate) => candidate !== null)
52
+ .sort((a, b) => b.mtimeMs - a.mtimeMs);
53
+ if (candidates.length === 0) {
54
+ logs.push('⚠ doctrine trigger map missing from bundle and all installed targets');
55
+ return {
56
+ sourcePath: null,
57
+ targetCount: targets.length,
58
+ updatedCount: 0,
59
+ };
60
+ }
61
+ const source = candidates[0];
62
+ const normalized = normalizeDoctrineMap(source.data);
63
+ let updatedCount = 0;
64
+ for (const targetPath of targets) {
65
+ try {
66
+ const dirPath = path.dirname(targetPath);
67
+ if (!existsSync(dirPath)) {
68
+ mkdirSync(dirPath, { recursive: true, mode: 0o755 });
69
+ }
70
+ const current = existsSync(targetPath) ? readFileSync(targetPath, 'utf8') : null;
71
+ if (current === normalized)
72
+ continue;
73
+ writeFileSync(targetPath, normalized, { mode: 0o644 });
74
+ updatedCount++;
75
+ }
76
+ catch (error) {
77
+ logs.push(`⚠ doctrine trigger map sync failed at ${targetPath}: ${error instanceof Error ? error.message : String(error)}`);
78
+ }
79
+ }
80
+ logs.push(`Synced doctrine trigger map from ${source.path} to ${targets.length} installed target(s)`);
81
+ return {
82
+ sourcePath: source.path,
83
+ targetCount: targets.length,
84
+ updatedCount,
85
+ };
86
+ }
87
+ //# sourceMappingURL=doctrine-trigger-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctrine-trigger-map.js","sourceRoot":"","sources":["../../../../src/connectors/doctrine-trigger-map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export type MustReadSurface = 'claude' | 'codex' | 'opencode';
2
+ export declare function buildMustReadGuide(surface: MustReadSurface): string;
3
+ export declare function mustReadIntro(surface: MustReadSurface): string;
4
+ //# sourceMappingURL=must-read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"must-read.d.ts","sourceRoot":"","sources":["../../../../src/connectors/must-read.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AA+C9D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CA0DnE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAK9D"}
@@ -0,0 +1,111 @@
1
+ function surfaceRoot(surface) {
2
+ if (surface === 'claude')
3
+ return '~/.claude';
4
+ if (surface === 'codex')
5
+ return '~/.codex';
6
+ return '~/.aria';
7
+ }
8
+ function doctrineMapPath(surface) {
9
+ if (surface === 'claude')
10
+ return '~/.claude/hooks/doctrine_trigger_map.json';
11
+ if (surface === 'codex')
12
+ return '~/.codex/doctrine_trigger_map.json';
13
+ return '~/.opencode/doctrine_trigger_map.json';
14
+ }
15
+ function surfaceSpecificFiles(surface) {
16
+ if (surface === 'claude') {
17
+ return [
18
+ '~/.claude/hooks/aria-harness-via-sdk.mjs',
19
+ '~/.claude/hooks/aria-preprompt-consult.mjs',
20
+ '~/.claude/hooks/aria-pre-tool-gate.mjs',
21
+ '~/.claude/hooks/aria-preturn-memory-gate.mjs',
22
+ '~/.claude/hooks/aria-cognition-substrate-binding.mjs',
23
+ '~/.claude/hooks/aria-stop-gate.mjs',
24
+ '~/.claude/hooks/aria-pre-text-gate.mjs',
25
+ ];
26
+ }
27
+ if (surface === 'codex') {
28
+ return [
29
+ '~/.codex/AGENTS.md',
30
+ '~/.codex/config.toml',
31
+ '~/.aria/wrappers/codex',
32
+ '~/.aria/runtime/service.mjs',
33
+ '~/.codex/skills/aria-http-harness-client/SKILL.md',
34
+ '~/.codex/skills/aria-cognition/aria-repo-doctrine/SKILL.md',
35
+ '~/.codex/skills/aria-cognition/ghazali-8lens/SKILL.md',
36
+ '~/.codex/skills/aria-cognition/mizan/SKILL.md',
37
+ ];
38
+ }
39
+ return [
40
+ '~/.aria/AGENTS.md',
41
+ '~/.aria/runtime/discipline/skills/aria-harness/aria-harness-onboarding/SKILL.md',
42
+ '~/.aria/runtime/discipline/skills/aria-cognition/aria-repo-doctrine/SKILL.md',
43
+ '~/.aria/runtime/discipline/skills/aria-cognition/ghazali-8lens/SKILL.md',
44
+ '~/.aria/runtime/discipline/skills/aria-cognition/mizan/SKILL.md',
45
+ ];
46
+ }
47
+ export function buildMustReadGuide(surface) {
48
+ const root = surfaceRoot(surface);
49
+ const coreFiles = [
50
+ `${root}/ARIA_MUST_READ.md`,
51
+ '~/.aria/runtime/discipline/CLAUDE.md',
52
+ '~/.aria/runtime/discipline/skills/aria-harness/aria-harness-onboarding/SKILL.md',
53
+ '~/.aria/runtime/discipline/skills/aria-harness/aria-harness-substrate-binding/SKILL.md',
54
+ doctrineMapPath(surface),
55
+ ];
56
+ const orderedFiles = [...coreFiles, ...surfaceSpecificFiles(surface)];
57
+ return `# Aria Agent Must-Read Order
58
+
59
+ This file exists because weaker models and long sessions drift unless the reading order is explicit.
60
+ Read these files in order before the first non-trivial action, and re-open the relevant gate file whenever a block fires.
61
+
62
+ ## Required Read Order
63
+
64
+ ${orderedFiles.map((filePath, index) => `${index + 1}. \`${filePath}\``).join('\n')}
65
+
66
+ ## What Each File Teaches
67
+
68
+ 1. \`${root}/ARIA_MUST_READ.md\`
69
+ The cross-surface reading order, recovery rules, and what to re-open after compaction or a block.
70
+
71
+ 2. \`~/.aria/runtime/discipline/CLAUDE.md\`
72
+ The full harness doctrine: L1/L2/L3, cognition requirements, deploy verify contract, drift triggers, and anti-loop rules.
73
+
74
+ 3. \`~/.aria/runtime/discipline/skills/aria-harness/aria-harness-onboarding/SKILL.md\`
75
+ The harness model in practical terms: packet, bind, and live gates.
76
+
77
+ 4. \`~/.aria/runtime/discipline/skills/aria-harness/aria-harness-substrate-binding/SKILL.md\`
78
+ The cognition contract and anchor discipline. Re-open this whenever cognition or stop-gate fails.
79
+
80
+ 5. \`${doctrineMapPath(surface)}\`
81
+ The live doctrine trigger map. This is what the runtime and stop gates actually match against.
82
+
83
+ ## Surface-Specific Re-Open Rules
84
+
85
+ - If a pre-tool or write block fires:
86
+ Re-open the pre-tool surface file for this client plus \`aria-harness-substrate-binding\`.
87
+
88
+ - If an output or stop-gate block fires:
89
+ Re-open \`~/.aria/runtime/discipline/CLAUDE.md\`, the doctrine trigger map, and the substrate-binding skill before re-authoring.
90
+
91
+ - If transcript compaction or ledger deadlock happens:
92
+ Re-open items 1 through 4 first, then inspect the exact current hook or runtime file causing the block. Do not guess from stale memory.
93
+
94
+ - If the model starts repeating itself:
95
+ Stop, re-open this file, and repair from the gate evidence instead of restating intent.
96
+
97
+ ## Non-Negotiables
98
+
99
+ - Do not rename canonical cognition meaning into generic aliases.
100
+ - Do not say "good enough", "should work", or make unverified completion claims.
101
+ - Do not treat skills as optional flavor text; they are the reading order and repair guide.
102
+ - Do not proceed after a gate block without re-opening the file that owns that gate.
103
+ `;
104
+ }
105
+ export function mustReadIntro(surface) {
106
+ const root = surfaceRoot(surface);
107
+ return `## Must Read Order
108
+ Read \`${root}/ARIA_MUST_READ.md\` before the first non-trivial action and re-open it after any gate block, compaction, or repeated drift.
109
+ `;
110
+ }
111
+ //# sourceMappingURL=must-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"must-read.js","sourceRoot":"","sources":["../../../../src/connectors/must-read.ts"],"names":[],"mappings":"AAEA,SAAS,WAAW,CAAC,OAAwB;IAC3C,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IAC3C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,OAAwB;IAC/C,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,2CAA2C,CAAC;IAC7E,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,oCAAoC,CAAC;IACrE,OAAO,uCAAuC,CAAC;AACjD,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAwB;IACpD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,0CAA0C;YAC1C,4CAA4C;YAC5C,wCAAwC;YACxC,8CAA8C;YAC9C,sDAAsD;YACtD,oCAAoC;YACpC,wCAAwC;SACzC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO;YACL,oBAAoB;YACpB,sBAAsB;YACtB,wBAAwB;YACxB,6BAA6B;YAC7B,mDAAmD;YACnD,4DAA4D;YAC5D,uDAAuD;YACvD,+CAA+C;SAChD,CAAC;IACJ,CAAC;IACD,OAAO;QACL,mBAAmB;QACnB,iFAAiF;QACjF,8EAA8E;QAC9E,yEAAyE;QACzE,iEAAiE;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAwB;IACzD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG;QAChB,GAAG,IAAI,oBAAoB;QAC3B,sCAAsC;QACtC,iFAAiF;QACjF,wFAAwF;QACxF,eAAe,CAAC,OAAO,CAAC;KACzB,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtE,OAAO;;;;;;;EAOP,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,OAAO,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;OAI5E,IAAI;;;;;;;;;;;;OAYJ,eAAe,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuB9B,CAAC;AACF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO;SACA,IAAI;CACZ,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/connectors/opencode.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAgF/C,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2K3E;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAqC5D"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/connectors/opencode.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAkF/C,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA4K3E;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAqC5D"}
@@ -4,6 +4,7 @@ import { homedir } from 'os';
4
4
  import * as path from 'path';
5
5
  import { fileURLToPath } from 'node:url';
6
6
  import { connectShell } from './shell.js';
7
+ import { syncDoctrineTriggerMap } from './doctrine-trigger-map.js';
7
8
  // ── Bundled OpenCode plugins ────────────────────────────────────────────────
8
9
  //
9
10
  // Two plugins ship with the connector:
@@ -124,6 +125,7 @@ export async function connectOpenCode(config) {
124
125
  copyPluginDir(srcDir, dstDir, logs);
125
126
  installedPaths.push(dstDir);
126
127
  }
128
+ syncDoctrineTriggerMap(logs);
127
129
  // ── Wire ~/.opencode/config.json ──────────────────────────────────────────
128
130
  const configPath = path.join(opencodeDir, 'config.json');
129
131
  if (existsSync(configPath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/connectors/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/connectors/opencode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/connectors/runtime.ts"],"names":[],"mappings":"AA2TA,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CA0D9D"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/connectors/runtime.ts"],"names":[],"mappings":"AA4gBA,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAqE9D"}
@@ -1,9 +1,10 @@
1
- import { existsSync, mkdirSync, readdirSync, statSync, copyFileSync, chmodSync, rmSync, writeFileSync, } from 'fs';
1
+ import { existsSync, mkdirSync, readdirSync, statSync, copyFileSync, chmodSync, rmSync, writeFileSync, readFileSync, } from 'fs';
2
2
  import { execFileSync } from 'child_process';
3
3
  import { homedir } from 'os';
4
4
  import * as path from 'path';
5
5
  import { fileURLToPath } from 'node:url';
6
6
  import { loadConfig, saveConfig } from '../config.js';
7
+ import { syncDoctrineTriggerMap } from './doctrine-trigger-map.js';
7
8
  function packageRuntimeDir() {
8
9
  const here = path.dirname(fileURLToPath(import.meta.url));
9
10
  return path.resolve(here, '..', '..', '..', 'runtime');
@@ -38,6 +39,35 @@ function writeWrapper(binPath, targetScript) {
38
39
  }
39
40
  catch { }
40
41
  }
42
+ function trimUrl(value) {
43
+ return value.trim().replace(/\/+$/, '');
44
+ }
45
+ function isLocalHarnessDaemonUrl(value) {
46
+ const normalized = trimUrl(value);
47
+ return normalized === 'http://127.0.0.1:8790' || normalized === 'http://localhost:8790';
48
+ }
49
+ function canonicalUpstreamHarnessUrl() {
50
+ const localSoulCandidates = existsSync('/etc/rancher/k3s/k3s.yaml')
51
+ ? ['http://127.0.0.1:30080', 'http://192.168.4.25:30080']
52
+ : [];
53
+ const candidates = [
54
+ process.env.ARIA_UPSTREAM_HARNESS_URL || '',
55
+ process.env.ARIA_HIVE_UPSTREAM_URL || '',
56
+ ...localSoulCandidates,
57
+ process.env.ARIA_SOUL_URL || '',
58
+ process.env.ARIAS_SOUL_URL || '',
59
+ process.env.ARIA_SOUL_BASE_URL || '',
60
+ ...(process.env.ARIA_HARNESS_FALLBACK_URLS || '').split(','),
61
+ 'https://harness.ariasos.com',
62
+ ]
63
+ .map((entry) => trimUrl(String(entry || '')))
64
+ .filter(Boolean);
65
+ for (const candidate of candidates) {
66
+ if (!isLocalHarnessDaemonUrl(candidate))
67
+ return candidate;
68
+ }
69
+ return 'https://harness.ariasos.com';
70
+ }
41
71
  function writeRuntimeEnv(runtimeDst) {
42
72
  const envPath = path.join(runtimeDst, 'runtime.env');
43
73
  const config = loadConfig();
@@ -47,20 +77,43 @@ function writeRuntimeEnv(runtimeDst) {
47
77
  const deepModel = runtimeProfiles.deepModel || 'deepseek-v4-pro';
48
78
  const xaiFallbackModel = runtimeProfiles.xaiFallbackModel || 'grok-4-2-reasoning';
49
79
  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`;
80
+ const localHarnessUrl = 'http://127.0.0.1:8790';
81
+ const upstreamHarnessUrl = canonicalUpstreamHarnessUrl();
82
+ const harnessFallbackUrls = [
83
+ process.env.ARIA_HARNESS_FALLBACK_URLS || '',
84
+ process.env.ARIA_SOUL_URL || '',
85
+ process.env.ARIAS_SOUL_URL || '',
86
+ process.env.ARIA_SOUL_BASE_URL || '',
87
+ upstreamHarnessUrl,
88
+ 'http://127.0.0.1:30080',
89
+ 'http://192.168.4.25:30080',
90
+ 'https://arias-soul-6zp3gtk2ca-uc.a.run.app',
91
+ 'https://harness.ariasos.com',
92
+ ]
93
+ .flatMap((entry) => String(entry || '').split(','))
94
+ .map((entry) => trimUrl(String(entry || '')))
95
+ .filter((entry) => entry && !isLocalHarnessDaemonUrl(entry));
96
+ const forgeServiceUrl = `${localHarnessUrl}/api/forge/psi`;
97
+ const upstreamForgeServiceUrl = process.env.ARIA_UPSTREAM_FORGE_SERVICE_URL ||
98
+ process.env.ARIA_FORGE_UPSTREAM_URL ||
99
+ `${upstreamHarnessUrl}/api/forge/psi`;
57
100
  writeFileSync(envPath, [
58
101
  'ARIA_RUNTIME_HOST=127.0.0.1',
59
102
  'ARIA_RUNTIME_PORT=4319',
60
103
  'ARIA_RUNTIME_URL=http://127.0.0.1:4319',
61
- `ARIA_HIVE_RUNTIME_URL=${harnessUrl}`,
62
- `ARIA_HARNESS_URL=${harnessUrl}`,
104
+ 'ARIA_HARNESS_DAEMON_HOST=127.0.0.1',
105
+ 'ARIA_HARNESS_DAEMON_PORT=8790',
106
+ `ARIA_HARNESS_DAEMON_URL=${localHarnessUrl}`,
107
+ 'ARIA_CODEX_BRIDGE_HOST=127.0.0.1',
108
+ 'ARIA_CODEX_BRIDGE_PORT=4320',
109
+ 'ARIA_CODEX_DOWNSTREAM_PORT=4321',
110
+ `ARIA_HIVE_RUNTIME_URL=${localHarnessUrl}`,
111
+ `ARIA_HARNESS_BASE_URL=${localHarnessUrl}`,
112
+ `ARIA_HARNESS_URL=${localHarnessUrl}`,
113
+ `ARIA_UPSTREAM_HARNESS_URL=${upstreamHarnessUrl}`,
114
+ `ARIA_HARNESS_FALLBACK_URLS=${Array.from(new Set(harnessFallbackUrls)).join(',')}`,
63
115
  `ARIA_FORGE_SERVICE_URL=${forgeServiceUrl}`,
116
+ `ARIA_UPSTREAM_FORGE_SERVICE_URL=${upstreamForgeServiceUrl}`,
64
117
  'ARIA_QDRANT_URL=http://127.0.0.1:6333',
65
118
  'ARIA_QDRANT_COLLECTION=aria_garden_memory',
66
119
  `ARIA_RUNTIME_DEFAULT_PROVIDER=${defaultProvider}`,
@@ -196,7 +249,8 @@ function installSystemdUserService(ariaDir, logs) {
196
249
  const unit = [
197
250
  '[Unit]',
198
251
  'Description=Aria Mounted Runtime',
199
- 'After=network.target',
252
+ 'After=network.target aria-harnessd.service',
253
+ 'Requires=aria-harnessd.service',
200
254
  '',
201
255
  '[Service]',
202
256
  'Type=simple',
@@ -220,13 +274,150 @@ function installSystemdUserService(ariaDir, logs) {
220
274
  logs.push(`⚠ systemd user service install present but not activated: ${error instanceof Error ? error.message : String(error)}`);
221
275
  }
222
276
  }
277
+ function installHarnessDaemonSystemdUserService(ariaDir, logs) {
278
+ const systemctlPath = '/bin/systemctl';
279
+ if (process.platform !== 'linux' || !existsSync(systemctlPath)) {
280
+ return;
281
+ }
282
+ const serviceDir = path.join(homedir(), '.config', 'systemd', 'user');
283
+ const servicePath = path.join(serviceDir, 'aria-harnessd.service');
284
+ mkdirSync(serviceDir, { recursive: true, mode: 0o755 });
285
+ const unit = [
286
+ '[Unit]',
287
+ 'Description=Aria Local Harness Daemon',
288
+ 'After=network.target',
289
+ '',
290
+ '[Service]',
291
+ 'Type=simple',
292
+ `EnvironmentFile=-${path.join(ariaDir, 'runtime', 'runtime.env')}`,
293
+ `ExecStart=${path.join(ariaDir, 'bin', 'aria-harnessd')}`,
294
+ 'Restart=always',
295
+ 'RestartSec=2',
296
+ '',
297
+ '[Install]',
298
+ 'WantedBy=default.target',
299
+ '',
300
+ ].join('\n');
301
+ writeFileSync(servicePath, unit, { mode: 0o644 });
302
+ logs.push(`Installed systemd user unit → ${servicePath}`);
303
+ try {
304
+ execFileSync(systemctlPath, ['--user', 'daemon-reload'], { stdio: 'ignore' });
305
+ execFileSync(systemctlPath, ['--user', 'enable', '--now', 'aria-harnessd.service'], { stdio: 'ignore' });
306
+ logs.push('Enabled and started systemd user service: aria-harnessd.service');
307
+ }
308
+ catch (error) {
309
+ logs.push(`⚠ local harness daemon installed but not activated: ${error instanceof Error ? error.message : String(error)}`);
310
+ }
311
+ }
312
+ function retireLegacySoulPortForwardServices(logs) {
313
+ const systemctlPath = '/bin/systemctl';
314
+ if (process.platform !== 'linux' || !existsSync(systemctlPath)) {
315
+ return;
316
+ }
317
+ const serviceDir = path.join(homedir(), '.config', 'systemd', 'user');
318
+ const legacyUnits = ['aria-soul-portforward.service', 'aria-soul-forward.service'];
319
+ const dependencyNeedles = new Set(legacyUnits);
320
+ if (existsSync(serviceDir)) {
321
+ for (const name of readdirSync(serviceDir)) {
322
+ if (!name.endsWith('.service'))
323
+ continue;
324
+ const unitPath = path.join(serviceDir, name);
325
+ if (!statSync(unitPath).isFile())
326
+ continue;
327
+ let current = '';
328
+ try {
329
+ current = readFileSync(unitPath, 'utf8');
330
+ }
331
+ catch {
332
+ continue;
333
+ }
334
+ let next = current;
335
+ for (const needle of dependencyNeedles) {
336
+ next = next.replaceAll(needle, 'aria-harnessd.service');
337
+ }
338
+ if (next !== current) {
339
+ writeFileSync(unitPath, next, { mode: 0o644 });
340
+ logs.push(`Rebound legacy 8790 dependency → ${unitPath}`);
341
+ }
342
+ }
343
+ }
344
+ for (const unit of legacyUnits) {
345
+ const unitPath = path.join(serviceDir, unit);
346
+ const backupPath = `${unitPath}.legacy-disabled.bak`;
347
+ const disabledPath = `${unitPath}.disabled`;
348
+ try {
349
+ if (existsSync(unitPath) && statSync(unitPath).isFile() && !existsSync(backupPath)) {
350
+ copyFileSync(unitPath, backupPath);
351
+ logs.push(`Backed up legacy 8790 unit → ${backupPath}`);
352
+ }
353
+ }
354
+ catch { }
355
+ try {
356
+ if (existsSync(unitPath) && statSync(unitPath).isFile()) {
357
+ rmSync(disabledPath, { force: true });
358
+ copyFileSync(unitPath, disabledPath);
359
+ rmSync(unitPath, { force: true });
360
+ logs.push(`Retired legacy 8790 unit file → ${disabledPath}`);
361
+ }
362
+ }
363
+ catch { }
364
+ try {
365
+ execFileSync(systemctlPath, ['--user', 'disable', '--now', unit], { stdio: 'ignore' });
366
+ logs.push(`Disabled legacy 8790 unit: ${unit}`);
367
+ }
368
+ catch { }
369
+ try {
370
+ execFileSync(systemctlPath, ['--user', 'mask', '--force', unit], { stdio: 'ignore' });
371
+ logs.push(`Masked legacy 8790 unit: ${unit}`);
372
+ }
373
+ catch { }
374
+ }
375
+ try {
376
+ execFileSync(systemctlPath, ['--user', 'daemon-reload'], { stdio: 'ignore' });
377
+ }
378
+ catch { }
379
+ }
380
+ function installCodexBridgeSystemdUserService(ariaDir, logs) {
381
+ const systemctlPath = '/bin/systemctl';
382
+ if (process.platform !== 'linux' || !existsSync(systemctlPath)) {
383
+ return;
384
+ }
385
+ const serviceDir = path.join(homedir(), '.config', 'systemd', 'user');
386
+ const servicePath = path.join(serviceDir, 'aria-codex-bridge.service');
387
+ mkdirSync(serviceDir, { recursive: true, mode: 0o755 });
388
+ const unit = [
389
+ '[Unit]',
390
+ 'Description=Aria Codex Enforcement Bridge',
391
+ 'After=network.target aria-mounted-runtime.service',
392
+ 'Requires=aria-mounted-runtime.service',
393
+ '',
394
+ '[Service]',
395
+ 'Type=simple',
396
+ `EnvironmentFile=-${path.join(ariaDir, 'runtime', 'runtime.env')}`,
397
+ `ExecStart=${path.join(ariaDir, 'bin', 'aria-codex-bridge')}`,
398
+ 'Restart=always',
399
+ 'RestartSec=2',
400
+ '',
401
+ '[Install]',
402
+ 'WantedBy=default.target',
403
+ '',
404
+ ].join('\n');
405
+ writeFileSync(servicePath, unit, { mode: 0o644 });
406
+ logs.push(`Installed systemd user unit → ${servicePath}`);
407
+ try {
408
+ execFileSync(systemctlPath, ['--user', 'daemon-reload'], { stdio: 'ignore' });
409
+ execFileSync(systemctlPath, ['--user', 'enable', '--now', 'aria-codex-bridge.service'], { stdio: 'ignore' });
410
+ logs.push('Enabled and started systemd user service: aria-codex-bridge.service');
411
+ }
412
+ catch (error) {
413
+ logs.push(`⚠ codex bridge service installed but not activated: ${error instanceof Error ? error.message : String(error)}`);
414
+ }
415
+ }
223
416
  function installLaunchAgent(ariaDir, logs) {
224
417
  if (process.platform !== 'darwin')
225
418
  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';
419
+ const localHarnessUrl = 'http://127.0.0.1:8790';
420
+ const upstreamHarnessUrl = canonicalUpstreamHarnessUrl();
230
421
  const launchAgentDir = path.join(homedir(), 'Library', 'LaunchAgents');
231
422
  const plistPath = path.join(launchAgentDir, 'com.aria.mounted-runtime.plist');
232
423
  mkdirSync(launchAgentDir, { recursive: true, mode: 0o755 });
@@ -248,10 +439,20 @@ function installLaunchAgent(ariaDir, logs) {
248
439
  <string>4319</string>
249
440
  <key>ARIA_RUNTIME_URL</key>
250
441
  <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>
442
+ <key>ARIA_HARNESS_DAEMON_URL</key>
443
+ <string>${localHarnessUrl}</string>
444
+ <key>ARIA_HIVE_RUNTIME_URL</key>
445
+ <string>${localHarnessUrl}</string>
446
+ <key>ARIA_HARNESS_BASE_URL</key>
447
+ <string>${localHarnessUrl}</string>
448
+ <key>ARIA_HARNESS_URL</key>
449
+ <string>${localHarnessUrl}</string>
450
+ <key>ARIA_UPSTREAM_HARNESS_URL</key>
451
+ <string>${upstreamHarnessUrl}</string>
452
+ <key>ARIA_FORGE_SERVICE_URL</key>
453
+ <string>${localHarnessUrl}/api/forge/psi</string>
454
+ <key>ARIA_UPSTREAM_FORGE_SERVICE_URL</key>
455
+ <string>${upstreamHarnessUrl}/api/forge/psi</string>
255
456
  </dict>
256
457
  <key>RunAtLoad</key>
257
458
  <true/>
@@ -307,19 +508,30 @@ export async function installSharedRuntime() {
307
508
  logs.push('Restored runtime state into refreshed runtime bundle');
308
509
  }
309
510
  const startWrapper = path.join(binDir, 'aria-runtime');
511
+ const harnessDaemonWrapper = path.join(binDir, 'aria-harnessd');
512
+ const codexBridgeWrapper = path.join(binDir, 'aria-codex-bridge');
310
513
  const doctorWrapper = path.join(binDir, 'aria-runtime-doctor');
311
514
  writeWrapper(startWrapper, path.join(runtimeDst, 'service.mjs'));
515
+ writeWrapper(harnessDaemonWrapper, path.join(runtimeDst, 'harness-daemon.mjs'));
516
+ writeWrapper(codexBridgeWrapper, path.join(runtimeDst, 'codex-bridge.mjs'));
312
517
  writeWrapper(doctorWrapper, path.join(runtimeDst, 'doctor.mjs'));
313
518
  const envPath = writeRuntimeEnv(runtimeDst);
314
519
  installDisciplinePack(runtimeDst, logs);
520
+ syncDoctrineTriggerMap(logs);
315
521
  installLocalQdrantService(ariaDir, logs);
522
+ retireLegacySoulPortForwardServices(logs);
523
+ installHarnessDaemonSystemdUserService(ariaDir, logs);
316
524
  installSystemdUserService(ariaDir, logs);
525
+ installCodexBridgeSystemdUserService(ariaDir, logs);
317
526
  installLaunchAgent(ariaDir, logs);
318
527
  logs.push(`Installed shared Aria runtime → ${runtimeDst}`);
319
528
  logs.push(`Installed runtime wrapper → ${startWrapper}`);
529
+ logs.push(`Installed harness daemon wrapper → ${harnessDaemonWrapper}`);
530
+ logs.push(`Installed Codex bridge wrapper → ${codexBridgeWrapper}`);
320
531
  logs.push(`Installed runtime doctor → ${doctorWrapper}`);
321
532
  logs.push(`Installed runtime env → ${envPath}`);
322
533
  logs.push('Mount any client against ARIA_RUNTIME_URL=http://127.0.0.1:4319');
534
+ logs.push('Harness packet and local validation are served by aria-harnessd on http://127.0.0.1:8790.');
323
535
  logs.push('Local Qdrant memory is mounted at http://127.0.0.1:6333 for garden pulse persistence.');
324
536
  logs.push('Runtime lease is encrypted at rest and revalidated against /api/license/heartbeat');
325
537
  logs.push('Forge synthesis is relayed through the canonical Aria endpoint unless ARIA_FORGE_SERVICE_URL overrides it.');