chittycan
Version:
Your completely autonomous network that grows with you - DNA ownership platform with encrypted vaults, PDX portability, and ChittyFoundation governance
136 lines • 3.58 kB
TypeScript
export interface NotionRemote {
type: "notion-database" | "notion-page" | "notion-view";
url: string;
databaseId?: string;
views?: Record<string, string>;
}
export interface GitHubRemote {
type: "github-project";
owner: string;
repo: string;
projectNumber?: number;
}
export interface RcloneRemote {
type: "rclone";
remoteName: string;
path?: string;
}
export interface McpRemote {
type: "mcp-server";
command: string;
args: string[];
env?: Record<string, string>;
description?: string;
}
export interface CloudflareRemote {
type: "cloudflare";
accountId: string;
resource: "workers" | "kv" | "r2" | "d1" | "pages" | "dns" | "durable-objects";
name?: string;
apiToken?: string;
}
export interface NeonRemote {
type: "neon";
projectId?: string;
databaseName?: string;
branchName?: string;
connectionString?: string;
apiKey?: string;
}
export interface SshRemote {
type: "ssh";
host: string;
user: string;
port?: number;
identityFile?: string;
proxyJump?: string;
description?: string;
}
export interface AiRemote {
type: "ai-platform";
platform: "openai" | "anthropic" | "ollama" | "groq" | "replicate" | "together" | "huggingface" | "cohere";
apiKey?: string;
model?: string;
baseUrl?: string;
description?: string;
gateway?: {
accountId: string;
gatewayId: string;
enabled: boolean;
tier: "free" | "pro" | "team" | "enterprise";
caching?: boolean;
rateLimit?: number;
logging?: boolean;
smartRouting?: boolean;
fallbackChain?: boolean;
budget?: {
daily?: number;
monthly?: number;
};
oauth?: {
enabled: boolean;
scopes: string[];
apiToken?: string;
apiEndpoint?: string;
openaiCompatible?: boolean;
sdkAccess?: boolean;
};
};
}
export interface ApiRemote {
type: "api" | "sdk";
name: string;
baseUrl: string;
apiKey?: string;
apiKeyHeader?: string;
apiKeyPrefix?: string;
headers?: Record<string, string>;
description?: string;
sdk?: {
language: "typescript" | "python" | "go" | "rust" | "ruby" | "php";
package: string;
importPath?: string;
initCode?: string;
};
docs?: {
url: string;
quickstart?: string;
reference?: string;
};
}
export interface ChittyConnectRemote {
type: "chittyconnect";
baseUrl: string;
apiToken?: string;
mcpEnabled?: boolean;
githubAppInstallation?: string;
}
export interface Config {
remotes: Record<string, NotionRemote | GitHubRemote | RcloneRemote | McpRemote | CloudflareRemote | NeonRemote | SshRemote | AiRemote | ApiRemote | ChittyConnectRemote>;
nudges: {
enabled: boolean;
intervalMinutes: number;
};
sync?: {
enabled: boolean;
notionToken?: string;
githubToken?: string;
mappings?: Array<{
notionRemote: string;
githubRemote: string;
}>;
};
extensions?: Record<string, {
enabled: boolean;
config?: any;
}>;
mcp?: {
writeEnabled?: boolean;
};
}
export declare const CONFIG_DIR: string;
export declare const CONFIG_PATH: string;
export declare function loadConfig(): Config;
export declare function saveConfig(cfg: Config): void;
export declare function getConfigPath(): string;
//# sourceMappingURL=config.d.ts.map