first pass of merging in warp (doesn't build)

This commit is contained in:
Ryan Ward
2026-07-01 16:08:58 -05:00
parent 2f64909469
commit 4770ac06b5
3662 changed files with 414574 additions and 89772 deletions
+13 -4
View File
@@ -1,7 +1,9 @@
use crate::{
api::object_permissions::OwnerType, error::UserFacingError, request_context::RequestContext,
response_context::ResponseContext, scalars::Time, schema,
};
use crate::api::object_permissions::OwnerType;
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::response_context::ResponseContext;
use crate::scalars::Time;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct ApiKeysVariables {
@@ -22,10 +24,17 @@ pub struct ApiKeyProperties {
pub name: String,
pub key_suffix: String,
pub owner_type: OwnerType,
pub agent_info: Option<ApiKeyAgentInfo>,
pub expires_at: Option<Time>,
pub last_used_at: Option<Time>,
pub created_at: Time,
}
#[derive(cynic::QueryFragment, Debug)]
#[cynic(graphql_type = "APIKeyAgentInfo")]
pub struct ApiKeyAgentInfo {
pub name: String,
pub uid: cynic::Id,
}
#[derive(cynic::InlineFragments, Debug)]
#[cynic(graphql_type = "APIKeyPropertiesResult")]
@@ -1,7 +1,7 @@
use crate::{
error::UserFacingError, full_source_code_embedding::EmbeddingConfig,
request_context::RequestContext, schema,
};
use crate::error::UserFacingError;
use crate::full_source_code_embedding::EmbeddingConfig;
use crate::request_context::RequestContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct CodebaseContextConfigVariables {
@@ -1,7 +1,7 @@
use crate::{
api::queries::get_feature_model_choices::FeatureModelChoice, request_context::RequestContext,
response_context::ResponseContext, schema,
};
use crate::api::queries::get_feature_model_choices::FeatureModelChoice;
use crate::request_context::RequestContext;
use crate::response_context::ResponseContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct FreeAvailableModelsVariables {
@@ -1,9 +1,9 @@
use crate::{
ai::AIConversationFormat, error::UserFacingError, request_context::RequestContext,
response_context::ResponseContext, schema,
};
use super::list_ai_conversations::ListAIConversationsInput;
use crate::ai::AIConversationFormat;
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::response_context::ResponseContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct GetAIConversationFormatVariables {
@@ -1,4 +1,6 @@
use crate::{billing::BillingMetadata, request_context::RequestContext, schema};
use crate::billing::BillingMetadata;
use crate::request_context::RequestContext;
use crate::schema;
/*
query GetAiOveragesForWorkspace($requestContext: RequestContext!) {
@@ -0,0 +1,58 @@
use crate::ai::AgentHarness;
use crate::request_context::RequestContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct GetAvailableHarnessesVariables {
pub request_context: RequestContext,
}
#[derive(cynic::QueryFragment, Debug)]
#[cynic(
graphql_type = "RootQuery",
variables = "GetAvailableHarnessesVariables"
)]
pub struct GetAvailableHarnesses {
#[arguments(requestContext: $request_context)]
pub user: UserResult,
}
crate::client::define_operation! {
get_available_harnesses(GetAvailableHarnessesVariables) -> GetAvailableHarnesses;
}
#[derive(cynic::InlineFragments, Debug)]
pub enum UserResult {
UserOutput(UserOutput),
#[cynic(fallback)]
Unknown,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct UserOutput {
pub user: User,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct User {
pub available_harnesses: AvailableHarnesses,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct AvailableHarnesses {
pub harnesses: Vec<HarnessInfo>,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct HarnessInfo {
pub harness: AgentHarness,
pub display_name: String,
pub enabled: bool,
pub available_models: Vec<HarnessModel>,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct HarnessModel {
pub id: cynic::Id,
pub display_name: String,
pub reasoning_level: Option<String>,
}
@@ -1,8 +1,9 @@
use crate::{
error::UserFacingError, object::CloudObjectWithDescendants,
object_actions::ObjectActionHistory, request_context::RequestContext,
response_context::ResponseContext, schema,
};
use crate::error::UserFacingError;
use crate::object::CloudObjectWithDescendants;
use crate::object_actions::ObjectActionHistory;
use crate::request_context::RequestContext;
use crate::response_context::ResponseContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct GetCloudObjectVariables {
@@ -1,6 +1,8 @@
use std::collections::HashMap;
use crate::{request_context::RequestContext, scalars::Time, schema};
use crate::request_context::RequestContext;
use crate::scalars::Time;
use crate::schema;
/*
query GetConversationUsage(
@@ -23,6 +25,7 @@ query GetConversationUsage(
usageMetadata {
contextWindowUsage
creditsSpent
platformCreditsSpent
summarized
tokenUsage { modelId totalTokens }
warpTokenUsage { modelId totalTokens tokenUsageByCategory { category tokens } }
@@ -111,7 +114,9 @@ pub struct ConversationUsage {
#[derive(cynic::QueryFragment, Debug, Clone)]
pub struct ConversationUsageMetadata {
pub context_window_usage: f64,
pub context_window_segments: Vec<ContextWindowSegment>,
pub credits_spent: f64,
pub platform_credits_spent: f64,
pub summarized: bool,
pub token_usage: Vec<ModelTokenUsage>,
pub warp_token_usage: Vec<TokenUsage>,
@@ -119,6 +124,23 @@ pub struct ConversationUsageMetadata {
pub tool_usage_metadata: ToolUsageMetadata,
}
#[derive(cynic::Enum, Clone, Copy, Debug, PartialEq, Eq)]
pub enum ContextWindowSegmentType {
Unknown,
SystemPrompt,
ToolDefinitions,
ConversationHistory,
LatestInput,
Images,
Other,
}
#[derive(cynic::QueryFragment, Debug, Clone)]
pub struct ContextWindowSegment {
pub segment_type: ContextWindowSegmentType,
pub token_count: i32,
}
fn convert_token_usage(
warp_token_usage: &[TokenUsage],
byok_token_usage: &[TokenUsage],
@@ -168,13 +190,34 @@ impl From<&ConversationUsageMetadata> for persistence::model::ConversationUsageM
was_summarized: gql.summarized,
context_window_usage: gql.context_window_usage as f32,
credits_spent: gql.credits_spent as f32,
platform_credits_spent: gql.platform_credits_spent as f32,
credits_spent_for_last_block: None,
token_usage: convert_token_usage(&gql.warp_token_usage, &gql.byok_token_usage),
tool_usage_metadata: (&gql.tool_usage_metadata).into(),
total_cache_read_tokens: 0,
total_cache_write_tokens: 0,
total_cache_miss_tokens: 0,
total_cost_cents: 0.0,
context_window_segments: gql.context_window_segments.iter().map(Into::into).collect(),
}
}
}
impl From<ContextWindowSegmentType> for persistence::model::ContextWindowSegmentType {
fn from(value: ContextWindowSegmentType) -> Self {
match value {
ContextWindowSegmentType::Unknown => Self::Unknown,
ContextWindowSegmentType::SystemPrompt => Self::SystemPrompt,
ContextWindowSegmentType::ToolDefinitions => Self::ToolDefinitions,
ContextWindowSegmentType::ConversationHistory => Self::ConversationHistory,
ContextWindowSegmentType::LatestInput => Self::LatestInput,
ContextWindowSegmentType::Images => Self::Images,
ContextWindowSegmentType::Other => Self::Other,
}
}
}
impl From<&ContextWindowSegment> for persistence::model::ContextWindowSegment {
fn from(gql: &ContextWindowSegment) -> Self {
Self {
segment_type: gql.segment_type.into(),
token_count: u32::try_from(gql.token_count).unwrap_or_default(),
}
}
}
@@ -1,6 +1,7 @@
use crate::{
error::UserFacingError, request_context::RequestContext, schema, user::DiscoverableTeamData,
};
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::schema;
use crate::user::DiscoverableTeamData;
/*
query GetDiscoverableTeams($requestContext: RequestContext!) {
@@ -1,4 +1,5 @@
use crate::{request_context::RequestContext, schema};
use crate::request_context::RequestContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct GetFeatureModelChoicesVariables {
@@ -69,7 +70,9 @@ pub enum DisableReason {
#[derive(cynic::Enum, Clone, Debug)]
pub enum LlmModelHost {
AwsBedrock,
CustomEndpoint,
DirectApi,
GeminiEnterprise,
#[cynic(fallback)]
Other(String),
}
@@ -80,6 +83,14 @@ pub struct RoutingHostConfig {
pub model_routing_host: LlmModelHost,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct LlmContextWindow {
pub is_configurable: bool,
pub min: crate::scalars::Uint32,
pub max: crate::scalars::Uint32,
pub default: crate::scalars::Uint32,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct LlmInfo {
pub display_name: String,
@@ -94,6 +105,7 @@ pub struct LlmInfo {
pub provider: LlmProvider,
pub host_configs: Vec<RoutingHostConfig>,
pub pricing: LlmPricing,
pub context_window: LlmContextWindow,
}
#[derive(cynic::QueryFragment, Debug)]
@@ -1,4 +1,6 @@
use crate::{error::UserFacingError, request_context::RequestContext, schema};
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct GetIntegrationsUsingEnvironmentVariables {
@@ -1,4 +1,6 @@
use crate::{error::UserFacingError, request_context::RequestContext, schema};
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::schema;
#[derive(cynic::InputObject, Debug)]
pub struct GetOAuthConnectTxStatusInput {
@@ -1,4 +1,5 @@
use crate::{request_context::RequestContext, schema};
use crate::request_context::RequestContext;
use crate::schema;
/*
query GetReferralInfo($requestContext: RequestContext!) {
@@ -1,9 +1,7 @@
use crate::{
error::UserFacingError,
full_source_code_embedding::{ContentHash, EmbeddingConfig, NodeHash, RepoMetadata},
request_context::RequestContext,
schema,
};
use crate::error::UserFacingError;
use crate::full_source_code_embedding::{ContentHash, EmbeddingConfig, NodeHash, RepoMetadata};
use crate::request_context::RequestContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct GetRelevantFragmentsVariables {
@@ -1,10 +1,8 @@
use crate::{
ai::RequestLimitInfo,
billing::{BonusGrant, BonusGrantsInfo},
error::UserFacingError,
request_context::RequestContext,
schema,
};
use crate::ai::RequestLimitInfo;
use crate::billing::{BonusGrant, BonusGrantsInfo};
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::schema;
/*
query GetRequestLimitInfo($requestContext: RequestContext!) {
@@ -1,7 +1,8 @@
use crate::{
error::UserFacingError, request_context::RequestContext, response_context::ResponseContext,
scalars::Time, schema,
};
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::response_context::ResponseContext;
use crate::scalars::Time;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct GetScheduledAgentHistoryVariables {
@@ -1,4 +1,7 @@
use crate::{error::UserFacingError, request_context::RequestContext, scalars::Time, schema};
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::scalars::Time;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct SimpleIntegrationsVariables {
@@ -1,10 +1,15 @@
use crate::{
error::UserFacingError, folder::Folder, generic_string_object::GenericStringObject,
mcp_gallery_template::MCPGalleryTemplate, notebook::Notebook,
object_actions::ObjectActionHistory, request_context::RequestContext,
response_context::ResponseContext, scalars::Time, schema, user::PublicUserProfile,
workflow::Workflow,
};
use crate::error::UserFacingError;
use crate::folder::Folder;
use crate::generic_string_object::GenericStringObject;
use crate::mcp_gallery_template::MCPGalleryTemplate;
use crate::notebook::Notebook;
use crate::object_actions::ObjectActionHistory;
use crate::request_context::RequestContext;
use crate::response_context::ResponseContext;
use crate::scalars::Time;
use crate::schema;
use crate::user::PublicUserProfile;
use crate::workflow::Workflow;
#[derive(cynic::QueryVariables, Debug)]
pub struct GetUpdatedCloudObjectsVariables {
@@ -64,7 +69,7 @@ pub struct UpdatedCloudObjectsInput {
pub workflows: Option<Vec<UpdatedObjectInput>>,
}
#[derive(cynic::InputObject, Debug)]
#[derive(cynic::InputObject, Debug, Clone)]
pub struct UpdatedObjectInput {
pub actions_ts: Option<Time>,
pub metadata_ts: Option<Time>,
+9 -5
View File
@@ -1,8 +1,10 @@
use crate::{
experiment::Experiment, mutations::create_anonymous_user::AnonymousUserType,
object_permissions::OwnerType, request_context::RequestContext, scalars::Time, schema,
workspace::FeatureModelChoice,
};
use crate::experiment::Experiment;
use crate::mutations::create_anonymous_user::AnonymousUserType;
use crate::object_permissions::OwnerType;
use crate::request_context::RequestContext;
use crate::scalars::Time;
use crate::schema;
use crate::workspace::FeatureModelChoice;
/*
query GetUser($requestContext: RequestContext!) {
@@ -21,6 +23,7 @@ query GetUser($requestContext: RequestContext!) {
}
}
experiments
globalSkills
isOnWorkDomain
isOnboarded
profile {
@@ -134,6 +137,7 @@ pub enum PrincipalType {
pub struct User {
pub anonymous_user_info: Option<AnonymousUserInfo>,
pub experiments: Option<Vec<Experiment>>,
pub global_skills: Vec<String>,
pub is_onboarded: bool,
pub is_on_work_domain: bool,
pub profile: FirebaseProfile,
@@ -1,4 +1,5 @@
use crate::{request_context::RequestContext, schema};
use crate::request_context::RequestContext;
use crate::schema;
/*
query GetUserSettings($requestContext: RequestContext!) {
@@ -1,7 +1,9 @@
use crate::{
billing::PricingInfo, experiment::Experiment, request_context::RequestContext, schema,
user::DiscoverableTeamData, workspace::Workspace,
};
use crate::billing::PricingInfo;
use crate::experiment::Experiment;
use crate::request_context::RequestContext;
use crate::schema;
use crate::user::DiscoverableTeamData;
use crate::workspace::Workspace;
/*
query GetWorkspacesMetadataForUser($requestContext: RequestContext!) {
@@ -36,6 +38,7 @@ query GetWorkspacesMetadataForUser($requestContext: RequestContext!) {
isCodeSuggestionsToggleable
isPromptSuggestionsToggleable
isNextCommandEnabled
isGitOperationsAiEnabled
isVoiceEnabled
}
teamSizePolicy {
@@ -63,6 +66,10 @@ query GetWorkspacesMetadataForUser($requestContext: RequestContext!) {
byoApiKeyPolicy {
enabled
}
usageVisibilityPolicy {
adminGranularity
maxPriorCycles
}
pricing {
enablePayAsYouGo
autoReloadCreditDenomination
@@ -76,6 +83,24 @@ query GetWorkspacesMetadataForUser($requestContext: RequestContext!) {
type
}
}
billingCycleUsageHistory {
currentPeriodStart
currentPeriodEnd
summaries {
periodStart
periodEnd
entries {
subjectType
subjectUid
subjectDisplayName
costType
usageBucket
usageSource
creditsUsed
costCents
}
}
}
settings {
isDiscoverable
isInviteLinkEnabled
@@ -1,8 +1,11 @@
use crate::{
ai::AIConversation, ai::AIConversationArtifact, ai::AgentHarness, ai::ConversationUsage,
error::UserFacingError, object::ObjectMetadata, object_permissions::ObjectPermissions,
request_context::RequestContext, response_context::ResponseContext, schema,
};
use crate::ai::{AIConversation, AIConversationArtifact, AgentHarness, ConversationUsage};
use crate::error::UserFacingError;
use crate::object::ObjectMetadata;
use crate::object_permissions::ObjectPermissions;
use crate::request_context::RequestContext;
use crate::response_context::ResponseContext;
use crate::schema;
use crate::user::PublicUserProfile;
#[derive(cynic::QueryVariables, Debug)]
pub struct ListAIConversationsVariables {
@@ -51,6 +54,7 @@ pub struct AIConversationMetadata {
pub working_directory: Option<String>,
pub usage: ConversationUsage,
pub metadata: ObjectMetadata,
pub creator: Option<PublicUserProfile>,
pub permissions: ObjectPermissions,
pub ambient_agent_task_id: Option<cynic::Id>,
pub artifacts: Option<Vec<AIConversationArtifact>>,
@@ -0,0 +1,67 @@
use crate::error::UserFacingError;
use crate::managed_secrets::ManagedSecret;
use crate::request_context::RequestContext;
use crate::schema;
/// Input-side `AgentHarness` enum without fallback, required by cynic for input objects.
/// The output-side `crate::ai::AgentHarness` has `Other(String)` which makes it
/// unusable in `InputObject` derives.
#[derive(cynic::Enum, Clone, Copy, Debug, PartialEq)]
#[cynic(graphql_type = "AgentHarness")]
pub enum AgentHarnessInput {
Oz,
ClaudeCode,
Gemini,
Codex,
}
impl From<crate::ai::AgentHarness> for Option<AgentHarnessInput> {
fn from(h: crate::ai::AgentHarness) -> Self {
match h {
crate::ai::AgentHarness::Oz => Some(AgentHarnessInput::Oz),
crate::ai::AgentHarness::ClaudeCode => Some(AgentHarnessInput::ClaudeCode),
crate::ai::AgentHarness::Gemini => Some(AgentHarnessInput::Gemini),
crate::ai::AgentHarness::Codex => Some(AgentHarnessInput::Codex),
crate::ai::AgentHarness::Other(_) => None,
}
}
}
/// A GraphQL query to list managed secrets that authenticate the given harness.
#[derive(cynic::QueryFragment, Debug)]
#[cynic(
graphql_type = "RootQuery",
variables = "ListHarnessAuthSecretsVariables"
)]
pub struct ListHarnessAuthSecrets {
#[arguments(input: $input, requestContext: $request_context)]
pub harness_auth_secrets: HarnessAuthSecretsResult,
}
crate::client::define_operation! {
list_harness_auth_secrets(ListHarnessAuthSecretsVariables) -> ListHarnessAuthSecrets;
}
#[derive(cynic::QueryVariables, Debug)]
pub struct ListHarnessAuthSecretsVariables {
pub input: ListHarnessAuthSecretsInput,
pub request_context: RequestContext,
}
#[derive(cynic::InputObject, Debug)]
pub struct ListHarnessAuthSecretsInput {
pub harness: AgentHarnessInput,
}
#[derive(cynic::InlineFragments, Debug)]
pub enum HarnessAuthSecretsResult {
HarnessAuthSecretsOutput(HarnessAuthSecretsOutput),
UserFacingError(UserFacingError),
#[cynic(fallback)]
Unknown,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct HarnessAuthSecretsOutput {
pub managed_secrets: Vec<ManagedSecret>,
}
@@ -1,6 +1,7 @@
use crate::{
error::UserFacingError, managed_secrets::ManagedSecret, request_context::RequestContext, schema,
};
use crate::error::UserFacingError;
use crate::managed_secrets::ManagedSecret;
use crate::request_context::RequestContext;
use crate::schema;
/// A GraphQL query to list all managed secrets for the current user.
#[derive(cynic::QueryFragment, Debug)]
@@ -1,4 +1,5 @@
use crate::{error::UserFacingError, schema};
use crate::error::UserFacingError;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct ListWarpDevImagesVariables {}
@@ -1,7 +1,7 @@
use crate::{
error::UserFacingError, managed_secrets::ManagedSecretConfig, request_context::RequestContext,
schema,
};
use crate::error::UserFacingError;
use crate::managed_secrets::ManagedSecretConfig;
use crate::request_context::RequestContext;
use crate::schema;
/// A GraphQL query to fetch all managed secret configuration for a user.
///
+3
View File
@@ -3,6 +3,7 @@ pub mod codebase_context_config;
pub mod free_available_models;
pub mod get_ai_conversation_format;
pub mod get_ai_overages_for_workspace;
pub mod get_available_harnesses;
pub mod get_blocks_for_user;
pub mod get_cloud_environments;
pub mod get_cloud_object;
@@ -21,6 +22,7 @@ pub mod get_user;
pub mod get_user_settings;
pub mod get_workspaces_metadata_for_user;
pub mod list_ai_conversations;
pub mod list_harness_auth_secrets;
pub mod list_managed_secrets;
pub mod list_warp_dev_images;
pub mod managed_secret_config;
@@ -28,6 +30,7 @@ pub mod rerank_fragments;
pub mod suggest_cloud_environment_image;
pub mod sync_merkle_tree;
pub mod task_attachments;
pub mod task_git_credentials;
pub mod task_secrets;
pub mod user_github_info;
pub mod user_repo_auth_status;
@@ -1,7 +1,7 @@
use crate::{
error::UserFacingError, full_source_code_embedding::ContentHash,
request_context::RequestContext, schema,
};
use crate::error::UserFacingError;
use crate::full_source_code_embedding::ContentHash;
use crate::request_context::RequestContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct RerankFragmentsVariables {
@@ -1,7 +1,7 @@
use crate::{
error::UserFacingError, request_context::RequestContext, response_context::ResponseContext,
schema,
};
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::response_context::ResponseContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct SuggestCloudEnvironmentImageVariables {
@@ -1,10 +1,8 @@
use crate::{
error::UserFacingError,
full_source_code_embedding::{EmbeddingConfig, NodeHash},
request_context::RequestContext,
response_context::ResponseContext,
schema,
};
use crate::error::UserFacingError;
use crate::full_source_code_embedding::{EmbeddingConfig, NodeHash};
use crate::request_context::RequestContext;
use crate::response_context::ResponseContext;
use crate::schema;
#[derive(cynic::InputObject, Debug)]
pub struct SyncMerkleTreeInput {
@@ -1,4 +1,6 @@
use crate::{error::UserFacingError, request_context::RequestContext, schema};
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::schema;
/// A GraphQL query to fetch attachments for a specific task.
///
@@ -0,0 +1,52 @@
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::schema;
/// A GraphQL query to fetch git credentials for a specific task.
///
/// This query is used by Agent Mode tasks to retrieve fresh provider credentials that
/// the driver uses to configure git and supported provider CLIs, and to refresh those
/// credentials periodically so long-running agents retain repository access.
#[derive(cynic::QueryFragment, Debug)]
#[cynic(graphql_type = "RootQuery", variables = "TaskGitCredentialsVariables")]
pub struct TaskGitCredentials {
#[arguments(input: $input, requestContext: $request_context)]
pub task_git_credentials: TaskGitCredentialsResult,
}
crate::client::define_operation! {
task_git_credentials(TaskGitCredentialsVariables) -> TaskGitCredentials;
}
#[derive(cynic::QueryVariables, Debug)]
pub struct TaskGitCredentialsVariables {
pub input: TaskGitCredentialsInput,
pub request_context: RequestContext,
}
#[derive(cynic::InputObject, Debug)]
pub struct TaskGitCredentialsInput {
pub task_id: cynic::Id,
pub workload_token: String,
}
#[derive(cynic::InlineFragments, Debug)]
pub enum TaskGitCredentialsResult {
TaskGitCredentialsOutput(TaskGitCredentialsOutput),
UserFacingError(UserFacingError),
#[cynic(fallback)]
Unknown,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct TaskGitCredentialsOutput {
pub credentials: Vec<TaskGitCredential>,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct TaskGitCredential {
pub token: String,
pub username: Option<String>,
pub email: Option<String>,
pub host: String,
}
+11 -1
View File
@@ -1,4 +1,6 @@
use crate::{error::UserFacingError, request_context::RequestContext, schema};
use crate::error::UserFacingError;
use crate::request_context::RequestContext;
use crate::schema;
/// A GraphQL query to fetch secrets for a specific task.
///
@@ -52,6 +54,7 @@ pub enum ManagedSecretValue {
ManagedSecretAnthropicApiKeyValue(ManagedSecretAnthropicApiKeyValue),
ManagedSecretAnthropicBedrockAccessKeyValue(ManagedSecretAnthropicBedrockAccessKeyValue),
ManagedSecretAnthropicBedrockApiKeyValue(ManagedSecretAnthropicBedrockApiKeyValue),
ManagedSecretOpenAiApiKeyValue(ManagedSecretOpenAiApiKeyValue),
#[cynic(fallback)]
Unknown,
}
@@ -80,3 +83,10 @@ pub struct ManagedSecretAnthropicBedrockApiKeyValue {
pub aws_bearer_token_bedrock: String,
pub aws_region: String,
}
#[derive(cynic::QueryFragment, Debug)]
pub struct ManagedSecretOpenAiApiKeyValue {
pub api_key: String,
/// Optional base URL for regional endpoints.
pub base_url: Option<String>,
}
@@ -1,4 +1,5 @@
use crate::{request_context::RequestContext, schema};
use crate::request_context::RequestContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct UserGithubInfoVariables {
@@ -1,4 +1,5 @@
use crate::{request_context::RequestContext, schema};
use crate::request_context::RequestContext;
use crate::schema;
#[derive(cynic::QueryVariables, Debug)]
pub struct UserRepoAuthStatusVariables {