@emaxe/agento 0.4.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 (116) hide show
  1. package/AGENTS.md +28 -0
  2. package/CHANGELOG.md +21 -1
  3. package/README.md +23 -17
  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/claude-code.d.ts +4 -0
  44. package/dist/src/installers/claude-code.d.ts.map +1 -1
  45. package/dist/src/installers/claude-code.js +4 -0
  46. package/dist/src/installers/claude-code.js.map +1 -1
  47. package/dist/src/installers/codex.d.ts +4 -0
  48. package/dist/src/installers/codex.d.ts.map +1 -1
  49. package/dist/src/installers/codex.js +4 -0
  50. package/dist/src/installers/codex.js.map +1 -1
  51. package/dist/src/installers/copilot.d.ts +19 -0
  52. package/dist/src/installers/copilot.d.ts.map +1 -0
  53. package/dist/src/installers/copilot.js +55 -0
  54. package/dist/src/installers/copilot.js.map +1 -0
  55. package/dist/src/installers/opencode.d.ts +4 -0
  56. package/dist/src/installers/opencode.d.ts.map +1 -1
  57. package/dist/src/installers/opencode.js +4 -0
  58. package/dist/src/installers/opencode.js.map +1 -1
  59. package/dist/src/installers/qwen.d.ts +4 -0
  60. package/dist/src/installers/qwen.d.ts.map +1 -1
  61. package/dist/src/installers/qwen.js +4 -0
  62. package/dist/src/installers/qwen.js.map +1 -1
  63. package/dist/src/installers/registry.d.ts +7 -0
  64. package/dist/src/installers/registry.d.ts.map +1 -1
  65. package/dist/src/installers/registry.js +4 -0
  66. package/dist/src/installers/registry.js.map +1 -1
  67. package/dist/src/launcher/child.js +1 -1
  68. package/dist/src/launcher/child.js.map +1 -1
  69. package/dist/src/launcher/independent.d.ts +16 -3
  70. package/dist/src/launcher/independent.d.ts.map +1 -1
  71. package/dist/src/launcher/independent.js +12 -3
  72. package/dist/src/launcher/independent.js.map +1 -1
  73. package/dist/src/profiles/profile-manager.d.ts +26 -7
  74. package/dist/src/profiles/profile-manager.d.ts.map +1 -1
  75. package/dist/src/profiles/profile-manager.js +26 -7
  76. package/dist/src/profiles/profile-manager.js.map +1 -1
  77. package/dist/src/providers/provider-manager.d.ts +18 -5
  78. package/dist/src/providers/provider-manager.d.ts.map +1 -1
  79. package/dist/src/providers/provider-manager.js +25 -5
  80. package/dist/src/providers/provider-manager.js.map +1 -1
  81. package/dist/src/tui/App.d.ts +12 -1
  82. package/dist/src/tui/App.d.ts.map +1 -1
  83. package/dist/src/tui/App.js +6 -2
  84. package/dist/src/tui/App.js.map +1 -1
  85. package/dist/src/tui/screens/AgentInstall.d.ts.map +1 -1
  86. package/dist/src/tui/screens/AgentInstall.js +1 -0
  87. package/dist/src/tui/screens/AgentInstall.js.map +1 -1
  88. package/dist/src/tui/screens/Agents.d.ts +1 -0
  89. package/dist/src/tui/screens/Agents.d.ts.map +1 -1
  90. package/dist/src/tui/screens/Agents.js +4 -1
  91. package/dist/src/tui/screens/Agents.js.map +1 -1
  92. package/dist/src/tui/screens/LaunchAgent.d.ts +14 -1
  93. package/dist/src/tui/screens/LaunchAgent.d.ts.map +1 -1
  94. package/dist/src/tui/screens/LaunchAgent.js +97 -19
  95. package/dist/src/tui/screens/LaunchAgent.js.map +1 -1
  96. package/dist/src/tui/screens/MainMenu.d.ts +7 -0
  97. package/dist/src/tui/screens/MainMenu.d.ts.map +1 -1
  98. package/dist/src/tui/screens/MainMenu.js +7 -0
  99. package/dist/src/tui/screens/MainMenu.js.map +1 -1
  100. package/dist/src/tui/screens/Profiles.d.ts +1 -0
  101. package/dist/src/tui/screens/Profiles.d.ts.map +1 -1
  102. package/dist/src/tui/screens/Profiles.js +1 -0
  103. package/dist/src/tui/screens/Profiles.js.map +1 -1
  104. package/dist/src/tui/screens/Providers.d.ts +1 -0
  105. package/dist/src/tui/screens/Providers.d.ts.map +1 -1
  106. package/dist/src/tui/screens/Providers.js +1 -0
  107. package/dist/src/tui/screens/Providers.js.map +1 -1
  108. package/dist/src/tui/screens/Settings.d.ts +1 -0
  109. package/dist/src/tui/screens/Settings.d.ts.map +1 -1
  110. package/dist/src/tui/screens/Settings.js +20 -3
  111. package/dist/src/tui/screens/Settings.js.map +1 -1
  112. package/dist/src/tui/start.d.ts +9 -0
  113. package/dist/src/tui/start.d.ts.map +1 -1
  114. package/dist/src/tui/start.js +15 -0
  115. package/dist/src/tui/start.js.map +1 -1
  116. package/package.json +1 -1
@@ -1,10 +1,12 @@
1
1
  import { spawnSync, spawn } from 'node:child_process';
2
+ /** Installer for the OpenCode CLI agent. */
2
3
  class OpenCodeInstaller {
3
4
  agentId = 'opencode';
4
5
  manualInstructions = {
5
6
  commands: ['npm install -g opencode'],
6
7
  docsUrl: 'https://opencode.ai/docs',
7
8
  };
9
+ /** Checks whether `opencode --version` succeeds. */
8
10
  async checkInstalled() {
9
11
  const result = spawnSync('opencode', ['--version'], { encoding: 'utf8' });
10
12
  if (result.status !== 0) {
@@ -15,6 +17,7 @@ class OpenCodeInstaller {
15
17
  const version = match?.[1];
16
18
  return { installed: true, ...(version !== undefined ? { version } : {}) };
17
19
  }
20
+ /** Verifies that `npm` is available on the system. */
18
21
  async checkEnvironment() {
19
22
  const result = spawnSync('npm', ['--version'], { encoding: 'utf8' });
20
23
  if (result.status !== 0) {
@@ -22,6 +25,7 @@ class OpenCodeInstaller {
22
25
  }
23
26
  return { ok: true, missing: [] };
24
27
  }
28
+ /** Runs `npm install -g opencode` and reports the result. */
25
29
  async install() {
26
30
  return new Promise((resolve) => {
27
31
  const stderrChunks = [];
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/installers/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/installers/opencode.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  import type { AgentInstaller, InstallCheckResult, EnvCheckResult, InstallResult } from './base.js';
2
2
  import type { AgentId } from '../config/schema.js';
3
+ /** Installer for the Qwen CLI agent. */
3
4
  declare class QwenInstaller implements AgentInstaller {
4
5
  readonly agentId: AgentId;
5
6
  readonly manualInstructions: {
6
7
  commands: string[];
7
8
  docsUrl: string;
8
9
  };
10
+ /** Checks whether `qwen --version` succeeds. */
9
11
  checkInstalled(): Promise<InstallCheckResult>;
12
+ /** Verifies that `npm` is available on the system. */
10
13
  checkEnvironment(): Promise<EnvCheckResult>;
14
+ /** Runs `npm install -g @qwen-code/qwen-code@latest` and reports the result. */
11
15
  install(): Promise<InstallResult>;
12
16
  }
13
17
  export declare const qwenInstaller: QwenInstaller;
@@ -1 +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,cAAM,aAAc,YAAW,cAAc;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAU;IAEnC,QAAQ,CAAC,kBAAkB;;;MAGzB;IAEI,cAAc,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAW7C,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC;IAQ3C,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;CA2BxC;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
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"}
@@ -1,10 +1,12 @@
1
1
  import { spawnSync, spawn } from 'node:child_process';
2
+ /** Installer for the Qwen CLI agent. */
2
3
  class QwenInstaller {
3
4
  agentId = 'qwen';
4
5
  manualInstructions = {
5
6
  commands: ['npm install -g @qwen-code/qwen-code@latest'],
6
7
  docsUrl: 'https://github.com/QwenLM/qwen-code',
7
8
  };
9
+ /** Checks whether `qwen --version` succeeds. */
8
10
  async checkInstalled() {
9
11
  const result = spawnSync('qwen', ['--version'], { encoding: 'utf8' });
10
12
  if (result.status !== 0) {
@@ -15,6 +17,7 @@ class QwenInstaller {
15
17
  const version = match?.[1];
16
18
  return { installed: true, ...(version !== undefined ? { version } : {}) };
17
19
  }
20
+ /** Verifies that `npm` is available on the system. */
18
21
  async checkEnvironment() {
19
22
  const result = spawnSync('npm', ['--version'], { encoding: 'utf8' });
20
23
  if (result.status !== 0) {
@@ -22,6 +25,7 @@ class QwenInstaller {
22
25
  }
23
26
  return { ok: true, missing: [] };
24
27
  }
28
+ /** Runs `npm install -g @qwen-code/qwen-code@latest` and reports the result. */
25
29
  async install() {
26
30
  return new Promise((resolve) => {
27
31
  const stderrChunks = [];
@@ -1 +1 @@
1
- {"version":3,"file":"qwen.js","sourceRoot":"","sources":["../../../src/installers/qwen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAItD,MAAM,aAAa;IACR,OAAO,GAAY,MAAM,CAAC;IAE1B,kBAAkB,GAAG;QAC5B,QAAQ,EAAE,CAAC,4CAA4C,CAAC;QACxD,OAAO,EAAE,qCAAqC;KAC/C,CAAC;IAEF,KAAK,CAAC,cAAc;QAClB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;YAC5C,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,6BAA6B,CAAC,EAAE;gBAC3E,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;gBACpC,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClE,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,wBAAwB,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"qwen.js","sourceRoot":"","sources":["../../../src/installers/qwen.ts"],"names":[],"mappings":"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"}
@@ -1,4 +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
+ */
1
7
  import type { AgentId } from '../config/schema.js';
2
8
  import type { AgentInstaller } from './base.js';
9
+ /** Returns the installer for a given agent id, or `undefined` if unregistered. */
3
10
  export declare function getInstaller(agentId: AgentId): AgentInstaller | undefined;
4
11
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/installers/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAahD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAEzE"}
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"}
@@ -2,12 +2,16 @@ import { claudeCodeInstaller } from './claude-code.js';
2
2
  import { openCodeInstaller } from './opencode.js';
3
3
  import { qwenInstaller } from './qwen.js';
4
4
  import { codexInstaller } from './codex.js';
5
+ import { copilotInstaller } from './copilot.js';
6
+ /** Internal map of agent ids to their installers. */
5
7
  const registry = new Map([
6
8
  ['claude-code', claudeCodeInstaller],
7
9
  ['opencode', openCodeInstaller],
8
10
  ['qwen', qwenInstaller],
9
11
  ['codex', codexInstaller],
12
+ ['copilot', copilotInstaller],
10
13
  ]);
14
+ /** Returns the installer for a given agent id, or `undefined` if unregistered. */
11
15
  export function getInstaller(agentId) {
12
16
  return registry.get(agentId);
13
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/installers/registry.ts"],"names":[],"mappings":"AAEA,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;AAE5C,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;CAC1B,CAAC,CAAC;AAEH,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC"}
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"}
@@ -1,12 +1,23 @@
1
+ /**
2
+ * High-level CRUD operations for API providers.
3
+ *
4
+ * All functions read and write the central `~/.agento/config.json` via
5
+ * {@link readConfig} / {@link writeConfig} so that every change is persisted
6
+ * immediately.
7
+ */
1
8
  import { randomUUID } from 'node:crypto';
2
9
  import { readConfig, writeConfig } from '../config/store.js';
3
10
  import { ProviderSchema } from '../config/schema.js';
4
- /** Возвращает список всех провайдеров. */
11
+ /** Returns all configured providers. */
5
12
  export async function listProviders() {
6
13
  const config = await readConfig();
7
14
  return config.providers;
8
15
  }
9
- /** Добавляет нового провайдера. Возвращает созданного провайдера. */
16
+ /**
17
+ * Adds a new provider after validating the input against {@link ProviderSchema}.
18
+ * Generates a UUID for the provider id.
19
+ * @returns The newly created provider.
20
+ */
10
21
  export async function addProvider(input) {
11
22
  const config = await readConfig();
12
23
  const provider = ProviderSchema.parse({ ...input, id: randomUUID() });
@@ -14,7 +25,10 @@ export async function addProvider(input) {
14
25
  await writeConfig(config);
15
26
  return provider;
16
27
  }
17
- /** Обновляет провайдера по id. Выбрасывает Error если не найден. */
28
+ /**
29
+ * Updates an existing provider by id.
30
+ * @throws Error if the provider is not found.
31
+ */
18
32
  export async function updateProvider(id, updates) {
19
33
  const config = await readConfig();
20
34
  const index = config.providers.findIndex((p) => p.id === id);
@@ -25,7 +39,10 @@ export async function updateProvider(id, updates) {
25
39
  await writeConfig(config);
26
40
  return updated;
27
41
  }
28
- /** Удаляет провайдера по id или имени. Выбрасывает Error если не найден. */
42
+ /**
43
+ * Removes a provider by id or name.
44
+ * @throws Error if no matching provider is found.
45
+ */
29
46
  export async function removeProvider(idOrName) {
30
47
  const config = await readConfig();
31
48
  const index = config.providers.findIndex((p) => p.id === idOrName || p.name === idOrName);
@@ -34,7 +51,10 @@ export async function removeProvider(idOrName) {
34
51
  config.providers.splice(index, 1);
35
52
  await writeConfig(config);
36
53
  }
37
- /** Находит провайдера по id или имени. Возвращает undefined если не найден. */
54
+ /**
55
+ * Looks up a provider by id or name.
56
+ * @returns The matched provider, or `undefined` if none found.
57
+ */
38
58
  export async function findProvider(idOrName) {
39
59
  const config = await readConfig();
40
60
  return config.providers.find((p) => p.id === idOrName || p.name === idOrName);
@@ -1 +1 @@
1
- {"version":3,"file":"provider-manager.js","sourceRoot":"","sources":["../../../src/providers/provider-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AAIpE,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAA0B;IAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,OAAqC;IAErC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjF,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IAClC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAChD,CAAC;IACF,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"provider-manager.js","sourceRoot":"","sources":["../../../src/providers/provider-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AAIpE,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAA0B;IAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,OAAqC;IAErC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjF,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IAClC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAChD,CAAC;IACF,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AAChF,CAAC"}
@@ -1,10 +1,21 @@
1
+ /**
2
+ * Root TUI component. Manages screen routing between menu and sub-screens.
3
+ */
1
4
  import React from 'react';
2
5
  import type { ExecRequest } from '../launcher/independent.js';
6
+ /** Available screens in the TUI. */
3
7
  export type Screen = 'main' | 'launch' | 'providers' | 'profiles' | 'agents' | 'settings';
4
8
  interface AppProps {
5
9
  dev?: boolean;
6
10
  onExec?: (req: ExecRequest) => void;
11
+ launchError?: {
12
+ agentId: string;
13
+ profileId?: string;
14
+ error?: string;
15
+ };
16
+ agentStatusCache?: Record<string, boolean>;
7
17
  }
8
- export declare function App({ dev, onExec }: AppProps): React.JSX.Element;
18
+ /** Root Ink component that switches between TUI screens. */
19
+ export declare function App({ dev, onExec, launchError, agentStatusCache }: AppProps): React.JSX.Element;
9
20
  export {};
10
21
  //# sourceMappingURL=App.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/tui/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE1F,UAAU,QAAQ;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CACrC;AAED,wBAAgB,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA0ChE"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/tui/App.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,oCAAoC;AACpC,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE1F,UAAU,QAAQ;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,4DAA4D;AAC5D,wBAAgB,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA0C/F"}
@@ -1,4 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Root TUI component. Manages screen routing between menu and sub-screens.
4
+ */
2
5
  import { useState } from 'react';
3
6
  import { useApp } from 'ink';
4
7
  import { MainMenu } from './screens/MainMenu.js';
@@ -7,7 +10,8 @@ import { Providers } from './screens/Providers.js';
7
10
  import { Profiles } from './screens/Profiles.js';
8
11
  import { Agents } from './screens/Agents.js';
9
12
  import { Settings } from './screens/Settings.js';
10
- export function App({ dev, onExec }) {
13
+ /** Root Ink component that switches between TUI screens. */
14
+ export function App({ dev, onExec, launchError, agentStatusCache }) {
11
15
  const [screen, setScreen] = useState('main');
12
16
  const { exit } = useApp();
13
17
  const navigate = (target) => {
@@ -24,7 +28,7 @@ export function App({ dev, onExec }) {
24
28
  return _jsx(MainMenu, { onSelect: navigate, onExit: exit });
25
29
  }
26
30
  if (screen === 'launch') {
27
- return _jsx(LaunchAgent, { dev: dev, onBack: goBack, onExec: handleExec });
31
+ return _jsx(LaunchAgent, { dev: dev, onBack: goBack, onExec: handleExec, launchError: launchError, agentStatusCache: agentStatusCache });
28
32
  }
29
33
  if (screen === 'providers') {
30
34
  return _jsx(Providers, { onBack: goBack });
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/tui/App.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAUjD,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAY;IAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,MAAM,CAAC,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAQ,EAAE;QACxC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,GAAgB,EAAQ,EAAE;QAC5C,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAI,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAI,CAAC;IACvE,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,OAAO,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;IACvC,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,KAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,KAAC,MAAM,IAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAI,CAAC;IAC9C,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,KAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;IACtC,CAAC;IAED,OAAO,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAI,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/tui/App.tsx"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAajD,4DAA4D;AAC5D,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAY;IAC1E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,MAAM,CAAC,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAQ,EAAE;QACxC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,GAAgB,EAAQ,EAAE;QAC5C,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAI,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,GAAI,CAAC;IACrI,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,OAAO,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;IACvC,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,KAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,KAAC,MAAM,IAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAI,CAAC;IAC9C,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,KAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;IACtC,CAAC;IAED,OAAO,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAI,CAAC;AACxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentInstall.d.ts","sourceRoot":"","sources":["../../../../src/tui/screens/AgentInstall.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAoBtD,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqO9F"}
1
+ {"version":3,"file":"AgentInstall.d.ts","sourceRoot":"","sources":["../../../../src/tui/screens/AgentInstall.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAqBtD,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqO9F"}
@@ -8,6 +8,7 @@ const AGENT_LABELS = {
8
8
  opencode: 'OpenCode',
9
9
  qwen: 'Qwen CLI',
10
10
  codex: 'Codex CLI',
11
+ copilot: 'Copilot CLI',
11
12
  };
12
13
  const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
13
14
  export function AgentInstall({ agentId, onBack, onDone }) {