@gitpod/sdk
Version:
Public TypeScript SDK for Ona.
83 lines (82 loc) • 4.22 kB
TypeScript
import { type Client as ConnectClient, type Transport } from "@connectrpc/connect";
import { AccountService } from "../gitpod/v1/account_pb";
import { AgentService } from "../gitpod/v1/agent_pb";
import { BillingService } from "../gitpod/v1/billing_pb";
import { EditorService } from "../gitpod/v1/editor_pb";
import { EnvironmentAutomationService } from "../gitpod/v1/environment_automation_pb";
import { EnvironmentService } from "../gitpod/v1/environment_pb";
import { EventService } from "../gitpod/v1/event_pb";
import { GatewayService } from "../gitpod/v1/gateway_pb";
import { GroupService } from "../gitpod/v1/group_pb";
import { IdentityService } from "../gitpod/v1/identity_pb";
import { InsightsService } from "../gitpod/v1/insights_pb";
import { IntegrationService } from "../gitpod/v1/integration_pb";
import { NotificationService } from "../gitpod/v1/notification_pb";
import { OrganizationService } from "../gitpod/v1/organization_pb";
import { PrebuildService } from "../gitpod/v1/prebuild_pb";
import { ProjectService } from "../gitpod/v1/project_pb";
import { RunnerConfigurationService } from "../gitpod/v1/runner_configuration_pb";
import { RunnerService } from "../gitpod/v1/runner_pb";
import { SecretService } from "../gitpod/v1/secret_pb";
import { SecurityService } from "../gitpod/v1/security_pb";
import { ServiceAccountService } from "../gitpod/v1/service_account_pb";
import { TeamService } from "../gitpod/v1/team_pb";
import { UsageService } from "../gitpod/v1/usage_pb";
import { UserService } from "../gitpod/v1/user_pb";
import { WebhookService } from "../gitpod/v1/webhook_pb";
import { WorkflowService } from "../gitpod/v1/workflow_pb";
import { EnvironmentOpsService } from "../supervisor/v1/environmentopts_pb";
import { EnvironmentClient } from "./environments";
import { type CodexRun, type RunCodexOptions } from "./codex";
import type { Logger } from "./logging";
export interface ClientOptions {
apiKey?: string;
baseUrl?: string;
transport?: Transport;
fetch?: typeof globalThis.fetch;
logger?: Logger;
userAgent?: string;
defaultTimeoutMs?: number;
}
export type ServiceClients = {
account: ConnectClient<typeof AccountService>;
agent: ConnectClient<typeof AgentService>;
billing: ConnectClient<typeof BillingService>;
editor: ConnectClient<typeof EditorService>;
environment: ConnectClient<typeof EnvironmentService>;
environmentAutomation: ConnectClient<typeof EnvironmentAutomationService>;
event: ConnectClient<typeof EventService>;
gateway: ConnectClient<typeof GatewayService>;
group: ConnectClient<typeof GroupService>;
identity: ConnectClient<typeof IdentityService>;
insights: ConnectClient<typeof InsightsService>;
integration: ConnectClient<typeof IntegrationService>;
notification: ConnectClient<typeof NotificationService>;
organization: ConnectClient<typeof OrganizationService>;
prebuild: ConnectClient<typeof PrebuildService>;
project: ConnectClient<typeof ProjectService>;
runner: ConnectClient<typeof RunnerService>;
runnerConfiguration: ConnectClient<typeof RunnerConfigurationService>;
secret: ConnectClient<typeof SecretService>;
security: ConnectClient<typeof SecurityService>;
serviceAccount: ConnectClient<typeof ServiceAccountService>;
team: ConnectClient<typeof TeamService>;
usage: ConnectClient<typeof UsageService>;
user: ConnectClient<typeof UserService>;
webhook: ConnectClient<typeof WebhookService>;
workflow: ConnectClient<typeof WorkflowService>;
};
export declare class OnaClient {
readonly services: ServiceClients;
readonly logger: Logger;
readonly userAgent: string;
readonly fetch?: typeof globalThis.fetch;
private readonly apiKey?;
private readonly defaultTimeoutMs?;
constructor(options?: ClientOptions);
environments(): EnvironmentClient;
runCodex(options: RunCodexOptions): Promise<CodexRun>;
opsClient(baseUrl: string, accessToken: string): ConnectClient<typeof EnvironmentOpsService>;
}
export declare function createClient(options?: ClientOptions): OnaClient;
export declare function createClientFromEnv(options?: Omit<ClientOptions, "apiKey">): OnaClient;