openhands / src /types /git-sync.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
5f40163 verified
Raw
History Blame Contribute Delete
1.77 kB
export interface GitSyncStatus {
enabled: boolean;
repo_url: string;
branch: string;
path: string;
encryption_enabled: boolean;
/** Seconds between automatic syncs; 0 means manual-only. */
interval_seconds: number;
last_synced_commit: string | null;
last_synced_at: string | null;
last_error: string | null;
last_error_at: string | null;
dirty_count: number;
/**
* Whether a sync cycle is running right now, including one the backend's own
* interval started. A cycle reports its outcome only once it ends, so
* without this the page cannot tell a sync in flight from one that never
* started. Absent on automation backends that predate the field.
*/
sync_in_progress?: boolean;
sync_started_at?: string | null;
}
export interface GitSyncConfigUpdateRequest {
enabled?: boolean | null;
interval_seconds?: number | null;
repo_url?: string | null;
branch?: string | null;
path?: string | null;
token?: string | null;
encryption_key?: string | null;
author_name?: string | null;
author_email?: string | null;
}
export interface GitSyncTriggerResponse {
triggered: boolean;
}
/**
* Whether a configuration can reach its repo, from `POST /v1/git-sync/check`.
*
* `ok` is about reachability only -- the backend runs a single `git ls-remote`
* rather than a sync, so a token without write scope passes here and still
* fails at push time, and the encryption key is never exercised.
* `branch_exists: false` alongside `ok: true` is normal for a repo that has
* never been synced: the first cycle creates the branch.
*/
export interface GitSyncCheckResponse {
ok: boolean;
branch_exists: boolean;
/** git's own failure output, with credentials in the URL redacted. */
detail: string | null;
}