@aria_asi/cli 0.2.35 → 0.2.37

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 (195) hide show
  1. package/CLIENT-ONBOARDING.md +4 -2
  2. package/bin/aria.js +11 -7
  3. package/dist/aria-connector/src/auth.d.ts +14 -0
  4. package/dist/aria-connector/src/auth.d.ts.map +1 -1
  5. package/dist/aria-connector/src/auth.js +103 -1
  6. package/dist/aria-connector/src/auth.js.map +1 -1
  7. package/dist/aria-connector/src/chat.d.ts.map +1 -1
  8. package/dist/aria-connector/src/chat.js +13 -8
  9. package/dist/aria-connector/src/chat.js.map +1 -1
  10. package/dist/aria-connector/src/config.d.ts +6 -1
  11. package/dist/aria-connector/src/config.d.ts.map +1 -1
  12. package/dist/aria-connector/src/config.js.map +1 -1
  13. package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
  14. package/dist/aria-connector/src/connectors/claude-code.js +50 -6
  15. package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
  16. package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -1
  17. package/dist/aria-connector/src/connectors/codex.js +312 -10
  18. package/dist/aria-connector/src/connectors/codex.js.map +1 -1
  19. package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
  20. package/dist/aria-connector/src/connectors/opencode.js +35 -11
  21. package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
  22. package/dist/aria-connector/src/connectors/repo-guard.d.ts +10 -0
  23. package/dist/aria-connector/src/connectors/repo-guard.d.ts.map +1 -1
  24. package/dist/aria-connector/src/connectors/repo-guard.js +110 -164
  25. package/dist/aria-connector/src/connectors/repo-guard.js.map +1 -1
  26. package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -1
  27. package/dist/aria-connector/src/connectors/runtime.js +17 -7
  28. package/dist/aria-connector/src/connectors/runtime.js.map +1 -1
  29. package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
  30. package/dist/aria-connector/src/connectors/shell.js +12 -8
  31. package/dist/aria-connector/src/connectors/shell.js.map +1 -1
  32. package/dist/aria-connector/src/harness-client.d.ts +3 -1
  33. package/dist/aria-connector/src/harness-client.d.ts.map +1 -1
  34. package/dist/aria-connector/src/harness-client.js +7 -20
  35. package/dist/aria-connector/src/harness-client.js.map +1 -1
  36. package/dist/aria-connector/src/model-context.d.ts.map +1 -1
  37. package/dist/aria-connector/src/model-context.js +5 -0
  38. package/dist/aria-connector/src/model-context.js.map +1 -1
  39. package/dist/aria-connector/src/providers/types.d.ts +1 -1
  40. package/dist/aria-connector/src/providers/types.d.ts.map +1 -1
  41. package/dist/aria-connector/src/providers/xai.d.ts +3 -0
  42. package/dist/aria-connector/src/providers/xai.d.ts.map +1 -0
  43. package/dist/aria-connector/src/providers/xai.js +40 -0
  44. package/dist/aria-connector/src/providers/xai.js.map +1 -0
  45. package/dist/aria-connector/src/setup-wizard.js +1 -0
  46. package/dist/aria-connector/src/setup-wizard.js.map +1 -1
  47. package/dist/aria-connector/src/types.d.ts +2 -0
  48. package/dist/aria-connector/src/types.d.ts.map +1 -1
  49. package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +51 -9
  50. package/dist/assets/hooks/aria-first-class-coach.mjs +129 -0
  51. package/dist/assets/hooks/aria-harness-via-sdk.mjs +33 -6
  52. package/dist/assets/hooks/aria-pre-tool-gate.mjs +33 -8
  53. package/dist/assets/hooks/aria-preprompt-consult.mjs +5 -6
  54. package/dist/assets/hooks/aria-preturn-memory-gate.mjs +5 -0
  55. package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +15 -0
  56. package/dist/assets/hooks/aria-stop-gate.mjs +125 -17
  57. package/dist/assets/hooks/doctrine_trigger_map.json +11 -0
  58. package/dist/assets/hooks/lib/emergency-gateoff-impl.mjs +39 -0
  59. package/dist/assets/hooks/lib/emergency-gateoff.mjs +6 -0
  60. package/dist/assets/hooks/lib/first-class-coach.mjs +755 -0
  61. package/dist/assets/hooks/lib/skill-autoload-gate-impl.mjs +103 -0
  62. package/dist/assets/hooks/lib/skill-autoload-gate.mjs +1 -14
  63. package/dist/assets/opencode-plugins/harness-context/auth-token.mjs +126 -0
  64. package/dist/assets/opencode-plugins/harness-context/inject-context.mjs +62 -22
  65. package/dist/assets/opencode-plugins/harness-context/task-project-ledger.mjs +290 -0
  66. package/dist/assets/opencode-plugins/harness-gate/index.js +87 -27
  67. package/dist/assets/opencode-plugins/harness-gate/lib/skill-autoload-gate.js +1 -14
  68. package/dist/assets/opencode-plugins/harness-outcome/index.js +29 -24
  69. package/dist/assets/opencode-plugins/harness-stop/index.js +229 -68
  70. package/dist/assets/opencode-plugins/harness-stop/lib/skill-autoload-gate.js +1 -14
  71. package/dist/runtime/auth-token.mjs +121 -0
  72. package/dist/runtime/coach-kernel.mjs +371 -0
  73. package/dist/runtime/codex-bridge.mjs +440 -69
  74. package/dist/runtime/discipline/doctrine_trigger_map.json +11 -0
  75. package/dist/runtime/discipline/skills/aria-cognition/aria-essence/SKILL.md +18 -0
  76. package/dist/runtime/discipline/skills/aria-cognition/aria-forge-guardrails/SKILL.md +18 -0
  77. package/dist/runtime/discipline/skills/aria-cognition/aria-repo-doctrine/SKILL.md +18 -0
  78. package/dist/runtime/discipline/skills/aria-cognition/forge-quality-rules/SKILL.md +18 -0
  79. package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/SKILL.md +18 -0
  80. package/dist/runtime/discipline/skills/aria-cognition/istiqra-induction/SKILL.md +18 -0
  81. package/dist/runtime/discipline/skills/aria-cognition/ladunni-22/SKILL.md +18 -0
  82. package/dist/runtime/discipline/skills/aria-cognition/mizan/SKILL.md +18 -0
  83. package/dist/runtime/discipline/skills/aria-cognition/nadia/SKILL.md +18 -0
  84. package/dist/runtime/discipline/skills/aria-cognition/nadia-psi/SKILL.md +18 -0
  85. package/dist/runtime/discipline/skills/aria-cognition/predictor/SKILL.md +18 -0
  86. package/dist/runtime/discipline/skills/aria-cognition/qiyas-analogy/SKILL.md +18 -0
  87. package/dist/runtime/discipline/skills/aria-cognition/soul-domains/SKILL.md +18 -0
  88. package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-intra-phase/SKILL.md +18 -0
  89. package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-post-phase/SKILL.md +18 -0
  90. package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-pre-phase/SKILL.md +18 -0
  91. package/dist/runtime/discipline/skills/aria-harness/aria-harness-deploy/SKILL.md +18 -0
  92. package/dist/runtime/discipline/skills/aria-harness/aria-harness-no-stripping/SKILL.md +18 -0
  93. package/dist/runtime/discipline/skills/aria-harness/aria-harness-onboarding/SKILL.md +18 -0
  94. package/dist/runtime/discipline/skills/aria-harness/aria-harness-output-discipline/SKILL.md +18 -0
  95. package/dist/runtime/discipline/skills/aria-harness/aria-harness-substrate-binding/SKILL.md +18 -0
  96. package/dist/runtime/doctrine_trigger_map.json +11 -0
  97. package/dist/runtime/hooks/aria-cognition-substrate-binding.mjs +51 -9
  98. package/dist/runtime/hooks/aria-first-class-coach.mjs +129 -0
  99. package/dist/runtime/hooks/aria-harness-via-sdk.mjs +33 -6
  100. package/dist/runtime/hooks/aria-pre-tool-gate.mjs +33 -8
  101. package/dist/runtime/hooks/aria-preprompt-consult.mjs +5 -6
  102. package/dist/runtime/hooks/aria-preturn-memory-gate.mjs +5 -0
  103. package/dist/runtime/hooks/aria-repo-doctrine-gate.mjs +15 -0
  104. package/dist/runtime/hooks/aria-stop-gate.mjs +125 -17
  105. package/dist/runtime/hooks/doctrine_trigger_map.json +11 -0
  106. package/dist/runtime/hooks/lib/emergency-gateoff-impl.mjs +39 -0
  107. package/dist/runtime/hooks/lib/emergency-gateoff.mjs +6 -0
  108. package/dist/runtime/hooks/lib/first-class-coach.mjs +755 -0
  109. package/dist/runtime/hooks/lib/skill-autoload-gate-impl.mjs +103 -0
  110. package/dist/runtime/hooks/lib/skill-autoload-gate.mjs +1 -14
  111. package/dist/runtime/local-phase.mjs +8 -0
  112. package/dist/runtime/manifest.json +2 -2
  113. package/dist/runtime/provider-proxy.mjs +136 -33
  114. package/dist/runtime/sdk/BUNDLED.json +2 -2
  115. package/dist/runtime/sdk/auth.d.ts +17 -0
  116. package/dist/runtime/sdk/auth.js +158 -0
  117. package/dist/runtime/sdk/auth.js.map +1 -0
  118. package/dist/runtime/sdk/index.d.ts +8 -1
  119. package/dist/runtime/sdk/index.js +15 -1
  120. package/dist/runtime/sdk/index.js.map +1 -1
  121. package/dist/runtime/service.mjs +1711 -74
  122. package/dist/runtime/task-project-ledger.mjs +290 -0
  123. package/dist/sdk/BUNDLED.json +2 -2
  124. package/dist/sdk/auth.d.ts +17 -0
  125. package/dist/sdk/auth.js +158 -0
  126. package/dist/sdk/auth.js.map +1 -0
  127. package/dist/sdk/index.d.ts +8 -1
  128. package/dist/sdk/index.js +15 -1
  129. package/dist/sdk/index.js.map +1 -1
  130. package/hooks/aria-cognition-substrate-binding.mjs +51 -9
  131. package/hooks/aria-first-class-coach.mjs +129 -0
  132. package/hooks/aria-harness-via-sdk.mjs +33 -6
  133. package/hooks/aria-pre-tool-gate.mjs +33 -8
  134. package/hooks/aria-preprompt-consult.mjs +5 -6
  135. package/hooks/aria-preturn-memory-gate.mjs +5 -0
  136. package/hooks/aria-repo-doctrine-gate.mjs +15 -0
  137. package/hooks/aria-stop-gate.mjs +125 -17
  138. package/hooks/doctrine_trigger_map.json +11 -0
  139. package/hooks/lib/emergency-gateoff-impl.mjs +39 -0
  140. package/hooks/lib/emergency-gateoff.mjs +6 -0
  141. package/hooks/lib/first-class-coach.mjs +755 -0
  142. package/hooks/lib/skill-autoload-gate-impl.mjs +103 -0
  143. package/hooks/lib/skill-autoload-gate.mjs +1 -14
  144. package/opencode-plugins/harness-context/auth-token.mjs +126 -0
  145. package/opencode-plugins/harness-context/inject-context.mjs +62 -22
  146. package/opencode-plugins/harness-context/task-project-ledger.mjs +290 -0
  147. package/opencode-plugins/harness-gate/index.js +87 -27
  148. package/opencode-plugins/harness-gate/lib/skill-autoload-gate.js +1 -14
  149. package/opencode-plugins/harness-outcome/index.js +29 -24
  150. package/opencode-plugins/harness-stop/index.js +229 -68
  151. package/opencode-plugins/harness-stop/lib/skill-autoload-gate.js +1 -14
  152. package/package.json +8 -2
  153. package/runtime-src/auth-token.mjs +121 -0
  154. package/runtime-src/coach-kernel.mjs +371 -0
  155. package/runtime-src/codex-bridge.mjs +440 -69
  156. package/runtime-src/local-phase.mjs +8 -0
  157. package/runtime-src/provider-proxy.mjs +136 -33
  158. package/runtime-src/service.mjs +1711 -74
  159. package/scripts/bundle-sdk.mjs +8 -0
  160. package/scripts/check-client-compatibility.mjs +422 -0
  161. package/scripts/check-coach-kernel.mjs +204 -0
  162. package/scripts/check-managed-runtime-ledger.mjs +107 -0
  163. package/scripts/check-opencode-config-contract.mjs +78 -0
  164. package/scripts/check-quality-ledger.mjs +121 -0
  165. package/scripts/self-test-harness-gates.mjs +179 -11
  166. package/scripts/self-test-repo-guard.mjs +38 -0
  167. package/scripts/validate-skill-prompts.mjs +14 -1
  168. package/skills/aria-cognition/aria-essence/SKILL.md +18 -0
  169. package/skills/aria-cognition/aria-forge-guardrails/SKILL.md +18 -0
  170. package/skills/aria-cognition/aria-repo-doctrine/SKILL.md +18 -0
  171. package/skills/aria-cognition/forge-quality-rules/SKILL.md +18 -0
  172. package/skills/aria-cognition/ghazali-8lens/SKILL.md +18 -0
  173. package/skills/aria-cognition/istiqra-induction/SKILL.md +18 -0
  174. package/skills/aria-cognition/ladunni-22/SKILL.md +18 -0
  175. package/skills/aria-cognition/mizan/SKILL.md +18 -0
  176. package/skills/aria-cognition/nadia/SKILL.md +18 -0
  177. package/skills/aria-cognition/nadia-psi/SKILL.md +18 -0
  178. package/skills/aria-cognition/predictor/SKILL.md +18 -0
  179. package/skills/aria-cognition/qiyas-analogy/SKILL.md +18 -0
  180. package/skills/aria-cognition/soul-domains/SKILL.md +18 -0
  181. package/src/auth.ts +136 -1
  182. package/src/chat.ts +13 -8
  183. package/src/config.ts +6 -1
  184. package/src/connectors/claude-code.ts +62 -18
  185. package/src/connectors/codex.ts +310 -10
  186. package/src/connectors/opencode.ts +35 -12
  187. package/src/connectors/repo-guard.ts +117 -172
  188. package/src/connectors/runtime.ts +19 -7
  189. package/src/connectors/shell.ts +12 -8
  190. package/src/harness-client.ts +8 -22
  191. package/src/model-context.ts +6 -0
  192. package/src/providers/types.ts +1 -1
  193. package/src/providers/xai.ts +55 -0
  194. package/src/setup-wizard.ts +1 -0
  195. package/src/types.ts +2 -0
@@ -88,9 +88,9 @@ If my harness is reachable, you'll see `connected`. If I'm operating in local mo
88
88
 
89
89
  ---
90
90
 
91
- ## 4. Choosing a model
91
+ ## 4. Choosing A Model
92
92
 
93
- I don't lock you into any specific provider. You bring your own LLM key, and I route your requests through whichever provider you configure. I support six providers today:
93
+ I don't lock you into any specific provider. You bring your own LLM key, and I route your requests through whichever provider you configure. Client-tier chat will not fall back to Aria owner's keys or server LLM budget if your key is missing or invalid.
94
94
 
95
95
  | Provider | Example models |
96
96
  |---|---|
@@ -99,6 +99,7 @@ I don't lock you into any specific provider. You bring your own LLM key, and I r
99
99
  | **Google** | `gemini-2.5-pro-preview-05-06` |
100
100
  | **DeepSeek** | `deepseek-chat` |
101
101
  | **OpenRouter** | `openai/gpt-4o` (any model on their catalogue) |
102
+ | **xAI** | `grok-4-3` |
102
103
  | **Ollama** | `llama3` (local, no key needed) |
103
104
 
104
105
  **First run (interactive setup):**
@@ -113,6 +114,7 @@ export ANTHROPIC_API_KEY=sk-ant-...
113
114
  export GOOGLE_API_KEY=...
114
115
  export DEEPSEEK_API_KEY=...
115
116
  export OPENROUTER_API_KEY=...
117
+ export XAI_API_KEY=...
116
118
  ```
117
119
 
118
120
  For Ollama, no key is required — I set the key internally to `local` and hit your local Ollama endpoint.
package/bin/aria.js CHANGED
@@ -1098,7 +1098,8 @@ if (command === 'check-update') {
1098
1098
  } else if (fs.existsSync(tokenPath)) {
1099
1099
  try {
1100
1100
  const lic = JSON.parse(fs.readFileSync(tokenPath, 'utf-8'));
1101
- if (lic.token) headers['Authorization'] = `Bearer ${lic.token}`;
1101
+ const licenseBearer = lic.harnessToken || lic.token;
1102
+ if (licenseBearer) headers['Authorization'] = `Bearer ${licenseBearer}`;
1102
1103
  } catch { /* no license token */ }
1103
1104
  }
1104
1105
 
@@ -1208,7 +1209,8 @@ if (command === 'check-update') {
1208
1209
  } else if (fs.existsSync(tokenPath)) {
1209
1210
  try {
1210
1211
  const lic = JSON.parse(fs.readFileSync(tokenPath, 'utf-8'));
1211
- if (lic.token) headers['Authorization'] = `Bearer ${lic.token}`;
1212
+ const licenseBearer = lic.harnessToken || lic.token;
1213
+ if (licenseBearer) headers['Authorization'] = `Bearer ${licenseBearer}`;
1212
1214
  } catch { /* no license token */ }
1213
1215
  }
1214
1216
 
@@ -1328,18 +1330,19 @@ if (command === 'check-update') {
1328
1330
  `);
1329
1331
 
1330
1332
  let provider = '';
1331
- while (!['1','2','3','4','5','6'].includes(provider)) {
1333
+ while (!['1','2','3','4','5','6','7'].includes(provider)) {
1332
1334
  provider = await question(` Which provider?
1333
1335
  [1] OpenAI (ChatGPT)
1334
1336
  [2] Anthropic (Claude)
1335
1337
  [3] Google (Gemini)
1336
1338
  [4] DeepSeek
1337
1339
  [5] OpenRouter
1338
- [6] Local (Ollama)
1340
+ [6] xAI (Grok)
1341
+ [7] Local (Ollama)
1339
1342
  > `);
1340
1343
  }
1341
1344
 
1342
- const providerMap = { '1': 'openai', '2': 'anthropic', '3': 'google', '4': 'deepseek', '5': 'openrouter', '6': 'ollama' };
1345
+ const providerMap = { '1': 'openai', '2': 'anthropic', '3': 'google', '4': 'deepseek', '5': 'openrouter', '6': 'xai', '7': 'ollama' };
1343
1346
  const providerKey = providerMap[provider];
1344
1347
 
1345
1348
  const defaultModels = {
@@ -1348,6 +1351,7 @@ if (command === 'check-update') {
1348
1351
  google: 'gemini-2.5-pro-preview-05-06',
1349
1352
  deepseek: 'deepseek-chat',
1350
1353
  openrouter: 'openai/gpt-4o',
1354
+ xai: 'grok-4-3',
1351
1355
  ollama: 'llama3',
1352
1356
  };
1353
1357
 
@@ -1370,8 +1374,8 @@ if (command === 'check-update') {
1370
1374
  console.log('┌' + '─'.repeat(46) + '┐');
1371
1375
  console.log('│ 💜 Aria Rosewood — Smart CLI │');
1372
1376
  console.log('│ │');
1373
- console.log(`│ Model: ${(config.model?.provider ?? 'none').padEnd(35)}│`);
1374
- console.log(`│ Provider: ${(config.model?.model ?? 'none').padEnd(35)}│`);
1377
+ console.log(`│ Provider: ${(config.model?.provider ?? 'none').padEnd(35)}│`);
1378
+ console.log(`│ Model: ${(config.model?.model ?? 'none').padEnd(35)}│`);
1375
1379
  console.log(`│ Garden: ${config.garden ? 'connected'.padEnd(35) : 'local memory only'.padEnd(35)}│`);
1376
1380
 
1377
1381
  const harnessOnline = await checkHarnessHealth();
@@ -1,4 +1,17 @@
1
1
  import type { AuthConfig } from './types.js';
2
+ export interface ResolveHarnessTokenOptions {
3
+ explicitToken?: string | null;
4
+ baseUrl?: string;
5
+ clientId?: string;
6
+ tokenScope?: string;
7
+ persistToken?: boolean;
8
+ }
9
+ export interface ResolvedHarnessToken {
10
+ token: string | null;
11
+ source: 'explicit' | 'env:ARIA_HARNESS_TOKEN' | 'env:ARIA_API_KEY' | 'env:ARIA_MASTER_TOKEN' | 'persisted-client-token' | 'owner-token-file' | 'license:harnessToken' | 'license:token' | 'missing';
12
+ scope: string;
13
+ persisted: boolean;
14
+ }
2
15
  /**
3
16
  * Load license configuration from ~/.aria/license.json.
4
17
  * Returns null if the file does not exist or cannot be parsed.
@@ -9,4 +22,5 @@ export declare function loadLicense(): Promise<AuthConfig | null>;
9
22
  * Creates ~/.aria/ directory if missing.
10
23
  */
11
24
  export declare function saveLicense(config: AuthConfig): Promise<void>;
25
+ export declare function resolveHarnessToken(options?: ResolveHarnessTokenOptions): Promise<ResolvedHarnessToken>;
12
26
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQ9D;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAOnE"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO7C,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EACF,UAAU,GACV,wBAAwB,GACxB,kBAAkB,GAClB,uBAAuB,GACvB,wBAAwB,GACxB,kBAAkB,GAClB,sBAAsB,GACtB,eAAe,GACf,SAAS,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAqED;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQ9D;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAOnE;AAED,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,oBAAoB,CAAC,CAoC/B"}
@@ -1,7 +1,72 @@
1
1
  import { readFile, writeFile, mkdir } from 'node:fs/promises';
2
+ import { createHash } from 'node:crypto';
2
3
  import { homedir } from 'node:os';
3
4
  import { join, dirname } from 'node:path';
4
- const LICENSE_PATH = join(homedir(), '.aria', 'license.json');
5
+ const ARIA_DIR = join(homedir(), '.aria');
6
+ const LICENSE_PATH = join(ARIA_DIR, 'license.json');
7
+ const OWNER_TOKEN_PATH = join(ARIA_DIR, 'owner-token');
8
+ const CLIENT_TOKEN_DIR = join(ARIA_DIR, 'harness-tokens');
9
+ function nonEmpty(value) {
10
+ return typeof value === 'string' && value.trim() ? value.trim() : '';
11
+ }
12
+ function sanitizeScope(value) {
13
+ const clean = value.trim().replace(/[^a-zA-Z0-9._-]/g, '_').slice(0, 96);
14
+ return clean || 'default';
15
+ }
16
+ function scopeFromBaseUrl(baseUrl) {
17
+ try {
18
+ const parsed = new URL(baseUrl);
19
+ return `base-${createHash('sha256').update(`${parsed.protocol}//${parsed.host}`).digest('hex').slice(0, 16)}`;
20
+ }
21
+ catch {
22
+ return 'default';
23
+ }
24
+ }
25
+ function hasExplicitClientScope(options) {
26
+ return Boolean(nonEmpty(options.clientId) || nonEmpty(options.tokenScope));
27
+ }
28
+ function inferScope(options, license) {
29
+ const explicit = nonEmpty(options.tokenScope) || nonEmpty(options.clientId);
30
+ if (explicit)
31
+ return sanitizeScope(explicit);
32
+ const envScope = nonEmpty(process.env.ARIA_HARNESS_CLIENT_ID) || nonEmpty(process.env.ARIA_CLIENT_ID) || nonEmpty(process.env.ARIA_TENANT_ID);
33
+ if (envScope)
34
+ return sanitizeScope(envScope);
35
+ const licenseScope = nonEmpty(license?.jti) || nonEmpty(license?.sub);
36
+ if (licenseScope)
37
+ return sanitizeScope(licenseScope);
38
+ return sanitizeScope(scopeFromBaseUrl(nonEmpty(options.baseUrl)));
39
+ }
40
+ function clientTokenPath(scope) {
41
+ return join(CLIENT_TOKEN_DIR, `${sanitizeScope(scope)}.json`);
42
+ }
43
+ async function readStoredClientToken(scope) {
44
+ try {
45
+ const parsed = JSON.parse(await readFile(clientTokenPath(scope), 'utf-8'));
46
+ return nonEmpty(parsed?.token);
47
+ }
48
+ catch {
49
+ return '';
50
+ }
51
+ }
52
+ async function writeStoredClientToken(scope, token, source) {
53
+ try {
54
+ await mkdir(CLIENT_TOKEN_DIR, { recursive: true, mode: 0o700 });
55
+ await writeFile(clientTokenPath(scope), `${JSON.stringify({ scope, token, source, updatedAt: new Date().toISOString() }, null, 2)}\n`, { mode: 0o600, encoding: 'utf-8' });
56
+ return true;
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ }
62
+ async function readOwnerToken() {
63
+ try {
64
+ return (await readFile(OWNER_TOKEN_PATH, 'utf-8')).trim();
65
+ }
66
+ catch {
67
+ return '';
68
+ }
69
+ }
5
70
  /**
6
71
  * Load license configuration from ~/.aria/license.json.
7
72
  * Returns null if the file does not exist or cannot be parsed.
@@ -28,4 +93,41 @@ export async function saveLicense(config) {
28
93
  encoding: 'utf-8',
29
94
  });
30
95
  }
96
+ export async function resolveHarnessToken(options = {}) {
97
+ const license = await loadLicense();
98
+ const scope = inferScope(options, license);
99
+ const persistToken = options.persistToken !== false;
100
+ const explicit = nonEmpty(options.explicitToken);
101
+ if (explicit) {
102
+ const persisted = persistToken ? await writeStoredClientToken(scope, explicit, 'explicit') : false;
103
+ return { token: explicit, source: 'explicit', scope, persisted };
104
+ }
105
+ const envSources = [
106
+ ['env:ARIA_HARNESS_TOKEN', process.env.ARIA_HARNESS_TOKEN],
107
+ ['env:ARIA_API_KEY', process.env.ARIA_API_KEY],
108
+ ['env:ARIA_MASTER_TOKEN', process.env.ARIA_MASTER_TOKEN],
109
+ ];
110
+ for (const [source, value] of envSources) {
111
+ const token = nonEmpty(value);
112
+ if (!token)
113
+ continue;
114
+ const persisted = persistToken ? await writeStoredClientToken(scope, token, source) : false;
115
+ return { token, source, scope, persisted };
116
+ }
117
+ const stored = await readStoredClientToken(scope);
118
+ if (stored)
119
+ return { token: stored, source: 'persisted-client-token', scope, persisted: true };
120
+ if (!hasExplicitClientScope(options) || process.env.ARIA_ALLOW_OWNER_TOKEN_FOR_CLIENT_SCOPE === 'true') {
121
+ const ownerToken = await readOwnerToken();
122
+ if (ownerToken)
123
+ return { token: ownerToken, source: 'owner-token-file', scope, persisted: false };
124
+ }
125
+ const harnessToken = nonEmpty(license?.harnessToken);
126
+ if (harnessToken)
127
+ return { token: harnessToken, source: 'license:harnessToken', scope, persisted: false };
128
+ const token = nonEmpty(license?.token);
129
+ if (token)
130
+ return { token, source: 'license:token', scope, persisted: false };
131
+ return { token: null, source: 'missing', scope, persisted: false };
132
+ }
31
133
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAe,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAkB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QAC7D,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/chat.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AAgC3D,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAkB;IACpC,OAAO,CAAC,OAAO,CAAC,CAAqB;IACrC,OAAO,CAAC,gBAAgB,CAAqC;gBAEjD,MAAM,EAAE,UAAU;IAKxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA+Fd,aAAa;YA2Fb,mBAAmB;IAsDjC,OAAO,CAAC,kBAAkB;YA2BZ,kBAAkB;YAUlB,gBAAgB;YAkChB,sBAAsB;YAiMtB,cAAc;IA4C5B,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,YAAY;YAON,iBAAiB;IA2B/B,OAAO,CAAC,WAAW;YAIL,sBAAsB;CAsErC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/chat.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AAgC3D,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAkB;IACpC,OAAO,CAAC,OAAO,CAAC,CAAqB;IACrC,OAAO,CAAC,gBAAgB,CAAqC;gBAEjD,MAAM,EAAE,UAAU;IAKxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA+Fd,aAAa;YA2Fb,mBAAmB;IAsDjC,OAAO,CAAC,kBAAkB;YA2BZ,kBAAkB;YAUlB,gBAAgB;YAkChB,sBAAsB;YAqMtB,cAAc;IA4C5B,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,YAAY;YAON,iBAAiB;IA2B/B,OAAO,CAAC,WAAW;YAIL,sBAAsB;CAsErC"}
@@ -323,10 +323,10 @@ You are present in this shell, fully aware, ready to serve.`;
323
323
  if (fs.existsSync(licensePath)) {
324
324
  try {
325
325
  const lic = JSON.parse(fs.readFileSync(licensePath, 'utf-8'));
326
- // The license file stores claims; the jti or the raw token is
327
- // the bearer. Older license shapes had `token` field; newer have
328
- // the JWT structured as claims with jti as the identifier.
329
- bearerToken = (lic.token || lic.jti || '').toString().trim();
326
+ // The bearer must be the signed license JWT. `jti` is only an
327
+ // identifier; sending it would make the server unable to prove
328
+ // client tier and can never authorize a client chat safely.
329
+ bearerToken = (lic.harnessToken || lic.token || '').toString().trim();
330
330
  }
331
331
  catch { /* license unparseable — treat as absent */ }
332
332
  }
@@ -422,11 +422,15 @@ You are present in this shell, fully aware, ready to serve.`;
422
422
  internalConsult: false,
423
423
  dispatchTier: 'thinker',
424
424
  };
425
- if (model) {
426
- requestBody.clientApiKey = model.apiKey;
427
- requestBody.clientProvider = model.provider;
428
- requestBody.clientModel = model.model;
425
+ if (!model || !model.provider || !model.model) {
426
+ throw new Error('Client mode requires your own LLM provider before chat. Run `aria` setup again or configure ~/.aria/config.json with provider, model, and API key.');
429
427
  }
428
+ if (model.provider !== 'ollama' && !model.apiKey) {
429
+ throw new Error(`Client mode requires your own ${model.provider} API key. Run setup again or update ~/.aria/config.json.`);
430
+ }
431
+ requestBody.clientApiKey = model.apiKey;
432
+ requestBody.clientProvider = model.provider;
433
+ requestBody.clientModel = model.model;
430
434
  const res = await fetch(`${harnessUrl}/api/aria/speak`, {
431
435
  method: 'POST',
432
436
  headers: {
@@ -506,6 +510,7 @@ You are present in this shell, fully aware, ready to serve.`;
506
510
  case 'google': return this.lazyProvider('google');
507
511
  case 'deepseek': return this.lazyProvider('deepseek');
508
512
  case 'openrouter': return this.lazyProvider('openrouter');
513
+ case 'xai': return this.lazyProvider('xai');
509
514
  case 'ollama': return this.lazyProvider('ollama');
510
515
  default: throw new Error(`Unknown provider: ${provider}`);
511
516
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/chat.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export interface ModelConfig {
2
- provider: 'openai' | 'anthropic' | 'google' | 'deepseek' | 'openrouter' | 'ollama';
2
+ provider: 'openai' | 'anthropic' | 'google' | 'deepseek' | 'openrouter' | 'xai' | 'ollama';
3
3
  model: string;
4
4
  apiKey: string;
5
5
  baseUrl?: string;
@@ -10,9 +10,14 @@ export interface RuntimeProfilesConfig {
10
10
  xaiFallbackModel?: string;
11
11
  nimFallbackModel?: string;
12
12
  xaiApiKey?: string;
13
+ deepseekApiKey?: string;
13
14
  nimApiKey?: string;
14
15
  xaiBaseUrl?: string;
16
+ deepseekBaseUrl?: string;
15
17
  nimBaseUrl?: string;
18
+ localFallbackModel?: string;
19
+ localFallbackBaseUrl?: string;
20
+ localFallbackApiKey?: string;
16
21
  }
17
22
  export interface AriaConfig {
18
23
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAKD,wBAAgB,gBAAgB,IAAI,UAAU,CAe7C;AAED,wBAAgB,UAAU,IAAI,UAAU,CAUvC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAKnD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAKnE;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3F,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAKD,wBAAgB,gBAAgB,IAAI,UAAU,CAe7C;AAED,wBAAgB,UAAU,IAAI,UAAU,CAUvC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAKnD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAKnE;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAsD7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzD,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM;QAClC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM;QACpC,KAAK,EAAE,IAAI;QACX,eAAe,EAAE,SAAS;QAC1B,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,EAAE,GAAG,gBAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAA0B;IACrD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACvC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AA2D7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzD,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM;QAClC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM;QACpC,KAAK,EAAE,IAAI;QACX,eAAe,EAAE,SAAS;QAC1B,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,EAAE,GAAG,gBAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAA0B;IACrD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACvC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../../src/connectors/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAohB/C,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAoEnB;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAoB9D"}
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../../src/connectors/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAgkB/C,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAoEnB;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAoB9D"}
@@ -28,6 +28,7 @@ const HOOK_FILES = [
28
28
  'aria-preturn-memory-gate.mjs',
29
29
  'aria-stop-gate.mjs',
30
30
  'aria-preprompt-consult.mjs',
31
+ 'aria-first-class-coach.mjs',
31
32
  'aria-trigger-autolearn.mjs',
32
33
  'aria-userprompt-abandon-detect.mjs',
33
34
  // Sub-agent handoff + ledger merge — installed 0.2.21
@@ -89,12 +90,20 @@ function packageSdkDir() {
89
90
  // dev install.
90
91
  const HOOKS_BLOCK = {
91
92
  SessionStart: [{
92
- hooks: [{
93
+ hooks: [
94
+ {
93
95
  type: 'command',
94
96
  command: 'HOOK_EVENT_NAME=SessionStart node $HOME/.claude/hooks/aria-harness-via-sdk.mjs --mode session',
95
97
  timeout: 14,
96
98
  statusMessage: 'Fetching Aria harness packet...',
97
- }],
99
+ },
100
+ {
101
+ type: 'command',
102
+ command: 'ARIA_COACH_PLATFORM=claude HOOK_EVENT_NAME=SessionStart node $HOME/.claude/hooks/aria-first-class-coach.mjs',
103
+ timeout: 3,
104
+ statusMessage: 'Opening Aria task/project ledger...',
105
+ },
106
+ ],
98
107
  }],
99
108
  UserPromptSubmit: [{
100
109
  hooks: [
@@ -104,6 +113,12 @@ const HOOKS_BLOCK = {
104
113
  timeout: 5,
105
114
  statusMessage: 'Re-syncing Aria harness...',
106
115
  },
116
+ {
117
+ type: 'command',
118
+ command: 'ARIA_COACH_PLATFORM=claude HOOK_EVENT_NAME=UserPromptSubmit node $HOME/.claude/hooks/aria-first-class-coach.mjs',
119
+ timeout: 3,
120
+ statusMessage: 'Binding Aria task/project ledger...',
121
+ },
107
122
  {
108
123
  // Aria pre-prompt consult — fires /api/harness/delegate to get
109
124
  // Aria's substrate-grounded direction BEFORE Claude reasons,
@@ -153,6 +168,11 @@ const HOOKS_BLOCK = {
153
168
  command: 'node $HOME/.claude/hooks/aria-pre-tool-gate.mjs',
154
169
  timeout: 5,
155
170
  },
171
+ {
172
+ type: 'command',
173
+ command: 'ARIA_COACH_PLATFORM=claude HOOK_EVENT_NAME=PreToolUse node $HOME/.claude/hooks/aria-first-class-coach.mjs',
174
+ timeout: 3,
175
+ },
156
176
  {
157
177
  // Pre-turn memory consumption gate (Enforcement Layer #49).
158
178
  // Fires after the cognition gate passes. Checks the first action
@@ -175,23 +195,37 @@ const HOOKS_BLOCK = {
175
195
  // inherits owner/client-tier identity + parent ledger path.
176
196
  // Tier protection is inside the hook — client paths never touch ~/.claude/.
177
197
  matcher: 'Agent',
178
- hooks: [{
198
+ hooks: [
199
+ {
179
200
  type: 'command',
180
201
  command: 'node $HOME/.claude/hooks/aria-agent-handoff.mjs',
181
202
  timeout: 5,
182
203
  statusMessage: 'Writing sub-agent handoff...',
183
- }],
204
+ },
205
+ {
206
+ type: 'command',
207
+ command: 'ARIA_COACH_PLATFORM=claude HOOK_EVENT_NAME=PreToolUse node $HOME/.claude/hooks/aria-first-class-coach.mjs',
208
+ timeout: 3,
209
+ },
210
+ ],
184
211
  },
185
212
  ],
186
213
  PostToolUse: [
187
214
  {
188
215
  matcher: 'Agent',
189
- hooks: [{
216
+ hooks: [
217
+ {
190
218
  type: 'command',
191
219
  command: 'node $HOME/.claude/hooks/aria-agent-ledger-merge.mjs',
192
220
  timeout: 8,
193
221
  statusMessage: 'Merging sub-agent ledger...',
194
- }],
222
+ },
223
+ {
224
+ type: 'command',
225
+ command: 'ARIA_COACH_PLATFORM=claude HOOK_EVENT_NAME=PostToolUse node $HOME/.claude/hooks/aria-first-class-coach.mjs',
226
+ timeout: 3,
227
+ },
228
+ ],
195
229
  },
196
230
  {
197
231
  matcher: 'Bash|Edit|Write|NotebookEdit',
@@ -209,6 +243,11 @@ const HOOKS_BLOCK = {
209
243
  command: 'node $HOME/.claude/hooks/aria-outcome-record.mjs',
210
244
  timeout: 3,
211
245
  },
246
+ {
247
+ type: 'command',
248
+ command: 'ARIA_COACH_PLATFORM=claude HOOK_EVENT_NAME=PostToolUse node $HOME/.claude/hooks/aria-first-class-coach.mjs',
249
+ timeout: 3,
250
+ },
212
251
  ],
213
252
  },
214
253
  ],
@@ -236,6 +275,11 @@ const HOOKS_BLOCK = {
236
275
  command: 'node $HOME/.claude/hooks/aria-pre-text-gate.mjs',
237
276
  timeout: 5,
238
277
  },
278
+ {
279
+ type: 'command',
280
+ command: 'ARIA_COACH_PLATFORM=claude HOOK_EVENT_NAME=Stop node $HOME/.claude/hooks/aria-first-class-coach.mjs',
281
+ timeout: 3,
282
+ },
239
283
  ],
240
284
  }],
241
285
  };