overmind-mcp 2.8.52 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/bridge/ScenarioLoader.d.ts +20 -1
  2. package/dist/bridge/ScenarioLoader.d.ts.map +1 -1
  3. package/dist/bridge/ScenarioLoader.js +42 -0
  4. package/dist/bridge/ScenarioLoader.js.map +1 -1
  5. package/dist/index.d.ts +4 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib/agent_lifecycle.d.ts +19 -0
  10. package/dist/lib/agent_lifecycle.d.ts.map +1 -1
  11. package/dist/lib/agent_lifecycle.js +92 -1
  12. package/dist/lib/agent_lifecycle.js.map +1 -1
  13. package/dist/lib/config.d.ts +21 -49
  14. package/dist/lib/config.d.ts.map +1 -1
  15. package/dist/lib/config.js +40 -94
  16. package/dist/lib/config.js.map +1 -1
  17. package/dist/lib/orchestration/dispatcher.d.ts +13 -0
  18. package/dist/lib/orchestration/dispatcher.d.ts.map +1 -1
  19. package/dist/lib/orchestration/dispatcher.js +100 -0
  20. package/dist/lib/orchestration/dispatcher.js.map +1 -1
  21. package/dist/lib/processRegistry.js +1 -1
  22. package/dist/lib/processRegistry.js.map +1 -1
  23. package/dist/lib/sessions.js +1 -1
  24. package/dist/lib/sessions.js.map +1 -1
  25. package/dist/services/AgentManager.d.ts +4 -4
  26. package/dist/services/AgentManager.d.ts.map +1 -1
  27. package/dist/services/AgentManager.js +151 -201
  28. package/dist/services/AgentManager.js.map +1 -1
  29. package/dist/services/HermesProfileManager.d.ts +106 -0
  30. package/dist/services/HermesProfileManager.d.ts.map +1 -0
  31. package/dist/services/HermesProfileManager.js +401 -0
  32. package/dist/services/HermesProfileManager.js.map +1 -0
  33. package/dist/services/HermesRunner.d.ts +53 -0
  34. package/dist/services/HermesRunner.d.ts.map +1 -0
  35. package/dist/services/HermesRunner.js +313 -0
  36. package/dist/services/HermesRunner.js.map +1 -0
  37. package/dist/services/KanbanAdapter.d.ts +135 -0
  38. package/dist/services/KanbanAdapter.d.ts.map +1 -0
  39. package/dist/services/KanbanAdapter.js +320 -0
  40. package/dist/services/KanbanAdapter.js.map +1 -0
  41. package/dist/tools/manage_agents.js +4 -4
  42. package/dist/tools/manage_agents.js.map +1 -1
  43. package/dist/tools/memory_store.d.ts +1 -1
  44. package/dist/tools/run_hermes.d.ts +1 -0
  45. package/dist/tools/run_hermes.d.ts.map +1 -1
  46. package/dist/tools/run_hermes.js +12 -6
  47. package/dist/tools/run_hermes.js.map +1 -1
  48. package/docs/MIGRATION_V3.1.md +143 -0
  49. package/docs/PLAN_MIGRATION_V3.md +339 -0
  50. package/package.json +2 -2
  51. package/scripts/migrate-to-profiles.mjs +205 -0
  52. package/dist/lib/orchestration/swarm.d.ts +0 -76
  53. package/dist/lib/orchestration/swarm.d.ts.map +0 -1
  54. package/dist/lib/orchestration/swarm.js +0 -241
  55. package/dist/lib/orchestration/swarm.js.map +0 -1
  56. package/dist/prompts/agent_prompts.d.ts +0 -2
  57. package/dist/prompts/agent_prompts.d.ts.map +0 -1
  58. package/dist/prompts/agent_prompts.js +0 -21
  59. package/dist/prompts/agent_prompts.js.map +0 -1
  60. package/dist/services/NousHermesRunner.d.ts +0 -83
  61. package/dist/services/NousHermesRunner.d.ts.map +0 -1
  62. package/dist/services/NousHermesRunner.js +0 -1241
  63. package/dist/services/NousHermesRunner.js.map +0 -1
  64. package/dist/services/hermes/binaryFinder.d.ts +0 -8
  65. package/dist/services/hermes/binaryFinder.d.ts.map +0 -1
  66. package/dist/services/hermes/binaryFinder.js +0 -92
  67. package/dist/services/hermes/binaryFinder.js.map +0 -1
  68. package/dist/services/hermes/configYamlFilter.d.ts +0 -12
  69. package/dist/services/hermes/configYamlFilter.d.ts.map +0 -1
  70. package/dist/services/hermes/configYamlFilter.js +0 -70
  71. package/dist/services/hermes/configYamlFilter.js.map +0 -1
  72. package/dist/services/hermes/providerConfig.d.ts +0 -19
  73. package/dist/services/hermes/providerConfig.d.ts.map +0 -1
  74. package/dist/services/hermes/providerConfig.js +0 -53
  75. package/dist/services/hermes/providerConfig.js.map +0 -1
  76. package/dist/services/hermesTokenResolver.d.ts +0 -74
  77. package/dist/services/hermesTokenResolver.d.ts.map +0 -1
  78. package/dist/services/hermesTokenResolver.js +0 -140
  79. package/dist/services/hermesTokenResolver.js.map +0 -1
  80. package/dist/tools/initialization_check.d.ts +0 -2
  81. package/dist/tools/initialization_check.d.ts.map +0 -1
  82. package/dist/tools/initialization_check.js +0 -23
  83. package/dist/tools/initialization_check.js.map +0 -1
  84. /package/bin/{launch.js → launch.cjs} +0 -0
  85. /package/dist/bin/{launch.js → launch.cjs} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"NousHermesRunner.js","sourceRoot":"","sources":["../../src/services/NousHermesRunner.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Find the hermes binary across platforms (Windows, Linux, macOS).
3
- *
4
- * Priority: HERMES_BIN_PATH env > PATH > platform-specific paths > pip show
5
- * > bare "hermes" (lets spawn fail with a proper error).
6
- */
7
- export declare function findHermesBinary(): Promise<string>;
8
- //# sourceMappingURL=binaryFinder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"binaryFinder.d.ts","sourceRoot":"","sources":["../../../src/services/hermes/binaryFinder.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAiGxD"}
@@ -1,92 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { exec } from 'child_process';
4
- import { promisify } from 'util';
5
- import { rootLogger } from '../../lib/logger.js';
6
- const execAsync = promisify(exec);
7
- const logger = rootLogger.child({ module: 'Hermes-binaryFinder' });
8
- /**
9
- * Find the hermes binary across platforms (Windows, Linux, macOS).
10
- *
11
- * Priority: HERMES_BIN_PATH env > PATH > platform-specific paths > pip show
12
- * > bare "hermes" (lets spawn fail with a proper error).
13
- */
14
- export async function findHermesBinary() {
15
- const isWin = process.platform === 'win32';
16
- // 1. Check environment variable first (allows users to override)
17
- if (process.env.HERMES_BIN_PATH) {
18
- if (fs.existsSync(process.env.HERMES_BIN_PATH)) {
19
- logger.info({ path: process.env.HERMES_BIN_PATH }, 'Using HERMES_BIN_PATH');
20
- return process.env.HERMES_BIN_PATH;
21
- }
22
- }
23
- // 2. Try to find via PATH
24
- try {
25
- const command = isWin ? 'where hermes' : 'which hermes';
26
- const { stdout } = await execAsync(command);
27
- const hermesPath = stdout.trim().split('\n')[0];
28
- if (hermesPath && fs.existsSync(hermesPath)) {
29
- logger.info({ path: hermesPath }, 'Found hermes in PATH');
30
- return hermesPath;
31
- }
32
- }
33
- catch {
34
- // Not found in PATH
35
- }
36
- // 3. Platform-specific paths
37
- const platformPaths = [];
38
- if (isWin) {
39
- platformPaths.push(
40
- // Hermes venv (Nous Research install) — PRIORITÉ haute (v0.13.0, supporte -z)
41
- path.join(process.env.LOCALAPPDATA || '', 'hermes', 'hermes-agent', 'venv', 'Scripts', 'hermes.exe'),
42
- // Officiel installer Windows (install.ps1) — chemin natif
43
- path.join(process.env.LOCALAPPDATA || '', 'hermes', 'bin', 'hermes.exe'), path.join(process.env.LOCALAPPDATA || '', 'hermes', 'hermes.exe'));
44
- // Dynamically scan for Python versions in LOCALAPPDATA
45
- const programsPython = path.join(process.env.LOCALAPPDATA || '', 'Programs', 'Python');
46
- if (fs.existsSync(programsPython)) {
47
- try {
48
- const dirs = fs.readdirSync(programsPython);
49
- for (const dir of dirs) {
50
- if (dir.toLowerCase().startsWith('python')) {
51
- platformPaths.push(path.join(programsPython, dir, 'Scripts', 'hermes.exe'));
52
- }
53
- }
54
- }
55
- catch { /* ignored */ }
56
- }
57
- platformPaths.push(
58
- // Fallback installations via pip (legacy)
59
- path.join(process.env.LOCALAPPDATA || '', 'Programs', 'Python', 'Python312', 'Scripts', 'hermes.exe'), path.join(process.env.APPDATA || '', 'Python', 'Python312', 'Scripts', 'hermes.exe'), path.join(process.env.LOCALAPPDATA || '', 'Programs', 'Python', 'Python311', 'Scripts', 'hermes.exe'), path.join(process.env.APPDATA || '', 'Python', 'Python311', 'Scripts', 'hermes.exe'), 'C:\\Python312\\Scripts\\hermes.exe', 'C:\\Python311\\Scripts\\hermes.exe', 'C:\\Program Files\\Hermes\\hermes.exe');
60
- }
61
- else {
62
- platformPaths.push(path.join(process.env.HOME || '', '.local', 'bin', 'hermes'), path.join(process.env.HOME || '', 'miniconda3', 'bin', 'hermes'), path.join(process.env.HOME || '', 'anaconda3', 'bin', 'hermes'), '/usr/local/bin/hermes', '/usr/bin/hermes', '/opt/homebrew/bin/hermes');
63
- }
64
- for (const p of platformPaths) {
65
- if (fs.existsSync(p)) {
66
- logger.info({ path: p }, 'Found hermes at platform path');
67
- return p;
68
- }
69
- }
70
- // 4. Try pip show to find installation
71
- try {
72
- const { stdout } = await execAsync('pip show hermes-agent 2>/dev/null || pip3 show hermes-agent');
73
- const match = stdout.match(/Location:\s*(.+)/);
74
- if (match) {
75
- const sitePackages = match[1].trim();
76
- const hermesPath = isWin
77
- ? path.join(sitePackages, 'Scripts', 'hermes.exe')
78
- : path.join(sitePackages, 'bin', 'hermes');
79
- if (fs.existsSync(hermesPath)) {
80
- logger.info({ path: hermesPath }, 'Found hermes via pip show');
81
- return hermesPath;
82
- }
83
- }
84
- }
85
- catch {
86
- // pip show failed
87
- }
88
- // 5. Fallback to 'hermes' and let spawn fail with proper error
89
- logger.warn('hermes binary not found, using "hermes" command');
90
- return 'hermes';
91
- }
92
- //# sourceMappingURL=binaryFinder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"binaryFinder.js","sourceRoot":"","sources":["../../../src/services/hermes/binaryFinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAE3C,iEAAiE;IACjE,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,uBAAuB,CAAC,CAAC;YAC5E,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QACrC,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,sBAAsB,CAAC,CAAC;YAC1D,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IAED,6BAA6B;IAC7B,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,KAAK,EAAE,CAAC;QACV,aAAa,CAAC,IAAI;QAChB,8EAA8E;QAC9E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC;QACpG,0DAA0D;QAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,EACxE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,CAClE,CAAC;QAEF,uDAAuD;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACvF,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC3C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;oBAC9E,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;QAC3B,CAAC;QAED,aAAa,CAAC,IAAI;QAChB,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,EACrG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,EACpF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,EACrG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,EACpF,oCAAoC,EACpC,oCAAoC,EACpC,uCAAuC,CACxC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,EAChE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,EAC/D,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;YAC1D,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,6DAA6D,CAAC,CAAC;QAClG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,KAAK;gBACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC;gBAClD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,2BAA2B,CAAC,CAAC;gBAC/D,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IAED,+DAA+D;IAC/D,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Filter a Hermes config.yaml to only include the allowed MCP servers.
3
- *
4
- * Reads the `mcp_servers:` block from the source YAML, extracts each server
5
- * sub-block (by indentation), and keeps only those whose name is in
6
- * `allowedServers`. Non-mcp_servers content (header, comments) is preserved.
7
- *
8
- * Returns a valid YAML string. If the source file doesn't exist, returns
9
- * an empty `mcp_servers: {}` block.
10
- */
11
- export declare function filterConfigYaml(sourceYamlPath: string, allowedServers: string[]): string;
12
- //# sourceMappingURL=configYamlFilter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configYamlFilter.d.ts","sourceRoot":"","sources":["../../../src/services/hermes/configYamlFilter.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAwDzF"}
@@ -1,70 +0,0 @@
1
- import fs from 'fs';
2
- import { rootLogger } from '../../lib/logger.js';
3
- const logger = rootLogger.child({ module: 'Hermes-configYamlFilter' });
4
- /**
5
- * Filter a Hermes config.yaml to only include the allowed MCP servers.
6
- *
7
- * Reads the `mcp_servers:` block from the source YAML, extracts each server
8
- * sub-block (by indentation), and keeps only those whose name is in
9
- * `allowedServers`. Non-mcp_servers content (header, comments) is preserved.
10
- *
11
- * Returns a valid YAML string. If the source file doesn't exist, returns
12
- * an empty `mcp_servers: {}` block.
13
- */
14
- export function filterConfigYaml(sourceYamlPath, allowedServers) {
15
- try {
16
- if (!fs.existsSync(sourceYamlPath))
17
- return 'mcp_servers: {}\n';
18
- const yamlText = fs.readFileSync(sourceYamlPath, 'utf8');
19
- const lines = yamlText.split(/\r?\n/);
20
- let inMcpServers = false;
21
- let currentServerName = '';
22
- const serverBlocks = {};
23
- const headerLines = [];
24
- for (const line of lines) {
25
- const trimmed = line.trim();
26
- if (line.match(/^mcp_servers:\s*$/) || line.match(/^mcp_servers:\s*#.*$/)) {
27
- inMcpServers = true;
28
- headerLines.push(line);
29
- continue;
30
- }
31
- if (inMcpServers) {
32
- const indentMatch = line.match(/^(\s+)/);
33
- if (!indentMatch) {
34
- inMcpServers = false;
35
- headerLines.push(line);
36
- continue;
37
- }
38
- const indent = indentMatch[1].length;
39
- const keyMatch = trimmed.match(/^([a-zA-Z0-9_-]+)\s*:/);
40
- if (keyMatch && indent === 2) {
41
- currentServerName = keyMatch[1];
42
- serverBlocks[currentServerName] = [line];
43
- }
44
- else if (currentServerName) {
45
- serverBlocks[currentServerName].push(line);
46
- }
47
- }
48
- else {
49
- headerLines.push(line);
50
- }
51
- }
52
- let result = '';
53
- for (const line of headerLines) {
54
- result += line + '\n';
55
- if (line.match(/^mcp_servers:\s*$/) || line.match(/^mcp_servers:\s*#.*$/)) {
56
- for (const srv of allowedServers) {
57
- if (serverBlocks[srv]) {
58
- result += serverBlocks[srv].join('\n') + '\n';
59
- }
60
- }
61
- }
62
- }
63
- return result;
64
- }
65
- catch (err) {
66
- logger.error({ sourceYamlPath, error: err }, '[YAML_FILTER] Unexpected failure while filtering config.yaml.');
67
- return 'mcp_servers: {}\n';
68
- }
69
- }
70
- //# sourceMappingURL=configYamlFilter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configYamlFilter.js","sourceRoot":"","sources":["../../../src/services/hermes/configYamlFilter.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Provider configuration constants for the Hermes runner.
3
- *
4
- * Extracted from NousHermesRunner.ts to reduce file size and improve
5
- * discoverability. These are static lookups — no runtime side-effects.
6
- */
7
- /**
8
- * Default base URL for a given provider. Used when settings.json
9
- * doesn't specify ANTHROPIC_BASE_URL. Each provider has its canonical
10
- * endpoint baked in here so the runner doesn't need an external config.
11
- */
12
- export declare function defaultBaseUrlFor(provider: string): string;
13
- /**
14
- * Every env-var name the runner knows about for credential resolution.
15
- * Declared at module scope so it's available for the RAW pre-interpolation
16
- * capture. 100% exhaustive — every token key the runner checks.
17
- */
18
- export declare const TOKEN_KEYS: string[];
19
- //# sourceMappingURL=providerConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providerConfig.d.ts","sourceRoot":"","sources":["../../../src/services/hermes/providerConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU1D;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,UAwBtB,CAAC"}
@@ -1,53 +0,0 @@
1
- /**
2
- * Provider configuration constants for the Hermes runner.
3
- *
4
- * Extracted from NousHermesRunner.ts to reduce file size and improve
5
- * discoverability. These are static lookups — no runtime side-effects.
6
- */
7
- /**
8
- * Default base URL for a given provider. Used when settings.json
9
- * doesn't specify ANTHROPIC_BASE_URL. Each provider has its canonical
10
- * endpoint baked in here so the runner doesn't need an external config.
11
- */
12
- export function defaultBaseUrlFor(provider) {
13
- switch (provider) {
14
- case 'minimax-cn': return 'https://api.minimaxi.com/anthropic';
15
- case 'minimax': return 'https://api.minimax.com/anthropic';
16
- case 'zai':
17
- case 'z-ai': return 'https://api.z.ai/api/coding/paas/v4';
18
- case 'anthropic': return 'https://api.anthropic.com';
19
- case 'openai': return 'https://api.openai.com/v1';
20
- default: return 'https://api.z.ai/api/coding/paas/v4';
21
- }
22
- }
23
- /**
24
- * Every env-var name the runner knows about for credential resolution.
25
- * Declared at module scope so it's available for the RAW pre-interpolation
26
- * capture. 100% exhaustive — every token key the runner checks.
27
- */
28
- export const TOKEN_KEYS = [
29
- // Generic Anthropic-compatible (Hermes v0.16.0)
30
- 'ANTHROPIC_AUTH_TOKEN', 'ANTHROPIC_AUTH_TOKEN_E', 'ANTHROPIC_AUTH_TOKEN_F', 'ANTHROPIC_AUTH_TOKEN_Y',
31
- // Suffixes numériques 1..9 (convention observée dans les .env prod)
32
- 'ANTHROPIC_AUTH_TOKEN_1', 'ANTHROPIC_AUTH_TOKEN_2', 'ANTHROPIC_AUTH_TOKEN_3', 'ANTHROPIC_AUTH_TOKEN_4', 'ANTHROPIC_AUTH_TOKEN_5',
33
- 'ANTHROPIC_AUTH_TOKEN_6', 'ANTHROPIC_AUTH_TOKEN_7', 'ANTHROPIC_AUTH_TOKEN_8', 'ANTHROPIC_AUTH_TOKEN_9',
34
- 'ANTHROPIC_AUTH_TOKEN_0',
35
- // Z.AI / GLM
36
- 'GLM_API_KEY', 'GLM_API_KEY_E', 'GLM_API_KEY_Y',
37
- 'Z_AI_API_KEY', 'ZAI_ANTHROPIC_FALLBACK_KEY',
38
- 'ZAI_API_KEY_E', 'ZAI_API_KEY_Y',
39
- 'ZAI_API_KEY_1', 'ZAI_API_KEY_2', 'ZAI_API_KEY_3', 'ZAI_API_KEY_4', 'ZAI_API_KEY_5',
40
- 'ZAI_API_KEY_6', 'ZAI_API_KEY_7', 'ZAI_API_KEY_8', 'ZAI_API_KEY_9', 'ZAI_API_KEY_0',
41
- // MiniMax
42
- 'MINIMAX_API_KEY', 'MINIMAX_CN_API_KEY',
43
- 'MINIMAX_API_KEY_E', 'MINIMAX_API_KEY_Y',
44
- 'MINIMAX_API_KEY_1', 'MINIMAX_API_KEY_2', 'MINIMAX_API_KEY_3', 'MINIMAX_API_KEY_4', 'MINIMAX_API_KEY_5',
45
- 'MINIMAX_CN_API_KEY_E', 'MINIMAX_CN_API_KEY_Y',
46
- 'MINIMAX_CN_API_KEY_1', 'MINIMAX_CN_API_KEY_2', 'MINIMAX_CN_API_KEY_3', 'MINIMAX_CN_API_KEY_4', 'MINIMAX_CN_API_KEY_5',
47
- // OpenAI fallback
48
- 'OPENAI_API_KEY', 'OPENAI_AUTH_TOKEN',
49
- // Mistral
50
- 'MISTRAL_API_KEY', 'MISTRAL_API_KEY_1', 'MISTRAL_API_KEY_2', 'MISTRAL_API_KEY_3', 'MISTRAL_API_KEY_4', 'MISTRAL_API_KEY_5',
51
- 'MISTRAL_API_KEY_6', 'MISTRAL_API_KEY_7', 'MISTRAL_API_KEY_E', 'MISTRAL_API_KEY_Y',
52
- ];
53
- //# sourceMappingURL=providerConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providerConfig.js","sourceRoot":"","sources":["../../../src/services/hermes/providerConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,YAAY,CAAC,CAAC,OAAO,oCAAoC,CAAC;QAC/D,KAAK,SAAS,CAAC,CAAI,OAAO,mCAAmC,CAAC;QAC9D,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC,CAAO,OAAO,qCAAqC,CAAC;QAChE,KAAK,WAAW,CAAC,CAAE,OAAO,2BAA2B,CAAC;QACtD,KAAK,QAAQ,CAAC,CAAK,OAAO,2BAA2B,CAAC;QACtD,OAAO,CAAC,CAAW,OAAO,qCAAqC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gDAAgD;IAChD,sBAAsB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB;IACpG,oEAAoE;IACpE,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB;IAChI,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB;IACtG,wBAAwB;IACxB,aAAa;IACb,aAAa,EAAE,eAAe,EAAE,eAAe;IAC/C,cAAc,EAAE,4BAA4B;IAC5C,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe;IACnF,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe;IACnF,UAAU;IACV,iBAAiB,EAAE,oBAAoB;IACvC,mBAAmB,EAAE,mBAAmB;IACxC,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB;IACvG,sBAAsB,EAAE,sBAAsB;IAC9C,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB;IACtH,kBAAkB;IAClB,gBAAgB,EAAE,mBAAmB;IACrC,UAAU;IACV,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB;IAC1H,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB;CACnF,CAAC"}
@@ -1,74 +0,0 @@
1
- /**
2
- * Hermes token resolution — canonical, side-effect-free implementation.
3
- *
4
- * This module exists for two reasons:
5
- *
6
- * 1. **Testability.** The `NousHermesRunner` defines these helpers as
7
- * function-local closures (so call sites can capture `agentCustomEnv`,
8
- * `TOKEN_KEYS`, `agentName`, `logger`, `tmpSettingsPath` from the
9
- * enclosing scope without ceremony). That makes the logic untestable
10
- * in isolation. This module is the canonical, parameterized version.
11
- * Any divergence between the local closure and this module is a bug —
12
- * keep them in sync.
13
- *
14
- * 2. **Audit surface.** When debugging "why did the runner pick
15
- * `MINIMAX_API_KEY` over `ANTHROPIC_AUTH_TOKEN`?", you can import
16
- * `resolveTokenWithDetection` from this module in a REPL or a one-off
17
- * script and replay the decision without spinning up a Hermes run.
18
- *
19
- * Token detection convention (Hermes v0.16.0):
20
- * MiniMax → "sk-cp-..." → env MINIMAX_API_KEY
21
- * Z.AI / GLM → "32hex.32hex" → env ZAI_ANTHROPIC_FALLBACK_KEY
22
- * e.g. "c78a134949fc4c369911c24e9fa4b84c.OZhHX5Obs6qF1ISt"
23
- * Z.AI alt → 32-char hex (single block, no dot)
24
- * e.g. "5f650035e5a845549e4765184d8179b1"
25
- * Anthropic → "sk-ant-..." → env ANTHROPIC_AUTH_TOKEN
26
- * OpenAI → "sk-..." → env OPENAI_API_KEY
27
- * OpenRouter → "sk-or-..." → env OPENROUTER_API_KEY (BLOCKED for LLM)
28
- * Mistral → (variable) → env MISTRAL_API_KEY_*
29
- * Other → unknown → env ANTHROPIC_AUTH_TOKEN
30
- */
31
- export interface ProviderDetection {
32
- provider: string;
33
- envKey: string;
34
- }
35
- export declare const TOKEN_PREFIX_PROVIDERS: ReadonlyArray<{
36
- test: (t: string) => boolean;
37
- provider: string;
38
- envKey: string;
39
- }>;
40
- export declare function detectTokenProvider(token: string): ProviderDetection;
41
- export interface ResolvedToken {
42
- tokenEnvKey: string;
43
- tokenValue: string;
44
- detectedProvider: string;
45
- source: 'settings-explicit' | 'env-fallback' | 'detected';
46
- }
47
- export interface ResolverLogger {
48
- info: (obj: object, msg?: string) => void;
49
- error: (obj: object, msg?: string) => void;
50
- }
51
- /**
52
- * Resolve a token with explicit settings priority + provider detection.
53
- *
54
- * Strategy:
55
- * 1. Read settings_<agent>.json env block (explicitSettingsTokens).
56
- * - Literal token (e.g. "sk-cp-...") → use it directly.
57
- * - $VAR reference (e.g. "$GLM_API_KEY_Y") → resolve against process.env.
58
- * Missing? FAIL LOUD (no silent fallback).
59
- * 2. No settings token → iterate tokenKeys in priority order. THREE PASSES:
60
- * Pass A: prefer a candidate whose env-var NAME already matches its
61
- * detected provider (preserves explicit user choice over
62
- * generic-key re-map).
63
- * Pass B: re-map the first candidate to the right provider env-var
64
- * name (subtilisation).
65
- * Pass C: rare — everything aligned already, return as-is.
66
- *
67
- * @throws {Error} `MISSING_ENV_VAR: ...` when settings references a $VAR that
68
- * is not in process.env.
69
- */
70
- export declare function resolveTokenWithDetection(agentName: string | undefined, explicitSettingsTokens: ReadonlyArray<{
71
- key: string;
72
- value: string;
73
- }>, agentCustomEnv: Record<string, string | undefined>, tokenKeys: ReadonlyArray<string>, logger: ResolverLogger): ResolvedToken | null;
74
- //# sourceMappingURL=hermesTokenResolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hermesTokenResolver.d.ts","sourceRoot":"","sources":["../../src/services/hermesTokenResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAiBA,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAKpE;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,mBAAmB,GAAG,cAAc,GAAG,UAAU,CAAC;CAC3D;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,sBAAsB,EAAE,aAAa,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EACrE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAClD,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,EAChC,MAAM,EAAE,cAAc,GACrB,aAAa,GAAG,IAAI,CAmFtB"}
@@ -1,140 +0,0 @@
1
- /**
2
- * Hermes token resolution — canonical, side-effect-free implementation.
3
- *
4
- * This module exists for two reasons:
5
- *
6
- * 1. **Testability.** The `NousHermesRunner` defines these helpers as
7
- * function-local closures (so call sites can capture `agentCustomEnv`,
8
- * `TOKEN_KEYS`, `agentName`, `logger`, `tmpSettingsPath` from the
9
- * enclosing scope without ceremony). That makes the logic untestable
10
- * in isolation. This module is the canonical, parameterized version.
11
- * Any divergence between the local closure and this module is a bug —
12
- * keep them in sync.
13
- *
14
- * 2. **Audit surface.** When debugging "why did the runner pick
15
- * `MINIMAX_API_KEY` over `ANTHROPIC_AUTH_TOKEN`?", you can import
16
- * `resolveTokenWithDetection` from this module in a REPL or a one-off
17
- * script and replay the decision without spinning up a Hermes run.
18
- *
19
- * Token detection convention (Hermes v0.16.0):
20
- * MiniMax → "sk-cp-..." → env MINIMAX_API_KEY
21
- * Z.AI / GLM → "32hex.32hex" → env ZAI_ANTHROPIC_FALLBACK_KEY
22
- * e.g. "c78a134949fc4c369911c24e9fa4b84c.OZhHX5Obs6qF1ISt"
23
- * Z.AI alt → 32-char hex (single block, no dot)
24
- * e.g. "5f650035e5a845549e4765184d8179b1"
25
- * Anthropic → "sk-ant-..." → env ANTHROPIC_AUTH_TOKEN
26
- * OpenAI → "sk-..." → env OPENAI_API_KEY
27
- * OpenRouter → "sk-or-..." → env OPENROUTER_API_KEY (BLOCKED for LLM)
28
- * Mistral → (variable) → env MISTRAL_API_KEY_*
29
- * Other → unknown → env ANTHROPIC_AUTH_TOKEN
30
- */
31
- export const TOKEN_PREFIX_PROVIDERS = [
32
- // Z.AI: c78a134949fc4c369911c24e9fa4b84c.OZhHX5Obs6qF1ISt (32hex.32hex — 2 blocks)
33
- { test: (t) => /^[0-9a-f]{32}\.[0-9a-zA-Z]+$/i.test(t), provider: 'zai', envKey: 'ZAI_ANTHROPIC_FALLBACK_KEY' },
34
- // Z.AI: 5f6500...q3m3 (32-char hex single block, no dot, no dashes)
35
- { test: (t) => /^[0-9a-f]{32}$/i.test(t), provider: 'zai', envKey: 'ZAI_ANTHROPIC_FALLBACK_KEY' },
36
- // MiniMax: sk-cp-...
37
- { test: (t) => t.startsWith('sk-cp-'), provider: 'minimax', envKey: 'MINIMAX_API_KEY' },
38
- // MiniMax: sk-mm-... (alternative prefix)
39
- { test: (t) => t.startsWith('sk-mm-'), provider: 'minimax', envKey: 'MINIMAX_API_KEY' },
40
- // Anthropic
41
- { test: (t) => t.startsWith('sk-ant-'), provider: 'anthropic', envKey: 'ANTHROPIC_AUTH_TOKEN' },
42
- // OpenRouter (BLOCKED for LLM, but we still detect it for diagnostic)
43
- { test: (t) => t.startsWith('sk-or-'), provider: 'openrouter', envKey: 'OPENROUTER_API_KEY' },
44
- // OpenAI (no -ant, no -cp, no -or)
45
- { test: (t) => t.startsWith('sk-'), provider: 'openai', envKey: 'OPENAI_API_KEY' },
46
- // Generic 16+ hex without dot — probably a Z.AI token variant
47
- { test: (t) => /^[0-9a-f]{16,}$/i.test(t), provider: 'zai', envKey: 'ZAI_ANTHROPIC_FALLBACK_KEY' },
48
- ];
49
- export function detectTokenProvider(token) {
50
- for (const rule of TOKEN_PREFIX_PROVIDERS) {
51
- if (rule.test(token))
52
- return { provider: rule.provider, envKey: rule.envKey };
53
- }
54
- return { provider: 'unknown', envKey: 'ANTHROPIC_AUTH_TOKEN' };
55
- }
56
- /**
57
- * Resolve a token with explicit settings priority + provider detection.
58
- *
59
- * Strategy:
60
- * 1. Read settings_<agent>.json env block (explicitSettingsTokens).
61
- * - Literal token (e.g. "sk-cp-...") → use it directly.
62
- * - $VAR reference (e.g. "$GLM_API_KEY_Y") → resolve against process.env.
63
- * Missing? FAIL LOUD (no silent fallback).
64
- * 2. No settings token → iterate tokenKeys in priority order. THREE PASSES:
65
- * Pass A: prefer a candidate whose env-var NAME already matches its
66
- * detected provider (preserves explicit user choice over
67
- * generic-key re-map).
68
- * Pass B: re-map the first candidate to the right provider env-var
69
- * name (subtilisation).
70
- * Pass C: rare — everything aligned already, return as-is.
71
- *
72
- * @throws {Error} `MISSING_ENV_VAR: ...` when settings references a $VAR that
73
- * is not in process.env.
74
- */
75
- export function resolveTokenWithDetection(agentName, explicitSettingsTokens, agentCustomEnv, tokenKeys, logger) {
76
- // Step 1: settings_<agent>.json env block takes ABSOLUTE priority
77
- if (explicitSettingsTokens.length > 0) {
78
- const t = explicitSettingsTokens[0];
79
- let resolvedValue = t.value;
80
- if (typeof t.value === 'string' && t.value.startsWith('$')) {
81
- const varName = t.value.slice(1);
82
- const fromEnv = process.env[varName];
83
- if (!fromEnv || fromEnv.length === 0) {
84
- logger.error({
85
- agentName,
86
- requestedVar: varName,
87
- requestedKey: t.key,
88
- }, '[FAIL-LOUD] settings_<agent>.json references $' + varName + ' but it is not set in process.env. ' +
89
- 'Either export it in the parent .env, or fix the reference in settings_<agent>.json. ' +
90
- 'Refusing to fall back to a different credential.');
91
- throw new Error(`MISSING_ENV_VAR: settings_<agent>.json env.${t.key}="$` + varName + '" ' +
92
- `but process.env.${varName} is empty. Add it to /home/demon/.overmind/.env or fix the settings reference.`);
93
- }
94
- resolvedValue = fromEnv;
95
- logger.info({ agentName, sourceKey: t.key, referencedVar: varName, resolvedLen: resolvedValue.length }, '[SUBTILISATION] Resolved $VAR reference from settings_<agent>.json against process.env.');
96
- }
97
- const detected = detectTokenProvider(resolvedValue);
98
- logger.info({ agentName, tokenKey: t.key, detectedProvider: detected.provider, mappedTo: detected.envKey }, '[SUBTILISATION] Using explicit settings_<agent>.json token, re-mapping to detected provider env var.');
99
- return { tokenEnvKey: t.key, tokenValue: resolvedValue, detectedProvider: detected.provider, source: 'settings-explicit' };
100
- }
101
- const candidates = [];
102
- for (const tk of tokenKeys) {
103
- const v = agentCustomEnv[tk];
104
- if (v && typeof v === 'string' && v.length > 0) {
105
- candidates.push({ key: tk, value: v, detected: detectTokenProvider(v) });
106
- }
107
- }
108
- if (candidates.length === 0)
109
- return null;
110
- // Pass A: prefer the candidate whose env-var name ALREADY matches its detected provider.
111
- for (const c of candidates) {
112
- if (c.detected.provider !== 'unknown' && c.detected.envKey === c.key) {
113
- return {
114
- tokenEnvKey: c.key,
115
- tokenValue: c.value,
116
- detectedProvider: c.detected.provider,
117
- source: 'env-fallback',
118
- };
119
- }
120
- }
121
- // Pass B: re-map the first candidate to the right provider env-var.
122
- const first = candidates[0];
123
- if (first.detected.provider !== 'unknown' && first.detected.envKey !== first.key) {
124
- logger.info({ agentName, sourceKey: first.key, detectedProvider: first.detected.provider, remappedTo: first.detected.envKey }, '[SUBTILISATION] Token prefix detected provider mismatch — re-mapping env var.');
125
- return {
126
- tokenEnvKey: first.detected.envKey,
127
- tokenValue: first.value,
128
- detectedProvider: first.detected.provider,
129
- source: 'detected',
130
- };
131
- }
132
- // Pass C: rare — everything aligned already or all providers unknown.
133
- return {
134
- tokenEnvKey: first.key,
135
- tokenValue: first.value,
136
- detectedProvider: first.detected.provider,
137
- source: 'env-fallback',
138
- };
139
- }
140
- //# sourceMappingURL=hermesTokenResolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hermesTokenResolver.js","sourceRoot":"","sources":["../../src/services/hermesTokenResolver.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=initialization_check.d.ts.map