import {z} from 'zod' export type GetApiV1ReasoningEnginesReasoningEnginesIdArgs = {reasoningEnginesId: string}; export type GetApiV1ReasoningEnginesReasoningEnginesIdOptions = {baseUrl?: string | undefined, Oauth2?: string | undefined, Oauth2c?: string | undefined, fetch?: typeof fetch | undefined}; export const googleCloudAiplatformV1MemoryBankCustomizationConfigConsolidationConfig = z.object({revisionsPerCandidateCount: z.number().int().optional()}); export const googleCloudAiplatformV1AudioTranscriptionWordInfo = z.object({endOffset: z.string().optional(), startOffset: z.string().optional(), word: z.string().optional()}); export const googleCloudAiplatformV1AudioTranscription = z.object({speakerLabel: z.string().optional(), text: z.string().optional(), words: z.array(googleCloudAiplatformV1AudioTranscriptionWordInfo).optional()}); export const googleCloudAiplatformV1CodeExecutionResult = z.object({id: z.string().optional(), outcome: z.enum(["OUTCOME_UNSPECIFIED", "OUTCOME_OK", "OUTCOME_FAILED", "OUTCOME_DEADLINE_EXCEEDED"]).optional(), output: z.string().optional()}); export const googleCloudAiplatformV1ExecutableCode = z.object({code: z.string().optional(), id: z.string().optional(), language: z.enum(["LANGUAGE_UNSPECIFIED", "PYTHON"]).optional()}); export const googleCloudAiplatformV1FileData = z.object({displayName: z.string().optional(), fileUri: z.string().optional(), mimeType: z.string().optional()}); export const googleCloudAiplatformV1PartialArg = z.object({boolValue: z.boolean().optional(), jsonPath: z.string().optional(), nullValue: z.literal("NULL_VALUE").optional(), numberValue: z.number().optional(), stringValue: z.string().optional(), willContinue: z.boolean().optional()}); export const googleCloudAiplatformV1FunctionCall = z.object({args: z.record(z.string(), z.unknown()).optional(), id: z.string().optional(), name: z.string().optional(), partialArgs: z.array(googleCloudAiplatformV1PartialArg).optional(), willContinue: z.boolean().optional()}); export const googleCloudAiplatformV1FunctionResponseFileData = z.object({displayName: z.string().optional(), fileUri: z.string().optional(), mimeType: z.string().optional()}); export const googleCloudAiplatformV1FunctionResponseBlob = z.object({data: z.string().optional(), displayName: z.string().optional(), mimeType: z.string().optional()}); export const googleCloudAiplatformV1FunctionResponsePart = z.object({fileData: googleCloudAiplatformV1FunctionResponseFileData.optional(), inlineData: googleCloudAiplatformV1FunctionResponseBlob.optional()}); export const googleCloudAiplatformV1FunctionResponse = z.object({id: z.string().optional(), name: z.string().optional(), parts: z.array(googleCloudAiplatformV1FunctionResponsePart).optional(), response: z.record(z.string(), z.unknown()).optional(), scheduling: z.enum(["SCHEDULING_UNSPECIFIED", "SILENT", "WHEN_IDLE", "INTERRUPT"]).optional()}); export const googleCloudAiplatformV1Blob = z.object({data: z.string().optional(), displayName: z.string().optional(), mimeType: z.string().optional()}); export const googleCloudAiplatformV1PartMediaResolution = z.object({level: z.enum(["MEDIA_RESOLUTION_UNSPECIFIED", "MEDIA_RESOLUTION_LOW", "MEDIA_RESOLUTION_MEDIUM", "MEDIA_RESOLUTION_HIGH", "MEDIA_RESOLUTION_ULTRA_HIGH"]).optional()}); export const googleCloudAiplatformV1SpeechMetadata = z.object({speaker: z.string().optional(), style: z.string().optional()}); export const googleCloudAiplatformV1VideoMetadata = z.object({endOffset: z.string().optional(), fps: z.number().optional(), startOffset: z.string().optional()}); export const googleCloudAiplatformV1Part = z.object({audioTranscription: googleCloudAiplatformV1AudioTranscription.optional(), codeExecutionResult: googleCloudAiplatformV1CodeExecutionResult.optional(), executableCode: googleCloudAiplatformV1ExecutableCode.optional(), fileData: googleCloudAiplatformV1FileData.optional(), functionCall: googleCloudAiplatformV1FunctionCall.optional(), functionResponse: googleCloudAiplatformV1FunctionResponse.optional(), inlineData: googleCloudAiplatformV1Blob.optional(), mediaResolution: googleCloudAiplatformV1PartMediaResolution.optional(), speechMetadata: googleCloudAiplatformV1SpeechMetadata.optional(), text: z.string().optional(), thought: z.boolean().optional(), thoughtSignature: z.string().optional(), videoMetadata: googleCloudAiplatformV1VideoMetadata.optional()}); export const googleCloudAiplatformV1Content = z.object({parts: z.array(googleCloudAiplatformV1Part).optional(), role: z.string().optional()}); export const googleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSourceEvent = z.object({content: googleCloudAiplatformV1Content.optional()}); export const googleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSource = z.object({events: z.array(googleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSourceEvent).optional()}); export const googleCloudAiplatformV1MemoryTopicId = z.object({customMemoryTopicLabel: z.string().optional(), managedMemoryTopic: z.enum(["MANAGED_TOPIC_ENUM_UNSPECIFIED", "USER_PERSONAL_INFO", "USER_PREFERENCES", "KEY_CONVERSATION_DETAILS", "EXPLICIT_INSTRUCTIONS"]).optional()}); export const googleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleGeneratedMemory = z.object({fact: z.string().optional(), topics: z.array(googleCloudAiplatformV1MemoryTopicId).optional()}); export const googleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExample = z.object({conversationSource: googleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSource.optional(), generatedMemories: z.array(googleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleGeneratedMemory).optional()}); export const googleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicCustomMemoryTopic = z.object({description: z.string().optional(), label: z.string().optional()}); export const googleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic = z.object({managedTopicEnum: z.enum(["MANAGED_TOPIC_ENUM_UNSPECIFIED", "USER_PERSONAL_INFO", "USER_PREFERENCES", "KEY_CONVERSATION_DETAILS", "EXPLICIT_INSTRUCTIONS"]).optional()}); export const googleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopic = z.object({customMemoryTopic: googleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicCustomMemoryTopic.optional(), managedMemoryTopic: googleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic.optional()}); export const googleCloudAiplatformV1MemoryBankCustomizationConfig = z.object({consolidationConfig: googleCloudAiplatformV1MemoryBankCustomizationConfigConsolidationConfig.optional(), disableNaturalLanguageMemories: z.boolean().optional(), enableThirdPersonMemories: z.boolean().optional(), generateMemoriesExamples: z.array(googleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExample).optional(), memoryTopics: z.array(googleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopic).optional(), scopeKeys: z.array(z.string()).optional()}); export const googleCloudAiplatformV1MemoryGenerationTriggerConfigGenerationTriggerRule = z.object({eventCount: z.number().int().optional(), fixedInterval: z.string().optional(), idleDuration: z.string().optional(), overlapEventCount: z.number().int().optional()}); export const googleCloudAiplatformV1MemoryGenerationTriggerConfig = z.object({generationRule: googleCloudAiplatformV1MemoryGenerationTriggerConfigGenerationTriggerRule.optional()}); export const googleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigGenerationConfig = z.object({generationTriggerConfig: googleCloudAiplatformV1MemoryGenerationTriggerConfig.optional(), model: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigSimilaritySearchConfig = z.object({embeddingModel: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfigGranularTtlConfig = z.object({createTtl: z.string().optional(), generateCreatedTtl: z.string().optional(), generateUpdatedTtl: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfig = z.object({defaultTtl: z.string().optional(), granularTtlConfig: googleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfigGranularTtlConfig.optional(), memoryRevisionDefaultTtl: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfig = z.object({customizationConfigs: z.array(googleCloudAiplatformV1MemoryBankCustomizationConfig).optional(), disableMemoryRevisions: z.boolean().optional(), generationConfig: googleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigGenerationConfig.optional(), similaritySearchConfig: googleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigSimilaritySearchConfig.optional(), ttlConfig: googleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfig.optional()}); export const googleCloudAiplatformV1ReasoningEngineContextSpec = z.object({memoryBankConfig: googleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfig.optional()}); export const googleCloudAiplatformV1EncryptionSpec = z.object({kmsKeyName: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecBuildSpec = z.object({serviceAccount: z.string().optional(), workerPool: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecContainerSpec = z.object({imageUri: z.string().optional(), port: z.number().int().optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfig = z.object({agentGateway: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfig = z.object({agentGateway: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecDeploymentSpecAgentGatewayConfig = z.object({agentToAnywhereConfig: googleCloudAiplatformV1ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfig.optional(), clientToAgentConfig: googleCloudAiplatformV1ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfig.optional()}); export const googleCloudAiplatformV1EnvVar = z.object({name: z.string().optional(), value: z.string().optional()}); export const googleCloudAiplatformV1KeepAliveProbeHttpGet = z.object({path: z.string().optional(), port: z.number().int().optional()}); export const googleCloudAiplatformV1KeepAliveProbe = z.object({httpGet: googleCloudAiplatformV1KeepAliveProbeHttpGet.optional(), maxSeconds: z.number().int().optional()}); export const googleCloudAiplatformV1DnsPeeringConfig = z.object({domain: z.string().optional(), targetNetwork: z.string().optional(), targetProject: z.string().optional()}); export const googleCloudAiplatformV1PscInterfaceConfig = z.object({dnsPeeringConfigs: z.array(googleCloudAiplatformV1DnsPeeringConfig).optional(), networkAttachment: z.string().optional()}); export const googleCloudAiplatformV1SecretRef = z.object({secret: z.string().optional(), version: z.string().optional()}); export const googleCloudAiplatformV1SecretEnvVar = z.object({name: z.string().optional(), secretRef: googleCloudAiplatformV1SecretRef.optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec = z.object({agentGatewayConfig: googleCloudAiplatformV1ReasoningEngineSpecDeploymentSpecAgentGatewayConfig.optional(), containerConcurrency: z.number().int().optional(), env: z.array(googleCloudAiplatformV1EnvVar).optional(), keepAliveProbe: googleCloudAiplatformV1KeepAliveProbe.optional(), maxInstances: z.number().int().optional(), minInstances: z.number().int().optional(), pscInterfaceConfig: googleCloudAiplatformV1PscInterfaceConfig.optional(), resourceLimits: z.record(z.string(), z.string()).optional(), secretEnv: z.array(googleCloudAiplatformV1SecretEnvVar).optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecPackageSpec = z.object({dependencyFilesGcsUri: z.string().optional(), pickleObjectGcsUri: z.string().optional(), pythonVersion: z.string().optional(), requirementsGcsUri: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig = z.object({jsonConfig: z.record(z.string(), z.unknown()).optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource = z.object({sourceArchive: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSource = z.object({adkConfig: googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig.optional(), inlineSource: googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource.optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig = z.object({dir: z.string().optional(), gitRepositoryLink: z.string().optional(), revision: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource = z.object({config: googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig.optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecGitSource = z.object({dir: z.string().optional(), revision: z.string().optional(), url: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec = z.object({buildArgs: z.record(z.string(), z.string()).optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec = z.object({entrypointModule: z.string().optional(), entrypointObject: z.string().optional(), requirementsFile: z.string().optional(), version: z.string().optional()}); export const googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec = z.object({agentConfigSource: googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSource.optional(), developerConnectSource: googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource.optional(), gitSource: googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecGitSource.optional(), imageSpec: googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec.optional(), inlineSource: googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource.optional(), pythonSpec: googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec.optional()}); export const googleCloudAiplatformV1ReasoningEngineSpec = z.object({agentFramework: z.string().optional(), buildSpec: googleCloudAiplatformV1ReasoningEngineSpecBuildSpec.optional(), classMethods: z.array(z.record(z.string(), z.unknown())).optional(), containerSpec: googleCloudAiplatformV1ReasoningEngineSpecContainerSpec.optional(), deploymentSpec: googleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.optional(), effectiveIdentity: z.string().optional(), identityType: z.enum(["IDENTITY_TYPE_UNSPECIFIED", "SERVICE_ACCOUNT", "AGENT_IDENTITY"]).optional(), packageSpec: googleCloudAiplatformV1ReasoningEngineSpecPackageSpec.optional(), serviceAccount: z.string().optional(), sourceCodeSpec: googleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec.optional()}); export const googleCloudAiplatformV1ReasoningEngine = z.object({contextSpec: googleCloudAiplatformV1ReasoningEngineContextSpec.optional(), createTime: z.string().optional(), description: z.string().optional(), displayName: z.string().optional(), encryptionSpec: googleCloudAiplatformV1EncryptionSpec.optional(), etag: z.string().optional(), labels: z.record(z.string(), z.string()).optional(), name: z.string().optional(), spec: googleCloudAiplatformV1ReasoningEngineSpec.optional(), updateTime: z.string().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Gets a reasoning engine. * * GET /v1/reasoningEngines/{reasoningEnginesId} * * Also accepts auth: Oauth2 + Oauth2c */ export const getApiV1ReasoningEnginesReasoningEnginesId = async (args: GetApiV1ReasoningEnginesReasoningEnginesIdArgs, options?: GetApiV1ReasoningEnginesReasoningEnginesIdOptions) => { const {baseUrl = "https://aiplatform.googleapis.com", fetch: fetchFn = fetch, Oauth2, Oauth2c} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (Oauth2 !== undefined) headers.set('authorization', `Bearer ${Oauth2}`) if (Oauth2c !== undefined) headers.set('authorization', `Bearer ${Oauth2c}`) const url = `${baseUrl.replace(/\/+$/, '')}/v1/reasoningEngines/${encodeURIComponent(String(args.reasoningEnginesId))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(googleCloudAiplatformV1ReasoningEngine, await res.json()) };