mirror of
https://github.com/anomalyco/opencode.git
synced 2026-07-25 04:35:37 -04:00
feat(config): add tiara runtime config and namespace types
- Add Tiara namespace configuration types - Add process registry types for agent-core centralization - Update persona config handling Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -216,6 +216,8 @@ export const ZEE_AGENT_CONFIG: AgentConfig = {
|
||||
"zee:notification": true,
|
||||
"zee:calendar": true,
|
||||
"zee:contacts": true,
|
||||
"zee:splitwise": true,
|
||||
"zee:codexbar": true,
|
||||
},
|
||||
options: {},
|
||||
maxSteps: 30,
|
||||
@@ -234,6 +236,8 @@ Your strengths:
|
||||
- Communication across multiple channels (WhatsApp, email, etc.)
|
||||
- Scheduling and reminders
|
||||
- Note-taking and information retrieval
|
||||
- Shared expenses and reimbursements (Splitwise)
|
||||
- Usage monitoring via CodexBar (menu bar + CLI)
|
||||
|
||||
Your approach:
|
||||
- Be helpful without being overwhelming
|
||||
|
||||
@@ -42,6 +42,10 @@ type RuntimeConfig = {
|
||||
embeddingDimension?: number;
|
||||
};
|
||||
};
|
||||
zee?: {
|
||||
splitwise?: ZeeSplitwiseConfig;
|
||||
codexbar?: ZeeCodexbarConfig;
|
||||
};
|
||||
};
|
||||
|
||||
export type MemoryQdrantConfig = {
|
||||
@@ -66,6 +70,20 @@ export type MemoryEmbeddingConfig = {
|
||||
baseUrl?: string;
|
||||
};
|
||||
|
||||
export type ZeeSplitwiseConfig = {
|
||||
enabled?: boolean;
|
||||
token?: string;
|
||||
tokenFile?: string;
|
||||
baseUrl?: string;
|
||||
timeoutMs?: number;
|
||||
};
|
||||
|
||||
export type ZeeCodexbarConfig = {
|
||||
enabled?: boolean;
|
||||
command?: string | string[];
|
||||
timeoutMs?: number;
|
||||
};
|
||||
|
||||
const CONFIG_PATHS = [
|
||||
path.join(os.homedir(), ".config", "agent-core", "agent-core.jsonc"),
|
||||
path.join(os.homedir(), ".config", "agent-core", "agent-core.json"),
|
||||
@@ -120,6 +138,18 @@ function mergeConfigs(base: RuntimeConfig, override: RuntimeConfig): RuntimeConf
|
||||
...override.tiara?.qdrant,
|
||||
},
|
||||
},
|
||||
zee: {
|
||||
...base.zee,
|
||||
...override.zee,
|
||||
splitwise: {
|
||||
...base.zee?.splitwise,
|
||||
...override.zee?.splitwise,
|
||||
},
|
||||
codexbar: {
|
||||
...base.zee?.codexbar,
|
||||
...override.zee?.codexbar,
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -201,3 +231,11 @@ export function getTiaraQdrantConfig(): TiaraQdrantConfig {
|
||||
embeddingDimension,
|
||||
};
|
||||
}
|
||||
|
||||
export function getZeeSplitwiseConfig(): ZeeSplitwiseConfig {
|
||||
return loadRuntimeConfig().zee?.splitwise ?? {};
|
||||
}
|
||||
|
||||
export function getZeeCodexbarConfig(): ZeeCodexbarConfig {
|
||||
return loadRuntimeConfig().zee?.codexbar ?? {};
|
||||
}
|
||||
|
||||
@@ -51,6 +51,9 @@ export interface AgentCoreConfig {
|
||||
|
||||
/** General settings */
|
||||
settings: GeneralSettings;
|
||||
|
||||
/** Zee-specific integrations */
|
||||
zee?: ZeeConfig;
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
@@ -303,6 +306,29 @@ export interface GeneralSettings {
|
||||
experimental?: Record<string, boolean>;
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Zee Integrations
|
||||
// =============================================================================
|
||||
|
||||
export interface ZeeConfig {
|
||||
splitwise?: ZeeSplitwiseConfig;
|
||||
codexbar?: ZeeCodexbarConfig;
|
||||
}
|
||||
|
||||
export interface ZeeSplitwiseConfig {
|
||||
enabled?: boolean;
|
||||
token?: string;
|
||||
tokenFile?: string;
|
||||
baseUrl?: string;
|
||||
timeoutMs?: number;
|
||||
}
|
||||
|
||||
export interface ZeeCodexbarConfig {
|
||||
enabled?: boolean;
|
||||
command?: string | string[];
|
||||
timeoutMs?: number;
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Configuration Loading
|
||||
// =============================================================================
|
||||
|
||||
@@ -471,7 +471,7 @@ function condenseSkillContent(content: string, persona: PersonaId): string {
|
||||
// If no structured content found, provide a summary based on persona
|
||||
if (parts.length === 0) {
|
||||
const summaries: Record<PersonaId, string> = {
|
||||
zee: "Memory storage/search, messaging (WhatsApp/Telegram), calendar, contacts, notifications",
|
||||
zee: "Memory storage/search, messaging (WhatsApp/Telegram), calendar, contacts, notifications, Splitwise expense sharing, CodexBar usage tracking",
|
||||
stanley: "Market data, portfolio management, SEC filings, research, NautilusTrader backtesting",
|
||||
johny: "Knowledge graph, spaced repetition, concept mapping, practice problems, learning progress",
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user