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:
Artur Do Lago
2026-01-16 17:41:27 +01:00
parent 5781c0b118
commit aadfd0aba8
4 changed files with 69 additions and 1 deletions
+4
View File
@@ -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
+38
View File
@@ -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 ?? {};
}
+26
View File
@@ -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
// =============================================================================
+1 -1
View File
@@ -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",
};