Skip to content

Commit 91725fa

Browse files
[tiny-agents] Configure inference API key from inputs (#1632)
1 parent f161c7d commit 91725fa

File tree

1 file changed

+30
-39
lines changed
  • packages/tiny-agents/src

1 file changed

+30
-39
lines changed

packages/tiny-agents/src/cli.ts

Lines changed: 30 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -117,80 +117,71 @@ async function main() {
117117
}
118118
if ((server.type === "http" || server.type === "sse") && server.headers) {
119119
for (const [key, value] of Object.entries(server.headers)) {
120-
if (value.includes(envSpecialValue)) {
120+
if (value === envSpecialValue) {
121121
inputVars.add(key);
122122
}
123123
}
124124
}
125125
}
126126

127+
if (config.apiKey?.includes(envSpecialValue)) {
128+
inputVars.add("apiKey");
129+
}
130+
127131
if (inputVars.size === 0) {
128132
stdout.write(ANSI.YELLOW);
129-
stdout.write(`Input ${inputId} defined in config but not used by any server.`);
133+
stdout.write(`Input ${inputId} defined in config but not used by any server or as an API key. Skipping.`);
130134
stdout.write(ANSI.RESET);
131135
stdout.write("\n");
132136
continue;
133137
}
134-
135-
// Prompt user for input
136138
const envVariableKey = inputId.replaceAll("-", "_").toUpperCase();
139+
// Prompt user for input
137140
stdout.write(ANSI.BLUE);
138141
stdout.write(` • ${inputId}`);
139142
stdout.write(ANSI.RESET);
140143
stdout.write(`: ${description}. (default: load from ${envVariableKey}) `);
141144
stdout.write("\n");
142145

143146
const userInput = (await rl.question("")).trim();
147+
const valueFromEnv = process.env[envVariableKey] || "";
148+
const finalValue = userInput || valueFromEnv;
149+
150+
if (!userInput) {
151+
if (valueFromEnv) {
152+
stdout.write(ANSI.GREEN);
153+
stdout.write(`Value successfully loaded from '${envVariableKey}'`);
154+
stdout.write(ANSI.RESET);
155+
stdout.write("\n");
156+
} else {
157+
stdout.write(ANSI.YELLOW);
158+
stdout.write(`No value found for '${envVariableKey}' in environment variables. Continuing.`);
159+
stdout.write(ANSI.RESET);
160+
stdout.write("\n");
161+
}
162+
}
144163

145164
// Inject user input (or env variable) into servers' env
146165
for (const server of config.servers) {
147166
if (server.type === "stdio" && server.env) {
148167
for (const [key, value] of Object.entries(server.env)) {
149168
if (value === envSpecialValue) {
150-
if (userInput) {
151-
server.env[key] = userInput;
152-
} else {
153-
const valueFromEnv = process.env[envVariableKey] || "";
154-
server.env[key] = valueFromEnv;
155-
if (valueFromEnv) {
156-
stdout.write(ANSI.GREEN);
157-
stdout.write(`Value successfully loaded from '${envVariableKey}'`);
158-
stdout.write(ANSI.RESET);
159-
stdout.write("\n");
160-
} else {
161-
stdout.write(ANSI.YELLOW);
162-
stdout.write(`No value found for '${envVariableKey}' in environment variables. Continuing.`);
163-
stdout.write(ANSI.RESET);
164-
stdout.write("\n");
165-
}
166-
}
169+
server.env[key] = value.replace(envSpecialValue, finalValue);
167170
}
168171
}
169172
}
170173
if ((server.type === "http" || server.type === "sse") && server.headers) {
171174
for (const [key, value] of Object.entries(server.headers)) {
172-
if (value.includes(envSpecialValue)) {
173-
if (userInput) {
174-
server.headers[key] = value.replace(envSpecialValue, userInput);
175-
} else {
176-
const valueFromEnv = process.env[envVariableKey] || "";
177-
server.headers[key] = value.replace(envSpecialValue, valueFromEnv);
178-
if (valueFromEnv) {
179-
stdout.write(ANSI.GREEN);
180-
stdout.write(`Value successfully loaded from '${envVariableKey}'`);
181-
stdout.write(ANSI.RESET);
182-
stdout.write("\n");
183-
} else {
184-
stdout.write(ANSI.YELLOW);
185-
stdout.write(`No value found for '${envVariableKey}' in environment variables. Continuing.`);
186-
stdout.write(ANSI.RESET);
187-
stdout.write("\n");
188-
}
189-
}
175+
if (value === envSpecialValue) {
176+
server.headers[key] = value.replace(envSpecialValue, finalValue);
190177
}
191178
}
192179
}
193180
}
181+
182+
if (config.apiKey?.includes(envSpecialValue)) {
183+
config.apiKey = config.apiKey.replace(envSpecialValue, finalValue);
184+
}
194185
}
195186

196187
stdout.write("\n");

0 commit comments

Comments
 (0)