/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "args".
 */
export type ArgsV3_55_0 = string | ObjectSchemaV3_55_0;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "objectSchema".
 */
export type ObjectSchemaV3_55_0 = PropertySchemaV3_55_0 & {
    type: 'object';
    properties: {
        [k: string]: PropertySchemaV3_55_0;
    };
};
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "nonNegativeInteger".
 */
export type NonNegativeIntegerV3_55_0 = number;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "nonNegativeIntegerDefault0".
 */
export type NonNegativeIntegerDefault0V3_55_0 = NonNegativeIntegerV3_55_0;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "stringArray".
 */
export type StringArrayV3_55_0 = string[];
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "simpleTypes".
 */
export type SimpleTypesV3_55_0 = 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string';
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "schemaArray".
 */
export type SchemaArrayV3_55_0 = PropertySchemaV3_55_0[];
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "ref".
 */
export type RefV3_55_0 = string;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "objectOrRefArray".
 */
export type ObjectOrRefArrayV3_55_0 = (RefSchemaV3_55_0 | RefSchemaLegacyV3_55_0 | ObjectSchemaV3_55_0)[];
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "fieldMapping".
 */
export type FieldMappingV3_55_0 = MappingStringV3_55_0 | MappingStringV3_55_0[];
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "mappingString".
 */
export type MappingStringV3_55_0 = string;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "resolver".
 */
export type ResolverV3_55_0 = BasicResolverV3_55_0 | ComposeResolverV3_55_0;
/**
 * A single resolver, can be composed with the ComposeResolver.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "basicResolver".
 */
export type BasicResolverV3_55_0 = UtilResolverV3_55_0 | DelegateResolverV3_55_0 | TakeshapeResolverV3_55_0 | ShapedbResolverV3_55_0 | ShapedbResolverShapeNameNotRequiredV3_55_0 | GraphqlResolverV3_55_0 | RestResolverV3_55_0 | AwsLambdaResolverV3_55_0 | SalsifyResolverV3_55_0 | SyndigoResolverV3_55_0 | FunctionResolverV3_55_0 | AIGenerateTextResolverV3_55_0 | AIGeneratePropertyResolverV3_55_0 | AIEmbeddingResolverV3_55_0 | AIEmbeddingSearchResolverV3_55_0 | AIParseFileResolverV3_55_0 | ChunkResolverV3_55_0 | AISendAgentMessageResolverV3_55_0 | AIInspectAgentResolverV3_55_0;
/**
 * Name of the resolver function.
 */
export type UtilResolverNameV3_55_0 = 'util:noop' | 'util:wrap';
/**
 * An object describing an operation to generate a parameter.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterOp".
 */
export type ParameterOpV3_55_0 = ParameterOpNestedV3_55_0 | ParameterOpValueV3_55_0 | ParameterOpMappingV3_55_0 | ParameterOpOpV3_55_0;
/**
 * A tuple with a string directive name, and options to pass to the directive
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "directiveConfigItem".
 */
export type DirectiveConfigItemV3_55_0 = [DirectiveNameV3_55_0, DirectiveOptionsV3_55_0];
export type DirectiveNameV3_55_0 = string;
/**
 * An array of individual directive config items to process in order
 *
 * This interface was referenced by `DirectiveMappingMapV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "directiveConfig".
 */
export type DirectiveConfigV3_55_0 = DirectiveConfigItemV3_55_0[];
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterOpList".
 */
export type ParameterOpListV3_55_0 = ParameterOpV3_55_0[];
/**
 * Maps a query's input args to the input expected by the service's endpoint.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "argsMapping".
 */
export type ArgsMappingV3_55_0 = DirectiveMappingMapV3_55_0 | DirectiveConfigV3_55_0;
/**
 * Maps a service endpoint's response results to the expected shape of the query's response.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "resultsMapping".
 */
export type ResultsMappingV3_55_0 = DirectiveMappingMapV3_55_0 | DirectiveConfigV3_55_0;
/**
 * Name of the resolver function.
 */
export type DelegateResolverNameV3_55_0 = 'delegate';
/**
 * Name of the resolver function.
 */
export type TakeshapeResolverNameV3_55_0 = 'takeshape:get' | 'takeshape:getUser' | 'takeshape:search' | 'takeshape:vectorSearch' | 'takeshape:queryApiIndex' | 'takeshape:assetUrl' | 'takeshape:assetImage' | 'takeshape:assetImageMeta';
/**
 * Name of the resolver function.
 */
export type ShapedbResolverNameV3_55_0 = 'shapedb:get' | 'shapedb:create' | 'shapedb:update' | 'shapedb:delete' | 'shapedb:duplicate' | 'shapedb:find';
/**
 * Name of the resolver function.
 */
export type ShapedbResolverShapeNameNotRequiredNameV3_55_0 = 'shapedb:list' | 'shapedb:taxonomySuggest' | 'shapedb:getRelated';
/**
 * Name of the resolver function.
 */
export type GraphqlResolverNameV3_55_0 = 'graphql:query' | 'graphql:mutation' | 'shopify:bulkQuery';
/**
 * Name of the resolver function.
 */
export type RestResolverNameV3_55_0 = 'rest:get' | 'rest:head' | 'rest:post' | 'rest:put' | 'rest:patch' | 'rest:delete';
/**
 * A tuple with a string key and a directive config to evaluate
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "directiveMappingArrayItem".
 */
export type DirectiveMappingArrayItemV3_55_0 = [string, DirectiveConfigV3_55_0];
/**
 * An array of key / value or directive config tuples
 */
export type SearchParamsMappingV3_55_0 = DirectiveMappingArrayItemV3_55_0[];
/**
 * Name of the resolver function.
 */
export type AwsLambdaResolverNameV3_55_0 = 'awsLambda:invoke';
/**
 * Name of the resolver function.
 */
export type SalsifyResolverNameV3_55_0 = 'salsify:listChannelProducts';
/**
 * Name of the resolver function.
 */
export type SyndigoResolverNameV3_55_0 = 'syndigo:searchProducts';
/**
 * Name of the resolver function.
 */
export type FunctionResolverNameV3_55_0 = 'function:run';
export type FunctionResolverJavascriptV3_55_0 = string;
/**
 * Name of the resolver function.
 */
export type AIResolverNameV3_55_0 = 'ai:generateText' | 'ai:chat';
export type HistoryV3_55_0 = boolean;
/**
 * Maximum number of tokens to generate.
 */
export type MaximumTokensV3_55_0 = number;
/**
 * This is a number between 0 (almost no randomness) and 1 (very random). It is recommended to set either `temperature` or `topP`, but not both. Defaults to 0
 */
export type TemperatureV3_55_0 = number;
/**
 * Nucleus sampling. This is a number between 0 and 1. E.g. 0.1 would mean that only tokens with the top 10% probability mass are considered. It is recommended to set either `temperature` or `topP`, but not both.
 */
export type TopPV3_55_0 = number;
/**
 * Only sample from the top K options for each subsequent token. Used to remove "long tail" low probability responses. Recommended for advanced use cases only. You usually only need to use temperature.
 */
export type TopKV3_55_0 = number;
/**
 * It affects the likelihood of the model to repeat information that is already in the prompt. The presence penalty is a number between -1 (increase repetition) and 1 (maximum penalty, decrease repetition). 0 means no penalty.
 */
export type PresencePenaltySettingV3_55_0 = number;
/**
 * It affects the likelihood of the model  to repeatedly use the same words or phrases. The frequency penalty is a number between -1 (increase repetition) and 1 (maximum penalty, decrease repetition). 0 means no penalty.
 */
export type FrequencyPenaltySettingV3_55_0 = number;
/**
 * If set, the model will stop generating text when one of the stop sequences is generated.
 */
export type StopSequencesV3_55_0 = string[];
/**
 *  The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results.
 */
export type SeedV3_55_0 = number;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiGuardrail".
 */
export type AIGuardrailV3_55_0 = AISimilarityGuardrailV3_55_0;
/**
 * Name of the resolver function.
 */
export type AIResolverNameV3_55_01 = 'ai:generateProperty';
/**
 * Name of the resolver function.
 */
export type AIResolverNameV3_55_02 = 'ai:createEmbedding';
/**
 * Name of the resolver function.
 */
export type AIResolverNameV3_55_03 = 'ai:embeddingSearch';
/**
 * Name of the resolver function.
 */
export type AIResolverNameV3_55_04 = 'ai:parseFile';
/**
 * Name of the resolver function.
 */
export type UtilResolverNameV3_55_01 = 'util:chunk';
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "utilChunkResolverOptions".
 */
export type UtilChunkResolverOptionsV3_55_0 = UtilChunkResolverOptionsCharacterCountV3_55_0 | UtilChunkResolverOptionsSeparatorsV3_55_0 | UtilChunkResolverOptionsMarkdownV3_55_0 | UtilChunkResolverOptionsSemanticV3_55_0;
/**
 * Name of the resolver function.
 */
export type AIResolverNameV3_55_05 = 'ai:sendAgentMessage';
/**
 * Name of the resolver function.
 */
export type AIResolverNameV3_55_06 = 'ai:inspectAgent';
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "dependencies".
 */
export type DependenciesV3_55_0 = string;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "returnShape".
 */
export type ReturnShapeV3_55_0 = string | ReturnShapeArraySchemaV3_55_0;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "returnShapeArraySchema".
 */
export type ReturnShapeArraySchemaV3_55_0 = PropertySchemaV3_55_0 & {
    type: 'array';
    items: RefSchemaV3_55_0 | {
        type: 'boolean' | 'integer' | 'number' | 'string' | 'object';
        [k: string]: any;
    };
};
export type ModelTypeV3_55_0 = 'single' | 'multiple' | 'taxonomy';
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "paginationConfig".
 */
export type PaginationConfigV3_55_0 = PaginationCursorConfigV3_55_0 | PaginationPageConfigV3_55_0 | PaginationOffsetConfigV3_55_0;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "cacheTriggerConfig".
 */
export type CacheTriggerConfigV3_55_0 = CacheScheduleTriggerConfigV3_55_0 | CacheWebhookTriggerConfigV3_55_0;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeSchema".
 */
export type ShapeSchemaV3_55_0 = ShapeSchemaAllOfV3_55_0 | ShapeSchemaExtendsV3_55_0 | ShapeSchemaOneOfV3_55_0 | ShapeSchemaEnumV3_55_0 | ObjectSchemaV3_55_0 | ShapeSchemaAnyV3_55_0;
export type AgentAPIInputV3_55_0 = AgentAPIMutationInputV3_55_0;
export type InteractionTimeoutMillisecondsV3_55_0 = number;
export type AgentStateSessionMemoryV3_55_0 = AgentStateSessionMemoryAssignmentV3_55_0[];
export type VariablesV3_55_0 = AgentVariableV3_55_0[];
export type AgentExecutionV3_55_0 = AgentExecutionGraphQLV3_55_0 | AgentExecutionGenerateV3_55_0 | AgentExecutionChatV3_55_0;
export type AgentAIStateInputV3_55_0 = AgentAIStateInputArgumentV3_55_0 | AgentAIStateInputTemplateV3_55_0;
export type AgentToolConfigArgV3_55_0 = AgentControlledV3_55_0 | VariableValueV3_55_0;
/**
 * The argument name that will be exposed by the tool for the LLM to use.
 */
export type ToolArgumentNameV3_55_0 = string;
/**
 * Name of argument to pass value to. This prevents the LLM from setting the argument.
 */
export type ToolArgumentNameV3_55_01 = string;
/**
 * Name of variable to pull value from.
 */
export type StateVariableNameV3_55_0 = string;
export type HistoryV3_55_01 = boolean;
/**
 * Maximum number of tokens to generate. Defaults to 1024
 */
export type MaximumTokensV3_55_01 = number;
/**
 * This is a number between 0 (almost no randomness) and 1 (very random). It is recommended to set either `temperature` or `topP`, but not both. Defaults to 0
 */
export type TemperatureV3_55_01 = number;
/**
 * Nucleus sampling. This is a number between 0 and 1. E.g. 0.1 would mean that only tokens with the top 10% probability mass are considered. It is recommended to set either `temperature` or `topP`, but not both.
 */
export type TopPV3_55_01 = number;
/**
 * Only sample from the top K options for each subsequent token. Used to remove "long tail" low probability responses. Recommended for advanced use cases only. You usually only need to use temperature.
 */
export type TopKV3_55_01 = number;
/**
 * It affects the likelihood of the model to repeat information that is already in the prompt. The presence penalty is a number between -1 (increase repetition) and 1 (maximum penalty, decrease repetition). 0 means no penalty.
 */
export type PresencePenaltySettingV3_55_01 = number;
/**
 * It affects the likelihood of the model  to repeatedly use the same words or phrases. The frequency penalty is a number between -1 (increase repetition) and 1 (maximum penalty, decrease repetition). 0 means no penalty.
 */
export type FrequencyPenaltySettingV3_55_01 = number;
/**
 * If set, the model will stop generating text when one of the stop sequences is generated.
 */
export type StopSequencesV3_55_01 = string[];
/**
 *  The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results.
 */
export type SeedV3_55_01 = number;
/**
 * Maximal number of automatic roundtrips for tool calls.
 */
export type MaxToolRoundtripsV3_55_0 = number;
/**
 * If true, structured outputs will be enabled on the model for non-text requests.
 */
export type StructuredOutputsV3_55_0 = boolean;
/**
 * Enable OpenAI schema format. Must be enabled if `structuredOutputs` is enabled.
 */
export type EnableOpenAISchemaFormatV3_55_0 = boolean;
export type MinimatchPatternV3_55_0 = string;
/**
 * Remove properties from the schema sent to the model with keys matching these minimatch glob patterns.
 */
export type RemovePropertyKeyPatternsV3_55_0 = MinimatchPatternV3_55_0[];
/**
 * Remove Markdown formatting from the LLM response
 */
export type StripMarkdownV3_55_0 = boolean;
/**
 * These steps are evaluated in order until a destination is found.
 */
export type AgentTransitionV3_55_0 = AgentTransitionImmediateV3_55_0 | AgentTransitionSuspendV3_55_0;
export type AgentStateSessionMemoryV3_55_01 = AgentStateSessionMemoryAssignmentV3_55_0[];
export type GuardIDV3_55_0 = string;
export type VariablesV3_55_01 = AgentVariableV3_55_0[];
export type HistoryStrategyTransformV3_55_0 = HistoryStrategyTransformNoneV3_55_0 | HistoryStrategyTransformReplaceV3_55_0 | HistoryStrategyTransformSummarizeV3_55_0;
/**
 * The human-readable name of the Guard.
 */
export type NameV3_55_0 = string;
/**
 * A description of the Guard.
 */
export type DescriptionV3_55_0 = string;
/**
 * Guards will not run unless enabled.
 */
export type EnabledV3_55_0 = boolean;
/**
 * The remote id of the Guardrail.
 */
export type GuardrailIdentifierV3_55_0 = string;
/**
 * The remote version of the Guardrail.
 */
export type GuardrailVersionV3_55_0 = string;
/**
 * A message to return when the input message is blocked by the Guard.
 */
export type BlockedInputMessagingV3_55_0 = string;
/**
 * A message to return when the output message is blocked by the Guard.
 */
export type BlockedOutputsMessagingV3_55_0 = string;
export type ExampleV3_55_0 = string;
/**
 * A topic to block.
 */
export type TopicV3_55_0 = {
    name: string;
    definition: string;
    /**
     * Examples of the topic that can hint the LLM.
     */
    examples?: ExampleV3_55_0[];
    type: 'DENY';
}[];
export type InputStrengthV3_55_0 = 'NONE' | 'LOW' | 'MEDIUM' | 'HIGH';
export type OutputStrengthV3_55_0 = 'NONE' | 'LOW' | 'MEDIUM' | 'HIGH';
export type GuardrailModalityV3_55_0 = 'TEXT' | 'IMAGE';
/**
 * Whether to filter images or text
 */
export type InputModalitiesV3_55_0 = GuardrailModalityV3_55_0[];
/**
 * Whether to filter images or text
 */
export type OutputModalitiesV3_55_0 = GuardrailModalityV3_55_0[];
/**
 * Types of content to filter.
 */
export type FilterV3_55_0 = {
    type: 'HATE' | 'INSULTS' | 'MICONDUCT' | 'PROMPT_ATTACK' | 'SEXUAL' | 'VIOLENCE';
    inputStrength: InputStrengthV3_55_0;
    outputStrength: OutputStrengthV3_55_0;
    inputModalities?: InputModalitiesV3_55_0;
    outputModalities?: OutputModalitiesV3_55_0;
}[];
/**
 * Specific words to block.
 */
export type WordListV3_55_0 = {
    text: string;
}[];
/**
 * This is solely used for blocking profanity.
 */
export type ManagedWordListV3_55_0 = {
    type: 'PROFANITY';
}[];
export type GuardrailSensitiveInformationActionV3_55_0 = 'ANONYMIZE' | 'BLOCK';
/**
 * PII entity to infer from the text.
 */
export type PIIEntityV3_55_0 = {
    type: 'ADDRESS' | 'AGE' | 'AWS_ACCESS_KEY' | 'AWS_SECRET_KEY' | 'CA_HEALTH_NUMBER' | 'CA_SOCIAL_INSURANCE_NUMBER' | 'CREDIT_DEBIT_CARD_CVV' | 'CREDIT_DEBIT_CARD_EXPIRY' | 'CREDIT_DEBIT_CARD_NUMBER' | 'DRIVER_ID' | 'EMAIL' | 'INTERNATIONAL_BANK_ACCOUNT_NUMBER' | 'IP_ADDRESS' | 'LICENSE_PLATE' | 'MAC_ADDRESS' | 'NAME' | 'PASSWORD' | 'PHONE' | 'PIN' | 'SWIFT_CODE' | 'UK_NATIONAL_HEALTH_SERVICE_NUMBER' | 'UK_NATIONAL_INSURANCE_NUMBER' | 'UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER' | 'URL' | 'USERNAME' | 'US_BANK_ACCOUNT_NUMBER' | 'US_BANK_ROUTING_NUMBER' | 'US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER' | 'US_PASSPORT_NUMBER' | 'US_SOCIAL_SECURITY_NUMBER' | 'VEHICLE_IDENTIFICATION_NUMBER';
    action: GuardrailSensitiveInformationActionV3_55_0;
}[];
/**
 * A regular expression to match sensitive information.
 */
export type RegularExpressionV3_55_0 = {
    name: string;
    description?: string;
    pattern: string;
    action: GuardrailSensitiveInformationActionV3_55_0;
}[];
/**
 * The type of filter.
 */
export type TypeV3_55_0 = 'GROUNDING' | 'RELEVANCE';
/**
 * The threshold for the filter as a floating point value greater than 0.0 and less than 1.0.
 */
export type ThresholdV3_55_0 = number;
/**
 * Filter to evaluate grounding text.
 */
export type FilterV3_55_01 = {
    type: TypeV3_55_0;
    threshold: ThresholdV3_55_0;
}[];
export type ToolArgV3_55_0 = AgentControlledV3_55_0;
/**
 * Human-readable id for use in the UI
 */
export type WorkflowNameV3_55_0 = string;
/**
 * machine-readable slug
 */
export type NameV3_55_01 = string;
/**
 * Human-readable id for use in the UI
 */
export type TitleV3_55_0 = string;
export type DescriptionV3_55_01 = string;
/**
 * Hex color code
 */
export type ColorV3_55_0 = string;
/**
 * Value to indicate whether items in the state should be returned in list queries
 */
export type LiveV3_55_0 = boolean;
/**
 * machine-readable id
 */
export type KeyV3_55_0 = string;
export type StepsV3_55_0 = WorkflowStepV3_55_0[];
/**
 * The general type of this service, specifying how and where it will be utilized.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "serviceType".
 */
export type ServiceTypeV3_55_0 = 'deployment' | 'authentication' | 'takeshape' | 'rest' | 'graphql' | 'openapi' | 'aws' | 'unknown';
/**
 * The name of a health check to run
 */
export type CheckNameV3_55_0 = 'graphqlIntrospection' | 'ping' | 'none';
/**
 * The endpoint to use when checking the service health.
 */
export type EndpointV3_55_0 = string;
/**
 * A custom method to use for the health check request.
 */
export type RequestMethodV3_55_0 = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
/**
 * A custom body to send along with the ping request.
 */
export type RequestBodyV3_55_0 = string;
/**
 * A custom body to send along with the ping request.
 */
export type RequestBodyFormatV3_55_0 = 'string' | 'form' | 'json' | 'form-data';
/**
 * The amount of time to wait when receiving a response from the health check, in seconds.
 */
export type RequestTimeoutV3_55_0 = number;
/**
 * The response status code that qualifies as healthy.
 */
export type HealthyResponseStatusCodeV3_55_0 = number;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "serviceHealthCheckTrigger".
 */
export type ServiceHealthCheckTriggerV3_55_0 = 'manual' | 'schedule';
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "allOfSchema".
 */
export type AllOfSchemaV3_55_0 = PropertySchemaV3_55_0 & {
    allOf: ObjectOrRefArrayV3_55_0;
};
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "extendsSchema".
 */
export type ExtendsSchemaV3_55_0 = PropertySchemaV3_55_0 & {
    extends: ObjectOrRefArrayV3_55_0;
};
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "oneOfSchema".
 */
export type OneOfSchemaV3_55_0 = PropertySchemaV3_55_0 & {
    oneOf: ObjectOrRefArrayV3_55_0;
};
/**
 * Options to be passed to the serialization routine.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeOptions".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[^\n\r]*$".
 */
export type ParameterSerializeOptionsV3_55_0 = ParameterSerializeStyleOptionsV3_55_0 | ParameterSerializeContentOptionsV3_55_0;
/**
 * An array of key / value or directive config tuples
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "directiveMappingArray".
 */
export type DirectiveMappingArrayV3_55_0 = DirectiveMappingArrayItemV3_55_0[];
/**
 * A resolver which references a specific service
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "serviceResolver".
 */
export type ServiceResolverV3_55_0 = TakeshapeResolverV3_55_0 | ShapedbResolverShapeNameNotRequiredV3_55_0 | ShapedbResolverV3_55_0 | GraphqlResolverV3_55_0 | RestResolverV3_55_0 | AwsLambdaResolverV3_55_0;
/**
 * An array of key / value or directive config tuples
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "searchParamsMapping".
 */
export type SearchParamsMappingV3_55_01 = DirectiveMappingArrayItemV3_55_0[];
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeWithObjectSchema".
 */
export type ShapeWithObjectSchemaV3_55_0 = ShapeJSONV3_55_0 & {
    schema: ObjectSchemaV3_55_0;
};
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "serviceAuthentication".
 */
export type ServiceAuthenticationV3_55_0 = OAuth2AuthenticationV3_55_0 | OAuth2BearerAuthenticationV3_55_0 | BearerAuthenticationV3_55_0 | BasicAuthenticationV3_55_0 | SearchParamsAuthenticationV3_55_0 | AWSAuthenticationV3_55_0 | GoogleAuthenticationV3_55_0 | CustomAuthenticationV3_55_0;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "anyServiceConfig".
 */
export type AnyServiceConfigV3_55_0 = ServiceConfigJSONV3_55_0 | ServiceConfigV3_55_0;
export interface ProjectSchemaJSONV3_55_0 {
    $schema?: string;
    /**
     * The version of the TakeShape API your project is using. We increase the version as we make breaking changes to the API endpoints.
     */
    apiVersion: string;
    /**
     * The version of the schema format your project is using. We increase the version as we make breaking changes to the schema format.
     */
    schemaVersion: '3.55.0';
    /**
     * The ID of the TakeShape project this schema belongs to.
     */
    projectId: string;
    /**
     * The ID of the TakeShape user who created the schema.
     */
    author?: string;
    deactivated?: number;
    /**
     * The locale that should be preferred when creating new Shape items. This must be an entry in the locales array.
     */
    defaultLocale: string;
    locales: string[];
    queries: QueryMapV3_55_0;
    mutations: QueryMapV3_55_0;
    shapes: ShapeMapV3_55_0;
    'ai-experimental'?: AIExperimentalV3_55_0;
    forms?: FormMapV3_55_0;
    workflows: WorkflowMapV3_55_0;
    services?: ServiceMapJSONV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "queryMap".
 */
export interface QueryMapV3_55_0 {
    [k: string]: QueryJSONV3_55_0;
}
/**
 * This interface was referenced by `QueryMapV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "^[0-9A-Za-z_]+$".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "query".
 */
export interface QueryJSONV3_55_0 {
    args?: ArgsV3_55_0;
    resolver: ResolverV3_55_0;
    shape: ReturnShapeV3_55_0;
    /**
     * Provides more detail about what the query or mutation is for. This will be displayed in the automatically-generated GraphQL API docs.
     */
    description?: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "propertySchema".
 */
export interface PropertySchemaV3_55_0 {
    $ref?: string;
    title?: string;
    description?: string;
    default?: any;
    readOnly?: boolean;
    multipleOf?: number;
    maximum?: number;
    exclusiveMaximum?: number;
    minimum?: number;
    exclusiveMinimum?: number;
    maxLength?: NonNegativeIntegerV3_55_0;
    minLength?: NonNegativeIntegerDefault0V3_55_0;
    pattern?: string;
    additionalItems?: PropertySchemaV3_55_0;
    items?: PropertySchemaV3_55_0;
    maxItems?: NonNegativeIntegerV3_55_0;
    minItems?: NonNegativeIntegerDefault0V3_55_0;
    uniqueItems?: boolean;
    contains?: PropertySchemaV3_55_0;
    maxProperties?: NonNegativeIntegerV3_55_0;
    minProperties?: NonNegativeIntegerDefault0V3_55_0;
    required?: StringArrayV3_55_0;
    additionalProperties?: PropertySchemaV3_55_0 | false;
    definitions?: {
        [k: string]: PropertySchemaV3_55_0;
    };
    properties?: {
        [k: string]: PropertySchemaV3_55_0;
    };
    const?: any;
    enum?: any[];
    type?: SimpleTypesV3_55_0 | SimpleTypesV3_55_0[];
    format?: string;
    contentMediaType?: string;
    contentEncoding?: string;
    allOf?: SchemaArrayV3_55_0;
    discriminator?: {
        propertyName?: string;
        [k: string]: any;
    };
    oneOf?: SchemaArrayV3_55_0;
    extends?: ObjectOrRefArrayV3_55_0;
    '@backreference'?: BackReferenceV3_55_0;
    '@input'?: PropertySchemaV3_55_0;
    '@output'?: PropertySchemaV3_55_0;
    '@syncLocaleStructure'?: boolean;
    '@sensitive'?: boolean;
    '@draftjs'?: boolean;
    '@l10n'?: boolean;
    '@key'?: string;
    '@workflow'?: string;
    '@mapping'?: FieldMappingV3_55_0;
    '@tag'?: string;
    '@tags'?: string[];
    '@deprecationReason'?: string;
    '@args'?: ArgsV3_55_0;
    '@resolver'?: ResolverV3_55_0;
    '@dependencies'?: DependenciesV3_55_0;
    '@ref'?: RefV3_55_0;
    '@derivedFrom'?: string;
    '@indexed'?: IndexedV3_55_0;
    '@graphql'?: GraphQLConfigV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "refSchema".
 */
export interface RefSchemaV3_55_0 {
    '@ref': RefV3_55_0;
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "refSchemaLegacy".
 */
export interface RefSchemaLegacyV3_55_0 {
    $ref: RefV3_55_0;
    [k: string]: any;
}
/**
 * A configuration object for a reverse reference in a relationship.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "backreference".
 */
export interface BackReferenceV3_55_0 {
    enabled: boolean;
    name?: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "utilResolver".
 */
export interface UtilResolverV3_55_0 {
    if?: string;
    id?: string;
    name: UtilResolverNameV3_55_0;
    options?: UtilResolverOptionsV3_55_0;
    /**
     * Optional value to return from the noop resolver.
     */
    value?: number | string | boolean | {
        [k: string]: any;
    } | any[] | null;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
    argsMapping?: ArgsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
}
export interface UtilResolverOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterConfigForJson".
 */
export interface ParameterConfigForJsonV3_55_0 {
    ops: ParameterOpListV3_55_0;
}
/**
 * An object describing an operation to generate a parameter, using a nested OpList.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterOpNested".
 */
export interface ParameterOpNestedV3_55_0 {
    /**
     * A path to the parameter for this operation.
     */
    path: string;
    /**
     * A mode for this parameter's operation.
     */
    op?: 'set' | 'concat' | 'extend' | 'remove';
    ops: ParameterOpListV3_55_0;
}
/**
 * An object describing an operation to generate a parameter using a value.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterOpValue".
 */
export interface ParameterOpValueV3_55_0 {
    /**
     * A path to the parameter for this operation.
     */
    path: string;
    /**
     * A mode for this parameter's operation.
     */
    op?: 'set' | 'concat' | 'extend' | 'remove';
    /**
     * A value to set directly at this path.
     */
    value: number | string | boolean | {
        [k: string]: any;
    } | any[] | null;
}
/**
 * An object describing an operation to generate a parameter using a mapping.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterOpMapping".
 */
export interface ParameterOpMappingV3_55_0 {
    /**
     * A path to the parameter for this operation.
     */
    path: string;
    /**
     * A mode for this parameter's operation.
     */
    op?: 'set' | 'concat' | 'extend' | 'remove';
    /**
     * Either a valid JSONPath or a directive pipeline to evaluate against the query context.
     */
    mapping: string | DirectiveConfigV3_55_0;
}
export interface DirectiveOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * An object describing an operation to generate a parameter using a mapping.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterOpOp".
 */
export interface ParameterOpOpV3_55_0 {
    /**
     * A path to the parameter for this operation.
     */
    path: string;
    /**
     * A mode for this parameter's operation.
     */
    op: 'set' | 'concat' | 'extend' | 'remove';
}
/**
 * An map of object keys / key paths to directive configs
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "directiveMappingMap".
 */
export interface DirectiveMappingMapV3_55_0 {
    [k: string]: DirectiveConfigV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "delegateResolver".
 */
export interface DelegateResolverV3_55_0 {
    if?: string;
    id?: string;
    name: DelegateResolverNameV3_55_0;
    options?: DelegateResolverOptionsV3_55_0;
    argsMapping?: ArgsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
    /**
     * A ref to a query/mutation/property to delegate to.
     */
    to: string;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
}
export interface DelegateResolverOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "takeshapeResolver".
 */
export interface TakeshapeResolverV3_55_0 {
    if?: string;
    id?: string;
    name: TakeshapeResolverNameV3_55_0;
    /**
     * Internal service identifier.
     */
    service: 'takeshape';
    options?: TakeshapeResolverOptionsV3_55_0;
    /**
     * An optional Shape name for the resolver.
     */
    shapeName?: string;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
    argsMapping?: ArgsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
}
export interface TakeshapeResolverOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapedbResolver".
 */
export interface ShapedbResolverV3_55_0 {
    if?: string;
    id?: string;
    name: ShapedbResolverNameV3_55_0;
    /**
     * Internal service identifier.
     */
    service: 'shapedb';
    options?: ShapedbResolverOptionsV3_55_0;
    argsMapping?: ArgsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
    /**
     * A Shape name for the resolver to use.
     */
    shapeName: string;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
}
export interface ShapedbResolverOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapedbResolverShapeNameNotRequired".
 */
export interface ShapedbResolverShapeNameNotRequiredV3_55_0 {
    if?: string;
    id?: string;
    name: ShapedbResolverShapeNameNotRequiredNameV3_55_0;
    /**
     * Internal service identifier.
     */
    service: 'shapedb';
    options?: ShapedbResolverShapeNameNotRequiredOptionsV3_55_0;
    /**
     * An optional Shape name for the resolver.
     */
    shapeName?: string;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
    argsMapping?: ArgsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
}
export interface ShapedbResolverShapeNameNotRequiredOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "graphqlResolver".
 */
export interface GraphqlResolverV3_55_0 {
    if?: string;
    id?: string;
    name: GraphqlResolverNameV3_55_0;
    /**
     * Configuration for a service to use with this resolver.
     */
    service: string;
    argsMapping?: ArgsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
    options?: GraphqlResolverOptionsV3_55_0;
    /**
     * A fieldname to use in queries.
     */
    fieldName: string;
    headers?: ParameterConfigForHeadersV3_55_0;
    searchParams?: ParameterConfigForSearchParamsV3_55_0;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
}
export interface GraphqlResolverOptionsV3_55_0 {
    selectionSet?: string;
    unboxParentSelectionSet?: boolean;
    ignoreErrors?: boolean;
    skipWhenMissingArgs?: boolean;
    ttl?: number;
    timeout?: number;
    allowStream?: boolean;
    retry?: number | {
        [k: string]: any;
    };
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterConfigForHeaders".
 */
export interface ParameterConfigForHeadersV3_55_0 {
    ops: ParameterOpListV3_55_0;
    serialize?: ParameterSerializeConfigForHeadersV3_55_0;
}
/**
 * Top-level paths to use headers serialization options for.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeConfigForHeaders".
 */
export interface ParameterSerializeConfigForHeadersV3_55_0 {
    defaults?: ParameterSerializeStyleOptionsForHeadersV3_55_0 | ParameterSerializeContentOptionsV3_55_0;
    paths?: {
        /**
         * This interface was referenced by `undefined`'s JSON-Schema definition
         * via the `patternProperty` "^[^\n\r]*$".
         */
        [k: string]: ParameterSerializeStyleOptionsForHeadersV3_55_0 | ParameterSerializeContentOptionsV3_55_0;
    };
}
/**
 * Options to be passed to the serialization routine.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeStyleOptionsForHeaders".
 */
export interface ParameterSerializeStyleOptionsForHeadersV3_55_0 {
    style: 'simple' | 'none';
    explode?: boolean;
}
/**
 * Options to be passed to the serialization routine.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeContentOptions".
 */
export interface ParameterSerializeContentOptionsV3_55_0 {
    contentType: string;
    /**
     * The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.
     */
    allowReserved?: boolean;
    skipEncoding?: boolean;
    /**
     * Options to be passed directly to the content serializer library. Valid options depend upon your contentType.
     */
    options?: {
        [k: string]: any;
    };
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterConfigForSearchParams".
 */
export interface ParameterConfigForSearchParamsV3_55_0 {
    ops: ParameterOpListV3_55_0;
    serialize?: ParameterSerializeConfigForSearchParamsV3_55_0;
}
/**
 * Top-level paths to use search params serialization options for.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeConfigForSearchParams".
 */
export interface ParameterSerializeConfigForSearchParamsV3_55_0 {
    defaults?: ParameterSerializeStyleOptionsForSearchParamsV3_55_0 | ParameterSerializeContentOptionsV3_55_0;
    paths?: {
        /**
         * This interface was referenced by `undefined`'s JSON-Schema definition
         * via the `patternProperty` "^[^\n\r]*$".
         */
        [k: string]: ParameterSerializeStyleOptionsForSearchParamsV3_55_0 | ParameterSerializeContentOptionsV3_55_0;
    };
}
/**
 * Options to be passed to the serialization routine.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeStyleOptionsForSearchParams".
 */
export interface ParameterSerializeStyleOptionsForSearchParamsV3_55_0 {
    style: 'form' | 'spaceDelimited' | 'pipeDelimited' | 'deepObject' | 'none';
    explode?: boolean;
    allowEmptyValue?: boolean;
    /**
     * The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.
     */
    allowReserved?: boolean;
    skipEncoding?: boolean;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "restResolver".
 */
export interface RestResolverV3_55_0 {
    if?: string;
    id?: string;
    name: RestResolverNameV3_55_0;
    /**
     * Configuration for a service to use with this resolver.
     */
    service: string;
    argsMapping?: ArgsMappingV3_55_0;
    searchParamsMapping?: SearchParamsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
    options?: RestResolverOptionsV3_55_0;
    body?: ParameterConfigForBodyV3_55_0;
    form?: ParameterConfigForSearchParamsV3_55_0;
    headers?: ParameterConfigForHeadersV3_55_0;
    json?: ParameterConfigForJsonV3_55_0;
    /**
     * Mapping and serialization configuration for the path, or a simple string.
     */
    path: ParameterConfigForPathParamsV3_55_0 | string;
    searchParams?: ParameterConfigForSearchParamsV3_55_0;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
}
export interface RestResolverOptionsV3_55_0 {
    trailingSlash?: boolean;
    allowStream?: boolean;
    ttl?: number;
    timeout?: number;
    retry?: number | {
        [k: string]: any;
    };
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterConfigForBody".
 */
export interface ParameterConfigForBodyV3_55_0 {
    ops: ParameterOpListV3_55_0;
    serialize?: ParameterSerializeConfigForBodyV3_55_0;
}
/**
 * Top-level paths to use serialization options for.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeConfigForBody".
 */
export interface ParameterSerializeConfigForBodyV3_55_0 {
    content?: ParameterSerializeContentOptionsV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterConfigForPathParams".
 */
export interface ParameterConfigForPathParamsV3_55_0 {
    ops: ParameterOpListV3_55_0;
    serialize: ParameterSerializeConfigForPathParamsV3_55_0;
}
/**
 * Top-level paths to use path params serialization options for.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeConfigForPathParams".
 */
export interface ParameterSerializeConfigForPathParamsV3_55_0 {
    /**
     * For generating the path using tokens frpm the ParameterOps, e.g., '/products/{productId}'
     */
    template: string;
    defaults?: ParameterSerializeStyleOptionsForPathParamsV3_55_0 | ParameterSerializeContentOptionsV3_55_0;
    paths?: {
        /**
         * This interface was referenced by `undefined`'s JSON-Schema definition
         * via the `patternProperty` "^[^\n\r]*$".
         */
        [k: string]: ParameterSerializeStyleOptionsForPathParamsV3_55_0 | ParameterSerializeContentOptionsV3_55_0;
    };
}
/**
 * Options to be passed to the serialization routine.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeStyleOptionsForPathParams".
 */
export interface ParameterSerializeStyleOptionsForPathParamsV3_55_0 {
    style: 'simple' | 'label' | 'matrix' | 'none';
    explode?: boolean;
    allowEmptyValue?: boolean;
    /**
     * The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.
     */
    allowReserved?: boolean;
    skipEncoding?: boolean;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "awsLambdaResolver".
 */
export interface AwsLambdaResolverV3_55_0 {
    if?: string;
    id?: string;
    name: AwsLambdaResolverNameV3_55_0;
    /**
     * Configuration for a service to use with this resolver.
     */
    service: string;
    options?: AwsLambdaResolverOptionsV3_55_0;
    payload?: ParameterConfigForJsonV3_55_0;
    /**
     * Mapping configuration for the FunctionName.
     */
    functionName: string | ParameterConfigForAwsLambdaV3_55_0;
    clientContext?: ParameterConfigForJsonV3_55_0;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
    argsMapping?: ArgsMappingV3_55_0;
    searchParamsMapping?: SearchParamsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
}
export interface AwsLambdaResolverOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterConfigForAwsLambda".
 */
export interface ParameterConfigForAwsLambdaV3_55_0 {
    ops: ParameterOpListV3_55_0;
    serialize: ParameterSerializeConfigForPathParamsV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "salsifyResolver".
 */
export interface SalsifyResolverV3_55_0 {
    if?: string;
    id?: string;
    name: SalsifyResolverNameV3_55_0;
    /**
     * Configuration for a service to use with this resolver.
     */
    service: string;
    options?: SalsifyResolverOptionsV3_55_0;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
    argsMapping?: ArgsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
}
export interface SalsifyResolverOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "syndigoResolver".
 */
export interface SyndigoResolverV3_55_0 {
    if?: string;
    id?: string;
    name: SyndigoResolverNameV3_55_0;
    /**
     * Configuration for a service to use with this resolver.
     */
    service: string;
    options?: SyndigoResolverOptionsV3_55_0;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
    argsMapping?: ArgsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
}
export interface SyndigoResolverOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "functionResolver".
 */
export interface FunctionResolverV3_55_0 {
    if?: string;
    id?: string;
    name: FunctionResolverNameV3_55_0;
    options?: FunctionResolverOptionsV3_55_0;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
    argsMapping?: ArgsMappingV3_55_0;
    resultsMapping?: ResultsMappingV3_55_0;
    javascript?: FunctionResolverJavascriptV3_55_0;
}
export interface FunctionResolverOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiGenerateTextResolver".
 */
export interface AIGenerateTextResolverV3_55_0 {
    if?: string;
    id?: string;
    name: AIResolverNameV3_55_0;
    /**
     * Configuration for a service to use with this resolver.
     */
    service: string;
    options?: AIGenerateTextResolverOptionsV3_55_0;
    systemPrompt: string;
    inputTemplate?: string;
    model: string;
    tools?: (string | AIToolConfigV3_55_0)[];
    guardrails?: AIGuardrailV3_55_0[];
    context?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiGenerateTextResolverOptions".
 */
export interface AIGenerateTextResolverOptionsV3_55_0 {
    history?: HistoryV3_55_0;
    maxTokens?: MaximumTokensV3_55_0;
    temperature?: TemperatureV3_55_0;
    topP?: TopPV3_55_0;
    topK?: TopKV3_55_0;
    presencePenalty?: PresencePenaltySettingV3_55_0;
    frequencyPenalty?: FrequencyPenaltySettingV3_55_0;
    stopSequences?: StopSequencesV3_55_0;
    seed?: SeedV3_55_0;
    /**
     * Maximum number of retries. Set to 0 to disable retries. Defaults to 2
     */
    maxRetries?: number;
    /**
     * The tool choice strategy. Default: 'auto'
     */
    toolChoice?: (('auto' | 'none' | 'required') | string) & string;
    /**
     * Maximal number of automatic roundtrips for tool calls.
     */
    maxToolRoundtrips?: number;
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiToolConfig".
 */
export interface AIToolConfigV3_55_0 {
    ref: string;
    selectionSet?: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiSimilarityGuardrail".
 */
export interface AISimilarityGuardrailV3_55_0 {
    name: 'similarity';
    shape: string;
    defaultResponse: string;
    threshold?: number;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiGeneratePropertyResolver".
 */
export interface AIGeneratePropertyResolverV3_55_0 {
    id?: string;
    name: AIResolverNameV3_55_01;
    /**
     * Configuration for a service to use with this resolver.
     */
    service: string;
    model: string;
    systemPrompt?: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiEmbeddingResolver".
 */
export interface AIEmbeddingResolverV3_55_0 {
    if?: string;
    id?: string;
    name: AIResolverNameV3_55_02;
    /**
     * Configuration for a service to use with this resolver.
     */
    service: string;
    options?: AIEmbeddingResolverOptionsV3_55_0;
    model: string;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiEmbeddingResolverOptions".
 */
export interface AIEmbeddingResolverOptionsV3_55_0 {
    useDependencies?: boolean;
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiEmbeddingSearchResolver".
 */
export interface AIEmbeddingSearchResolverV3_55_0 {
    if?: string;
    id?: string;
    name: AIResolverNameV3_55_03;
    /**
     * A vector property ref to use for the query.
     */
    vectorProperty: string;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiParseFileResolver".
 */
export interface AIParseFileResolverV3_55_0 {
    if?: string;
    id?: string;
    name: AIResolverNameV3_55_04;
    /**
     * Configuration for a service to use with this resolver.
     */
    service: string;
    options?: AIEmbeddingResolverOptionsV3_55_0;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "utilChunkResolver".
 */
export interface ChunkResolverV3_55_0 {
    if?: string;
    id?: string;
    name: UtilResolverNameV3_55_01;
    options: UtilChunkResolverOptionsV3_55_0;
    args?: ParameterConfigForJsonV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "utilChunkResolverOptionsCharacterCount".
 */
export interface UtilChunkResolverOptionsCharacterCountV3_55_0 {
    type: 'characterCount';
    characterCount: number;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "utilChunkResolverOptionsSeparators".
 */
export interface UtilChunkResolverOptionsSeparatorsV3_55_0 {
    type: 'separators';
    separators: string[];
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "utilChunkResolverOptionsMarkdown".
 */
export interface UtilChunkResolverOptionsMarkdownV3_55_0 {
    type: 'markdown';
    /**
     * New chunks will be created at headers for this level or lower. Default 2.
     */
    headerLevel?: number;
    /**
     * A new chunk will be started when this number of characters is reached, regardless of markup.
     */
    maxCharacters?: number;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "utilChunkResolverOptionsSemantic".
 */
export interface UtilChunkResolverOptionsSemanticV3_55_0 {
    type: 'semantic';
    serviceId: string;
    modelId: string;
    /**
     * Similarity below which two embeddings are considered different.
     */
    similarityThreshold?: number;
    /**
     * Advanced. How many sentences to advance when grouping sentences to create embeddings. Default 1.
     */
    stride?: number;
    /**
     * Advanced. How many sentences are grouped together to create embeddings. Default 3.
     */
    sentenceCount?: number;
    /**
     * The maximum number of characters in a chunk.
     */
    maxCharacters?: number;
    /**
     * The maximum number of tokens in a chunk.
     */
    maxTokens?: number;
}
export interface AISendAgentMessageResolverV3_55_0 {
    id?: string;
    name: AIResolverNameV3_55_05;
    agentName: string;
    inputName: string;
}
export interface AIInspectAgentResolverV3_55_0 {
    id?: string;
    name: AIResolverNameV3_55_06;
    agentName: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "composeResolver".
 */
export interface ComposeResolverV3_55_0 {
    compose: BasicResolverV3_55_0[];
    resultsMapping?: DirectiveMappingMapV3_55_0 | DirectiveConfigV3_55_0;
    results?: ParameterConfigForJsonV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "indexed".
 */
export interface IndexedV3_55_0 {
    nested?: boolean;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "graphql".
 */
export interface GraphQLConfigV3_55_0 {
    json?: boolean;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeMap".
 */
export interface ShapeMapV3_55_0 {
    [k: string]: ShapeJSONV3_55_0;
}
/**
 * A Shape is a schema object for structuring and storing data from one or more sources, including the TakeShape data store and connected services
 *
 * This interface was referenced by `ShapeMapV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "^[0-9A-Za-z_]+$".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shape".
 */
export interface ShapeJSONV3_55_0 {
    /**
     * The Pascal-cased human-readable id for a Shape. This value should match the shape's key in the shapes object. This value is used in @ref and @mapping annotations
     */
    name: string;
    /**
     * The machine-readable id for a Shape which should never change. When using TakeShape's built-in database to store Shape data, this value is used  database as a stable "table name" and changing it will result in orphaning that data.
     */
    id: string;
    /**
     * The human-readable name for a Shape for use in a UI.
     */
    title: string;
    description?: string;
    type?: 'interface' | 'input' | 'output';
    interfaces?: string[];
    /**
     * Specifying a model type allows Shape data to be stored in TakeShape's built-in database
     */
    model?: {
        type: ModelTypeV3_55_0;
    };
    workflow?: string;
    loaders?: ShapeLoadersV3_55_0;
    joins?: ShapeJoinsV3_55_0;
    cache?: ShapeCacheConfigV3_55_0;
    schema: ShapeSchemaV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeLoaders".
 */
export interface ShapeLoadersV3_55_0 {
    list: StoredListQueryLoaderConfigV3_55_0 | StoredListQueryLoaderConfigV3_55_0[];
    get?: GetQueryLoaderConfigV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "storedListQueryLoaderConfig".
 */
export interface StoredListQueryLoaderConfigV3_55_0 {
    query: string;
    args?: {
        [k: string]: any;
    } | {
        [k: string]: any;
    }[];
    pagination?: PaginationConfigV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "paginationCursorConfig".
 */
export interface PaginationCursorConfigV3_55_0 {
    type: 'cursor';
    cursorArg: string;
    cursorPath: string;
    pageSize?: number;
    pageSizeArg: string;
    hasMorePath: string;
    itemsPath: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "paginationPageConfig".
 */
export interface PaginationPageConfigV3_55_0 {
    type: 'page';
    pageArg: string;
    pageSize?: number;
    pageSizeArg?: string;
    itemsPath: string;
    pageTotalPath: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "paginationOffsetConfig".
 */
export interface PaginationOffsetConfigV3_55_0 {
    type: 'offset';
    offsetArg: string;
    pageSize?: number;
    pageSizeArg?: string;
    itemsPath: string;
    itemTotalPath: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "getQueryLoaderConfig".
 */
export interface GetQueryLoaderConfigV3_55_0 {
    query: string;
    args?: {
        [k: string]: any;
    };
    idArg?: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeJoins".
 */
export interface ShapeJoinsV3_55_0 {
    [k: string]: ShapeJoinV3_55_0;
}
/**
 * This interface was referenced by `ShapeJoinsV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "[:0-9A-Za-z_-]+".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeJoin".
 */
export interface ShapeJoinV3_55_0 {
    resolver: DelegateResolverV3_55_0 | ShapedbResolverV3_55_0;
    dependencies?: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeCacheConfig".
 */
export interface ShapeCacheConfigV3_55_0 {
    enabled: boolean;
    idField?: string;
    searchSummaryField?: string;
    fragment?: CachedFragmentConfigV3_55_0;
    triggers?: CacheTriggerConfigV3_55_0[];
    /**
     * Number of seconds this Shape should be cached. Default 0.
     */
    maxAge?: number;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "cachedFragmentConfig".
 */
export interface CachedFragmentConfigV3_55_0 {
    ignoreFields?: string[];
    maxDepth?: number;
    selectionSet?: string;
    includeDeprecated?: boolean;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "cacheScheduleTriggerConfig".
 */
export interface CacheScheduleTriggerConfigV3_55_0 {
    type: 'schedule';
    loader: 'get' | 'list';
    interval: number;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "cacheWebhookTriggerConfig".
 */
export interface CacheWebhookTriggerConfigV3_55_0 {
    type: 'webhook';
    loader: 'get' | 'list';
    service: string;
    events: string[];
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeSchemaAllOf".
 */
export interface ShapeSchemaAllOfV3_55_0 {
    allOf: ObjectOrRefArrayV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeSchemaExtends".
 */
export interface ShapeSchemaExtendsV3_55_0 {
    extends: ObjectOrRefArrayV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeSchemaOneOf".
 */
export interface ShapeSchemaOneOfV3_55_0 {
    oneOf: ObjectOrRefArrayV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeSchemaEnum".
 */
export interface ShapeSchemaEnumV3_55_0 {
    enum: any[];
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "shapeSchemaAny".
 */
export interface ShapeSchemaAnyV3_55_0 {
}
export interface AIExperimentalV3_55_0 {
    agents?: AgentMapV3_55_0;
    guards?: GuardMapV3_55_0;
    mcp?: MCPServerConfigurationV3_55_0;
}
export interface AgentMapV3_55_0 {
    [k: string]: AgentJSONV3_55_0;
}
/**
 * An Agent is a configuration for an AI service such as a chat bot or a search engine.
 *
 * This interface was referenced by `AgentMapV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "^[0-9A-Za-z_]+$".
 */
export interface AgentJSONV3_55_0 {
    description?: string;
    systemPrompt?: string;
    api: AgentAPIV3_55_0;
    memory?: AgentMemoryV3_55_0;
    start: AgentStartV3_55_0;
    states: AgentStatesV3_55_0;
    guards?: AgentGuardV3_55_0[];
    historyStrategies?: HistoryStrategyMapV3_55_0;
}
export interface AgentAPIV3_55_0 {
    inputs: AgentAPIInputV3_55_0[];
}
export interface AgentAPIMutationInputV3_55_0 {
    type: 'mutation';
    name: string;
    args: string;
    interactionTimeout?: InteractionTimeoutMillisecondsV3_55_0;
}
export interface AgentMemoryV3_55_0 {
    sessionMemory: AgentSessionMemoryV3_55_0;
}
export interface AgentSessionMemoryV3_55_0 {
    shape?: string;
}
/**
 * Configuration for the start of an agent's execution
 */
export interface AgentStartV3_55_0 {
    transitions: AgentTransitionSuspendV3_55_0[];
}
export interface AgentTransitionSuspendV3_55_0 {
    type: 'suspend';
    destination: string;
    input: string;
    condition?: string;
    limit?: number;
    sessionMemory?: AgentStateSessionMemoryV3_55_0;
    historyStrategy?: string;
}
export interface AgentStateSessionMemoryAssignmentV3_55_0 {
    memoryPath?: string;
    expression: string;
}
/**
 * States that are traversed during the execution of an agent.
 */
export interface AgentStatesV3_55_0 {
    [k: string]: AgentStateV3_55_0;
}
/**
 * One step of an agent's execution.
 *
 * This interface was referenced by `AgentStatesV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "^[0-9A-Za-z_]+$".
 */
export interface AgentStateV3_55_0 {
    name: string;
    variables?: VariablesV3_55_0;
    execution: AgentExecutionV3_55_0;
    transitions?: AgentTransitionV3_55_0[];
}
export interface AgentVariableV3_55_0 {
    name: string;
    /**
     * These are evaluated in order until a value is found.
     */
    steps: AgentVariableStepV3_55_0[];
}
export interface AgentVariableStepV3_55_0 {
    condition?: string;
    expression: string;
}
export interface AgentExecutionGraphQLV3_55_0 {
    type: 'graphql';
    query: string;
    path?: string;
}
export interface AgentExecutionGenerateV3_55_0 {
    type: 'generate';
    service: string;
    model: string;
    systemPrompt?: string;
    input: AgentAIStateInputV3_55_0;
    outputShape?: string;
    tools?: AgentToolConfigV3_55_0[];
    options?: AgentGenerateOptionsV3_55_0;
}
export interface AgentAIStateInputArgumentV3_55_0 {
    type: 'arg';
}
export interface AgentAIStateInputTemplateV3_55_0 {
    type: 'template';
    inputTemplate: string;
}
export interface AgentToolConfigV3_55_0 {
    name: string;
    ref: string;
    description?: string;
    args?: AgentToolConfigArgV3_55_0[];
    selectionSet?: string;
}
export interface AgentControlledV3_55_0 {
    type: 'agent';
    argName: ToolArgumentNameV3_55_0;
}
export interface VariableValueV3_55_0 {
    type: 'variable';
    argName: ToolArgumentNameV3_55_01;
    variableName: StateVariableNameV3_55_0;
}
export interface AgentGenerateOptionsV3_55_0 {
    history?: HistoryV3_55_01;
    maxTokens?: MaximumTokensV3_55_01;
    temperature?: TemperatureV3_55_01;
    topP?: TopPV3_55_01;
    topK?: TopKV3_55_01;
    presencePenalty?: PresencePenaltySettingV3_55_01;
    frequencyPenalty?: FrequencyPenaltySettingV3_55_01;
    stopSequences?: StopSequencesV3_55_01;
    seed?: SeedV3_55_01;
    /**
     * Maximum number of retries. Set to 0 to disable retries. Defaults to 2
     */
    maxRetries?: number;
    /**
     * The tool choice strategy. Default: 'auto'
     */
    toolChoice?: (('auto' | 'none' | 'required') | string) & string;
    maxToolRoundtrips?: MaxToolRoundtripsV3_55_0;
    structuredOutputs?: StructuredOutputsV3_55_0;
    enableOpenAIFormat?: EnableOpenAISchemaFormatV3_55_0;
    removePropertyKeyPatterns?: RemovePropertyKeyPatternsV3_55_0;
    stripMarkdown?: StripMarkdownV3_55_0;
}
export interface AgentExecutionChatV3_55_0 {
    type: 'chat';
    service: string;
    model: string;
    systemPrompt?: string;
    input: AgentAIStateInputV3_55_0;
    artifact?: string;
    tools?: AgentToolConfigV3_55_0[];
    options?: AgentGenerateOptionsV3_55_0;
}
export interface AgentTransitionImmediateV3_55_0 {
    type: 'immediate';
    destination: string;
    condition?: string;
    limit?: number;
    sessionMemory?: AgentStateSessionMemoryV3_55_01;
    historyStrategy?: string;
}
export interface AgentGuardV3_55_0 {
    guardId: GuardIDV3_55_0;
}
export interface HistoryStrategyMapV3_55_0 {
    [k: string]: HistoryStrategyV3_55_0;
}
/**
 * This interface was referenced by `HistoryStrategyMapV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "^[0-9A-Za-z_]+$".
 */
export interface HistoryStrategyV3_55_0 {
    name: string;
    variables?: VariablesV3_55_01;
    filter?: HistoryStrategyFilterV3_55_0;
    transform: HistoryStrategyTransformV3_55_0;
}
export interface HistoryStrategyFilterV3_55_0 {
    toolCalls?: 'retain' | 'clear';
}
export interface HistoryStrategyTransformNoneV3_55_0 {
    type: 'none';
}
export interface HistoryStrategyTransformReplaceV3_55_0 {
    type: 'replace';
    template: string;
}
export interface HistoryStrategyTransformSummarizeV3_55_0 {
    type: 'generate';
    service: string;
    model: string;
    systemPrompt: string;
    tools?: AgentToolConfigV3_55_0[];
    options?: AgentGenerateOptionsV3_55_0;
}
export interface GuardMapV3_55_0 {
    [k: string]: GuardJSONV3_55_0;
}
/**
 * A Guard is a configuration for an AI guardrail that can check inputs and outputs and provide safety and compliance.
 *
 * This interface was referenced by `GuardMapV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "^[0-9A-Za-z_]+$".
 */
export interface GuardJSONV3_55_0 {
    name: NameV3_55_0;
    description?: DescriptionV3_55_0;
    enabled?: EnabledV3_55_0;
    guardrailIdentifier?: GuardrailIdentifierV3_55_0;
    guardrailVersion?: GuardrailVersionV3_55_0;
    blockedInputMessaging?: BlockedInputMessagingV3_55_0;
    blockedOutputsMessaging?: BlockedOutputsMessagingV3_55_0;
    topicPolicyConfig?: TopicPolicyV3_55_0;
    contentPolicyConfig?: ContentPolicyV3_55_0;
    wordPolicyConfig?: WordPolicyV3_55_0;
    sensitiveInformationPolicyConfig?: SensitiveInformationPolicyV3_55_0;
    contextualGroundingPolicyConfig?: ContextualGroundingPolicyV3_55_0;
}
/**
 * Topics to identify and block.
 */
export interface TopicPolicyV3_55_0 {
    topicsConfig: TopicV3_55_0;
}
/**
 * Types of content to filter and strength configuration.
 */
export interface ContentPolicyV3_55_0 {
    filtersConfig: FilterV3_55_0;
}
/**
 * Specific words to identify and block.
 */
export interface WordPolicyV3_55_0 {
    wordsConfig?: WordListV3_55_0;
    managedWordListsConfig?: ManagedWordListV3_55_0;
}
/**
 * Filter out and block or obscure sensitive information. Matching text will be handled per the policy.
 */
export interface SensitiveInformationPolicyV3_55_0 {
    piiEntitiesConfig?: PIIEntityV3_55_0;
    regexesConfig?: RegularExpressionV3_55_0;
}
/**
 * Provides evaluations based on grounding text supplied by your in-context agent variables. Off-topic conversations can then be blocked.
 */
export interface ContextualGroundingPolicyV3_55_0 {
    filtersConfig: FilterV3_55_01;
}
export interface MCPServerConfigurationV3_55_0 {
    tools?: ToolMapV3_55_0;
}
export interface ToolMapV3_55_0 {
    [k: string]: ToolJSONV3_55_0;
}
/**
 * This interface was referenced by `ToolMapV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "^[0-9A-Za-z_]+$".
 */
export interface ToolJSONV3_55_0 {
    name: string;
    ref: string;
    description?: string;
    args?: ToolArgV3_55_0[];
    selectionSet?: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "formMap".
 */
export interface FormMapV3_55_0 {
    [k: string]: FormsConfigV3_55_0;
}
/**
 * This interface was referenced by `FormMapV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "formsConfig".
 */
export interface FormsConfigV3_55_0 {
    default: FormConfigV3_55_0;
    [k: string]: FormConfigV3_55_0;
}
/**
 * This interface was referenced by `FormsConfigV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "formConfig".
 */
export interface FormConfigV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "workflowMap".
 */
export interface WorkflowMapV3_55_0 {
    [k: string]: WorkflowV3_55_0;
}
/**
 * This interface was referenced by `WorkflowMapV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "workflow".
 */
export interface WorkflowV3_55_0 {
    /**
     * machine-readable id
     */
    name: string;
    title: WorkflowNameV3_55_0;
    steps: StepsV3_55_0;
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "workflowStep".
 */
export interface WorkflowStepV3_55_0 {
    name: NameV3_55_01;
    title: TitleV3_55_0;
    description?: DescriptionV3_55_01;
    color: ColorV3_55_0;
    live: LiveV3_55_0;
    key: KeyV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "storedServiceMap".
 */
export interface ServiceMapJSONV3_55_0 {
    [k: string]: ServiceConfigJSONV3_55_0;
}
/**
 * This interface was referenced by `ServiceMapJSONV3_55_0`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "storedServiceConfig".
 */
export interface ServiceConfigJSONV3_55_0 {
    /**
     * Machine-readable identifier, should typically be the same as the property name on the services object.
     */
    id: string;
    /**
     * Human-readable name for this service.
     */
    title: string;
    /**
     * The service provider id.
     */
    provider: string;
    /**
     * A namespace to use for the imported types tied to this service.
     */
    namespace?: string;
    serviceType: ServiceTypeV3_55_0;
    authenticationType: 'oauth2' | 'basic' | 'bearer' | 'searchParams' | 'oauth2Bearer' | 'custom' | 'aws' | 'google' | 'none' | 'unknown';
    authentication?: string;
    healthCheck?: ServiceHealthCheckV3_55_0;
    webhookId?: string;
    /**
     * Configuration options passed to and handled by the provider.
     */
    options?: {
        [k: string]: any;
    };
}
/**
 * Configuration for ping health checks.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "serviceHealthCheck".
 */
export interface ServiceHealthCheckV3_55_0 {
    checkName: CheckNameV3_55_0;
    endpoint?: EndpointV3_55_0;
    requestMethod?: RequestMethodV3_55_0;
    requestHeaders?: RequestHeadersV3_55_0;
    requestSearchParams?: RequestSearchParamsV3_55_0;
    requestBody?: RequestBodyV3_55_0;
    requestBodyFormat?: RequestBodyFormatV3_55_0;
    requestTimeout?: RequestTimeoutV3_55_0;
    healthyResponseStatusCode?: HealthyResponseStatusCodeV3_55_0;
    triggers?: ServiceHealthCheckTriggerV3_55_0[];
}
/**
 * Any custom headers to set with the health check request.
 */
export interface RequestHeadersV3_55_0 {
    [k: string]: any;
}
/**
 * Any custom search params to set with the health check request.
 */
export interface RequestSearchParamsV3_55_0 {
    [k: string]: any;
}
/**
 * All possible options for the more specific ParameterSerializeStyleOptions types.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeStyleOptions".
 */
export interface ParameterSerializeStyleOptionsV3_55_0 {
    style: 'simple' | 'label' | 'matrix' | 'form' | 'spaceDelimited' | 'pipeDelimited' | 'deepObject' | 'none';
    explode?: boolean;
    allowEmptyValue?: boolean;
    /**
     * The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.
     */
    allowReserved?: boolean;
    skipEncoding?: boolean;
}
/**
 * All possible options for the more specific ParameterSerializeConfig types.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterSerializeConfig".
 */
export interface ParameterSerializeConfigV3_55_0 {
    content?: ParameterSerializeContentOptionsV3_55_0;
    defaults?: ParameterSerializeOptionsV3_55_0;
    paths?: {
        [k: string]: ParameterSerializeOptionsV3_55_0;
    };
}
/**
 * All possible options for the more specific ParameterConfig types.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "parameterConfig".
 */
export interface ParameterConfigV3_55_0 {
    ops: ParameterOpListV3_55_0;
    serialize?: ParameterSerializeConfigV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "aiParseFileResolverOptions".
 */
export interface AIParseFileResolverOptionsV3_55_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "listQueryLoaderConfig".
 */
export interface ListQueryLoaderConfigV3_55_0 {
    query: string;
    args?: {
        [k: string]: any;
    };
    pagination?: PaginationConfigV3_55_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "formScalarConfig".
 */
export interface FormScalarConfigV3_55_0 {
    widget: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "formObjectConfig".
 */
export interface FormObjectConfigV3_55_0 {
    widget?: string;
    order?: string[];
    properties?: {
        [k: string]: FormConfigV3_55_0;
    };
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "formArrayConfig".
 */
export interface FormArrayConfigV3_55_0 {
    widget: string;
    items: FormConfigV3_55_0;
}
/**
 * For use with a custom auth handler on a service provider.
 *
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "customAuthentication".
 */
export interface CustomAuthenticationV3_55_0 {
    type: 'custom';
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "searchParamsAuthentication".
 */
export interface SearchParamsAuthenticationV3_55_0 {
    type: 'searchParams';
    params: {
        name: string;
        value: string;
    }[];
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "bearerAuthentication".
 */
export interface BearerAuthenticationV3_55_0 {
    type: 'bearer';
    token: string;
    prefix?: string;
    header?: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "oauth2BearerAuthentication".
 */
export interface OAuth2BearerAuthenticationV3_55_0 {
    type: 'oauth2Bearer';
    token: string;
    prefix?: string;
    header?: string;
    scope?: string;
    expiresAt?: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "basicAuthentication".
 */
export interface BasicAuthenticationV3_55_0 {
    type: 'basic';
    username: string;
    password: string;
    useIso8859?: boolean;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "oauth2Authentication".
 */
export interface OAuth2AuthenticationV3_55_0 {
    type: 'oauth2';
    grantType: 'authorizationCode' | 'clientCredentials';
    authorizationUrl?: string;
    accessTokenUrl?: string;
    clientId: string;
    clientSecret?: string;
    scope?: string;
    usePkce?: boolean;
    redirectUrl?: string;
    headerPrefix?: string;
    audience?: string;
    resource?: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "awsAuthentication".
 */
export interface AWSAuthenticationV3_55_0 {
    type: 'aws';
    awsAccessKeyId: string;
    awsSecretAccessKey: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "googleAuthentication".
 */
export interface GoogleAuthenticationV3_55_0 {
    type: 'google';
    clientEmail: string;
    privateKey: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_55_0`'s JSON-Schema
 * via the `definition` "serviceConfig".
 */
export interface ServiceConfigV3_55_0 {
    /**
     * Machine-readable identifier, should typically be the same as the property name on the services object.
     */
    id: string;
    /**
     * Human-readable name for this service.
     */
    title: string;
    /**
     * The service provider id.
     */
    provider: string;
    /**
     * A namespace to use for the imported types tied to this service.
     */
    namespace?: string;
    serviceType: ServiceTypeV3_55_0;
    authenticationType: 'oauth2' | 'basic' | 'bearer' | 'searchParams' | 'oauth2Bearer' | 'custom' | 'aws' | 'google' | 'none' | 'unknown';
    authentication?: ServiceAuthenticationV3_55_0;
    healthCheck?: ServiceHealthCheckV3_55_0;
    webhookId?: string;
    /**
     * Configuration options passed to and handled by the provider.
     */
    options?: {
        [k: string]: any;
    };
}
