@action-llama/action-llama 0.17.7 → 0.18.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 (157) hide show
  1. package/agent-docs/AGENTS.md +5 -5
  2. package/dist/agents/bash-prefix.d.ts +9 -0
  3. package/dist/agents/bash-prefix.d.ts.map +1 -0
  4. package/dist/agents/bash-prefix.js +15 -0
  5. package/dist/agents/bash-prefix.js.map +1 -0
  6. package/dist/agents/chat-entry.d.ts +9 -0
  7. package/dist/agents/chat-entry.d.ts.map +1 -0
  8. package/dist/agents/chat-entry.js +165 -0
  9. package/dist/agents/chat-entry.js.map +1 -0
  10. package/dist/agents/container-entry.d.ts.map +1 -1
  11. package/dist/agents/container-entry.js +11 -148
  12. package/dist/agents/container-entry.js.map +1 -1
  13. package/dist/agents/container-runner.d.ts +1 -1
  14. package/dist/agents/container-runner.d.ts.map +1 -1
  15. package/dist/agents/container-runner.js.map +1 -1
  16. package/dist/agents/credential-setup.d.ts +21 -0
  17. package/dist/agents/credential-setup.d.ts.map +1 -0
  18. package/dist/agents/credential-setup.js +160 -0
  19. package/dist/agents/credential-setup.js.map +1 -0
  20. package/dist/agents/prompt.d.ts +2 -1
  21. package/dist/agents/prompt.d.ts.map +1 -1
  22. package/dist/agents/prompt.js +8 -2
  23. package/dist/agents/prompt.js.map +1 -1
  24. package/dist/agents/runner.d.ts +1 -1
  25. package/dist/agents/runner.d.ts.map +1 -1
  26. package/dist/agents/runner.js.map +1 -1
  27. package/dist/agents/session-factory.d.ts.map +1 -1
  28. package/dist/agents/session-factory.js +2 -1
  29. package/dist/agents/session-factory.js.map +1 -1
  30. package/dist/build-info.json +1 -1
  31. package/dist/chat/container-launcher.d.ts +33 -0
  32. package/dist/chat/container-launcher.d.ts.map +1 -0
  33. package/dist/chat/container-launcher.js +82 -0
  34. package/dist/chat/container-launcher.js.map +1 -0
  35. package/dist/chat/event-mapper.d.ts +27 -0
  36. package/dist/chat/event-mapper.d.ts.map +1 -0
  37. package/dist/chat/event-mapper.js +56 -0
  38. package/dist/chat/event-mapper.js.map +1 -0
  39. package/dist/chat/ink-adapter.d.ts +9 -0
  40. package/dist/chat/ink-adapter.d.ts.map +1 -0
  41. package/dist/chat/ink-adapter.js +120 -0
  42. package/dist/chat/ink-adapter.js.map +1 -0
  43. package/dist/chat/local-transport.d.ts +28 -0
  44. package/dist/chat/local-transport.d.ts.map +1 -0
  45. package/dist/chat/local-transport.js +68 -0
  46. package/dist/chat/local-transport.js.map +1 -0
  47. package/dist/chat/remote-transport.d.ts +30 -0
  48. package/dist/chat/remote-transport.d.ts.map +1 -0
  49. package/dist/chat/remote-transport.js +110 -0
  50. package/dist/chat/remote-transport.js.map +1 -0
  51. package/dist/chat/routes.d.ts +10 -0
  52. package/dist/chat/routes.d.ts.map +1 -0
  53. package/dist/chat/routes.js +58 -0
  54. package/dist/chat/routes.js.map +1 -0
  55. package/dist/chat/session-manager.d.ts +20 -0
  56. package/dist/chat/session-manager.d.ts.map +1 -0
  57. package/dist/chat/session-manager.js +64 -0
  58. package/dist/chat/session-manager.js.map +1 -0
  59. package/dist/chat/transport.d.ts +15 -0
  60. package/dist/chat/transport.d.ts.map +1 -0
  61. package/dist/chat/transport.js +5 -0
  62. package/dist/chat/transport.js.map +1 -0
  63. package/dist/chat/types.d.ts +50 -0
  64. package/dist/chat/types.d.ts.map +1 -0
  65. package/dist/chat/types.js +7 -0
  66. package/dist/chat/types.js.map +1 -0
  67. package/dist/chat/validation.d.ts +30 -0
  68. package/dist/chat/validation.d.ts.map +1 -0
  69. package/dist/chat/validation.js +79 -0
  70. package/dist/chat/validation.js.map +1 -0
  71. package/dist/chat/ws-handler.d.ts +31 -0
  72. package/dist/chat/ws-handler.d.ts.map +1 -0
  73. package/dist/chat/ws-handler.js +247 -0
  74. package/dist/chat/ws-handler.js.map +1 -0
  75. package/dist/cli/commands/add.d.ts +14 -0
  76. package/dist/cli/commands/add.d.ts.map +1 -0
  77. package/dist/cli/commands/add.js +188 -0
  78. package/dist/cli/commands/add.js.map +1 -0
  79. package/dist/cli/commands/agent.d.ts.map +1 -1
  80. package/dist/cli/commands/agent.js +93 -41
  81. package/dist/cli/commands/agent.js.map +1 -1
  82. package/dist/cli/commands/chat.d.ts.map +1 -1
  83. package/dist/cli/commands/chat.js +38 -2
  84. package/dist/cli/commands/chat.js.map +1 -1
  85. package/dist/cli/commands/doctor.d.ts.map +1 -1
  86. package/dist/cli/commands/doctor.js +26 -13
  87. package/dist/cli/commands/doctor.js.map +1 -1
  88. package/dist/cli/commands/run.d.ts +1 -1
  89. package/dist/cli/commands/run.d.ts.map +1 -1
  90. package/dist/cli/commands/run.js +2 -1
  91. package/dist/cli/commands/run.js.map +1 -1
  92. package/dist/cli/commands/update.d.ts +14 -0
  93. package/dist/cli/commands/update.d.ts.map +1 -0
  94. package/dist/cli/commands/update.js +191 -0
  95. package/dist/cli/commands/update.js.map +1 -0
  96. package/dist/cli/commands/webhook.js +9 -10
  97. package/dist/cli/commands/webhook.js.map +1 -1
  98. package/dist/cli/main.js +32 -2
  99. package/dist/cli/main.js.map +1 -1
  100. package/dist/control/routes/control.d.ts +1 -1
  101. package/dist/control/routes/control.d.ts.map +1 -1
  102. package/dist/control/routes/control.js +12 -2
  103. package/dist/control/routes/control.js.map +1 -1
  104. package/dist/control/routes/dashboard.d.ts.map +1 -1
  105. package/dist/control/routes/dashboard.js +11 -1
  106. package/dist/control/routes/dashboard.js.map +1 -1
  107. package/dist/execution/execution.d.ts +5 -2
  108. package/dist/execution/execution.d.ts.map +1 -1
  109. package/dist/execution/execution.js +22 -7
  110. package/dist/execution/execution.js.map +1 -1
  111. package/dist/execution/runner-pool.d.ts +1 -1
  112. package/dist/execution/runner-pool.d.ts.map +1 -1
  113. package/dist/execution/runner-setup.d.ts.map +1 -1
  114. package/dist/execution/runner-setup.js +15 -2
  115. package/dist/execution/runner-setup.js.map +1 -1
  116. package/dist/frontend/assets/index-Cb_hkpne.js +13 -0
  117. package/dist/frontend/assets/index-ClYf0bqf.css +2 -0
  118. package/dist/frontend/index.html +2 -2
  119. package/dist/gateway/index.d.ts +11 -0
  120. package/dist/gateway/index.d.ts.map +1 -1
  121. package/dist/gateway/index.js +32 -1
  122. package/dist/gateway/index.js.map +1 -1
  123. package/dist/remote/push.js +1 -4
  124. package/dist/remote/push.js.map +1 -1
  125. package/dist/scheduler/gateway-setup.d.ts +3 -0
  126. package/dist/scheduler/gateway-setup.d.ts.map +1 -1
  127. package/dist/scheduler/gateway-setup.js +47 -7
  128. package/dist/scheduler/gateway-setup.js.map +1 -1
  129. package/dist/scheduler/index.d.ts.map +1 -1
  130. package/dist/scheduler/index.js +4 -1
  131. package/dist/scheduler/index.js.map +1 -1
  132. package/dist/setup/scaffold.d.ts.map +1 -1
  133. package/dist/setup/scaffold.js +21 -21
  134. package/dist/setup/scaffold.js.map +1 -1
  135. package/dist/shared/config.d.ts +29 -5
  136. package/dist/shared/config.d.ts.map +1 -1
  137. package/dist/shared/config.js +50 -37
  138. package/dist/shared/config.js.map +1 -1
  139. package/dist/shared/environment.d.ts +0 -7
  140. package/dist/shared/environment.d.ts.map +1 -1
  141. package/dist/shared/environment.js +0 -29
  142. package/dist/shared/environment.js.map +1 -1
  143. package/dist/shared/validation.d.ts +9 -2
  144. package/dist/shared/validation.d.ts.map +1 -1
  145. package/dist/shared/validation.js +39 -20
  146. package/dist/shared/validation.js.map +1 -1
  147. package/dist/tui/App.js +2 -2
  148. package/dist/tui/App.js.map +1 -1
  149. package/dist/tui/status-tracker.d.ts +8 -0
  150. package/dist/tui/status-tracker.d.ts.map +1 -1
  151. package/dist/tui/status-tracker.js +27 -0
  152. package/dist/tui/status-tracker.js.map +1 -1
  153. package/dist/webhooks/providers/index.js +4 -4
  154. package/dist/webhooks/providers/index.js.map +1 -1
  155. package/package.json +3 -1
  156. package/dist/frontend/assets/index-heXAA4Ev.js +0 -13
  157. package/dist/frontend/assets/index-tjVM5-7N.css +0 -2
@@ -0,0 +1,188 @@
1
+ /**
2
+ * al add — install a skill from a git repository.
3
+ *
4
+ * 1. Fetch repo (shallow clone to temp dir)
5
+ * 2. Discover SKILL.md files (root or skills/star/)
6
+ * 3. If multiple and no --skill, prompt user to pick
7
+ * 4. Copy SKILL.md + config.toml into agents dir
8
+ * 5. Run al config for interactive gap-filling
9
+ */
10
+ import { existsSync, mkdirSync, copyFileSync, readFileSync } from "fs";
11
+ import { resolve, basename } from "path";
12
+ import { execFileSync } from "child_process";
13
+ import { mkdtempSync, rmSync, readdirSync, statSync } from "fs";
14
+ import { tmpdir } from "os";
15
+ import { select, input } from "@inquirer/prompts";
16
+ import { validateAgentName } from "../../shared/config.js";
17
+ import { parseFrontmatter } from "../../shared/frontmatter.js";
18
+ import { parse as parseTOML, stringify as stringifyTOML } from "smol-toml";
19
+ // Discover SKILL.md files in a cloned repo.
20
+ // Checks: root SKILL.md (single-skill repo), skills/name/SKILL.md (collection).
21
+ function discoverSkills(repoPath) {
22
+ const skills = [];
23
+ // Check root-level SKILL.md (single-skill repo)
24
+ const rootSkill = resolve(repoPath, "SKILL.md");
25
+ if (existsSync(rootSkill)) {
26
+ const { name, description } = readSkillMeta(rootSkill);
27
+ skills.push({
28
+ name: name || basename(repoPath),
29
+ description,
30
+ skillMdPath: rootSkill,
31
+ configTomlPath: existsSync(resolve(repoPath, "config.toml"))
32
+ ? resolve(repoPath, "config.toml")
33
+ : undefined,
34
+ });
35
+ }
36
+ // Check skills/*/ (collection repo)
37
+ const skillsDir = resolve(repoPath, "skills");
38
+ if (existsSync(skillsDir) && statSync(skillsDir).isDirectory()) {
39
+ for (const entry of readdirSync(skillsDir)) {
40
+ const entryPath = resolve(skillsDir, entry);
41
+ if (!statSync(entryPath).isDirectory())
42
+ continue;
43
+ const skillMd = resolve(entryPath, "SKILL.md");
44
+ if (!existsSync(skillMd))
45
+ continue;
46
+ const { name, description } = readSkillMeta(skillMd);
47
+ skills.push({
48
+ name: name || entry,
49
+ description,
50
+ skillMdPath: skillMd,
51
+ configTomlPath: existsSync(resolve(entryPath, "config.toml"))
52
+ ? resolve(entryPath, "config.toml")
53
+ : undefined,
54
+ });
55
+ }
56
+ }
57
+ return skills;
58
+ }
59
+ function readSkillMeta(skillMdPath) {
60
+ try {
61
+ const raw = readFileSync(skillMdPath, "utf-8");
62
+ const { data } = parseFrontmatter(raw);
63
+ return {
64
+ name: typeof data.name === "string" ? data.name : undefined,
65
+ description: typeof data.description === "string" ? data.description : undefined,
66
+ };
67
+ }
68
+ catch {
69
+ return {};
70
+ }
71
+ }
72
+ function normalizeRepo(repo) {
73
+ // GitHub shorthand: author/repo -> https://github.com/author/repo.git
74
+ if (/^[a-zA-Z0-9_-]+\/[a-zA-Z0-9._-]+$/.test(repo)) {
75
+ return `https://github.com/${repo}.git`;
76
+ }
77
+ return repo;
78
+ }
79
+ export async function execute(repo, opts) {
80
+ const projectPath = resolve(opts.project);
81
+ const agentsDir = resolve(projectPath, "agents");
82
+ // 1. Clone to temp dir
83
+ const tmpDir = mkdtempSync(resolve(tmpdir(), "al-add-"));
84
+ try {
85
+ const gitUrl = normalizeRepo(repo);
86
+ console.log(`Fetching ${gitUrl}...`);
87
+ execFileSync("git", ["clone", "--depth", "1", "--single-branch", gitUrl, tmpDir], {
88
+ stdio: "pipe",
89
+ });
90
+ // 2. Discover skills
91
+ const skills = discoverSkills(tmpDir);
92
+ if (skills.length === 0) {
93
+ throw new Error(`No SKILL.md files found in ${repo}.`);
94
+ }
95
+ // 3. Select skill
96
+ let skill;
97
+ if (opts.skill) {
98
+ const match = skills.find((s) => s.name === opts.skill);
99
+ if (!match) {
100
+ const available = skills.map((s) => s.name).join(", ");
101
+ throw new Error(`Skill "${opts.skill}" not found. Available: ${available}`);
102
+ }
103
+ skill = match;
104
+ }
105
+ else if (skills.length === 1) {
106
+ skill = skills[0];
107
+ }
108
+ else {
109
+ skill = await select({
110
+ message: "Select a skill to install:",
111
+ choices: skills.map((s) => ({
112
+ name: s.description ? `${s.name} — ${s.description}` : s.name,
113
+ value: s,
114
+ })),
115
+ });
116
+ }
117
+ // 4. Determine agent directory name
118
+ let agentName = skill.name;
119
+ // Validate name format
120
+ try {
121
+ validateAgentName(agentName);
122
+ }
123
+ catch {
124
+ agentName = await input({
125
+ message: `Skill name "${skill.name}" is not a valid agent name. Enter a name:`,
126
+ validate: (v) => {
127
+ try {
128
+ validateAgentName(v);
129
+ return true;
130
+ }
131
+ catch (err) {
132
+ return err.message;
133
+ }
134
+ },
135
+ });
136
+ }
137
+ // Check for conflicts
138
+ const agentDir = resolve(agentsDir, agentName);
139
+ if (existsSync(agentDir)) {
140
+ agentName = await input({
141
+ message: `Agent "${agentName}" already exists. Enter a different name:`,
142
+ validate: (v) => {
143
+ try {
144
+ validateAgentName(v);
145
+ }
146
+ catch (err) {
147
+ return err.message;
148
+ }
149
+ if (existsSync(resolve(agentsDir, v))) {
150
+ return `Agent "${v}" already exists.`;
151
+ }
152
+ return true;
153
+ },
154
+ });
155
+ }
156
+ // 5. Copy files
157
+ const destDir = resolve(agentsDir, agentName);
158
+ mkdirSync(destDir, { recursive: true });
159
+ copyFileSync(skill.skillMdPath, resolve(destDir, "SKILL.md"));
160
+ if (skill.configTomlPath) {
161
+ // Copy config.toml and add source field
162
+ const rawToml = readFileSync(skill.configTomlPath, "utf-8");
163
+ let configObj;
164
+ try {
165
+ configObj = parseTOML(rawToml);
166
+ }
167
+ catch {
168
+ configObj = {};
169
+ }
170
+ configObj.source = repo;
171
+ const { writeFileSync } = await import("fs");
172
+ writeFileSync(resolve(destDir, "config.toml"), stringifyTOML(configObj) + "\n");
173
+ }
174
+ else {
175
+ // Create minimal config.toml with just source
176
+ const { writeFileSync } = await import("fs");
177
+ writeFileSync(resolve(destDir, "config.toml"), stringifyTOML({ source: repo }) + "\n");
178
+ }
179
+ console.log(`Installed skill "${skill.name}" as agent "${agentName}".`);
180
+ // 6. Run al config for interactive gap-filling
181
+ const { configAgent } = await import("./agent.js");
182
+ await configAgent(agentName, { project: opts.project });
183
+ }
184
+ finally {
185
+ rmSync(tmpDir, { recursive: true, force: true });
186
+ }
187
+ }
188
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAuBA,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DvE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ExF"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAsBA,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEvE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFxF"}
@@ -2,9 +2,7 @@ import { existsSync, mkdirSync, copyFileSync, readFileSync, writeFileSync } from
2
2
  import { resolve } from "path";
3
3
  import { select, input, checkbox, confirm } from "@inquirer/prompts";
4
4
  import { parse as parseTOML, stringify as stringifyTOML } from "smol-toml";
5
- import { stringify as stringifyYAML } from "yaml";
6
- import { validateAgentName, loadAgentConfig, loadGlobalConfig, } from "../../shared/config.js";
7
- import { parseFrontmatter } from "../../shared/frontmatter.js";
5
+ import { validateAgentName, loadAgentConfig, loadAgentRuntimeConfig, loadGlobalConfig, } from "../../shared/config.js";
8
6
  import { scaffoldAgent } from "../../setup/scaffold.js";
9
7
  import { resolvePackageRoot } from "../../setup/scaffold.js";
10
8
  import { listBuiltinCredentialIds, getBuiltinCredential, resolveCredential } from "../../credentials/registry.js";
@@ -41,7 +39,7 @@ export async function newAgent(opts) {
41
39
  });
42
40
  const agentDir = resolve(projectPath, "agents", name);
43
41
  if (EXAMPLE_TYPES.includes(agentType)) {
44
- // Copy example template verbatim
42
+ // Copy example template
45
43
  const exampleDir = resolve(resolvePackageRoot(), "docs", "examples", agentType);
46
44
  mkdirSync(agentDir, { recursive: true });
47
45
  const skillSrc = resolve(exampleDir, "SKILL.md");
@@ -51,6 +49,11 @@ export async function newAgent(opts) {
51
49
  else {
52
50
  throw new Error(`Example template "${agentType}" is missing SKILL.md at ${exampleDir}`);
53
51
  }
52
+ // Copy config.toml if it exists in the example, otherwise create empty
53
+ const configSrc = resolve(exampleDir, "config.toml");
54
+ if (existsSync(configSrc)) {
55
+ copyFileSync(configSrc, resolve(agentDir, "config.toml"));
56
+ }
54
57
  console.log(`Created agent "${name}" from ${agentType} template.`);
55
58
  }
56
59
  else {
@@ -75,6 +78,10 @@ export async function configAgent(name, opts) {
75
78
  throw new Error(`Agent "${name}" not found. Run 'al agent new' first.`);
76
79
  }
77
80
  const config = loadAgentConfig(projectPath, name);
81
+ // Track model names separately (config.models is resolved ModelConfig[],
82
+ // but config.toml needs string references like ["sonnet"])
83
+ const runtimeRaw = loadAgentRuntimeConfig(projectPath, name);
84
+ let modelNames = runtimeRaw.models ?? [];
78
85
  let done = false;
79
86
  while (!done) {
80
87
  const credCount = config.credentials?.length ?? 0;
@@ -97,7 +104,7 @@ export async function configAgent(name, opts) {
97
104
  await editCredentials(config);
98
105
  break;
99
106
  case "model":
100
- await editModel(config);
107
+ modelNames = await editModel(config, projectPath);
101
108
  break;
102
109
  case "schedule":
103
110
  await editSchedule(config);
@@ -113,32 +120,32 @@ export async function configAgent(name, opts) {
113
120
  break;
114
121
  }
115
122
  }
116
- // Write config back to SKILL.md — preserve the body, update frontmatter
117
- // Split into platform-allowed top-level fields and AL-specific metadata.
118
- const { name: _, description, license, compatibility, ...alFields } = config;
119
- const toWrite = {};
120
- if (description)
121
- toWrite.description = description;
122
- if (license)
123
- toWrite.license = license;
124
- if (compatibility)
125
- toWrite.compatibility = compatibility;
126
- const metadata = {};
127
- for (const [k, v] of Object.entries(alFields)) {
128
- if (v !== undefined)
129
- metadata[k] = v;
123
+ // Write runtime config to per-agent config.toml
124
+ const agentConfigPath = resolve(agentDir, "config.toml");
125
+ const runtimeConfig = {};
126
+ // Preserve source field from existing config.toml
127
+ if (existsSync(agentConfigPath)) {
128
+ const existing = parseTOML(readFileSync(agentConfigPath, "utf-8"));
129
+ if (existing.source)
130
+ runtimeConfig.source = existing.source;
130
131
  }
131
- if (Object.keys(metadata).length > 0)
132
- toWrite.metadata = metadata;
133
- const skillPath = resolve(agentDir, "SKILL.md");
134
- const existingBody = existsSync(skillPath)
135
- ? parseFrontmatter(readFileSync(skillPath, "utf-8")).body
136
- : `# ${name} Agent\n\nCustom agent.\n`;
137
- const yamlStr = Object.keys(toWrite).length > 0
138
- ? stringifyYAML(toWrite).trimEnd()
139
- : "";
140
- writeFileSync(skillPath, `---\n${yamlStr}\n---\n\n${existingBody}`);
141
- console.log(`Saved ${skillPath}`);
132
+ runtimeConfig.models = modelNames;
133
+ if (config.credentials?.length)
134
+ runtimeConfig.credentials = config.credentials;
135
+ if (config.schedule)
136
+ runtimeConfig.schedule = config.schedule;
137
+ if (config.webhooks?.length)
138
+ runtimeConfig.webhooks = config.webhooks;
139
+ if (config.hooks)
140
+ runtimeConfig.hooks = config.hooks;
141
+ if (config.params && Object.keys(config.params).length > 0)
142
+ runtimeConfig.params = config.params;
143
+ if (config.scale !== undefined)
144
+ runtimeConfig.scale = config.scale;
145
+ if (config.timeout !== undefined)
146
+ runtimeConfig.timeout = config.timeout;
147
+ writeFileSync(agentConfigPath, stringifyTOML(runtimeConfig) + "\n");
148
+ console.log(`Saved ${agentConfigPath}`);
142
149
  // Run doctor
143
150
  const { execute } = await import("./doctor.js");
144
151
  await execute({ project: projectPath });
@@ -160,7 +167,39 @@ async function editCredentials(config) {
160
167
  });
161
168
  config.credentials = selected;
162
169
  }
163
- async function editModel(config) {
170
+ /**
171
+ * Edit model configuration. Returns the updated model name references for config.toml.
172
+ * Lets user pick from existing named models in config.toml or create a new one.
173
+ */
174
+ async function editModel(config, projectPath) {
175
+ let globalConfig;
176
+ try {
177
+ globalConfig = loadGlobalConfig(projectPath);
178
+ }
179
+ catch {
180
+ globalConfig = {};
181
+ }
182
+ const existingModels = globalConfig.models ?? {};
183
+ const modelNames = Object.keys(existingModels);
184
+ const choices = modelNames.map((n) => ({
185
+ name: `${n} (${existingModels[n].provider}/${existingModels[n].model})`,
186
+ value: n,
187
+ }));
188
+ choices.push({ name: "+ Create new model", value: "__create__" });
189
+ const selected = await select({
190
+ message: "Select model:",
191
+ choices,
192
+ default: modelNames.find((n) => existingModels[n].provider === config.models[0]?.provider),
193
+ });
194
+ if (selected !== "__create__") {
195
+ config.models = [existingModels[selected]];
196
+ return [selected];
197
+ }
198
+ // Create a new named model in config.toml
199
+ const modelRefName = await input({
200
+ message: "Model reference name (e.g. sonnet, gpt4o):",
201
+ validate: (v) => v.trim() ? true : "Name is required",
202
+ });
164
203
  const provider = await select({
165
204
  message: "Select LLM provider:",
166
205
  choices: [
@@ -175,9 +214,9 @@ async function editModel(config) {
175
214
  ],
176
215
  default: config.models[0]?.provider ?? "anthropic",
177
216
  });
178
- let modelName;
217
+ let modelId;
179
218
  if (provider === "anthropic") {
180
- modelName = await select({
219
+ modelId = await select({
181
220
  message: "Select model:",
182
221
  choices: [
183
222
  { name: "claude-sonnet-4-20250514", value: "claude-sonnet-4-20250514" },
@@ -188,7 +227,7 @@ async function editModel(config) {
188
227
  });
189
228
  }
190
229
  else if (provider === "openai") {
191
- modelName = await select({
230
+ modelId = await select({
192
231
  message: "Select model:",
193
232
  choices: [
194
233
  { name: "gpt-4o", value: "gpt-4o" },
@@ -201,7 +240,7 @@ async function editModel(config) {
201
240
  });
202
241
  }
203
242
  else {
204
- modelName = await input({
243
+ modelId = await input({
205
244
  message: `Enter ${provider} model name:`,
206
245
  default: provider === "groq" ? "llama-3.3-70b-versatile" :
207
246
  provider === "google" ? "gemini-2.0-flash-exp" :
@@ -225,12 +264,25 @@ async function editModel(config) {
225
264
  default: config.models[0]?.thinkingLevel ?? "medium",
226
265
  });
227
266
  }
228
- config.models = [{
229
- provider,
230
- model: modelName,
231
- authType: "api_key",
232
- ...(thinkingLevel ? { thinkingLevel } : {}),
233
- }];
267
+ const newModelConfig = {
268
+ provider,
269
+ model: modelId,
270
+ authType: "api_key",
271
+ ...(thinkingLevel ? { thinkingLevel } : {}),
272
+ };
273
+ // Write to config.toml
274
+ const configPath = resolve(projectPath, "config.toml");
275
+ let existing = {};
276
+ if (existsSync(configPath)) {
277
+ existing = parseTOML(readFileSync(configPath, "utf-8"));
278
+ }
279
+ const models = (existing.models ?? {});
280
+ models[modelRefName.trim()] = newModelConfig;
281
+ existing.models = models;
282
+ writeFileSync(configPath, stringifyTOML(existing) + "\n");
283
+ console.log(`Added model "${modelRefName.trim()}" to config.toml.`);
284
+ config.models = [newModelConfig];
285
+ return [modelRefName.trim()];
234
286
  }
235
287
  async function editSchedule(config) {
236
288
  const schedule = await input({
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClH,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAyB;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC;QAC7B,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,KAAK,EAAE;YACzD,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,UAAU,EAAE;YACrD,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,QAAQ,EAAE;YACzD,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE;SAClD;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;QACvB,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,IAAI,CAAC;gBACH,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,OAAO,UAAU,KAAK,uBAAuB,QAAQ,EAAE,CAAC;YAC1D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEtD,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAgB,CAAC,EAAE,CAAC;QAC7C,iCAAiC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAChF,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,4BAA4B,UAAU,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,UAAU,SAAS,YAAY,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,aAAa,CAAC,WAAW,EAAE;YACzB,IAAI;YACJ,MAAM,EAAE;gBACN,IAAI;gBACJ,WAAW,EAAE,EAAE;gBACf,MAAM,EAAE,EAAE;aACX;SACF,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,yBAAyB;IACzB,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,IAAyB;IACvE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,wCAAwC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAElD,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC;YAC3B,OAAO,EAAE,aAAa,IAAI,GAAG;YAC7B,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gBAAgB,SAAS,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;gBACvE,EAAE,IAAI,EAAE,UAAU,UAAU,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjD,EAAE,IAAI,EAAE,aAAa,MAAM,CAAC,QAAQ,IAAI,MAAM,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;gBACtE,EAAE,IAAI,EAAE,aAAa,YAAY,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;gBACjG,EAAE,IAAI,EAAE,WAAW,UAAU,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACrF,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE;aACtD;SACF,CAAC,CAAC;QAEH,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,aAAa;gBAChB,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;gBACzB,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM;QACV,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC7E,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,IAAI,WAAW;QAAE,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;IACnD,IAAI,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IACvC,IAAI,aAAa;QAAE,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;IACzD,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,SAAS;YAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC;QACxC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI;QACzD,CAAC,CAAC,KAAK,IAAI,2BAA2B,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;QAC7C,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;QAClC,CAAC,CAAC,EAAE,CAAC;IACP,aAAa,CAAC,SAAS,EAAE,QAAQ,OAAO,YAAY,YAAY,EAAE,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;IAElC,aAAa;IACb,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,0BAA0B;AAE1B,KAAK,UAAU,eAAe,CAAC,MAAmB;IAChD,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;QAC9B,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACzB,MAAM,GAAG,GAAG,oBAAoB,CAAC,EAAE,CAAE,CAAC;YACtC,OAAO;gBACL,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,KAAK,EAAE,GAAG;gBAC5B,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;aACzB,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,MAAmB;IAC1C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;QAC5B,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;YAChD,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAC/B,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;YAClC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;YAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;SACnC;QACD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,WAAW;KACnD,CAAC,CAAC;IAEH,IAAI,SAAiB,CAAC;IACtB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,SAAS,GAAG,MAAM,MAAM,CAAC;YACvB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,0BAA0B,EAAE;gBACvE,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,wBAAwB,EAAE;gBACnE,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,2BAA2B,EAAE;aAC1E;YACD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,0BAA0B;SAC/D,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,SAAS,GAAG,MAAM,MAAM,CAAC;YACvB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACnC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC7C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC7C,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;gBAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;aACtC;YACD,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,MAAM,KAAK,CAAC;YACtB,OAAO,EAAE,SAAS,QAAQ,cAAc;YACxC,OAAO,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;gBAChD,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;oBAChD,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;wBAClC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;4BAC/C,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;gCAC3D,YAAY;SACvB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAuD,CAAC;IAC5D,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,MAAM,CAAC;YAC3B,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAc,EAAE;gBACtC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAkB,EAAE;gBAC9C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAc,EAAE;gBACtC,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAiB,EAAE;gBAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAe,EAAE;aACzC;YACD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,IAAK,QAAkB;SAChE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,GAAG,CAAC;YACf,QAAQ;YACR,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,SAAS;YACnB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAmB;IAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;QAC3B,OAAO,EAAE,kCAAkC;QAC3C,OAAO,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;QAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,oDAAoD,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAE/E,KAAK,UAAU,gBAAgB,CAAC,WAAmB;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACvD,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;IACrF,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC;QAC7B,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;KACtD,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC;QAChC,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;KACpE,CAAC,CAAC;IAEH,uEAAuE;IACvE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,kBAAsC,CAAC;IAE3C,IAAI,QAAQ,EAAE,CAAC;QACb,kBAAkB,GAAG,MAAM,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,YAAY,GAA0C,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACnF,IAAI,kBAAkB;QAAE,YAAY,CAAC,UAAU,GAAG,kBAAkB,CAAC;IAErE,yBAAyB;IACzB,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;IACtE,QAAQ,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;IACpC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,MAAM,YAAY,mBAAmB,CAAC,CAAC;IAEtF,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAA2D,CAAC;AAC9G,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,2BAA2B,CAAC,QAAgB;IACzD,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAG1D,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;QAC1B,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,8BAA8B;QACnD,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAE5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;YAC3B,OAAO,EAAE,8CAA8C;YACvD,OAAO,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAChD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B;SAC/D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAmB,EAAE,WAAmB;IAClE,IAAI,YAAY,CAAC;IACjB,IAAI,CAAC;QACH,YAAY,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC;IACpC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;YAC9B,OAAO,EAAE,6CAA6C;YACtD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,OAAO,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IAE3C,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;gBACrC,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,YAAY,EAAE;gBAClE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aAChC;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACnC,OAAO,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC9C,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;gBAC1B,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,OAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;aACpF,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACjG,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACnG,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/F,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAEjG,MAAM,OAAO,GAAmB,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3E,IAAI,OAAO,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9E,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,MAAM,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAE3E,MAAM,CAAC,QAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,IAAI,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,QAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;gBAC9B,OAAO,EAAE,4BAA4B;gBACrC,OAAO,EAAE,MAAM,CAAC,QAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;oBACtD,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;aACJ,CAAC,CAAC;YACH,8CAA8C;YAC9C,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,QAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAmB;IAC3C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;IAEvC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;QAEzC,oEAAoE;QACpE,MAAM,OAAO,GAA2C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvE,IAAI,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,MAAO,CAAC,CAAC,CAAC,EAAE;YACnC,KAAK,EAAE,QAAQ,CAAC,EAAE;SACnB,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAE7D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,MAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC;gBAC9B,OAAO,EAAE,GAAG,GAAG,MAAM,MAAM,CAAC,MAAO,CAAC,GAAG,CAAC,EAAE;gBAC1C,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;oBACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;iBAChC;aACF,CAAC,CAAC;YACH,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC;oBACxB,OAAO,EAAE,kBAAkB,GAAG,IAAI;oBAClC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAO,CAAC,GAAG,CAAC,CAAC;iBACrC,CAAC,CAAC;gBACH,MAAM,CAAC,MAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC9B,CAAC;iBAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAQ,MAAM,CAAC,MAAkC,CAAC,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AAgFA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3D"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AAiFA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe3D"}
@@ -5,6 +5,7 @@ import { fileURLToPath } from "url";
5
5
  import { loadCredentialField, loadCredentialFields, parseCredentialRef } from "../../shared/credentials.js";
6
6
  import { discoverAgents, loadAgentConfig, loadGlobalConfig } from "../../shared/config.js";
7
7
  import { builtinCredentials } from "../../credentials/builtins/index.js";
8
+ import { BASH_COMMAND_PREFIX } from "../../agents/bash-prefix.js";
8
9
  function resolvePackageRoot() {
9
10
  const thisFile = fileURLToPath(import.meta.url);
10
11
  return resolve(thisFile, "..", "..", "..", "..");
@@ -72,6 +73,15 @@ ${templateSections.join("\n\n")}
72
73
  const NO_AGENTS_INITIAL_MESSAGE = `Help me create my first agent.`;
73
74
  export async function execute(opts) {
74
75
  if (opts.agent) {
76
+ // Remote mode: when --env is set and gateway URL exists, use RemoteTransport
77
+ if (opts.env) {
78
+ const globalConfig = loadGlobalConfig(resolve(opts.project), opts.env);
79
+ const gatewayUrl = globalConfig.gateway?.url;
80
+ if (gatewayUrl) {
81
+ await executeRemoteChat(opts, gatewayUrl);
82
+ return;
83
+ }
84
+ }
75
85
  await executeAgentChat(opts);
76
86
  }
77
87
  else {
@@ -222,7 +232,7 @@ async function executeAgentChat(opts) {
222
232
  authStorage,
223
233
  resourceLoader,
224
234
  tools: createCodingTools(agentDir, {
225
- bash: { commandPrefix: '[ -f /tmp/env.sh ] && source /tmp/env.sh' },
235
+ bash: { commandPrefix: BASH_COMMAND_PREFIX },
226
236
  }),
227
237
  sessionManager: SessionManager.inMemory(),
228
238
  settingsManager,
@@ -331,7 +341,7 @@ async function executeProjectChat(opts) {
331
341
  authStorage,
332
342
  resourceLoader,
333
343
  tools: createCodingTools(projectPath, {
334
- bash: { commandPrefix: '[ -f /tmp/env.sh ] && source /tmp/env.sh' },
344
+ bash: { commandPrefix: BASH_COMMAND_PREFIX },
335
345
  }),
336
346
  sessionManager: SessionManager.inMemory(),
337
347
  settingsManager,
@@ -340,6 +350,32 @@ async function executeProjectChat(opts) {
340
350
  await mode.run();
341
351
  }
342
352
  // ---------------------------------------------------------------------------
353
+ // Remote chat: connect to gateway via WebSocket
354
+ // ---------------------------------------------------------------------------
355
+ async function executeRemoteChat(opts, gatewayUrl) {
356
+ const { ensureGatewayApiKey } = await import("../../control/api-key.js");
357
+ const { key: apiKey } = await ensureGatewayApiKey();
358
+ if (!apiKey) {
359
+ throw new Error("Gateway API key not found. Run 'al doctor' to configure it.");
360
+ }
361
+ console.log(`Connecting to ${gatewayUrl} for agent "${opts.agent}"...`);
362
+ const { RemoteTransport } = await import("../../chat/remote-transport.js");
363
+ const { runChatTUI } = await import("../../chat/ink-adapter.js");
364
+ const transport = new RemoteTransport({
365
+ gatewayUrl,
366
+ agentName: opts.agent,
367
+ apiKey,
368
+ });
369
+ try {
370
+ await transport.connect();
371
+ console.log("Connected. Waiting for agent container to start...\n");
372
+ await runChatTUI(transport, opts.agent);
373
+ }
374
+ finally {
375
+ await transport.close();
376
+ }
377
+ }
378
+ // ---------------------------------------------------------------------------
343
379
  // Helpers
344
380
  // ---------------------------------------------------------------------------
345
381
  async function probeGateway(url) {