UNPKG

@gitpod/sdk

Version:
1,479 lines 114 kB
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; import type { Subject } from "./identity_pb"; import type { PaginationRequest, PaginationResponse, SortOrder } from "./pagination_pb"; import type { DateRange } from "./usage_pb"; import type { Timestamp } from "@bufbuild/protobuf/wkt"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file gitpod/v1/billing.proto. */ export declare const file_gitpod_v1_billing: GenFile; /** * @generated from message gitpod.v1.BillingRecord */ export type BillingRecord = Message<"gitpod.v1.BillingRecord"> & { /** * id is the unique identifier for the billing record * * @generated from field: string id = 1; */ id: string; /** * @generated from field: gitpod.v1.BillingRecordMetadata metadata = 2; */ metadata?: BillingRecordMetadata; /** * @generated from field: gitpod.v1.BillingRecordSpec spec = 3; */ spec?: BillingRecordSpec; /** * @generated from field: gitpod.v1.BillingRecordStatus status = 4; */ status?: BillingRecordStatus; }; /** * Describes the message gitpod.v1.BillingRecord. * Use `create(BillingRecordSchema)` to create a new message. */ export declare const BillingRecordSchema: GenMessage<BillingRecord>; /** * @generated from message gitpod.v1.BillingRecordMetadata */ export type BillingRecordMetadata = Message<"gitpod.v1.BillingRecordMetadata"> & { /** * organization_id is the ID of the organization that owns the record * * @generated from field: string organization_id = 1; */ organizationId: string; /** * realm is the billing realm (sandbox or production) * * @generated from field: gitpod.v1.BillingRealm realm = 2; */ realm: BillingRealm; /** * created_at is the time the record was created * * @generated from field: google.protobuf.Timestamp created_at = 3; */ createdAt?: Timestamp; /** * updated_at is the time the record was last updated * * @generated from field: google.protobuf.Timestamp updated_at = 4; */ updatedAt?: Timestamp; }; /** * Describes the message gitpod.v1.BillingRecordMetadata. * Use `create(BillingRecordMetadataSchema)` to create a new message. */ export declare const BillingRecordMetadataSchema: GenMessage<BillingRecordMetadata>; /** * @generated from message gitpod.v1.BillingRecordSpec */ export type BillingRecordSpec = Message<"gitpod.v1.BillingRecordSpec"> & { /** * plan contains the plan details * * @generated from field: gitpod.v1.BillingPlanSpec plan = 1; */ plan?: BillingPlanSpec; }; /** * Describes the message gitpod.v1.BillingRecordSpec. * Use `create(BillingRecordSpecSchema)` to create a new message. */ export declare const BillingRecordSpecSchema: GenMessage<BillingRecordSpec>; /** * @generated from message gitpod.v1.BillingPlanSpec */ export type BillingPlanSpec = Message<"gitpod.v1.BillingPlanSpec"> & { /** * kind contains the kind of plan * * @generated from field: gitpod.v1.BillingPlanKind kind = 1; */ kind: BillingPlanKind; /** * amount_cents contains the amount of cents to charge the organization * * @generated from field: int64 amount_cents_usd = 2; */ amountCentsUsd: bigint; /** * version contains the version of the plan * * @generated from field: string version_id = 3; */ versionId: string; }; /** * Describes the message gitpod.v1.BillingPlanSpec. * Use `create(BillingPlanSpecSchema)` to create a new message. */ export declare const BillingPlanSpecSchema: GenMessage<BillingPlanSpec>; /** * @generated from message gitpod.v1.BillingRecordStatus */ export type BillingRecordStatus = Message<"gitpod.v1.BillingRecordStatus"> & { /** * plan contains the plan status * * @generated from field: gitpod.v1.BillingPlanStatus plan = 1; */ plan?: BillingPlanStatus; /** * card_verification contains the status of the card verification * * @generated from field: gitpod.v1.PaymentMethodVerificationStatus payment_method_verification = 2; */ paymentMethodVerification?: PaymentMethodVerificationStatus; /** * credit contains the status of the credit balance * * @generated from field: gitpod.v1.CreditStatus credit = 3; */ credit: CreditStatus; /** * error contains any error message * * @generated from field: string error = 4; */ error: string; }; /** * Describes the message gitpod.v1.BillingRecordStatus. * Use `create(BillingRecordStatusSchema)` to create a new message. */ export declare const BillingRecordStatusSchema: GenMessage<BillingRecordStatus>; /** * @generated from message gitpod.v1.BillingPlanStatus */ export type BillingPlanStatus = Message<"gitpod.v1.BillingPlanStatus"> & { /** * kind contains the kind of plan * * @generated from field: gitpod.v1.BillingPlanKind kind = 1; */ kind: BillingPlanKind; /** * amount_cents contains the amount of cents to charge the organization * * @generated from field: int64 amount_cents_usd = 2; */ amountCentsUsd: bigint; /** * ending_at contains the date and time when the plan ends * * @generated from field: google.protobuf.Timestamp ending_at = 3; */ endingAt?: Timestamp; /** * version contains the version of the plan * * @generated from field: string version_id = 4; */ versionId: string; }; /** * Describes the message gitpod.v1.BillingPlanStatus. * Use `create(BillingPlanStatusSchema)` to create a new message. */ export declare const BillingPlanStatusSchema: GenMessage<BillingPlanStatus>; /** * @generated from message gitpod.v1.PaymentMethodVerificationStatus */ export type PaymentMethodVerificationStatus = Message<"gitpod.v1.PaymentMethodVerificationStatus"> & { /** * status contains the status of the card verification * * @generated from field: gitpod.v1.CreditCardVerificationStatus card_verification_status = 1; */ cardVerificationStatus: CreditCardVerificationStatus; /** * error contains any error message * * @generated from field: string error = 2; */ error: string; }; /** * Describes the message gitpod.v1.PaymentMethodVerificationStatus. * Use `create(PaymentMethodVerificationStatusSchema)` to create a new message. */ export declare const PaymentMethodVerificationStatusSchema: GenMessage<PaymentMethodVerificationStatus>; /** * TopupPaymentFailureInfo contains information about a failed topup payment * * @generated from message gitpod.v1.TopupPaymentFailureInfo */ export type TopupPaymentFailureInfo = Message<"gitpod.v1.TopupPaymentFailureInfo"> & { /** * failed_at is when the topup payment failure occurred * * @generated from field: google.protobuf.Timestamp failed_at = 1; */ failedAt?: Timestamp; /** * error_message describes why the topup payment failed * * @generated from field: string error_message = 2; */ errorMessage: string; }; /** * Describes the message gitpod.v1.TopupPaymentFailureInfo. * Use `create(TopupPaymentFailureInfoSchema)` to create a new message. */ export declare const TopupPaymentFailureInfoSchema: GenMessage<TopupPaymentFailureInfo>; /** * @generated from message gitpod.v1.PaymentFailureInfo */ export type PaymentFailureInfo = Message<"gitpod.v1.PaymentFailureInfo"> & { /** * state indicates the current state of the payment failure * * @generated from field: gitpod.v1.PaymentFailureState state = 1; */ state: PaymentFailureState; /** * grace_period_ends_at is when the grace period ends * * @generated from field: google.protobuf.Timestamp grace_period_ends_at = 2; */ gracePeriodEndsAt?: Timestamp; /** * failed_at is when the payment failure occurred * * @generated from field: google.protobuf.Timestamp failed_at = 3; */ failedAt?: Timestamp; /** * failure_reason describes why the payment failed * * @generated from field: string failure_reason = 4; */ failureReason: string; }; /** * Describes the message gitpod.v1.PaymentFailureInfo. * Use `create(PaymentFailureInfoSchema)` to create a new message. */ export declare const PaymentFailureInfoSchema: GenMessage<PaymentFailureInfo>; /** * @generated from message gitpod.v1.Subscription */ export type Subscription = Message<"gitpod.v1.Subscription"> & { /** * contract_id is the unique identifier for the contract * * @generated from field: string contract_id = 1; */ contractId: string; /** * organization_id is the ID of the organization that owns the subscription * * @generated from field: string organization_id = 2; */ organizationId: string; /** * subscription_type is the type of subscription * * @generated from field: gitpod.v1.SubscriptionType subscription_type = 3; */ subscriptionType: SubscriptionType; /** * status is the current status of the subscription * * @generated from field: gitpod.v1.SubscriptionStatus status = 4; */ status: SubscriptionStatus; /** * starts_at is when the subscription was created * * @generated from field: google.protobuf.Timestamp starts_at = 6; */ startsAt?: Timestamp; /** * cancelled_at is when the subscription was cancelled (if applicable) * * @generated from field: google.protobuf.Timestamp cancelled_at = 7; */ cancelledAt?: Timestamp; /** * ends_at is when the subscription access will end (if cancelled) * * @generated from field: google.protobuf.Timestamp ends_at = 9; */ endsAt?: Timestamp; }; /** * Describes the message gitpod.v1.Subscription. * Use `create(SubscriptionSchema)` to create a new message. */ export declare const SubscriptionSchema: GenMessage<Subscription>; /** * Coupon represents a promotional code that can be redeemed for credits * * @generated from message gitpod.v1.Coupon */ export type Coupon = Message<"gitpod.v1.Coupon"> & { /** * id is the unique identifier for the coupon * * @generated from field: string id = 1; */ id: string; /** * code is the unique coupon code that customers can redeem * * @generated from field: string code = 2; */ code: string; /** * config is the configuration for this coupon * * @generated from field: gitpod.v1.CouponConfig config = 3; */ config?: CouponConfig; /** * max_uses is the maximum number of times this coupon can be redeemed * * @generated from field: int32 max_uses = 4; */ maxUses: number; /** * max_uses_per_org is the maximum number of times this coupon can be redeemed per organization * * @generated from field: optional int32 max_uses_per_org = 5; */ maxUsesPerOrg?: number; /** * expires_at is when this coupon expires (optional) * * @generated from field: optional google.protobuf.Timestamp expires_at = 6; */ expiresAt?: Timestamp; /** * description is a human-readable description of the coupon * * @generated from field: optional string description = 7; */ description?: string; /** * created_at is when the coupon was created * * @generated from field: google.protobuf.Timestamp created_at = 8; */ createdAt?: Timestamp; /** * updated_at is when the coupon was last updated * * @generated from field: google.protobuf.Timestamp updated_at = 9; */ updatedAt?: Timestamp; }; /** * Describes the message gitpod.v1.Coupon. * Use `create(CouponSchema)` to create a new message. */ export declare const CouponSchema: GenMessage<Coupon>; /** * @generated from message gitpod.v1.CouponConfig */ export type CouponConfig = Message<"gitpod.v1.CouponConfig"> & { /** * one_time_ocu_grant is the amount of OCU this coupon grants * * @generated from field: optional int64 one_time_ocu_grant = 1; */ oneTimeOcuGrant?: bigint; /** * percentage_off is the percentage off this coupon grants * * @generated from field: optional int64 percentage_off = 2; */ percentageOff?: bigint; /** * duration_months is the duration of the coupon in months * * @generated from field: optional int64 duration_months = 3; */ durationMonths?: bigint; /** * auto_terminate is whether the subscription should be terminated after the duration has passed * * @generated from field: bool auto_terminate = 4; */ autoTerminate: boolean; }; /** * Describes the message gitpod.v1.CouponConfig. * Use `create(CouponConfigSchema)` to create a new message. */ export declare const CouponConfigSchema: GenMessage<CouponConfig>; /** * BillingAddress represents a billing address for an organization * * @generated from message gitpod.v1.BillingAddress */ export type BillingAddress = Message<"gitpod.v1.BillingAddress"> & { /** * line1 is the first line of the address (street address) * * @generated from field: string line1 = 1; */ line1: string; /** * line2 is the second line of the address (apartment, suite, etc.) * * @generated from field: string line2 = 2; */ line2: string; /** * city is the city name * * @generated from field: string city = 3; */ city: string; /** * state is the state or province * * @generated from field: string state = 4; */ state: string; /** * postal_code is the postal or ZIP code * * @generated from field: string postal_code = 5; */ postalCode: string; /** * country is the two-letter country code (ISO 3166-1 alpha-2) * * @generated from field: string country = 6; */ country: string; }; /** * Describes the message gitpod.v1.BillingAddress. * Use `create(BillingAddressSchema)` to create a new message. */ export declare const BillingAddressSchema: GenMessage<BillingAddress>; /** * Daily OCU consumption for a single metric category. * * @generated from message gitpod.v1.MetricConsumptionTimeSeries */ export type MetricConsumptionTimeSeries = Message<"gitpod.v1.MetricConsumptionTimeSeries"> & { /** * Human-readable label (e.g. "Environment Usage", "LLM Cache Reads", "Total"). * * @generated from field: string display_name = 1; */ displayName: string; /** * Category for grouping and filtering. * * @generated from field: gitpod.v1.MetricConsumptionTimeSeries.Kind kind = 2; */ kind: MetricConsumptionTimeSeries_Kind; /** * Daily data points. * * @generated from field: repeated gitpod.v1.CreditUsageDataPoint series = 3; */ series: CreditUsageDataPoint[]; }; /** * Describes the message gitpod.v1.MetricConsumptionTimeSeries. * Use `create(MetricConsumptionTimeSeriesSchema)` to create a new message. */ export declare const MetricConsumptionTimeSeriesSchema: GenMessage<MetricConsumptionTimeSeries>; /** * @generated from enum gitpod.v1.MetricConsumptionTimeSeries.Kind */ export declare enum MetricConsumptionTimeSeries_Kind { /** * @generated from enum value: KIND_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: KIND_ALL = 1; */ ALL = 1, /** * @generated from enum value: KIND_ENVIRONMENT = 2; */ ENVIRONMENT = 2, /** * @generated from enum value: KIND_LLM = 3; */ LLM = 3 } /** * Describes the enum gitpod.v1.MetricConsumptionTimeSeries.Kind. */ export declare const MetricConsumptionTimeSeries_KindSchema: GenEnum<MetricConsumptionTimeSeries_Kind>; /** * A single data point in a credit consumption time series. * * @generated from message gitpod.v1.CreditUsageDataPoint */ export type CreditUsageDataPoint = Message<"gitpod.v1.CreditUsageDataPoint"> & { /** * Start of the day (UTC midnight). * * @generated from field: google.protobuf.Timestamp time = 1; */ time?: Timestamp; /** * Cost in Ona Compute Units. * * @generated from field: double ocu = 2; */ ocu: number; }; /** * Describes the message gitpod.v1.CreditUsageDataPoint. * Use `create(CreditUsageDataPointSchema)` to create a new message. */ export declare const CreditUsageDataPointSchema: GenMessage<CreditUsageDataPoint>; /** * AutoTopupSettings configures automatic credit top-ups for an organization. * * @generated from message gitpod.v1.AutoTopupSettings */ export type AutoTopupSettings = Message<"gitpod.v1.AutoTopupSettings"> & { /** * Whether auto-topup is enabled. * * @generated from field: bool enabled = 1; */ enabled: boolean; /** * OCU amount per top-up. Must be one of: 40, 100, 200, 400, 1000. * * @generated from field: double amount_credits = 2; */ amountCredits: number; /** * Maximum number of automatic top-ups per day (safety cap, 0 means no cap). * * @generated from field: int32 max_daily_topups = 3; */ maxDailyTopups: number; }; /** * Describes the message gitpod.v1.AutoTopupSettings. * Use `create(AutoTopupSettingsSchema)` to create a new message. */ export declare const AutoTopupSettingsSchema: GenMessage<AutoTopupSettings>; /** * CreditUsageReportFilter narrows the data returned by GetCreditUsageReport. * Wrapping filters in a message (rather than adding bare fields) lets future * filters (team, environment, resource kind) be added without further breaking * changes. * * @generated from message gitpod.v1.CreditUsageReportFilter */ export type CreditUsageReportFilter = Message<"gitpod.v1.CreditUsageReportFilter"> & { /** * Restrict the per-user breakdown to a single subject. The subject must be * PRINCIPAL_USER or PRINCIPAL_SERVICE_ACCOUNT and belong to the request's * organization. When unset, the report returns the default top-N users + * "Others" breakdown. * * When this field is set: * - daily_usage[*].user_usage contains rows only for the requested subject; * no "Others" aggregation bucket is produced. * - daily_usage[*].org_usage, team_usage, environment_usage, and * conversation_usage are omitted (empty). Callers that need those * sections should issue an unfiltered call. * - period_start and updated_at remain populated. * * @generated from field: optional gitpod.v1.Subject subject = 1; */ subject?: Subject; }; /** * Describes the message gitpod.v1.CreditUsageReportFilter. * Use `create(CreditUsageReportFilterSchema)` to create a new message. */ export declare const CreditUsageReportFilterSchema: GenMessage<CreditUsageReportFilter>; /** * @generated from message gitpod.v1.GetCreditUsageReportRequest */ export type GetCreditUsageReportRequest = Message<"gitpod.v1.GetCreditUsageReportRequest"> & { /** * @generated from field: string organization_id = 1; */ organizationId: string; /** * Date range for the report. Both start and end dates are inclusive. * Time-of-day is ignored; dates are truncated to midnight in the specified timezone. * The range must not exceed 31 days. * * @generated from field: gitpod.v1.DateRange date_range = 2; */ dateRange?: DateRange; /** * IANA timezone name (e.g. "America/New_York", "Europe/Berlin") used to * bucket daily usage. When empty, defaults to "UTC". * * @generated from field: string timezone = 3; */ timezone: string; /** * Optional filter narrowing the returned data. When unset or empty, the * response preserves the default behavior (top-N users + "Others"). See * CreditUsageReportFilter for per-field response-scoping semantics. * * @generated from field: gitpod.v1.CreditUsageReportFilter filter = 4; */ filter?: CreditUsageReportFilter; }; /** * Describes the message gitpod.v1.GetCreditUsageReportRequest. * Use `create(GetCreditUsageReportRequestSchema)` to create a new message. */ export declare const GetCreditUsageReportRequestSchema: GenMessage<GetCreditUsageReportRequest>; /** * @generated from message gitpod.v1.GetCreditUsageReportResponse */ export type GetCreditUsageReportResponse = Message<"gitpod.v1.GetCreditUsageReportResponse"> & { /** * When the report data was last computed. * * @generated from field: google.protobuf.Timestamp updated_at = 1; */ updatedAt?: Timestamp; /** * One entry per day in the requested date range. * * @generated from field: repeated gitpod.v1.DailyCreditUsage daily_usage = 2; */ dailyUsage: DailyCreditUsage[]; /** * Start of the billing period for this organization. * Used by the frontend to filter out months before usage tracking began. * * @generated from field: optional google.protobuf.Timestamp period_start = 3; */ periodStart?: Timestamp; }; /** * Describes the message gitpod.v1.GetCreditUsageReportResponse. * Use `create(GetCreditUsageReportResponseSchema)` to create a new message. */ export declare const GetCreditUsageReportResponseSchema: GenMessage<GetCreditUsageReportResponse>; /** * DailyCreditUsage contains credit usage for a single day. * * @generated from message gitpod.v1.DailyCreditUsage */ export type DailyCreditUsage = Message<"gitpod.v1.DailyCreditUsage"> & { /** * Start of the day (midnight in the requested timezone). * * @generated from field: google.protobuf.Timestamp date = 1; */ date?: Timestamp; /** * Org-wide usage broken down by type. * * @generated from field: repeated gitpod.v1.CreditsByType org_usage = 2; */ orgUsage: CreditsByType[]; /** * Per-user usage for this day (top users + "Others"). * * @generated from field: repeated gitpod.v1.UserCreditUsage user_usage = 3; */ userUsage: UserCreditUsage[]; /** * Per-team usage for this day (top teams + "Others"). * Empty team_id represents the "Others" aggregation bucket. * * @generated from field: repeated gitpod.v1.TeamCreditUsage team_usage = 4; */ teamUsage: TeamCreditUsage[]; /** * Per-environment usage for this day (top environments + "Others"). * Empty environment_id represents the "Others" aggregation bucket. * * @generated from field: repeated gitpod.v1.EnvironmentCreditUsage environment_usage = 5; */ environmentUsage: EnvironmentCreditUsage[]; /** * Per-agent-execution usage for this day (top conversations + "Others"). * Empty agent_execution_id represents the "Others" aggregation bucket. * * @generated from field: repeated gitpod.v1.AgentExecutionCreditUsage conversation_usage = 6; */ conversationUsage: AgentExecutionCreditUsage[]; /** * Org-wide intelligence usage broken down by model. * * @generated from field: repeated gitpod.v1.EnterpriseAIUsageByModel usage_by_model = 7; */ usageByModel: EnterpriseAIUsageByModel[]; }; /** * Describes the message gitpod.v1.DailyCreditUsage. * Use `create(DailyCreditUsageSchema)` to create a new message. */ export declare const DailyCreditUsageSchema: GenMessage<DailyCreditUsage>; /** * CreditsByType contains credits consumed for a single usage type. * * @generated from message gitpod.v1.CreditsByType */ export type CreditsByType = Message<"gitpod.v1.CreditsByType"> & { /** * @generated from field: gitpod.v1.UsageType usage_type = 1; */ usageType: UsageType; /** * @generated from field: double credits = 2; */ credits: number; }; /** * Describes the message gitpod.v1.CreditsByType. * Use `create(CreditsByTypeSchema)` to create a new message. */ export declare const CreditsByTypeSchema: GenMessage<CreditsByType>; /** * UserCreditUsage contains a single user's credit usage, broken down by type. * * @generated from message gitpod.v1.UserCreditUsage */ export type UserCreditUsage = Message<"gitpod.v1.UserCreditUsage"> & { /** * Empty when representing the "Others" aggregation bucket. * * @generated from field: string user_id = 1; */ userId: string; /** * @generated from field: string display_name = 2; */ displayName: string; /** * @generated from field: repeated gitpod.v1.CreditsByType usage = 3; */ usage: CreditsByType[]; /** * Intelligence usage broken down by model. * * @generated from field: repeated gitpod.v1.EnterpriseAIUsageByModel usage_by_model = 4; */ usageByModel: EnterpriseAIUsageByModel[]; }; /** * Describes the message gitpod.v1.UserCreditUsage. * Use `create(UserCreditUsageSchema)` to create a new message. */ export declare const UserCreditUsageSchema: GenMessage<UserCreditUsage>; /** * TeamCreditUsage contains a single team's credit usage for a day, broken down by type. * * @generated from message gitpod.v1.TeamCreditUsage */ export type TeamCreditUsage = Message<"gitpod.v1.TeamCreditUsage"> & { /** * Empty when representing the "Others" aggregation bucket. * * @generated from field: string team_id = 1; */ teamId: string; /** * @generated from field: string display_name = 2; */ displayName: string; /** * @generated from field: repeated gitpod.v1.CreditsByType usage = 3; */ usage: CreditsByType[]; }; /** * Describes the message gitpod.v1.TeamCreditUsage. * Use `create(TeamCreditUsageSchema)` to create a new message. */ export declare const TeamCreditUsageSchema: GenMessage<TeamCreditUsage>; /** * EnvironmentCreditUsage contains a single environment's credit usage for a day, broken down by type. * * @generated from message gitpod.v1.EnvironmentCreditUsage */ export type EnvironmentCreditUsage = Message<"gitpod.v1.EnvironmentCreditUsage"> & { /** * Empty when representing the "Others" aggregation bucket. * * @generated from field: string environment_id = 1; */ environmentId: string; /** * @generated from field: string display_name = 2; */ displayName: string; /** * @generated from field: repeated gitpod.v1.CreditsByType usage = 3; */ usage: CreditsByType[]; }; /** * Describes the message gitpod.v1.EnvironmentCreditUsage. * Use `create(EnvironmentCreditUsageSchema)` to create a new message. */ export declare const EnvironmentCreditUsageSchema: GenMessage<EnvironmentCreditUsage>; /** * AgentExecutionCreditUsage contains a single agent execution's credit usage for a day, broken down by type. * * @generated from message gitpod.v1.AgentExecutionCreditUsage */ export type AgentExecutionCreditUsage = Message<"gitpod.v1.AgentExecutionCreditUsage"> & { /** * Empty when representing the "Others" aggregation bucket. * * @generated from field: string agent_execution_id = 1; */ agentExecutionId: string; /** * @generated from field: string display_name = 2; */ displayName: string; /** * @generated from field: repeated gitpod.v1.CreditsByType usage = 3; */ usage: CreditsByType[]; }; /** * Describes the message gitpod.v1.AgentExecutionCreditUsage. * Use `create(AgentExecutionCreditUsageSchema)` to create a new message. */ export declare const AgentExecutionCreditUsageSchema: GenMessage<AgentExecutionCreditUsage>; /** * @generated from message gitpod.v1.GetCreditUsageExportRequest */ export type GetCreditUsageExportRequest = Message<"gitpod.v1.GetCreditUsageExportRequest"> & { /** * @generated from field: string organization_id = 1; */ organizationId: string; /** * Date range to export. Both start and end dates are inclusive; time-of-day * is ignored. Unlike GetCreditUsageReport, the range may cover up to a year. * * @generated from field: gitpod.v1.DateRange date_range = 2; */ dateRange?: DateRange; /** * How to group the export data. Defaults to DAILY_SUMMARY. * * @generated from field: gitpod.v1.CreditUsageExportGroupBy group_by = 3; */ groupBy: CreditUsageExportGroupBy; }; /** * Describes the message gitpod.v1.GetCreditUsageExportRequest. * Use `create(GetCreditUsageExportRequestSchema)` to create a new message. */ export declare const GetCreditUsageExportRequestSchema: GenMessage<GetCreditUsageExportRequest>; /** * @generated from message gitpod.v1.GetCreditUsageExportResponse */ export type GetCreditUsageExportResponse = Message<"gitpod.v1.GetCreditUsageExportResponse"> & { /** * Signed download URL for the CSV export. Valid for five minutes, and only * for the principal that requested it. * * @generated from field: string download_url = 1; */ downloadUrl: string; }; /** * Describes the message gitpod.v1.GetCreditUsageExportResponse. * Use `create(GetCreditUsageExportResponseSchema)` to create a new message. */ export declare const GetCreditUsageExportResponseSchema: GenMessage<GetCreditUsageExportResponse>; /** * @generated from message gitpod.v1.EnterpriseAITokenUsage */ export type EnterpriseAITokenUsage = Message<"gitpod.v1.EnterpriseAITokenUsage"> & { /** * @generated from field: int64 input_tokens = 1; */ inputTokens: bigint; /** * @generated from field: int64 output_tokens = 2; */ outputTokens: bigint; /** * @generated from field: int64 cache_tokens = 3; */ cacheTokens: bigint; /** * @generated from field: int64 total_tokens = 4; */ totalTokens: bigint; }; /** * Describes the message gitpod.v1.EnterpriseAITokenUsage. * Use `create(EnterpriseAITokenUsageSchema)` to create a new message. */ export declare const EnterpriseAITokenUsageSchema: GenMessage<EnterpriseAITokenUsage>; /** * @generated from message gitpod.v1.EnterpriseAIUsage */ export type EnterpriseAIUsage = Message<"gitpod.v1.EnterpriseAIUsage"> & { /** * @generated from field: double credits = 1; */ credits: number; /** * @generated from field: int64 cost_microunits = 2; */ costMicrounits: bigint; /** * @generated from field: gitpod.v1.BillingCurrency currency = 3; */ currency: BillingCurrency; /** * @generated from field: gitpod.v1.EnterpriseAITokenUsage tokens = 4; */ tokens?: EnterpriseAITokenUsage; }; /** * Describes the message gitpod.v1.EnterpriseAIUsage. * Use `create(EnterpriseAIUsageSchema)` to create a new message. */ export declare const EnterpriseAIUsageSchema: GenMessage<EnterpriseAIUsage>; /** * @generated from message gitpod.v1.EnterpriseAIUsageBudget */ export type EnterpriseAIUsageBudget = Message<"gitpod.v1.EnterpriseAIUsageBudget"> & { /** * @generated from field: gitpod.v1.EnterpriseAIUsageBudgetSource source = 1; */ source: EnterpriseAIUsageBudgetSource; /** * @generated from field: optional int64 monthly_credit_limit = 2; */ monthlyCreditLimit?: bigint; /** * @generated from field: optional int64 monthly_cost_limit_microunits = 3; */ monthlyCostLimitMicrounits?: bigint; /** * @generated from field: gitpod.v1.BillingCurrency currency = 4; */ currency: BillingCurrency; /** * @generated from field: gitpod.v1.EnterpriseAIUsage month_to_date_usage = 5; */ monthToDateUsage?: EnterpriseAIUsage; /** * @generated from field: double utilization_percent = 6; */ utilizationPercent: number; }; /** * Describes the message gitpod.v1.EnterpriseAIUsageBudget. * Use `create(EnterpriseAIUsageBudgetSchema)` to create a new message. */ export declare const EnterpriseAIUsageBudgetSchema: GenMessage<EnterpriseAIUsageBudget>; /** * @generated from message gitpod.v1.EnterpriseAIUsageByTokenType */ export type EnterpriseAIUsageByTokenType = Message<"gitpod.v1.EnterpriseAIUsageByTokenType"> & { /** * @generated from field: gitpod.v1.BYOKRateCardTokenType token_type = 1; */ tokenType: BYOKRateCardTokenType; /** * @generated from field: gitpod.v1.EnterpriseAIUsage usage = 2; */ usage?: EnterpriseAIUsage; }; /** * Describes the message gitpod.v1.EnterpriseAIUsageByTokenType. * Use `create(EnterpriseAIUsageByTokenTypeSchema)` to create a new message. */ export declare const EnterpriseAIUsageByTokenTypeSchema: GenMessage<EnterpriseAIUsageByTokenType>; /** * @generated from message gitpod.v1.EnterpriseAIUsageByModel */ export type EnterpriseAIUsageByModel = Message<"gitpod.v1.EnterpriseAIUsageByModel"> & { /** * @generated from field: string model = 1; */ model: string; /** * @generated from field: gitpod.v1.EnterpriseAIUsage usage = 2; */ usage?: EnterpriseAIUsage; /** * @generated from field: repeated gitpod.v1.EnterpriseAIUsageByTokenType usage_by_token_type = 3; */ usageByTokenType: EnterpriseAIUsageByTokenType[]; /** * Usage excluded from spend because no matching BYOK rate was configured. * * @generated from field: gitpod.v1.EnterpriseAIUsage unpriced_usage = 4; */ unpricedUsage?: EnterpriseAIUsage; /** * @generated from field: repeated gitpod.v1.EnterpriseAIUsageByTokenType unpriced_usage_by_token_type = 5; */ unpricedUsageByTokenType: EnterpriseAIUsageByTokenType[]; }; /** * Describes the message gitpod.v1.EnterpriseAIUsageByModel. * Use `create(EnterpriseAIUsageByModelSchema)` to create a new message. */ export declare const EnterpriseAIUsageByModelSchema: GenMessage<EnterpriseAIUsageByModel>; /** * @generated from message gitpod.v1.TeamEnterpriseAIUsage */ export type TeamEnterpriseAIUsage = Message<"gitpod.v1.TeamEnterpriseAIUsage"> & { /** * @generated from field: string team_id = 1; */ teamId: string; /** * @generated from field: string display_name = 2; */ displayName: string; /** * @generated from field: gitpod.v1.EnterpriseAIUsage usage = 3; */ usage?: EnterpriseAIUsage; /** * budget is unset when no monthly budget applies to this team. * * @generated from field: gitpod.v1.EnterpriseAIUsageBudget budget = 4; */ budget?: EnterpriseAIUsageBudget; /** * @generated from field: repeated gitpod.v1.EnterpriseAIUsageByTokenType usage_by_token_type = 5; */ usageByTokenType: EnterpriseAIUsageByTokenType[]; }; /** * Describes the message gitpod.v1.TeamEnterpriseAIUsage. * Use `create(TeamEnterpriseAIUsageSchema)` to create a new message. */ export declare const TeamEnterpriseAIUsageSchema: GenMessage<TeamEnterpriseAIUsage>; /** * @generated from message gitpod.v1.UserEnterpriseAIUsage */ export type UserEnterpriseAIUsage = Message<"gitpod.v1.UserEnterpriseAIUsage"> & { /** * Empty when representing the "Others" aggregation bucket. * * @generated from field: string user_id = 1; */ userId: string; /** * @generated from field: string display_name = 2; */ displayName: string; /** * @generated from field: gitpod.v1.EnterpriseAIUsage usage = 3; */ usage?: EnterpriseAIUsage; }; /** * Describes the message gitpod.v1.UserEnterpriseAIUsage. * Use `create(UserEnterpriseAIUsageSchema)` to create a new message. */ export declare const UserEnterpriseAIUsageSchema: GenMessage<UserEnterpriseAIUsage>; /** * @generated from message gitpod.v1.UserCostBudgetUsage */ export type UserCostBudgetUsage = Message<"gitpod.v1.UserCostBudgetUsage"> & { /** * @generated from field: string user_id = 1; */ userId: string; /** * @generated from field: string display_name = 2; */ displayName: string; /** * Usage within the requested date range. Reflects true month-to-date * usage when the range starts on the first day of the month. * * @generated from field: gitpod.v1.EnterpriseAIUsage month_to_date_usage = 3; */ monthToDateUsage?: EnterpriseAIUsage; /** * @generated from field: optional int64 monthly_cost_limit_microunits = 4; */ monthlyCostLimitMicrounits?: bigint; /** * @generated from field: gitpod.v1.BillingCurrency currency = 5; */ currency: BillingCurrency; /** * @generated from field: gitpod.v1.EnterpriseAIUserBudgetPolicySource budget_source = 6; */ budgetSource: EnterpriseAIUserBudgetPolicySource; /** * @generated from field: bool no_cap = 7; */ noCap: boolean; /** * @generated from field: double utilization_percent = 8; */ utilizationPercent: number; /** * @generated from field: bool over_budget = 9; */ overBudget: boolean; /** * @generated from field: bool is_service_account = 10; */ isServiceAccount: boolean; }; /** * Describes the message gitpod.v1.UserCostBudgetUsage. * Use `create(UserCostBudgetUsageSchema)` to create a new message. */ export declare const UserCostBudgetUsageSchema: GenMessage<UserCostBudgetUsage>; /** * @generated from message gitpod.v1.DailyEnterpriseAIUsage */ export type DailyEnterpriseAIUsage = Message<"gitpod.v1.DailyEnterpriseAIUsage"> & { /** * @generated from field: google.protobuf.Timestamp date = 1; */ date?: Timestamp; /** * @generated from field: gitpod.v1.EnterpriseAIUsage usage = 2; */ usage?: EnterpriseAIUsage; /** * budget is unset when no monthly budget applies to the organization. * * @generated from field: gitpod.v1.EnterpriseAIUsageBudget budget = 3; */ budget?: EnterpriseAIUsageBudget; /** * @generated from field: repeated gitpod.v1.UserEnterpriseAIUsage user_usage = 4; */ userUsage: UserEnterpriseAIUsage[]; /** * @generated from field: repeated gitpod.v1.TeamEnterpriseAIUsage team_usage = 5; */ teamUsage: TeamEnterpriseAIUsage[]; /** * Usage for this day broken down by model. When the request filters by * subject, contains only that subject's model usage. * * @generated from field: repeated gitpod.v1.EnterpriseAIUsageByModel usage_by_model = 6; */ usageByModel: EnterpriseAIUsageByModel[]; }; /** * Describes the message gitpod.v1.DailyEnterpriseAIUsage. * Use `create(DailyEnterpriseAIUsageSchema)` to create a new message. */ export declare const DailyEnterpriseAIUsageSchema: GenMessage<DailyEnterpriseAIUsage>; /** * @generated from message gitpod.v1.GetEnterpriseAIUsageSummaryRequest */ export type GetEnterpriseAIUsageSummaryRequest = Message<"gitpod.v1.GetEnterpriseAIUsageSummaryRequest"> & { /** * @generated from field: string organization_id = 1; */ organizationId: string; /** * Date range for the summary. Both start and end dates are inclusive. * Time-of-day is ignored; dates are truncated to midnight in the specified timezone. * * @generated from field: gitpod.v1.DateRange date_range = 2; */ dateRange?: DateRange; /** * IANA timezone name used to bucket usage. When empty, defaults to "UTC". * * @generated from field: string timezone = 3; */ timezone: string; }; /** * Describes the message gitpod.v1.GetEnterpriseAIUsageSummaryRequest. * Use `create(GetEnterpriseAIUsageSummaryRequestSchema)` to create a new message. */ export declare const GetEnterpriseAIUsageSummaryRequestSchema: GenMessage<GetEnterpriseAIUsageSummaryRequest>; /** * @generated from message gitpod.v1.GetEnterpriseAIUsageSummaryResponse */ export type GetEnterpriseAIUsageSummaryResponse = Message<"gitpod.v1.GetEnterpriseAIUsageSummaryResponse"> & { /** * calculated_at is the time through which usage has been calculated. * Usage after this timestamp may still be processing. * * @generated from field: google.protobuf.Timestamp calculated_at = 1; */ calculatedAt?: Timestamp; /** * @generated from field: gitpod.v1.EnterpriseAIUsage usage = 2; */ usage?: EnterpriseAIUsage; /** * budget is unset when no monthly budget applies to the organization. * * @generated from field: gitpod.v1.EnterpriseAIUsageBudget budget = 3; */ budget?: EnterpriseAIUsageBudget; /** * @generated from field: repeated gitpod.v1.EnterpriseAIUsageByModel usage_by_model = 4; */ usageByModel: EnterpriseAIUsageByModel[]; }; /** * Describes the message gitpod.v1.GetEnterpriseAIUsageSummaryResponse. * Use `create(GetEnterpriseAIUsageSummaryResponseSchema)` to create a new message. */ export declare const GetEnterpriseAIUsageSummaryResponseSchema: GenMessage<GetEnterpriseAIUsageSummaryResponse>; /** * @generated from message gitpod.v1.ListEnterpriseAITeamUsageRequest */ export type ListEnterpriseAITeamUsageRequest = Message<"gitpod.v1.ListEnterpriseAITeamUsageRequest"> & { /** * @generated from field: gitpod.v1.PaginationRequest pagination = 1; */ pagination?: PaginationRequest; /** * @generated from field: string organization_id = 2; */ organizationId: string; /** * Date range for the team usage list. Both start and end dates are inclusive. * Time-of-day is ignored; dates are truncated to midnight in the specified timezone. * * @generated from field: gitpod.v1.DateRange date_range = 3; */ dateRange?: DateRange; /** * IANA timezone name used to bucket usage. When empty, defaults to "UTC". * * @generated from field: string timezone = 4; */ timezone: string; /** * @generated from field: gitpod.v1.ListEnterpriseAITeamUsageRequest.Filter filter = 5; */ filter?: ListEnterpriseAITeamUsageRequest_Filter; }; /** * Describes the message gitpod.v1.ListEnterpriseAITeamUsageRequest. * Use `create(ListEnterpriseAITeamUsageRequestSchema)` to create a new message. */ export declare const ListEnterpriseAITeamUsageRequestSchema: GenMessage<ListEnterpriseAITeamUsageRequest>; /** * @generated from message gitpod.v1.ListEnterpriseAITeamUsageRequest.Filter */ export type ListEnterpriseAITeamUsageRequest_Filter = Message<"gitpod.v1.ListEnterpriseAITeamUsageRequest.Filter"> & { /** * @generated from field: repeated string team_ids = 1; */ teamIds: string[]; }; /** * Describes the message gitpod.v1.ListEnterpriseAITeamUsageRequest.Filter. * Use `create(ListEnterpriseAITeamUsageRequest_FilterSchema)` to create a new message. */ export declare const ListEnterpriseAITeamUsageRequest_FilterSchema: GenMessage<ListEnterpriseAITeamUsageRequest_Filter>; /** * @generated from message gitpod.v1.ListEnterpriseAITeamUsageResponse */ export type ListEnterpriseAITeamUsageResponse = Message<"gitpod.v1.ListEnterpriseAITeamUsageResponse"> & { /** * @generated from field: gitpod.v1.PaginationResponse pagination = 1; */ pagination?: PaginationResponse; /** * @generated from field: repeated gitpod.v1.TeamEnterpriseAIUsage team_usage = 2; */ teamUsage: TeamEnterpriseAIUsage[]; /** * calculated_at is the time through which usage has been calculated. * Usage after this timestamp may still be processing. * * @generated from field: google.protobuf.Timestamp calculated_at = 3; */ calculatedAt?: Timestamp; }; /** * Describes the message gitpod.v1.ListEnterpriseAITeamUsageResponse. * Use `create(ListEnterpriseAITeamUsageResponseSchema)` to create a new message. */ export declare const ListEnterpriseAITeamUsageResponseSchema: GenMessage<ListEnterpriseAITeamUsageResponse>; /** * @generated from message gitpod.v1.ListEnterpriseAIUserUsageRequest */ export type ListEnterpriseAIUserUsageRequest = Message<"gitpod.v1.ListEnterpriseAIUserUsageRequest"> & { /** * @generated from field: gitpod.v1.PaginationRequest pagination = 1; */ pagination?: PaginationRequest; /** * @generated from field: string organization_id = 2; */ organizationId: string; /** * Date range for the user usage list. Both start and end dates are inclusive. * Time-of-day is ignored; dates are truncated to midnight in the specified timezone. * * @generated from field: gitpod.v1.DateRange date_range = 3; */ dateRange?: DateRange; /** * IANA timezone name used to bucket usage. When empty, defaults to "UTC". * * @generated from field: string timezone = 4; */ timezone: string; /** * sort controls the ordering of results. Defaults to total spend descending. * * @generated from field: gitpod.v1.ListEnterpriseAIUserUsageRequest.Sort sort = 5; */ sort?: ListEnterpriseAIUserUsageRequest_Sort; /** * Optional filter narrowing the returned user usage. When set to a subject, * the response contains only usage for that user or service account. * * @generated from field: gitpod.v1.ListEnterpriseAIUserUsageRequest.Filter filter = 6; */ filter?: ListEnterpriseAIUserUsageRequest_Filter; }; /** * Describes the message gitpod.v1.ListEnterpriseAIUserUsageRequest. * Use `create(ListEnterpriseAIUserUsageRequestSchema)` to create a new message. */ export declare const ListEnterpriseAIUserUsageRequestSchema: GenMessage<ListEnterpriseAIUserUsageRequest>; /** * @generated from message gitpod.v1.ListEnterpriseAIUserUsageRequest.Sort */ export type ListEnterpriseAIUserUsageRequest_Sort = Message<"gitpod.v1.ListEnterpriseAIUserUsageRequest.Sort"> & { /** * @generated from field: gitpod.v1.ListEnterpriseAIUserUsageRequest.SortField field = 1; */ field: ListEnterpriseAIUserUsageRequest_SortField; /** * @generated from field: gitpod.v1.SortOrder order = 2; */ order: SortOrder; }; /** * Describes the message gitpod.v1.ListEnterpriseAIUserUsageRequest.Sort. * Use `create(ListEnterpriseAIUserUsageRequest_SortSchema)` to create a new message. */ export declare const ListEnterpriseAIUserUsageRequest_SortSchema: GenMessage<ListEnterpriseAIUserUsageRequest_Sort>; /** * @generated from message gitpod.v1.ListEnterpriseAIUserUsageRequest.Filter */ export type ListEnterpriseAIUserUsageRequest_Filter = Message<"gitpod.v1.ListEnterpriseAIUserUsageRequest.Filter"> & { /** * Restrict the user usage list to a single subject. The subject must be * PRINCIPAL_USER or PRINCIPAL_SERVICE_ACCOUNT and belong to the request's * organization. * * @generated from field: optional gitpod.v1.Subject subject = 1; */ subject?: Subject; }; /** * Describes the message gitpod.v1.ListEnterpriseAIUserUsageRequest.Filter. * Use `create(ListEnterpriseAIUserUsageRequest_FilterSchema)` to create a new message. */ export declare const ListEnterpriseAIUserUsageRequest_FilterSchema: GenMessage<ListEnterpriseAIUserUsageRequest_Filter>; /** * @generated from enum gitpod.v1.ListEnterpriseAIUserUsageRequest.SortField */ export declare enum ListEnterpriseAIUserUsageRequest_SortField { /** * @generated from enum value: SORT_FIELD_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * Sort by month-to-date total spend. * * @generated from enum value: SORT_FIELD_USAGE = 1; */ USAGE = 1, /** * Sort by display name. * * @generated from enum value: SORT_FIELD_DISPLAY_NAME = 2; */ DISPLAY_NAME = 2, /** * Sort by effective monthly cost budget (users without a budget sort last). * * @generated from enum value: SORT_FIELD_BUDGET = 3; */ BUDGET = 3, /** * Sort by budget utilization percentage (users without a budget sort last). * * @generated from enum value: SORT_FIELD_BUDGET_USED = 4; */ BUDGET_USED = 4 } /** * Describes the enum gitpod.v1.ListEnterpriseAIUserUsageRequest.SortField. */ export declare const ListEnterpriseAIUserUsageRequest_SortFieldSchema: GenEnum<ListEnterpriseAIUserUsageRequest_SortField>; /** * @generated from message gitpod.v1.ListEnterpriseAIUserUsageResponse */ export type ListEnterpriseAIUserUsageResponse = Message<"gitpod.v1.ListEnterpriseAIUserUsageResponse"> & { /** * @generated from field: gitpod.v1.PaginationResponse pagination = 1; */ pagination?: PaginationResponse; /** * @generated from field: repeated gitpod.v1.UserCostBudgetUsage user_usage = 2; */ userUsage: UserCostBudgetUsage[]; /** * Total number of users with usage in the billing period, across all pages. * * @generated from field: int32 total_count = 3; */ totalCount: number; /** * calculated_at is the time through which usage has been calculated. * Usage after this timestamp may still be processing. * * @generated from field: google.protobuf.Timestamp calculated_at = 4; */ calculatedAt?: Timestamp; }; /** * Describes the message gitpod.v1.ListEnterpriseAIUserUsageResponse. * Use `create(ListEnterpriseAIUserUsageResponseSchema)` to create a new message. */ export declare const ListEnterpriseAIUserUsageResponseSchema: GenMessage<ListEnterpriseAIUserUsageResponse>; /** * @generated from message gitpod.v1.GetEnterpriseAIUsageTimeSeriesRequest */ export type GetEnterpriseAIUsageTimeSeriesRequest = Message<"gitpod.v1.GetEnterpriseAIUsageTimeSeriesRequest"> & { /** * @generated from field: string organization_id = 1; */ organizationId: string; /** * Date range for the daily usage series. Both start and end dates are inclusive. * Time-of-day is ignored; dates are truncated to midnight in the specified timezone. * * @generated from field: