UNPKG

freestyle

Version:

Learn more at [docs.freestyle.sh](https://docs.freestyle.sh)

2,101 lines 671 kB
interface ResponseGetAuthV1BackgroundRequestsRequestId202 { /** * Branded request identifier — `ri-<20 lowercase alphanumeric chars>` for newly * minted IDs. The wrapped string is otherwise opaque, so legacy UUID-formatted * IDs (from in-flight requests during rollout) round-trip unchanged. */ requestId: string; status: string; } interface ResponseGetAuthV1BackgroundRequestsRequestId404 { message: string; } interface ResponseGetAuthV1Whoami200 { accountId: string; identityId?: string | null; } interface ResponseGetDnsV1Records200 { records: { kind: "A" | "AAAA" | "CNAME" | "TXT" | "NS"; name: string; value: string; ttl: string; priority?: number | null; managed: boolean; }[]; } interface ResponseGetDnsV1Records400 { message: string; } interface ResponsePostDnsV1Records200 { record: { kind: "A" | "AAAA" | "CNAME" | "TXT" | "NS"; name: string; value: string; ttl: string; priority?: number | null; managed: boolean; }; } interface ResponsePostDnsV1Records403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostDnsV1Records500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseDeleteDnsV1Records200 { message: string; } interface ResponseDeleteDnsV1Records403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseDeleteDnsV1Records500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostDomainsV1CertsDomainWildcard200 { domain: string; } interface ResponsePostDomainsV1CertsDomainWildcard400 { message: string; } type ResponseGetDomainsV1Domains200 = { domain: string; accountId: string; createdAt: string; id: string; verifiedDns: boolean; implicitlyOwned: boolean; deployToDomain: boolean; manageDns: boolean; deployToSubdomains: boolean; }[]; interface ResponseGetDomainsV1Domains400 { message: string; } type ResponseGetDomainsV1Mappings200 = { id: string; domain: string; deploymentId?: string | null; vmId?: string | null; vmPort?: number | null; ownershipId: string; createdAt: string; unmappedAt?: string | null; }[]; interface ResponsePostDomainsV1MappingsDomain200 { id: string; domain: string; deploymentId?: string | null; vmId?: string | null; vmPort?: number | null; ownershipId: string; createdAt: string; unmappedAt?: string | null; } /** * Public API error wrapper. Mark public APIs with `Public<T>` to ensure private error * details aren't exposed. */ interface ResponsePostDomainsV1MappingsDomain4XX { error: { FailedToCheckDomainMappingPermissions: { message: string; }; } | { FailedPermissionsCheck: { domain: string; }; } | { FailedRemoveDomainMapping: { message: string; }; } | { FailedToInsertOwnership: { message: string; }; } | { DomainAlreadyExists: { domain: string; }; } | { InvalidRequest: { message: string; }; } | { FailedInsertDomainMapping: { message: string; }; } | { FailedToProvisionCertificateForMapping: { message: string; }; } | { DeploymentAccessDenied: { deployment_id: string; }; } | { VmAccessDeniedForMapping: { vm_id: string; }; } | { DomainOwnershipNotVerified: { domain: string; }; }; headers?: { [k: string]: string; } | null; context?: { [k: string]: unknown; } | null; } /** * Public API error wrapper. Mark public APIs with `Public<T>` to ensure private error * details aren't exposed. */ interface ResponsePostDomainsV1MappingsDomain5XX { error: { FailedToCheckDomainMappingPermissions: { message: string; }; } | { FailedPermissionsCheck: { domain: string; }; } | { FailedRemoveDomainMapping: { message: string; }; } | { FailedToInsertOwnership: { message: string; }; } | { DomainAlreadyExists: { domain: string; }; } | { InvalidRequest: { message: string; }; } | { FailedInsertDomainMapping: { message: string; }; } | { FailedToProvisionCertificateForMapping: { message: string; }; } | { DeploymentAccessDenied: { deployment_id: string; }; } | { VmAccessDeniedForMapping: { vm_id: string; }; } | { DomainOwnershipNotVerified: { domain: string; }; }; headers?: { [k: string]: string; } | null; context?: { [k: string]: unknown; } | null; } interface ResponseDeleteDomainsV1MappingsDomain200 { } interface ResponseDeleteDomainsV1MappingsDomain400 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseDeleteDomainsV1MappingsDomain401 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseDeleteDomainsV1MappingsDomain422 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseDeleteDomainsV1MappingsDomain500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseDeleteDomainsV1MappingsDomain502 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } type ResponseGetDomainsV1Verifications200 = { verificationCode: string; domain: string; createdAt: string; }[]; interface ResponseGetDomainsV1Verifications400 { message: string; } interface ResponsePostDomainsV1Verifications200 { id: string; domain: string; accountId: string; verificationCode: string; createdAt: string; } interface ResponsePostDomainsV1Verifications400 { message: string; } interface ResponsePutDomainsV1Verifications200 { domain: string; } interface ResponsePutDomainsV1Verifications400 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePutDomainsV1Verifications401 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePutDomainsV1Verifications403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePutDomainsV1Verifications404 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePutDomainsV1Verifications422 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePutDomainsV1Verifications500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePutDomainsV1Verifications502 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseDeleteDomainsV1Verifications200 { verificationCode: string; domain: string; } interface ResponseDeleteDomainsV1Verifications400 { message: string; } interface ResponseGetExecuteV1Deployments200 { entries: { deployment: string; accountId: string; provisionedAt: string; startedAt?: string | null; duration?: string | null; state: "starting" | "running" | "complete"; envVars: { [k: string]: string; }; }[]; total: number; offset: number; } interface ResponseGetExecuteV1Deployments500 { message: string; } interface ResponseGetExecuteV1DeploymentsDeployment200 { metadata: { deployment: string; accountId: string; provisionedAt: string; startedAt?: string | null; duration?: string | null; state: "starting" | "running" | "complete"; envVars: { [k: string]: string; }; }; code?: null | { code: string; nodeModules: { [k: string]: string; }; }; } /** * Unauthorized access */ interface ResponseGetExecuteV1DeploymentsDeployment401 { message: string; } /** * Not found */ interface ResponseGetExecuteV1DeploymentsDeployment404 { message: string; } /** * Internal server error */ interface ResponseGetExecuteV1DeploymentsDeployment500 { message: string; } interface ResponsePostExecuteV1Script200 { /** * The return value of the default export of the script */ result: { [k: string]: unknown; }; logs: { /** * The log message */ message: string; /** * The log level */ type: string; }[]; } interface ResponsePostExecuteV1Script400 { error: string; logs?: { /** * The log message */ message: string; /** * The log level */ type: string; }[] | null; } interface ResponsePostExecuteV1Script500 { error: string; logs?: { /** * The log message */ message: string; /** * The log level */ type: string; }[] | null; } /** * Success result from script execution */ interface ResponsePostExecuteV3Script200 { result: unknown; logs: ({ message: string; callstack?: string | null; type: "log"; } | { message: string; callstack?: string | null; type: "error"; })[]; } interface ResponsePostExecuteV3Script403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1Identity200 { identities: { id: string; managed: boolean; }[]; offset: number; total: number; } interface ResponsePostGitV1Identity200 { id: string; managed: boolean; } interface ResponseDeleteGitV1IdentityIdentity200 { } interface ResponseDeleteGitV1IdentityIdentity403 { message: string; } interface ResponseDeleteGitV1IdentityIdentity404 { message: string; } interface ResponseDeleteGitV1IdentityIdentity500 { message: string; } interface ResponseGetGitV1IdentityIdentityPermissions200 { repositories: { id: string; name?: string | null; accountId: string; permissions: "read" | "write"; visibility: "public" | "private"; }[]; } interface ResponseGetGitV1IdentityIdentityPermissions403 { message: string; } interface ResponseGetGitV1IdentityIdentityPermissions404 { message: string; } interface ResponseGetGitV1IdentityIdentityPermissions500 { message: string; } interface ResponseGetGitV1IdentityIdentityPermissionsRepo200 { identity: string; repo: string; accessLevel?: null | ("read" | "write"); } interface ResponseGetGitV1IdentityIdentityPermissionsRepo403 { message: string; } interface ResponseGetGitV1IdentityIdentityPermissionsRepo404 { message: string; } interface ResponseGetGitV1IdentityIdentityPermissionsRepo500 { message: string; } interface ResponsePostGitV1IdentityIdentityPermissionsRepo200 { } interface ResponsePostGitV1IdentityIdentityPermissionsRepo403 { message: string; } interface ResponsePostGitV1IdentityIdentityPermissionsRepo404 { message: string; } interface ResponsePostGitV1IdentityIdentityPermissionsRepo500 { message: string; } interface ResponseDeleteGitV1IdentityIdentityPermissionsRepo200 { } interface ResponseDeleteGitV1IdentityIdentityPermissionsRepo403 { message: string; } interface ResponseDeleteGitV1IdentityIdentityPermissionsRepo404 { message: string; } interface ResponseDeleteGitV1IdentityIdentityPermissionsRepo500 { message: string; } interface ResponseGetGitV1IdentityIdentityTokens200 { tokens: { id: string; }[]; } interface ResponseGetGitV1IdentityIdentityTokens403 { message: string; } interface ResponseGetGitV1IdentityIdentityTokens404 { message: string; } interface ResponseGetGitV1IdentityIdentityTokens500 { message: string; } interface ResponsePostGitV1IdentityIdentityTokens200 { id: string; token: string; } interface ResponsePostGitV1IdentityIdentityTokens403 { message: string; } interface ResponsePostGitV1IdentityIdentityTokens404 { message: string; } interface ResponsePostGitV1IdentityIdentityTokens500 { message: string; } interface ResponseDeleteGitV1IdentityIdentityTokens200 { } interface ResponseDeleteGitV1IdentityIdentityTokens403 { message: string; } interface ResponseDeleteGitV1IdentityIdentityTokens404 { message: string; } interface ResponseDeleteGitV1IdentityIdentityTokens500 { message: string; } interface ResponseGetGitV1Repo200 { repositories: { branches: { [k: string]: { default: boolean; name: string; target?: string | null; }; }; tags: { [k: string]: { name: string; target: string; message?: string | null; }; }; defaultBranch: string; }[]; total: number; offset: number; } interface ResponseGetGitV1Repo500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostGitV1Repo200 { repoId: string; } interface ResponsePostGitV1Repo403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostGitV1Repo500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoIdDefaultBranch200 { defaultBranch: string; } interface ResponseGetGitV1RepoRepoIdDefaultBranch403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoIdDefaultBranch500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePutGitV1RepoRepoIdDefaultBranch200 { } interface ResponsePutGitV1RepoRepoIdDefaultBranch403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePutGitV1RepoRepoIdDefaultBranch500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoIdGithubSync200 { githubRepoName: string; } interface ResponseGetGitV1RepoRepoIdVisibility200 { visibility: "public" | "private"; } interface ResponseGetGitV1RepoRepoIdVisibility403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoIdVisibility500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePutGitV1RepoRepoIdVisibility200 { } interface ResponsePutGitV1RepoRepoIdVisibility403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePutGitV1RepoRepoIdVisibility500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepo200 { id: string; name?: string | null; accountId: string; visibility: "public" | "private"; defaultBranch: string; createdAt: string; } interface ResponseDeleteGitV1RepoRepo200 { } interface ResponseDeleteGitV1RepoRepo403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseDeleteGitV1RepoRepo500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostGitV1RepoRepoCommits200 { /** * The created commit object */ commit: { /** * The author of the commit */ author: { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The committer */ committer: { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The commit message */ message: string; /** * The ID of the tree pointed to by this commit */ tree: { /** * The tree's hash ID */ sha: string; }; /** * Parent commit(s) of this commit */ parents: { /** * The commit's hash ID */ sha: string; }[]; /** * The commit's hash ID */ sha: string; }; } interface ResponsePostGitV1RepoRepoCommits403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostGitV1RepoRepoCommits500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } /** * Response containing the comparison between two commits */ interface ResponseGetGitV1RepoRepoCompare200 { /** * Status of the comparison */ status: "identical" | "ahead" | "behind" | "diverged"; /** * Number of commits the head is ahead of base */ ahead_by: number; /** * Number of commits the head is behind base */ behind_by: number; /** * Total number of commits in the comparison */ total_commits: number; /** * List of changed files */ files: { /** * The blob SHA of the file */ sha?: string | null; /** * The file path */ filename: string; /** * The status of the file (added, removed, modified, renamed, copied, changed, unchanged) */ status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged"; /** * Number of lines added */ additions: number; /** * Number of lines deleted */ deletions: number; /** * Total number of changes (additions + deletions) */ changes: number; /** * Previous filename (for renamed/copied files) */ previous_filename?: string | null; }[]; } type ResponseGetGitV1RepoRepoContentsPath200 = ResponseGetGitV1RepoRepoContentsPath200File | ResponseGetGitV1RepoRepoContentsPath200Directory; interface ResponseGetGitV1RepoRepoContentsPath200File { name: string; path: string; /** * The hash / object ID of the file. */ sha: string; size: number; /** * Base64-encoded content. */ content: string; type: "file"; } interface ResponseGetGitV1RepoRepoContentsPath200Directory { name: string; path: string; /** * The hash / object ID of the directory. */ sha: string; entries: (ResponseGetGitV1RepoRepoContentsPath200FileEntry | ResponseGetGitV1RepoRepoContentsPath200DirectoryEntry)[]; type: "dir"; } interface ResponseGetGitV1RepoRepoContentsPath200FileEntry { name: string; path: string; /** * The hash / object ID of the file. */ sha: string; size: number; type: "file"; } /** * Directory */ interface ResponseGetGitV1RepoRepoContentsPath200DirectoryEntry { name: string; path: string; /** * The hash / object ID of the directory. */ sha: string; entries: (ResponseGetGitV1RepoRepoContentsPath200FileEntry1 | ResponseGetGitV1RepoRepoContentsPath200DirEntryRecursive)[]; type: "dir"; } interface ResponseGetGitV1RepoRepoContentsPath200FileEntry1 { } interface ResponseGetGitV1RepoRepoContentsPath200DirEntryRecursive { } /** * Blob object */ interface ResponseGetGitV1RepoRepoGitBlobsHash200 { /** * The content of the blob, base64 encoded. */ content: string; /** * The encoding of the blob. Always `base64`. */ encoding: "base64"; /** * The object's hash. */ sha: string; /** * The blob's size in bytes */ size: number; } /** * The selector used for this query (echoed back) */ type ResponseGetGitV1RepoRepoGitCommits200CommitsSelector = ResponseGetGitV1RepoRepoGitCommits200Range | ResponseGetGitV1RepoRepoGitCommits200Since | ResponseGetGitV1RepoRepoGitCommits200Until; interface ResponseGetGitV1RepoRepoGitCommits200 { /** * List of commits */ commits: { /** * The author of the commit */ author: { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The committer */ committer: { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The commit message */ message: string; /** * The ID of the tree pointed to by this commit */ tree: { /** * The tree's hash ID */ sha: string; }; /** * Parent commit(s) of this commit */ parents: { /** * The commit's hash ID */ sha: string; }[]; /** * The commit's hash ID */ sha: string; }[]; /** * Number of commits returned in this page */ count: number; /** * Number of commits skipped (offset) - deprecated, use `since`/`until` selectors instead */ offset?: number | null; /** * Maximum number of commits requested (limit) */ limit: number; /** * Total number of commits in the branch/range. * Omitted when the caller passed `disableTotalCount=true`. */ total?: number | null; /** * Sort order for commit listing */ order: "desc" | "asc"; selector?: null | ResponseGetGitV1RepoRepoGitCommits200CommitsSelector; /** * SHA of the next commit for pagination. None if there are no more commits. * - For `order=desc`: use `until=next_commit` to get the next page * - For `order=asc`: use `since=next_commit` to get the next page */ next_commit?: string | null; } /** * Select commits in a range (like git's A..B) */ interface ResponseGetGitV1RepoRepoGitCommits200Range { /** * Select commits in a range (like git's A..B) */ Range: { /** * Exclude this commit and its ancestors */ since: string; /** * Start from this commit (inclusive) */ until: string; }; } /** * Select commits since this commit SHA (exclusive) */ interface ResponseGetGitV1RepoRepoGitCommits200Since { /** * Select commits since this commit SHA (exclusive) */ Since: string; } /** * Select commits until this commit SHA (inclusive) */ interface ResponseGetGitV1RepoRepoGitCommits200Until { /** * Select commits until this commit SHA (inclusive) */ Until: string; } interface ResponseGetGitV1RepoRepoGitCommits403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoGitCommits500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostGitV1RepoRepoGitCommits200 { /** * Commit object */ commit: { /** * The author of the commit */ author: { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The committer */ committer: { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The commit message */ message: string; /** * The ID of the tree pointed to by this commit */ tree: { /** * The tree's hash ID */ sha: string; }; /** * Parent commit(s) of this commit */ parents: { /** * The commit's hash ID */ sha: string; }[]; /** * The commit's hash ID */ sha: string; }; } interface ResponsePostGitV1RepoRepoGitCommits403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostGitV1RepoRepoGitCommits500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } /** * Commit object */ interface ResponseGetGitV1RepoRepoGitCommitsHash200 { /** * The author of the commit */ author: { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The committer */ committer: { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The commit message */ message: string; /** * The ID of the tree pointed to by this commit */ tree: { /** * The tree's hash ID */ sha: string; }; /** * Parent commit(s) of this commit */ parents: { /** * The commit's hash ID */ sha: string; }[]; /** * The commit's hash ID */ sha: string; } interface ResponseGetGitV1RepoRepoGitRefsHeads200 { branches: { name: string; /** * The latest commit ID on this branch. Null if the branch is empty. */ commit?: string | null; }[]; } interface ResponsePostGitV1RepoRepoGitRefsHeadsBranch200 { /** * The name of the created branch */ name: string; /** * The SHA of the commit the branch points to */ sha: string; } interface ResponsePostGitV1RepoRepoGitRefsHeadsBranch400 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostGitV1RepoRepoGitRefsHeadsBranch403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostGitV1RepoRepoGitRefsHeadsBranch500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } /** * A reference to a Git object */ interface ResponseGetGitV1RepoRepoGitRefsHeadsBranch200 { /** * The name of the ref (e.g., "refs/heads/main" or "refs/tags/v1.0.0") */ name: string; /** * The SHA-1 hash of the Git object this reference points to */ sha: string; } interface ResponseGetGitV1RepoRepoGitRefsHeadsBranch400 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoGitRefsHeadsBranch403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoGitRefsHeadsBranch500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoGitRefsTags200 { tags: { /** * The tag name */ name: string; tagger?: null | { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The tag message */ message?: string | null; /** * The object this tag points to */ target: { /** * The target object's hash ID */ sha: string; }; /** * The tag's hash ID */ sha: string; }[]; } /** * Tag object */ interface ResponseGetGitV1RepoRepoGitRefsTagsTag200 { /** * The tag name */ name: string; tagger?: null | { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The tag message */ message?: string | null; /** * The object this tag points to */ target: { /** * The target object's hash ID */ sha: string; }; /** * The tag's hash ID */ sha: string; } interface ResponseGetGitV1RepoRepoGitRefsTagsTag400 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoGitRefsTagsTag403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoGitRefsTagsTag500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } /** * Tag object */ interface ResponseGetGitV1RepoRepoGitTagsHash200 { /** * The tag name */ name: string; tagger?: null | { /** * The date marker for this signature */ date: string; name: string; email: string; }; /** * The tag message */ message?: string | null; /** * The object this tag points to */ target: { /** * The target object's hash ID */ sha: string; }; /** * The tag's hash ID */ sha: string; } /** * Tree object */ interface ResponseGetGitV1RepoRepoGitTreesHash200 { /** * The tree's entries */ tree: (ResponseGetGitV1RepoRepoGitTreesHash200Blob | ResponseGetGitV1RepoRepoGitTreesHash200Tree)[]; /** * The tree's hash ID */ sha: string; } interface ResponseGetGitV1RepoRepoGitTreesHash200Blob { path: string; sha: string; size: number; type: "blob"; } interface ResponseGetGitV1RepoRepoGitTreesHash200Tree { path: string; sha: string; type: "tree"; } interface ResponseGetGitV1RepoRepoRepair200 { jobs: { jobId: string; repoId: string; /** * Account this job is charged against for the per-account * concurrency cap. None for admin/internal POSTs that didn't * supply X-Freestyle-User-Id. */ accountId?: string | null; depth?: number | null; /** * One of: pending, running, completed, failed, cancelled. */ status: string; createdAt: string; completedAt?: string | null; /** * Live counters from the walk. Updated by the worker every 500 * commits and every 10k blob lookups, plus before/after each ref. * Always present; zeros until the walk publishes its first sample. */ progress: {}; result?: null | { /** * Number of refs walked. */ refsExamined: number; /** * Refs whose tip was rewritten because their reachable history had * missing objects. Empty for healthy repos. */ rewrites: { /** * Full ref name (e.g. `refs/heads/main`). */ name: string; /** * OID the ref pointed at before repair. */ originalOid: string; /** * OID the ref now points at after substituting missing objects. */ rewrittenOid: string; }[]; }; /** * Populated when status == "failed". */ error?: string | null; verification?: null | { message: string; /** * 40-char hex OID extracted from the libgit2 error, if any. */ oid?: string | null; /** * Ref the verification was processing when it failed, if any. */ refName?: string | null; /** * Snapshot of refs that *were* successfully rewritten before * verification failed. Operators want this — the rewrites are * already persisted to the repo, so seeing what changed even on a * failed run is load-bearing for follow-up debugging. */ rewrites: { /** * Full ref name (e.g. `refs/heads/main`). */ name: string; /** * OID the ref pointed at before repair. */ originalOid: string; /** * OID the ref now points at after substituting missing objects. */ rewrittenOid: string; }[]; /** * Number of refs the rewrite phase walked before verification ran. */ refsExamined: number; }; }[]; } interface ResponsePostGitV1RepoRepoRepair202 { jobId: string; repoId: string; depth?: number | null; status: string; } /** * JSON view of a job for the GET endpoint. Status is tagged so the * `result` and `error` fields are unambiguous to consumers. */ interface ResponseGetGitV1RepoRepoRepairJobId200 { jobId: string; repoId: string; /** * Account this job is charged against for the per-account * concurrency cap. None for admin/internal POSTs that didn't * supply X-Freestyle-User-Id. */ accountId?: string | null; depth?: number | null; /** * One of: pending, running, completed, failed, cancelled. */ status: string; createdAt: string; completedAt?: string | null; /** * Live counters from the walk. Updated by the worker every 500 * commits and every 10k blob lookups, plus before/after each ref. * Always present; zeros until the walk publishes its first sample. */ progress: {}; result?: null | { /** * Number of refs walked. */ refsExamined: number; /** * Refs whose tip was rewritten because their reachable history had * missing objects. Empty for healthy repos. */ rewrites: { /** * Full ref name (e.g. `refs/heads/main`). */ name: string; /** * OID the ref pointed at before repair. */ originalOid: string; /** * OID the ref now points at after substituting missing objects. */ rewrittenOid: string; }[]; }; /** * Populated when status == "failed". */ error?: string | null; verification?: null | { message: string; /** * 40-char hex OID extracted from the libgit2 error, if any. */ oid?: string | null; /** * Ref the verification was processing when it failed, if any. */ refName?: string | null; /** * Snapshot of refs that *were* successfully rewritten before * verification failed. Operators want this — the rewrites are * already persisted to the repo, so seeing what changed even on a * failed run is load-bearing for follow-up debugging. */ rewrites: { /** * Full ref name (e.g. `refs/heads/main`). */ name: string; /** * OID the ref pointed at before repair. */ originalOid: string; /** * OID the ref now points at after substituting missing objects. */ rewrittenOid: string; }[]; /** * Number of refs the rewrite phase walked before verification ran. */ refsExamined: number; }; } /** * JSON view of a job for the GET endpoint. Status is tagged so the * `result` and `error` fields are unambiguous to consumers. */ interface ResponseDeleteGitV1RepoRepoRepairJobId200 { jobId: string; repoId: string; /** * Account this job is charged against for the per-account * concurrency cap. None for admin/internal POSTs that didn't * supply X-Freestyle-User-Id. */ accountId?: string | null; depth?: number | null; /** * One of: pending, running, completed, failed, cancelled. */ status: string; createdAt: string; completedAt?: string | null; /** * Live counters from the walk. Updated by the worker every 500 * commits and every 10k blob lookups, plus before/after each ref. * Always present; zeros until the walk publishes its first sample. */ progress: {}; result?: null | { /** * Number of refs walked. */ refsExamined: number; /** * Refs whose tip was rewritten because their reachable history had * missing objects. Empty for healthy repos. */ rewrites: { /** * Full ref name (e.g. `refs/heads/main`). */ name: string; /** * OID the ref pointed at before repair. */ originalOid: string; /** * OID the ref now points at after substituting missing objects. */ rewrittenOid: string; }[]; }; /** * Populated when status == "failed". */ error?: string | null; verification?: null | { message: string; /** * 40-char hex OID extracted from the libgit2 error, if any. */ oid?: string | null; /** * Ref the verification was processing when it failed, if any. */ refName?: string | null; /** * Snapshot of refs that *were* successfully rewritten before * verification failed. Operators want this — the rewrites are * already persisted to the repo, so seeing what changed even on a * failed run is load-bearing for follow-up debugging. */ rewrites: { /** * Full ref name (e.g. `refs/heads/main`). */ name: string; /** * OID the ref pointed at before repair. */ originalOid: string; /** * OID the ref now points at after substituting missing objects. */ rewrittenOid: string; }[]; /** * Number of refs the rewrite phase walked before verification ran. */ refsExamined: number; }; } interface ResponseGetGitV1RepoRepoSearch200 { /** * Total number of files with matches (before pagination). */ totalFiles: number; /** * Total number of individual line matches across all files (before pagination). */ totalMatches: number; /** * Whether there are more results beyond the current page. */ hasMore: boolean; /** * The matching files with their line matches (paginated). */ files: { /** * The file path relative to the repository root. */ path: string; /** * The file extension (e.g. "rs", "ts"), if any. */ extension?: string | null; /** * The size of the file in bytes. */ size: number; /** * The matches found in this file. */ matches: { /** * 1-based line number of the match. */ lineNumber: number; /** * The full text of the matching line. */ line: string; /** * 0-based column offset of the first match in the line. */ startColumn: number; /** * 0-based column offset of the end of the first match in the line. */ endColumn: number; /** * Context lines before the match. */ contextBefore: string[]; /** * Context lines after the match. */ contextAfter: string[]; }[]; }[]; } interface ResponseGetGitV1RepoRepoSearchCommits200 { /** * Total number of matching commits found. */ totalCommits: number; /** * Whether there are more results beyond those returned. */ hasMore: boolean; /** * The matching commits. */ commits: { /** * The commit SHA. */ sha: string; /** * The commit message (first line / summary). */ message: string; /** * The full commit message. */ fullMessage: string; /** * The author name. */ authorName: string; /** * The author email. */ authorEmail: string; /** * The commit timestamp (ISO 8601). */ timestamp: string; }[]; } /** * Diff content search results. */ interface ResponseGetGitV1RepoRepoSearchDiffs200 { /** * Total number of commits with matching changes (before pagination). */ totalCommits: number; /** * Whether there are more results beyond the current page. */ hasMore: boolean; /** * The matching commits with their file-level diff matches. */ commits: { /** * The commit SHA. */ sha: string; /** * The commit message summary (first line). */ message: string; /** * The author name. */ authorName: string; /** * The author email. */ authorEmail: string; /** * The commit timestamp (ISO 8601). */ timestamp: string; /** * Files in this commit with matching changed content. */ files: { /** * The file path relative to the repository root. */ path: string; /** * The matching lines in the diff for this file. */ matches: { /** * The matched line content (without the leading +/- prefix). */ line: string; /** * 1-based line number in the new file (for additions) or old file (for deletions). */ lineNumber: number; /** * 0-based byte offset of the match start within the line. */ startColumn: number; /** * 0-based byte offset of the match end within the line. */ endColumn: number; /** * Whether this was an added line (true) or a deleted line (false). */ isAddition: boolean; }[]; }[]; }[]; } interface ResponseGetGitV1RepoRepoSearchFiles200 { /** * Total number of matching files. */ totalFiles: number; /** * Whether the results were truncated. */ hasMore: boolean; /** * The matching file paths. */ files: { /** * The full file path relative to the repository root. */ path: string; /** * The file extension (e.g. "rs", "ts"), if any. */ extension?: string | null; /** * The file size in bytes. */ size: number; }[]; } interface ResponseGetGitV1RepoRepoTrigger200 { triggers: { repositoryId: string; trigger: { branches?: string[] | null; globs?: string[] | null; event: "push"; }; action: { endpoint: string; action: "webhook"; }; managed: boolean; id: string; createdAt: string; }[]; } interface ResponseGetGitV1RepoRepoTrigger403 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoTrigger404 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponseGetGitV1RepoRepoTrigger500 { /** * Error code in SCREAMING_SNAKE_CASE */ error: string; /** * Human-readable error message */ message: string; } interface ResponsePostGitV1RepoRepoTrigger200 { triggerId: string; } interface ResponsePostGitV1RepoRepoTrigger400 { message: string; } interface ResponsePostGitV1RepoRepoTrigger403 { message: string; } interface ResponsePostGitV1RepoRepoTrigger404 { message: string; } interface ResponsePostGitV1RepoRepoTrigger500 { message: string; } interface ResponseDeleteGitV1RepoRepoTriggerTrigger200 { } interface ResponseDeleteGitV1RepoRepoTriggerTrigger400 { message: string; } interface ResponseDeleteGitV1RepoRepoTriggerTrigger403 { message: string; } interface ResponseDeleteGitV1RepoRepoTriggerTrigger404 { } interface ResponseDeleteGitV1RepoRepoTriggerTrigger500 { message: string; } interface ResponseGetIdentityV1Identities200 { identities: { id: string; managed: boolean; }[]; offset: number; total: number; } interface ResponsePostIdentityV1Identities200 { id: string; managed: boolean; } interface ResponseDeleteIdentityV1IdentitiesIdentity200 { } interface ResponseGetIdentityV1IdentitiesIdentityPermissionsGit200 { repositories: { id: string; name?: string | null; accountId: string; permissions: "read" | "write"; visibility: "public" | "private"; }[]; } interface ResponseGetIdentityV1IdentitiesIdentityPermissionsGitRepo200 { identity: string; repo: string; accessLevel?: null | ("read" | "write"); } interface ResponsePostIdentityV1IdentitiesIdentityPermissionsGitRepo200 { } interface ResponsePutIdentityV1IdentitiesIdentityPermissionsGitRepo200 { }