feat: add agents command

This commit is contained in:
Peter Steinberger
2026-01-07 09:58:54 +01:00
parent 9df8af855b
commit 7973fd4caf
20 changed files with 1519 additions and 330 deletions

View File

@@ -6,9 +6,9 @@ import type { ClawdbotConfig } from "../config/config.js";
export async function writeOAuthCredentials(
provider: OAuthProvider,
creds: OAuthCredentials,
agentDir?: string,
): Promise<void> {
// Write to the multi-agent path so gateway finds credentials on startup
const agentDir = resolveDefaultAgentDir();
upsertAuthProfile({
profileId: `${provider}:${creds.email ?? "default"}`,
credential: {
@@ -16,13 +16,12 @@ export async function writeOAuthCredentials(
provider,
...creds,
},
agentDir,
agentDir: agentDir ?? resolveDefaultAgentDir(),
});
}
export async function setAnthropicApiKey(key: string) {
export async function setAnthropicApiKey(key: string, agentDir?: string) {
// Write to the multi-agent path so gateway finds credentials on startup
const agentDir = resolveDefaultAgentDir();
upsertAuthProfile({
profileId: "anthropic:default",
credential: {
@@ -30,7 +29,7 @@ export async function setAnthropicApiKey(key: string) {
provider: "anthropic",
key,
},
agentDir,
agentDir: agentDir ?? resolveDefaultAgentDir(),
});
}
@@ -74,7 +73,9 @@ export function applyAuthProfileConfig(
};
}
export function applyMinimaxConfig(cfg: ClawdbotConfig): ClawdbotConfig {
export function applyMinimaxProviderConfig(
cfg: ClawdbotConfig,
): ClawdbotConfig {
const models = { ...cfg.agent?.models };
models["anthropic/claude-opus-4-5"] = {
...models["anthropic/claude-opus-4-5"],
@@ -109,16 +110,6 @@ export function applyMinimaxConfig(cfg: ClawdbotConfig): ClawdbotConfig {
...cfg,
agent: {
...cfg.agent,
model: {
...(cfg.agent?.model &&
"fallbacks" in (cfg.agent.model as Record<string, unknown>)
? {
fallbacks: (cfg.agent.model as { fallbacks?: string[] })
.fallbacks,
}
: undefined),
primary: "lmstudio/minimax-m2.1-gs32",
},
models,
},
models: {
@@ -127,3 +118,23 @@ export function applyMinimaxConfig(cfg: ClawdbotConfig): ClawdbotConfig {
},
};
}
export function applyMinimaxConfig(cfg: ClawdbotConfig): ClawdbotConfig {
const next = applyMinimaxProviderConfig(cfg);
return {
...next,
agent: {
...next.agent,
model: {
...(next.agent?.model &&
"fallbacks" in (next.agent.model as Record<string, unknown>)
? {
fallbacks: (next.agent.model as { fallbacks?: string[] })
.fallbacks,
}
: undefined),
primary: "lmstudio/minimax-m2.1-gs32",
},
},
};
}