@emaxe/agento 0.3.0 → 0.4.1

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 (121) hide show
  1. package/AGENTS.md +28 -0
  2. package/CHANGELOG.md +33 -1
  3. package/README.md +28 -18
  4. package/README.ru.md +28 -18
  5. package/dist/bin/agento.js +34 -5
  6. package/dist/bin/agento.js.map +1 -1
  7. package/dist/src/adapters/copilot.d.ts +15 -0
  8. package/dist/src/adapters/copilot.d.ts.map +1 -0
  9. package/dist/src/adapters/copilot.js +71 -0
  10. package/dist/src/adapters/copilot.js.map +1 -0
  11. package/dist/src/adapters/opencode.d.ts +1 -0
  12. package/dist/src/adapters/opencode.d.ts.map +1 -1
  13. package/dist/src/adapters/opencode.js +10 -0
  14. package/dist/src/adapters/opencode.js.map +1 -1
  15. package/dist/src/cli/commands/agent.d.ts +7 -0
  16. package/dist/src/cli/commands/agent.d.ts.map +1 -1
  17. package/dist/src/cli/commands/agent.js +10 -1
  18. package/dist/src/cli/commands/agent.js.map +1 -1
  19. package/dist/src/cli/commands/launch.d.ts +7 -0
  20. package/dist/src/cli/commands/launch.d.ts.map +1 -1
  21. package/dist/src/cli/commands/launch.js +16 -5
  22. package/dist/src/cli/commands/launch.js.map +1 -1
  23. package/dist/src/cli/commands/profile.d.ts +6 -0
  24. package/dist/src/cli/commands/profile.d.ts.map +1 -1
  25. package/dist/src/cli/commands/profile.js +6 -0
  26. package/dist/src/cli/commands/profile.js.map +1 -1
  27. package/dist/src/cli/commands/provider.d.ts +6 -0
  28. package/dist/src/cli/commands/provider.d.ts.map +1 -1
  29. package/dist/src/cli/commands/provider.js +6 -0
  30. package/dist/src/cli/commands/provider.js.map +1 -1
  31. package/dist/src/cli/commands/restore.d.ts +8 -0
  32. package/dist/src/cli/commands/restore.d.ts.map +1 -1
  33. package/dist/src/cli/commands/restore.js +8 -0
  34. package/dist/src/cli/commands/restore.js.map +1 -1
  35. package/dist/src/config/schema.d.ts +1 -1
  36. package/dist/src/config/schema.d.ts.map +1 -1
  37. package/dist/src/config/schema.js +1 -1
  38. package/dist/src/config/schema.js.map +1 -1
  39. package/dist/src/config/store.d.ts +4 -0
  40. package/dist/src/config/store.d.ts.map +1 -1
  41. package/dist/src/config/store.js +18 -0
  42. package/dist/src/config/store.js.map +1 -1
  43. package/dist/src/installers/base.d.ts +25 -0
  44. package/dist/src/installers/base.d.ts.map +1 -0
  45. package/dist/src/installers/base.js +2 -0
  46. package/dist/src/installers/base.js.map +1 -0
  47. package/dist/src/installers/claude-code.d.ts +19 -0
  48. package/dist/src/installers/claude-code.d.ts.map +1 -0
  49. package/dist/src/installers/claude-code.js +55 -0
  50. package/dist/src/installers/claude-code.js.map +1 -0
  51. package/dist/src/installers/codex.d.ts +19 -0
  52. package/dist/src/installers/codex.d.ts.map +1 -0
  53. package/dist/src/installers/codex.js +55 -0
  54. package/dist/src/installers/codex.js.map +1 -0
  55. package/dist/src/installers/copilot.d.ts +19 -0
  56. package/dist/src/installers/copilot.d.ts.map +1 -0
  57. package/dist/src/installers/copilot.js +55 -0
  58. package/dist/src/installers/copilot.js.map +1 -0
  59. package/dist/src/installers/opencode.d.ts +19 -0
  60. package/dist/src/installers/opencode.d.ts.map +1 -0
  61. package/dist/src/installers/opencode.js +55 -0
  62. package/dist/src/installers/opencode.js.map +1 -0
  63. package/dist/src/installers/qwen.d.ts +19 -0
  64. package/dist/src/installers/qwen.d.ts.map +1 -0
  65. package/dist/src/installers/qwen.js +55 -0
  66. package/dist/src/installers/qwen.js.map +1 -0
  67. package/dist/src/installers/registry.d.ts +11 -0
  68. package/dist/src/installers/registry.d.ts.map +1 -0
  69. package/dist/src/installers/registry.js +18 -0
  70. package/dist/src/installers/registry.js.map +1 -0
  71. package/dist/src/launcher/child.js +1 -1
  72. package/dist/src/launcher/child.js.map +1 -1
  73. package/dist/src/launcher/independent.d.ts +16 -3
  74. package/dist/src/launcher/independent.d.ts.map +1 -1
  75. package/dist/src/launcher/independent.js +12 -3
  76. package/dist/src/launcher/independent.js.map +1 -1
  77. package/dist/src/profiles/profile-manager.d.ts +26 -7
  78. package/dist/src/profiles/profile-manager.d.ts.map +1 -1
  79. package/dist/src/profiles/profile-manager.js +26 -7
  80. package/dist/src/profiles/profile-manager.js.map +1 -1
  81. package/dist/src/providers/provider-manager.d.ts +18 -5
  82. package/dist/src/providers/provider-manager.d.ts.map +1 -1
  83. package/dist/src/providers/provider-manager.js +25 -5
  84. package/dist/src/providers/provider-manager.js.map +1 -1
  85. package/dist/src/tui/App.d.ts +12 -1
  86. package/dist/src/tui/App.d.ts.map +1 -1
  87. package/dist/src/tui/App.js +6 -2
  88. package/dist/src/tui/App.js.map +1 -1
  89. package/dist/src/tui/screens/AgentInstall.d.ts +10 -0
  90. package/dist/src/tui/screens/AgentInstall.d.ts.map +1 -0
  91. package/dist/src/tui/screens/AgentInstall.js +157 -0
  92. package/dist/src/tui/screens/AgentInstall.js.map +1 -0
  93. package/dist/src/tui/screens/Agents.d.ts +1 -0
  94. package/dist/src/tui/screens/Agents.d.ts.map +1 -1
  95. package/dist/src/tui/screens/Agents.js +4 -1
  96. package/dist/src/tui/screens/Agents.js.map +1 -1
  97. package/dist/src/tui/screens/LaunchAgent.d.ts +14 -1
  98. package/dist/src/tui/screens/LaunchAgent.d.ts.map +1 -1
  99. package/dist/src/tui/screens/LaunchAgent.js +138 -5
  100. package/dist/src/tui/screens/LaunchAgent.js.map +1 -1
  101. package/dist/src/tui/screens/MainMenu.d.ts +7 -0
  102. package/dist/src/tui/screens/MainMenu.d.ts.map +1 -1
  103. package/dist/src/tui/screens/MainMenu.js +7 -0
  104. package/dist/src/tui/screens/MainMenu.js.map +1 -1
  105. package/dist/src/tui/screens/Profiles.d.ts +1 -0
  106. package/dist/src/tui/screens/Profiles.d.ts.map +1 -1
  107. package/dist/src/tui/screens/Profiles.js +1 -0
  108. package/dist/src/tui/screens/Profiles.js.map +1 -1
  109. package/dist/src/tui/screens/Providers.d.ts +1 -0
  110. package/dist/src/tui/screens/Providers.d.ts.map +1 -1
  111. package/dist/src/tui/screens/Providers.js +1 -0
  112. package/dist/src/tui/screens/Providers.js.map +1 -1
  113. package/dist/src/tui/screens/Settings.d.ts +1 -0
  114. package/dist/src/tui/screens/Settings.d.ts.map +1 -1
  115. package/dist/src/tui/screens/Settings.js +20 -3
  116. package/dist/src/tui/screens/Settings.js.map +1 -1
  117. package/dist/src/tui/start.d.ts +9 -0
  118. package/dist/src/tui/start.d.ts.map +1 -1
  119. package/dist/src/tui/start.js +15 -0
  120. package/dist/src/tui/start.js.map +1 -1
  121. package/package.json +1 -1
@@ -0,0 +1,55 @@
1
+ import { spawnSync, spawn } from 'node:child_process';
2
+ /** Installer for the GitHub Copilot CLI agent (brew cask). */
3
+ class CopilotInstaller {
4
+ agentId = 'copilot';
5
+ manualInstructions = {
6
+ commands: ['brew install --cask copilot-cli'],
7
+ docsUrl: 'https://docs.github.com/copilot/how-tos/copilot-cli',
8
+ };
9
+ /** Checks whether `copilot --version` succeeds and parses the version string. */
10
+ async checkInstalled() {
11
+ const result = spawnSync('copilot', ['--version'], { encoding: 'utf8' });
12
+ if (result.status !== 0) {
13
+ return { installed: false };
14
+ }
15
+ const output = (result.stdout ?? '') + (result.stderr ?? '');
16
+ const match = output.match(/GitHub Copilot CLI (\d+\.\d+\.\d+[^\s]*)/);
17
+ const version = match?.[1];
18
+ return { installed: true, ...(version !== undefined ? { version } : {}) };
19
+ }
20
+ /** Verifies that `brew` is available on the system. */
21
+ async checkEnvironment() {
22
+ const result = spawnSync('brew', ['--version'], { encoding: 'utf8' });
23
+ if (result.status !== 0) {
24
+ return { ok: false, missing: ['brew'] };
25
+ }
26
+ return { ok: true, missing: [] };
27
+ }
28
+ /** Runs `brew install --cask copilot-cli` and reports the result. */
29
+ async install() {
30
+ return new Promise((resolve) => {
31
+ const stderrChunks = [];
32
+ const child = spawn('brew', ['install', '--cask', 'copilot-cli'], {
33
+ stdio: ['ignore', 'inherit', 'pipe'],
34
+ shell: false,
35
+ });
36
+ child.stderr.on('data', (chunk) => {
37
+ stderrChunks.push(chunk);
38
+ });
39
+ child.on('exit', (code) => {
40
+ if (code === 0) {
41
+ resolve({ success: true });
42
+ }
43
+ else {
44
+ const error = Buffer.concat(stderrChunks).toString('utf8').trim();
45
+ resolve({ success: false, error: error || `brew exited with code ${code}` });
46
+ }
47
+ });
48
+ child.on('error', (err) => {
49
+ resolve({ success: false, error: err.message });
50
+ });
51
+ });
52
+ }
53
+ }
54
+ export const copilotInstaller = new CopilotInstaller();
55
+ //# sourceMappingURL=copilot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/installers/copilot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { AgentInstaller, InstallCheckResult, EnvCheckResult, InstallResult } from './base.js';
2
+ import type { AgentId } from '../config/schema.js';
3
+ /** Installer for the OpenCode CLI agent. */
4
+ declare class OpenCodeInstaller implements AgentInstaller {
5
+ readonly agentId: AgentId;
6
+ readonly manualInstructions: {
7
+ commands: string[];
8
+ docsUrl: string;
9
+ };
10
+ /** Checks whether `opencode --version` succeeds. */
11
+ checkInstalled(): Promise<InstallCheckResult>;
12
+ /** Verifies that `npm` is available on the system. */
13
+ checkEnvironment(): Promise<EnvCheckResult>;
14
+ /** Runs `npm install -g opencode` and reports the result. */
15
+ install(): Promise<InstallResult>;
16
+ }
17
+ export declare const openCodeInstaller: OpenCodeInstaller;
18
+ export {};
19
+ //# sourceMappingURL=opencode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/installers/opencode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,4CAA4C;AAC5C,cAAM,iBAAkB,YAAW,cAAc;IAC/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAc;IAEvC,QAAQ,CAAC,kBAAkB;;;MAGzB;IAEF,oDAAoD;IAC9C,cAAc,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAWnD,sDAAsD;IAChD,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC;IAQjD,6DAA6D;IACvD,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;CA2BxC;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { spawnSync, spawn } from 'node:child_process';
2
+ /** Installer for the OpenCode CLI agent. */
3
+ class OpenCodeInstaller {
4
+ agentId = 'opencode';
5
+ manualInstructions = {
6
+ commands: ['npm install -g opencode'],
7
+ docsUrl: 'https://opencode.ai/docs',
8
+ };
9
+ /** Checks whether `opencode --version` succeeds. */
10
+ async checkInstalled() {
11
+ const result = spawnSync('opencode', ['--version'], { encoding: 'utf8' });
12
+ if (result.status !== 0) {
13
+ return { installed: false };
14
+ }
15
+ const output = (result.stdout ?? '') + (result.stderr ?? '');
16
+ const match = output.match(/(\d+\.\d+\.\d+[^\s]*)/);
17
+ const version = match?.[1];
18
+ return { installed: true, ...(version !== undefined ? { version } : {}) };
19
+ }
20
+ /** Verifies that `npm` is available on the system. */
21
+ async checkEnvironment() {
22
+ const result = spawnSync('npm', ['--version'], { encoding: 'utf8' });
23
+ if (result.status !== 0) {
24
+ return { ok: false, missing: ['npm'] };
25
+ }
26
+ return { ok: true, missing: [] };
27
+ }
28
+ /** Runs `npm install -g opencode` and reports the result. */
29
+ async install() {
30
+ return new Promise((resolve) => {
31
+ const stderrChunks = [];
32
+ const child = spawn('npm', ['install', '-g', 'opencode'], {
33
+ stdio: ['ignore', 'inherit', 'pipe'],
34
+ shell: false,
35
+ });
36
+ child.stderr.on('data', (chunk) => {
37
+ stderrChunks.push(chunk);
38
+ });
39
+ child.on('exit', (code) => {
40
+ if (code === 0) {
41
+ resolve({ success: true });
42
+ }
43
+ else {
44
+ const error = Buffer.concat(stderrChunks).toString('utf8').trim();
45
+ resolve({ success: false, error: error || `npm exited with code ${code}` });
46
+ }
47
+ });
48
+ child.on('error', (err) => {
49
+ resolve({ success: false, error: err.message });
50
+ });
51
+ });
52
+ }
53
+ }
54
+ export const openCodeInstaller = new OpenCodeInstaller();
55
+ //# sourceMappingURL=opencode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/installers/opencode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { AgentInstaller, InstallCheckResult, EnvCheckResult, InstallResult } from './base.js';
2
+ import type { AgentId } from '../config/schema.js';
3
+ /** Installer for the Qwen CLI agent. */
4
+ declare class QwenInstaller implements AgentInstaller {
5
+ readonly agentId: AgentId;
6
+ readonly manualInstructions: {
7
+ commands: string[];
8
+ docsUrl: string;
9
+ };
10
+ /** Checks whether `qwen --version` succeeds. */
11
+ checkInstalled(): Promise<InstallCheckResult>;
12
+ /** Verifies that `npm` is available on the system. */
13
+ checkEnvironment(): Promise<EnvCheckResult>;
14
+ /** Runs `npm install -g @qwen-code/qwen-code@latest` and reports the result. */
15
+ install(): Promise<InstallResult>;
16
+ }
17
+ export declare const qwenInstaller: QwenInstaller;
18
+ export {};
19
+ //# sourceMappingURL=qwen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen.d.ts","sourceRoot":"","sources":["../../../src/installers/qwen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,wCAAwC;AACxC,cAAM,aAAc,YAAW,cAAc;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAU;IAEnC,QAAQ,CAAC,kBAAkB;;;MAGzB;IAEF,gDAAgD;IAC1C,cAAc,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAWnD,sDAAsD;IAChD,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC;IAQjD,gFAAgF;IAC1E,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;CA2BxC;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { spawnSync, spawn } from 'node:child_process';
2
+ /** Installer for the Qwen CLI agent. */
3
+ class QwenInstaller {
4
+ agentId = 'qwen';
5
+ manualInstructions = {
6
+ commands: ['npm install -g @qwen-code/qwen-code@latest'],
7
+ docsUrl: 'https://github.com/QwenLM/qwen-code',
8
+ };
9
+ /** Checks whether `qwen --version` succeeds. */
10
+ async checkInstalled() {
11
+ const result = spawnSync('qwen', ['--version'], { encoding: 'utf8' });
12
+ if (result.status !== 0) {
13
+ return { installed: false };
14
+ }
15
+ const output = (result.stdout ?? '') + (result.stderr ?? '');
16
+ const match = output.match(/(\d+\.\d+\.\d+[^\s]*)/);
17
+ const version = match?.[1];
18
+ return { installed: true, ...(version !== undefined ? { version } : {}) };
19
+ }
20
+ /** Verifies that `npm` is available on the system. */
21
+ async checkEnvironment() {
22
+ const result = spawnSync('npm', ['--version'], { encoding: 'utf8' });
23
+ if (result.status !== 0) {
24
+ return { ok: false, missing: ['npm'] };
25
+ }
26
+ return { ok: true, missing: [] };
27
+ }
28
+ /** Runs `npm install -g @qwen-code/qwen-code@latest` and reports the result. */
29
+ async install() {
30
+ return new Promise((resolve) => {
31
+ const stderrChunks = [];
32
+ const child = spawn('npm', ['install', '-g', '@qwen-code/qwen-code@latest'], {
33
+ stdio: ['ignore', 'inherit', 'pipe'],
34
+ shell: false,
35
+ });
36
+ child.stderr.on('data', (chunk) => {
37
+ stderrChunks.push(chunk);
38
+ });
39
+ child.on('exit', (code) => {
40
+ if (code === 0) {
41
+ resolve({ success: true });
42
+ }
43
+ else {
44
+ const error = Buffer.concat(stderrChunks).toString('utf8').trim();
45
+ resolve({ success: false, error: error || `npm exited with code ${code}` });
46
+ }
47
+ });
48
+ child.on('error', (err) => {
49
+ resolve({ success: false, error: err.message });
50
+ });
51
+ });
52
+ }
53
+ }
54
+ export const qwenInstaller = new QwenInstaller();
55
+ //# sourceMappingURL=qwen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen.js","sourceRoot":"","sources":["../../../src/installers/qwen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Registry of agent installers used by the TUI install wizard.
3
+ *
4
+ * Each supported agent maps to an {@link AgentInstaller} that can check
5
+ * whether the agent is installed, verify prerequisites, and perform auto-install.
6
+ */
7
+ import type { AgentId } from '../config/schema.js';
8
+ import type { AgentInstaller } from './base.js';
9
+ /** Returns the installer for a given agent id, or `undefined` if unregistered. */
10
+ export declare function getInstaller(agentId: AgentId): AgentInstaller | undefined;
11
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/installers/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAgBhD,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAEzE"}
@@ -0,0 +1,18 @@
1
+ import { claudeCodeInstaller } from './claude-code.js';
2
+ import { openCodeInstaller } from './opencode.js';
3
+ import { qwenInstaller } from './qwen.js';
4
+ import { codexInstaller } from './codex.js';
5
+ import { copilotInstaller } from './copilot.js';
6
+ /** Internal map of agent ids to their installers. */
7
+ const registry = new Map([
8
+ ['claude-code', claudeCodeInstaller],
9
+ ['opencode', openCodeInstaller],
10
+ ['qwen', qwenInstaller],
11
+ ['codex', codexInstaller],
12
+ ['copilot', copilotInstaller],
13
+ ]);
14
+ /** Returns the installer for a given agent id, or `undefined` if unregistered. */
15
+ export function getInstaller(agentId) {
16
+ return registry.get(agentId);
17
+ }
18
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/installers/registry.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,qDAAqD;AACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAA0B;IAChD,CAAC,aAAa,EAAE,mBAAmB,CAAC;IACpC,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAC/B,CAAC,MAAM,EAAE,aAAa,CAAC;IACvB,CAAC,OAAO,EAAE,cAAc,CAAC;IACzB,CAAC,SAAS,EAAE,gBAAgB,CAAC;CAC9B,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC"}
@@ -38,7 +38,7 @@ export async function prepareChild(options) {
38
38
  await deleteBackup(adapter.id, scope);
39
39
  };
40
40
  return {
41
- execReq: { command, args, env: { ...cleanEnv, PATH: resolvedPath, ...adapterEnv } },
41
+ execReq: { command, args, env: { ...cleanEnv, PATH: resolvedPath, ...adapterEnv }, agentId: adapter.id, profileId: profile.id },
42
42
  cleanup,
43
43
  };
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"child.js","sourceRoot":"","sources":["../../../src/launcher/child.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child.js","sourceRoot":"","sources":["../../../src/launcher/child.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
1
  import type { AgentAdapter, LaunchScope } from '../adapters/base.js';
2
2
  import type { Profile, Provider } from '../config/schema.js';
3
+ /**
4
+ * Request object for executing an agent after config has been patched.
5
+ * Used by the TUI and CLI to hand off control to the external agent binary.
6
+ */
3
7
  export interface ExecRequest {
4
8
  command: string;
5
9
  args: string[];
6
10
  env: Record<string, string>;
7
11
  relaunch?: boolean;
8
12
  cleanup?: () => Promise<void>;
13
+ agentId?: string;
14
+ profileId?: string;
9
15
  }
10
16
  export interface IndependentLaunchOptions {
11
17
  adapter: AgentAdapter;
@@ -17,9 +23,16 @@ export interface IndependentLaunchOptions {
17
23
  cwd?: string;
18
24
  }
19
25
  /**
20
- * Готовит конфиг для независимого запуска агента.
21
- * Записывает backup текущего конфига, генерирует и сохраняет новый,
22
- * резолвит PATH и возвращает ExecRequest для запуска в терминале.
26
+ * Prepares the agent configuration for an independent launch.
27
+ *
28
+ * Workflow:
29
+ * 1. Backup the current agent config.
30
+ * 2. Generate and write the new agent config from the selected profile.
31
+ * 3. Resolve the full user PATH (via login shell) so the agent binary is discoverable.
32
+ * 4. Return an {@link ExecRequest} with the resolved environment.
33
+ *
34
+ * In this mode the user is responsible for restoring the original config
35
+ * (e.g. via `agento restore`).
23
36
  */
24
37
  export declare function launchIndependent(options: IndependentLaunchOptions): Promise<ExecRequest>;
25
38
  //# sourceMappingURL=independent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"independent.d.ts","sourceRoot":"","sources":["../../../src/launcher/independent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI7D,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC,CAyB/F"}
1
+ {"version":3,"file":"independent.d.ts","sourceRoot":"","sources":["../../../src/launcher/independent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI7D;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC,CA2B/F"}
@@ -1,9 +1,16 @@
1
1
  import { writeBackup } from '../config/store.js';
2
2
  import { shellPathResolver } from './shell-path-resolver.js';
3
3
  /**
4
- * Готовит конфиг для независимого запуска агента.
5
- * Записывает backup текущего конфига, генерирует и сохраняет новый,
6
- * резолвит PATH и возвращает ExecRequest для запуска в терминале.
4
+ * Prepares the agent configuration for an independent launch.
5
+ *
6
+ * Workflow:
7
+ * 1. Backup the current agent config.
8
+ * 2. Generate and write the new agent config from the selected profile.
9
+ * 3. Resolve the full user PATH (via login shell) so the agent binary is discoverable.
10
+ * 4. Return an {@link ExecRequest} with the resolved environment.
11
+ *
12
+ * In this mode the user is responsible for restoring the original config
13
+ * (e.g. via `agento restore`).
7
14
  */
8
15
  export async function launchIndependent(options) {
9
16
  const { adapter, profile, providers, scope, command, args = [], cwd } = options;
@@ -21,6 +28,8 @@ export async function launchIndependent(options) {
21
28
  command,
22
29
  args,
23
30
  env: { ...cleanEnv, PATH: resolvedPath, ...adapterEnv },
31
+ agentId: adapter.id,
32
+ profileId: profile.id,
24
33
  };
25
34
  }
26
35
  //# sourceMappingURL=independent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"independent.js","sourceRoot":"","sources":["../../../src/launcher/independent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAoB7D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAiC;IACvE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEhF,oCAAoC;IACpC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1D,0CAA0C;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1D,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAEjD,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAEvD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CACjG,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IAEhE,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE;KACxD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"independent.js","sourceRoot":"","sources":["../../../src/launcher/independent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AA0B7D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAiC;IACvE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEhF,oCAAoC;IACpC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1D,0CAA0C;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1D,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAEjD,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAEvD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CACjG,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IAEhE,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE;QACvD,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,SAAS,EAAE,OAAO,CAAC,EAAE;KACtB,CAAC;AACJ,CAAC"}
@@ -1,17 +1,36 @@
1
1
  import { type Profile } from '../config/schema.js';
2
2
  export type CreateProfileInput = Omit<Profile, 'id'>;
3
- /** Возвращает список всех профилей. */
3
+ /** Returns all configured profiles. */
4
4
  export declare function listProfiles(): Promise<Profile[]>;
5
- /** Добавляет новый профиль. Возвращает созданный профиль. */
5
+ /**
6
+ * Adds a new profile after validating against {@link ProfileSchema}.
7
+ * Generates a UUID for the profile id.
8
+ * @returns The newly created profile.
9
+ */
6
10
  export declare function addProfile(input: CreateProfileInput): Promise<Profile>;
7
- /** Обновляет профиль по id. Выбрасывает Error если не найден. */
11
+ /**
12
+ * Updates an existing profile by id.
13
+ * @throws Error if the profile is not found.
14
+ */
8
15
  export declare function updateProfile(id: string, updates: Partial<CreateProfileInput>): Promise<Profile>;
9
- /** Удаляет профиль по id или имени. Выбрасывает Error если не найден. */
16
+ /**
17
+ * Removes a profile by id or name.
18
+ * @throws Error if no matching profile is found.
19
+ */
10
20
  export declare function removeProfile(idOrName: string): Promise<void>;
11
- /** Находит профиль по id или имени. Возвращает undefined если не найден. */
21
+ /**
22
+ * Looks up a profile by id or name.
23
+ * @returns The matched profile, or `undefined` if none found.
24
+ */
12
25
  export declare function findProfile(idOrName: string): Promise<Profile | undefined>;
13
- /** Перемещает модель в профиле вверх (уменьшает индекс). */
26
+ /**
27
+ * Moves a model earlier in the profile's model list (decreases its index).
28
+ * @throws Error if the profile or index is invalid.
29
+ */
14
30
  export declare function moveModelUp(profileId: string, modelIndex: number): Promise<Profile>;
15
- /** Перемещает модель в профиле вниз (увеличивает индекс). */
31
+ /**
32
+ * Moves a model later in the profile's model list (increases its index).
33
+ * @throws Error if the profile or index is invalid.
34
+ */
16
35
  export declare function moveModelDown(profileId: string, modelIndex: number): Promise<Profile>;
17
36
  //# sourceMappingURL=profile-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile-manager.d.ts","sourceRoot":"","sources":["../../../src/profiles/profile-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,OAAO,EAAqB,MAAM,qBAAqB,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAErD,uCAAuC;AACvC,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAGvD;AAED,6DAA6D;AAC7D,wBAAsB,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAM5E;AAED,iEAAiE;AACjE,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED,yEAAyE;AACzE,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnE;AAED,4EAA4E;AAC5E,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAGhF;AAED,4DAA4D;AAC5D,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYzF;AAED,6DAA6D;AAC7D,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY3F"}
1
+ {"version":3,"file":"profile-manager.d.ts","sourceRoot":"","sources":["../../../src/profiles/profile-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,OAAO,EAAqB,MAAM,qBAAqB,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAErD,uCAAuC;AACvC,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAGvD;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAM5E;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnE;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAGhF;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYzF;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY3F"}
@@ -1,12 +1,16 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { readConfig, writeConfig } from '../config/store.js';
3
3
  import { ProfileSchema } from '../config/schema.js';
4
- /** Возвращает список всех профилей. */
4
+ /** Returns all configured profiles. */
5
5
  export async function listProfiles() {
6
6
  const config = await readConfig();
7
7
  return config.profiles;
8
8
  }
9
- /** Добавляет новый профиль. Возвращает созданный профиль. */
9
+ /**
10
+ * Adds a new profile after validating against {@link ProfileSchema}.
11
+ * Generates a UUID for the profile id.
12
+ * @returns The newly created profile.
13
+ */
10
14
  export async function addProfile(input) {
11
15
  const config = await readConfig();
12
16
  const profile = ProfileSchema.parse({ ...input, id: randomUUID() });
@@ -14,7 +18,10 @@ export async function addProfile(input) {
14
18
  await writeConfig(config);
15
19
  return profile;
16
20
  }
17
- /** Обновляет профиль по id. Выбрасывает Error если не найден. */
21
+ /**
22
+ * Updates an existing profile by id.
23
+ * @throws Error if the profile is not found.
24
+ */
18
25
  export async function updateProfile(id, updates) {
19
26
  const config = await readConfig();
20
27
  const index = config.profiles.findIndex((p) => p.id === id);
@@ -25,7 +32,10 @@ export async function updateProfile(id, updates) {
25
32
  await writeConfig(config);
26
33
  return updated;
27
34
  }
28
- /** Удаляет профиль по id или имени. Выбрасывает Error если не найден. */
35
+ /**
36
+ * Removes a profile by id or name.
37
+ * @throws Error if no matching profile is found.
38
+ */
29
39
  export async function removeProfile(idOrName) {
30
40
  const config = await readConfig();
31
41
  const index = config.profiles.findIndex((p) => p.id === idOrName || p.name === idOrName);
@@ -34,12 +44,18 @@ export async function removeProfile(idOrName) {
34
44
  config.profiles.splice(index, 1);
35
45
  await writeConfig(config);
36
46
  }
37
- /** Находит профиль по id или имени. Возвращает undefined если не найден. */
47
+ /**
48
+ * Looks up a profile by id or name.
49
+ * @returns The matched profile, or `undefined` if none found.
50
+ */
38
51
  export async function findProfile(idOrName) {
39
52
  const config = await readConfig();
40
53
  return config.profiles.find((p) => p.id === idOrName || p.name === idOrName);
41
54
  }
42
- /** Перемещает модель в профиле вверх (уменьшает индекс). */
55
+ /**
56
+ * Moves a model earlier in the profile's model list (decreases its index).
57
+ * @throws Error if the profile or index is invalid.
58
+ */
43
59
  export async function moveModelUp(profileId, modelIndex) {
44
60
  const config = await readConfig();
45
61
  const profile = config.profiles.find((p) => p.id === profileId);
@@ -55,7 +71,10 @@ export async function moveModelUp(profileId, modelIndex) {
55
71
  await writeConfig(config);
56
72
  return updated;
57
73
  }
58
- /** Перемещает модель в профиле вниз (увеличивает индекс). */
74
+ /**
75
+ * Moves a model later in the profile's model list (increases its index).
76
+ * @throws Error if the profile or index is invalid.
77
+ */
59
78
  export async function moveModelDown(profileId, modelIndex) {
60
79
  const config = await readConfig();
61
80
  const profile = config.profiles.find((p) => p.id === profileId);
@@ -1 +1 @@
1
- {"version":3,"file":"profile-manager.js","sourceRoot":"","sources":["../../../src/profiles/profile-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-manager.js","sourceRoot":"","sources":["../../../src/profiles/profile-manager.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,26 @@
1
1
  import { type Provider } from '../config/schema.js';
2
2
  export type CreateProviderInput = Omit<Provider, 'id'>;
3
- /** Возвращает список всех провайдеров. */
3
+ /** Returns all configured providers. */
4
4
  export declare function listProviders(): Promise<Provider[]>;
5
- /** Добавляет нового провайдера. Возвращает созданного провайдера. */
5
+ /**
6
+ * Adds a new provider after validating the input against {@link ProviderSchema}.
7
+ * Generates a UUID for the provider id.
8
+ * @returns The newly created provider.
9
+ */
6
10
  export declare function addProvider(input: CreateProviderInput): Promise<Provider>;
7
- /** Обновляет провайдера по id. Выбрасывает Error если не найден. */
11
+ /**
12
+ * Updates an existing provider by id.
13
+ * @throws Error if the provider is not found.
14
+ */
8
15
  export declare function updateProvider(id: string, updates: Partial<CreateProviderInput>): Promise<Provider>;
9
- /** Удаляет провайдера по id или имени. Выбрасывает Error если не найден. */
16
+ /**
17
+ * Removes a provider by id or name.
18
+ * @throws Error if no matching provider is found.
19
+ */
10
20
  export declare function removeProvider(idOrName: string): Promise<void>;
11
- /** Находит провайдера по id или имени. Возвращает undefined если не найден. */
21
+ /**
22
+ * Looks up a provider by id or name.
23
+ * @returns The matched provider, or `undefined` if none found.
24
+ */
12
25
  export declare function findProvider(idOrName: string): Promise<Provider | undefined>;
13
26
  //# sourceMappingURL=provider-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-manager.d.ts","sourceRoot":"","sources":["../../../src/providers/provider-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpE,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAEvD,0CAA0C;AAC1C,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAGzD;AAED,qEAAqE;AACrE,wBAAsB,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAM/E;AAED,oEAAoE;AACpE,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACpC,OAAO,CAAC,QAAQ,CAAC,CAQnB;AAED,4EAA4E;AAC5E,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpE;AAED,+EAA+E;AAC/E,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAGlF"}
1
+ {"version":3,"file":"provider-manager.d.ts","sourceRoot":"","sources":["../../../src/providers/provider-manager.ts"],"names":[],"mappings":"AASA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpE,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAEvD,wCAAwC;AACxC,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAGzD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAM/E;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACpC,OAAO,CAAC,QAAQ,CAAC,CAQnB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpE;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAGlF"}