triagent 0.1.0-alpha2 → 0.1.0-alpha3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "triagent",
3
- "version": "0.1.0-alpha2",
3
+ "version": "0.1.0-alpha3",
4
4
  "description": "AI-powered Kubernetes debugging agent with terminal UI",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
package/src/cli/config.ts CHANGED
@@ -7,6 +7,7 @@ export interface StoredConfig {
7
7
  aiProvider?: AIProvider;
8
8
  aiModel?: string;
9
9
  apiKey?: string;
10
+ baseUrl?: string;
10
11
  webhookPort?: number;
11
12
  codebasePath?: string;
12
13
  kubeConfigPath?: string;
package/src/config.ts CHANGED
@@ -10,6 +10,7 @@ const ConfigSchema = z.object({
10
10
  aiProvider: AIProviderSchema,
11
11
  aiModel: z.string().min(1),
12
12
  apiKey: z.string().min(1),
13
+ baseUrl: z.string().url().optional(),
13
14
  webhookPort: z.number().int().positive().default(3000),
14
15
  codebasePath: z.string().min(1).default("./"),
15
16
  kubeConfigPath: z.string().min(1).default("~/.kube"),
@@ -47,6 +48,7 @@ export async function loadConfig(): Promise<Config> {
47
48
  aiProvider: provider,
48
49
  aiModel: process.env.AI_MODEL || stored.aiModel || getDefaultModel(provider),
49
50
  apiKey: getApiKey(provider, stored),
51
+ baseUrl: process.env.AI_BASE_URL || stored.baseUrl || undefined,
50
52
  webhookPort: parseInt(process.env.WEBHOOK_PORT || String(stored.webhookPort || 3000), 10),
51
53
  codebasePath: expandPath(process.env.CODEBASE_PATH || stored.codebasePath || "./"),
52
54
  kubeConfigPath: expandPath(process.env.KUBE_CONFIG_PATH || stored.kubeConfigPath || "~/.kube"),
package/src/index.ts CHANGED
@@ -84,6 +84,7 @@ CONFIG KEYS:
84
84
  aiProvider - AI provider (openai, anthropic, google)
85
85
  aiModel - Model ID (e.g., gpt-4o, claude-sonnet-4-20250514)
86
86
  apiKey - API key for the provider
87
+ baseUrl - Custom API base URL (for proxies or local models)
87
88
  webhookPort - Webhook server port (default: 3000)
88
89
  codebasePath - Path to codebase (default: ./)
89
90
  kubeConfigPath - Kubernetes config path (default: ~/.kube)
@@ -109,6 +110,7 @@ MODES:
109
110
  ENVIRONMENT VARIABLES:
110
111
  AI_PROVIDER - AI provider (openai, anthropic, google)
111
112
  AI_MODEL - Model ID (e.g., gpt-4o, claude-3-5-sonnet)
113
+ AI_BASE_URL - Custom API base URL (for proxies or local models)
112
114
  OPENAI_API_KEY - OpenAI API key
113
115
  ANTHROPIC_API_KEY - Anthropic API key
114
116
  GOOGLE_GENERATIVE_AI_API_KEY - Google AI API key
@@ -179,6 +181,7 @@ async function handleConfigCommand(args: CliArgs): Promise<void> {
179
181
  "aiProvider",
180
182
  "aiModel",
181
183
  "apiKey",
184
+ "baseUrl",
182
185
  "webhookPort",
183
186
  "codebasePath",
184
187
  "kubeConfigPath",
@@ -163,14 +163,17 @@ export const InvestigationResultSchema = z.object({
163
163
  export type InvestigationResult = z.infer<typeof InvestigationResultSchema>;
164
164
 
165
165
  export function createDebuggerAgent(config: Config) {
166
- // Construct model string based on provider
167
- const modelString = `${config.aiProvider}/${config.aiModel}`;
166
+ // Construct model config - use OpenAICompatibleConfig if baseUrl is set
167
+ const modelId = `${config.aiProvider}/${config.aiModel}` as const;
168
+ const modelConfig = config.baseUrl
169
+ ? { id: modelId, url: config.baseUrl }
170
+ : modelId;
168
171
 
169
172
  return new Agent({
170
173
  id: "kubernetes-debugger",
171
174
  name: "Kubernetes Debugger",
172
175
  instructions: DEBUGGER_INSTRUCTIONS,
173
- model: modelString as any, // Mastra handles model routing
176
+ model: modelConfig as any, // Mastra handles model routing
174
177
  tools: {
175
178
  cli: cliTool,
176
179
  git: gitTool,