@blink-sdk/github
Version:
Blink SDK for GitHub tools.
140 lines (139 loc) • 7.48 kB
text/typescript
import { Octokit } from "@octokit/core";
import * as ai0 from "ai";
import { Tool } from "ai";
import * as blink0 from "blink";
import { ToolWithContext } from "blink";
//#region src/tools.d.ts
type AsyncOrSync<T> = T | Promise<T> | (() => Promise<T>) | (() => T);
type AppAuthOptions = {
appId: string;
privateKey: string;
/**
* installationId must be provided if the app is installed on more
* than one organization.
*/
installationId?: number;
cache?: {
set: (key: string, value: string) => Promise<void>;
get: (key: string) => Promise<string | undefined>;
};
} & ({
repositoryNames?: string[];
} | {
repositoryIds?: number[];
});
/**
* Authenticate a GitHub app.
* @param appAuth - The app authentication options.
* @returns The access token for the app.
*/
declare function authenticateApp(appAuth: AppAuthOptions): Promise<string>;
type GithubToolContext = {
/**
* accessToken specifies an access token to use for authentication.
*/
accessToken: AsyncOrSync<string>;
} | {
/**
* appAuth specifies an app authentication to use for authentication.
* Tokens will be cached and reused to avoid rate limiting.
*/
appAuth: AsyncOrSync<AppAuthOptions>;
} | {
/**
* Customize all behavior of requests with your own Octokit instance.
*/
octokit: AsyncOrSync<Octokit>;
};
declare const tools: {
list_user_installations: ToolWithContext<GithubToolContext, Tool>;
list_app_installations: ToolWithContext<GithubToolContext, Tool>;
get_organization: ToolWithContext<GithubToolContext, Tool>;
search_repositories: ToolWithContext<GithubToolContext, Tool>;
get_repository: ToolWithContext<GithubToolContext, Tool>;
search_issues: ToolWithContext<GithubToolContext, Tool>;
get_pull_request: ToolWithContext<GithubToolContext, Tool>;
get_issue: ToolWithContext<GithubToolContext, Tool>;
list_issue_comments: ToolWithContext<GithubToolContext, Tool>;
list_repository_contributors: ToolWithContext<GithubToolContext, Tool>;
list_pull_request_files: ToolWithContext<GithubToolContext, Tool>;
repository_read_file: ToolWithContext<GithubToolContext, Tool>;
repository_grep_file: ToolWithContext<GithubToolContext, Tool>;
repository_list_directory: ToolWithContext<GithubToolContext, Tool>;
search_code: ToolWithContext<GithubToolContext, Tool>;
list_releases: ToolWithContext<GithubToolContext, Tool>;
get_commit: ToolWithContext<GithubToolContext, Tool>;
get_pull_request_diff: ToolWithContext<GithubToolContext, Tool>;
get_commit_diff: ToolWithContext<GithubToolContext, Tool>;
list_commits: ToolWithContext<GithubToolContext, Tool>;
get_user: ToolWithContext<GithubToolContext, Tool>;
create_pull_request: ToolWithContext<GithubToolContext, Tool>;
actions_list_runs: ToolWithContext<GithubToolContext, Tool>;
actions_list_jobs: ToolWithContext<GithubToolContext, Tool>;
actions_get_job_logs: ToolWithContext<GithubToolContext, Tool>;
update_issue: ToolWithContext<GithubToolContext, Tool>;
update_pull_request: ToolWithContext<GithubToolContext, Tool>;
create_issue: ToolWithContext<GithubToolContext, Tool>;
create_issue_comment: ToolWithContext<GithubToolContext, Tool>;
create_issue_comment_reaction: ToolWithContext<GithubToolContext, Tool>;
create_pull_request_review_comment_reaction: ToolWithContext<GithubToolContext, Tool>;
list_pull_request_review_comments: ToolWithContext<GithubToolContext, Tool>;
create_pull_request_review_comment_reply: ToolWithContext<GithubToolContext, Tool>;
get_pull_request_review: ToolWithContext<GithubToolContext, Tool>;
list_pull_request_reviews: ToolWithContext<GithubToolContext, Tool>;
list_organization_projects: ToolWithContext<GithubToolContext, Tool>;
list_organization_project_items: ToolWithContext<GithubToolContext, Tool>;
create_check_run: ToolWithContext<GithubToolContext, Tool>;
update_check_run: ToolWithContext<GithubToolContext, Tool>;
get_check_run: ToolWithContext<GithubToolContext, Tool>;
list_check_runs_for_ref: ToolWithContext<GithubToolContext, Tool>;
};
//#endregion
//#region src/index.d.ts
declare const _default: {
tools: {
list_user_installations: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_app_installations: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
get_organization: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
search_repositories: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
get_repository: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
search_issues: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
get_pull_request: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
get_issue: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_issue_comments: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_repository_contributors: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_pull_request_files: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
repository_read_file: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
repository_grep_file: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
repository_list_directory: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
search_code: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_releases: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
get_commit: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
get_pull_request_diff: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
get_commit_diff: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_commits: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
get_user: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
create_pull_request: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
actions_list_runs: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
actions_list_jobs: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
actions_get_job_logs: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
update_issue: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
update_pull_request: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
create_issue: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
create_issue_comment: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
create_issue_comment_reaction: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
create_pull_request_review_comment_reaction: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_pull_request_review_comments: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
create_pull_request_review_comment_reply: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
get_pull_request_review: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_pull_request_reviews: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_organization_projects: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_organization_project_items: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
create_check_run: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
update_check_run: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
get_check_run: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
list_check_runs_for_ref: blink0.ToolWithContext<GithubToolContext, ai0.Tool>;
};
};
//#endregion
export { AppAuthOptions, GithubToolContext, authenticateApp, _default as default, tools };