first pass of merging in warp (doesn't build)
This commit is contained in:
@@ -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>,
|
||||
|
||||
@@ -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,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,
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user