chittycan
Version:
Your completely autonomous network that grows with you - DNA ownership platform with encrypted vaults, PDX portability, and ChittyFoundation governance
40 lines • 1.05 kB
TypeScript
import type { NotionAction, GitHubIssue, SyncMapping } from "../types/index.js";
export interface SyncConfig {
notionToken: string;
githubToken: string;
notionDatabaseId: string;
githubOwner: string;
githubRepo: string;
dryRun?: boolean;
}
export interface SyncResult {
createdInNotion: number;
createdInGitHub: number;
updatedInNotion: number;
updatedInGitHub: number;
conflicts: Array<{
action: NotionAction;
issue: GitHubIssue;
reason: string;
}>;
errors: Array<{
item: string;
error: string;
}>;
}
export declare class SyncWorker {
private notion;
private github;
private config;
private mappings;
constructor(config: SyncConfig, mappings?: SyncMapping[]);
sync(): Promise<SyncResult>;
private issueToAction;
private createIssueFromAction;
private updateIssueFromAction;
private getUpdatesFromIssue;
private getMapping;
private needsUpdate;
private detectConflict;
}
//# sourceMappingURL=sync.d.ts.map