89 lines
2.0 KiB
TypeScript
89 lines
2.0 KiB
TypeScript
import type { MoaConfig } from '../moa.js';
|
|
import type { AgentType } from '../types.js';
|
|
|
|
export interface RoleModelConfig {
|
|
model?: string;
|
|
effort?: string;
|
|
fallbackEnabled: boolean;
|
|
}
|
|
|
|
export interface AppConfig {
|
|
assistant: {
|
|
name: string;
|
|
hasOwnNumber: boolean;
|
|
slug: string;
|
|
triggerPattern: RegExp;
|
|
};
|
|
service: {
|
|
id: string;
|
|
sessionScope: string;
|
|
claudeId: string;
|
|
codexMainId: string;
|
|
codexReviewId: string;
|
|
};
|
|
paths: {
|
|
projectRoot: string;
|
|
homeDir: string;
|
|
senderAllowlistPath: string;
|
|
storeDir: string;
|
|
groupsDir: string;
|
|
dataDir: string;
|
|
cacheDir: string;
|
|
};
|
|
runtime: {
|
|
pollInterval: number;
|
|
schedulerPollInterval: number;
|
|
failoverMinDurationMs: number;
|
|
agentTimeout: number;
|
|
agentMaxOutputSize: number;
|
|
ipcPollInterval: number;
|
|
idleTimeout: number;
|
|
maxConcurrentAgents: number;
|
|
recoveryConcurrentAgents: number;
|
|
recoveryStaggerMs: number;
|
|
recoveryDurationMs: number;
|
|
};
|
|
logging: {
|
|
level: string;
|
|
isTestEnv: boolean;
|
|
};
|
|
paired: {
|
|
ownerAgentType: AgentType;
|
|
reviewerAgentType: AgentType;
|
|
reviewerServiceIdForType: string;
|
|
arbiterAgentType?: AgentType;
|
|
arbiterServiceId: string | null;
|
|
carryForwardLatestOwnerFinal: boolean;
|
|
forceFreshClaudeReviewerSessionInUnsafeHostMode: boolean;
|
|
agentLanguage: string;
|
|
arbiterDeadlockThreshold: number;
|
|
maxRoundTrips: number;
|
|
};
|
|
models: {
|
|
owner: RoleModelConfig;
|
|
reviewer: RoleModelConfig;
|
|
arbiter: RoleModelConfig;
|
|
};
|
|
providers: {
|
|
claudeDefaultModel: string;
|
|
codexDefaultModel: string;
|
|
};
|
|
moa: MoaConfig;
|
|
status: {
|
|
channelId: string;
|
|
updateInterval: number;
|
|
usageUpdateInterval: number;
|
|
showRooms: boolean;
|
|
showRoomDetails: boolean;
|
|
usageDashboardEnabled: boolean;
|
|
timezone: string;
|
|
};
|
|
sessionCommands: {
|
|
allowedSenders: Set<string>;
|
|
};
|
|
deltaHandoff: {
|
|
enabled: boolean;
|
|
canaryGroups: Set<string>;
|
|
};
|
|
}
|