import {z} from 'zod' export type GetApiV1NamespacesTenantMetaNamespaceMetricsUuidArgs = {'tenant_meta.namespace': string, uuid: string, 'get_parameters.mask'?: string | undefined}; export type GetApiV1NamespacesTenantMetaNamespaceMetricsUuidOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; export const contextContextType = z.enum(["CONTEXT_TYPE_UNSPECIFIED", "CONTEXT_TYPE_MAIN", "CONTEXT_TYPE_EXTERNAL", "CONTEXT_TYPE_CI_RUN", "CONTEXT_TYPE_SBOM", "CONTEXT_TYPE_REF"]); export const v1Context = z.object({id: z.string(), tags: z.array(z.string()).optional(), type: contextContextType, will_be_deleted_at: z.string().optional()}); export const v1IndexData = z.object({data: z.array(z.string()).optional(), search_score: z.number().optional(), tenant: z.string().optional(), will_be_deleted_at: z.string().optional()}); export const googleprotobufAny = z.object({"@type": z.string().optional()}).and(z.record(z.string(), z.unknown())); export const v1Meta = z.object({annotations: z.record(z.string(), z.string()).optional(), create_time: z.string().optional(), created_by: z.string().optional(), description: z.string().optional(), index_data: v1IndexData.optional(), kind: z.string().optional(), name: z.string(), parent_kind: z.string().optional(), parent_uuid: z.string().optional(), references: z.record(z.string(), googleprotobufAny).optional(), tags: z.array(z.string()).optional(), update_time: z.string().optional(), updated_by: z.string().optional(), upsert_time: z.string().optional(), version: z.string().optional()}); export const ciCdToolEvidence = z.object({app_id: z.string().optional(), app_permissions: z.record(z.string(), z.string()).optional(), app_repo_url: z.string().optional(), app_settings_url: z.string().optional(), app_slug: z.string().optional(), badge: z.string().optional(), badge_regex: z.string().optional(), file_path: z.string().optional(), file_regex: z.string().optional(), line_content: z.string().optional(), line_number: z.number().int().optional(), line_regex: z.string().optional(), parent_tool_name: z.string().optional(), url: z.string().optional(), url_regex: z.string().optional()}); export const v1CiCdTool = z.object({categories: z.array(z.string()).optional(), description: z.string().optional(), display_name: z.string().optional(), evidence: z.array(ciCdToolEvidence).optional(), name: z.string(), summary: z.array(z.string()).optional()}); export const v1CiCdTools = z.object({tools: z.array(v1CiCdTool).optional()}); export const v1CisCategory = z.enum(["CIS_CATEGORY_UNSPECIFIED", "CIS_CATEGORY_SRC_CODE", "CIS_CATEGORY_BLD_PIPELINES", "CIS_CATEGORY_DEPENDENCIES", "CIS_CATEGORY_ARTIFACTS", "CIS_CATEGORY_DEPLOYMENT"]); export const v1CisReqId = z.enum(["CIS_REQ_ID_UNSPECIFIED", "CIS_REQ_ID_VERSION_CTRL", "CIS_REQ_ID_TASK_MGMT", "CIS_REQ_ID_TWO_APPROVERS", "CIS_REQ_ID_DISMISS_APPROVAL", "CIS_REQ_ID_AUTH_DISMISS", "CIS_REQ_ID_CODE_OWNERS", "CIS_REQ_ID_CODE_OWNER_APPROVAL", "CIS_REQ_ID_DEL_INACTIVE_BRANCHES", "CIS_REQ_ID_PASS_CHECKS_TO_MERGE", "CIS_REQ_ID_UPDATE_BEFORE_MERGE", "CIS_REQ_ID_RESOLVE_COMMENTS_TO_MERGE", "CIS_REQ_ID_SIGNED_COMMITS", "CIS_REQ_ID_LINEAR_HISTORY", "CIS_REQ_ID_RULES_APPLY_TO_ADMIN", "CIS_REQ_ID_AUTH_MERGE", "CIS_REQ_ID_FORCE_PUSH_DISABLED", "CIS_REQ_ID_AUTH_BRANCH_DEL", "CIS_REQ_ID_SCAN_MERGES", "CIS_REQ_ID_AUDIT_BRANCH_PROT_CHANGES", "CIS_REQ_ID_PROT_DEFAULT_BRANCH", "CIS_REQ_ID_SECURITY_MD", "CIS_REQ_ID_AUTH_REPO_CREATE", "CIS_REQ_ID_AUTH_REPO_DEL", "CIS_REQ_ID_AUTH_ISSUE_DEL", "CIS_REQ_ID_TRACK_FORKS", "CIS_REQ_ID_TRACK_VISIBILITY", "CIS_REQ_ID_ARCHIVE_INACTIVE_REPOS", "CIS_REQ_ID_DEL_INACTIVE_USERS", "CIS_REQ_ID_AUTH_TEAM_CREATE", "CIS_REQ_ID_MIN_NUM_ADMINS", "CIS_REQ_ID_MFA_OUTSIDE_ORG", "CIS_REQ_ID_MFA_INSIDE_ORG", "CIS_REQ_ID_ORG_EMAIL_ADDR", "CIS_REQ_ID_TWO_ADMINS_PER_REPO", "CIS_REQ_ID_STRICT_BASE_PERMS", "CIS_REQ_ID_VERIFIED_ORG_BADGE", "CIS_REQ_ID_SCM_EMAIL_DOMAINS", "CIS_REQ_ID_ORG_SSH_CERTS", "CIS_REQ_ID_AUTH_IP_ADDR", "CIS_REQ_ID_TRACK_ANOMALOUS_BEHAVIOR", "CIS_REQ_ID_AUTH_INSTALLED_APPS", "CIS_REQ_ID_DEL_INACTIVE_APPS", "CIS_REQ_ID_LEAST_PRIV_FOR_APPS", "CIS_REQ_ID_SECURED_WEB_HOOKS", "CIS_REQ_ID_SCAN_FOR_SENS_DATA", "CIS_REQ_ID_SCAN_CI_PIPELINE_CFG", "CIS_REQ_ID_SCAN_IAC_CFG", "CIS_REQ_ID_SCAN_FOR_CODE_VULNS", "CIS_REQ_ID_SCAN_FOR_OSS_VULNS", "CIS_REQ_ID_SCAN_FOR_OSS_LICENSES", "CIS_REQ_ID_SINGLE_PIPELINE_RESP", "CIS_REQ_ID_IMMUTABLE_BLD_CFG", "CIS_REQ_ID_LOG_BLD_ENV", "CIS_REQ_ID_AUTOMATE_BLD_ENV", "CIS_REQ_ID_LIMIT_BLD_ENV_ACCESS", "CIS_REQ_ID_AUTH_BLD_ENV_ACCESS", "CIS_REQ_ID_MIN_BLD_SECRET_SCOPE", "CIS_REQ_ID_SCAN_BLD_INFRA_FOR_VULNS", "CIS_REQ_ID_BLD_NO_DEFAULT_PWS", "CIS_REQ_ID_BLD_SECURED_WEB_HOOKS", "CIS_REQ_ID_MIN_NUM_BLD_ENV_ADMINS", "CIS_REQ_ID_SINGLE_USE_BLD_WORKERS", "CIS_REQ_ID_BLD_ENV_PASSED_NOT_PULLED", "CIS_REQ_ID_SEP_BLD_WORKER_DUTIES", "CIS_REQ_ID_MIN_BLD_WORKER_NET_CON", "CIS_REQ_ID_BLD_WORKER_RUNTIME_SECURITY", "CIS_REQ_ID_SCAN_BLD_WORKERS_FOR_VULNS", "CIS_REQ_ID_BLD_WORKER_CFG_VERSION_CTRL", "CIS_REQ_ID_MON_BLD_WORKER_RESOURCE_USE", "CIS_REQ_ID_DEFINE_BLD_STEPS_AS_CODE", "CIS_REQ_ID_DEFINE_BLD_STEP_INPUT_OUTPUT", "CIS_REQ_ID_LOG_BLD_STEP_OUTPUT", "CIS_REQ_ID_BLD_STEP_VERSION_CTRL", "CIS_REQ_ID_LIMIT_BLD_TRIGGER_ACCESS", "CIS_REQ_ID_SCAN_BLD_FOR_MISCFG", "CIS_REQ_ID_SCAN_BLD_FOR_VULNS", "CIS_REQ_ID_SCAN_BLD_FOR_SENS_DATA", "CIS_REQ_ID_SIGN_BLD_ARTS", "CIS_REQ_ID_LOCK_EXT_BLD_DEPS", "CIS_REQ_ID_VALIDATE_BLD_DEPS", "CIS_REQ_ID_REPROD_BLD_ARTS", "CIS_REQ_ID_BLD_STEP_SBOMS", "CIS_REQ_ID_SIGN_BLD_STEP_SBOMS", "CIS_REQ_ID_VERIFY_TP_ARTS", "CIS_REQ_ID_REQ_TP_SBOMS", "CIS_REQ_ID_SIGNED_TP_BLD_MDATA", "CIS_REQ_ID_MON_INTER_TP_DEPS", "CIS_REQ_ID_TRUSTED_TP_PKG_MGRS", "CIS_REQ_ID_SIGNED_TP_SBOM", "CIS_REQ_ID_PIN_TP_DEPS", "CIS_REQ_ID_MIN_TP_PKG_AGE", "CIS_REQ_ID_ORG_TP_USAGE_POLICY", "CIS_REQ_ID_SCAN_TP_PKGS_FOR_VULNS", "CIS_REQ_ID_SCAN_TP_PKGS_FOR_LICENSE", "CIS_REQ_ID_SCAN_TP_PKGS_FOR_OWNER_CHANGE", "CIS_REQ_ID_SIGN_ARTS", "CIS_REQ_ID_ENCRYPT_ARTS", "CIS_REQ_ID_AUTH_ART_DECRYPT", "CIS_REQ_ID_LIMIT_ART_CERT", "CIS_REQ_ID_LIMIT_ART_UPLOAD", "CIS_REQ_ID_MFA_FOR_PKG_REG", "CIS_REQ_ID_EXT_AUTH_FOR_PKG_REG", "CIS_REQ_ID_ANONYMOUS_USER_DISABLED", "CIS_REQ_ID_MIN_NUM_PKG_REG_ADMINS", "CIS_REQ_ID_VALIDATE_ARTS_ON_UPLOAD", "CIS_REQ_ID_VALIDATE_ALL_ART_VERSIONS", "CIS_REQ_ID_AUDIT_PKG_REG_CFG_CHANGES", "CIS_REQ_ID_PKG_REG_SECURED_WEB_HOOKS", "CIS_REQ_ID_PKG_REG_NO_DEFAULT_PWS", "CIS_REQ_ID_ARTS_CONTAIN_ORIGIN_INFO", "CIS_REQ_ID_BLOCK_INT_ARTS_FROM_EXT_REG", "CIS_REQ_ID_SEP_DEP_CFG_FROM_SRC_CODE", "CIS_REQ_ID_TRACK_DEP_CFG_CHANGES", "CIS_REQ_ID_SCAN_DEP_CFG_FOR_SENS_DATA", "CIS_REQ_ID_LIMIT_DEP_CFG_ACCESS", "CIS_REQ_ID_SCAN_IAC_DEP_CFG", "CIS_REQ_ID_VERIFY_DEP_CFG", "CIS_REQ_ID_PIN_DEP_CFG_VERSIONS", "CIS_REQ_ID_AUTOMATED_DEPLOYMENTS", "CIS_REQ_ID_REPROD_DEPLOYMENT_ENV", "CIS_REQ_ID_LIMIT_PROD_ENV_ACCESS", "CIS_REQ_ID_DEPLOYMENT_NO_DEFAULT_PWS"]); export const v1CisSubCategory = z.enum(["CIS_SUB_CATEGORY_UNSPECIFIED", "CIS_SUB_CATEGORY_CODE_CHANGES", "CIS_SUB_CATEGORY_REPO_MGMT", "CIS_SUB_CATEGORY_ACCESS", "CIS_SUB_CATEGORY_THIRD_PARTY", "CIS_SUB_CATEGORY_CODE_RISKS", "CIS_SUB_CATEGORY_BLD_ENV", "CIS_SUB_CATEGORY_BLD_WORKER", "CIS_SUB_CATEGORY_PIPELINE_INSTRUCTIONS", "CIS_SUB_CATEGORY_PIPELINE_INTEGRITY", "CIS_SUB_CATEGORY_PKG_REGISTRIES", "CIS_SUB_CATEGORY_VALIDATION", "CIS_SUB_CATEGORY_VERIFICATION", "CIS_SUB_CATEGORY_ORIGIN_TRACEABILITY", "CIS_SUB_CATEGORY_DEPLOYMENT_CFG", "CIS_SUB_CATEGORY_DEPLOYMENT_ENV"]); export const cisScorecardCisBenchmark = z.object({audit: z.string().optional(), category: v1CisCategory.optional(), criteria: z.string().optional(), description: z.string().optional(), id: v1CisReqId, index: z.string().optional(), rationale: z.string().optional(), remediation: z.string().optional(), satisfied: z.boolean().optional(), sub_category: v1CisSubCategory.optional(), version: z.string().optional()}); export const v1CisScorecard = z.object({benchmarks: z.array(cisScorecardCisBenchmark).optional()}); export const dependencyMetadataReachabilityType = z.enum(["REACHABILITY_TYPE_UNSPECIFIED", "REACHABILITY_TYPE_REACHABLE", "REACHABILITY_TYPE_UNREACHABLE", "REACHABILITY_TYPE_UNKNOWN", "REACHABILITY_TYPE_REACHABLE_BY_INCLUSION"]); export const v1DependencySpec = z.object({dependency_name: z.string().optional(), dependency_version: z.string().optional(), reachable: dependencyMetadataReachabilityType.optional(), unpinned: z.boolean().optional(), utilization: z.number().optional()}); export const v1DependencyStats = z.object({dependency_specs: z.array(v1DependencySpec).optional(), direct_dependencies: z.number().int().optional(), indirect_dependencies: z.number().int().optional(), unpinned_dependencies: z.number().int().optional(), unpinned_direct_dependencies: z.number().int().optional(), unused_dependencies: z.number().int().optional(), unused_direct_dependencies: z.number().int().optional()}); export const v1FileInfo = z.object({byte_count: z.string().optional(), file_count: z.string().optional(), line_count: z.string().optional()}); export const v1FileStats = z.object({badges: z.array(z.string()).optional(), best_practices_files: z.array(z.string()).optional(), cicd_files: z.array(z.string()).optional(), copyrights: z.array(z.string()).optional(), documentation_files: z.array(z.string()).optional(), file_info: v1FileInfo.optional(), file_types: z.record(z.string(), v1FileInfo).optional(), has_codeowners: z.boolean().optional(), has_license: z.boolean().optional(), has_security_md: z.boolean().optional(), languages: z.record(z.string(), v1FileInfo).optional(), license_name: z.string().optional(), license_type: z.string().optional(), make_files: z.array(z.string()).optional(), sast_files: z.array(z.string()).optional(), test_files: z.array(z.string()).optional()}); export const workflowAllSecretsExposed = z.object({evidence: z.string().optional(), line_content: z.string().optional(), location_uri: z.string().optional()}); export const jobCloudName = z.enum(["CLOUD_NAME_UNSPECIFIED", "CLOUD_NAME_AWS", "CLOUD_NAME_AZURE", "CLOUD_NAME_GCP", "CLOUD_NAME_HASHICORP"]); export const jobCloudResourceAccessedWithoutOIDC = z.object({action_name: z.string().optional(), cloud_name: jobCloudName.optional(), evidence_message: z.string().optional(), input_parameters: z.array(z.string()).optional(), invoking_script: z.string().optional(), location_uri: z.string().optional(), step_name: z.string().optional()}); export const jobImposterCommit = z.object({action: z.string().optional(), action_repo_clone_url: z.string().optional(), action_sha: z.string().optional(), location_uri: z.string().optional(), step_name: z.string().optional()}); export const workflowGHTokenPermission = z.enum(["GH_TOKEN_PERMISSION_UNSPECIFIED", "GH_TOKEN_PERMISSION_ACTION_NONE", "GH_TOKEN_PERMISSION_ACTION_READ", "GH_TOKEN_PERMISSION_ACTION_WRITE", "GH_TOKEN_PERMISSION_CHECKS_NONE", "GH_TOKEN_PERMISSION_CHECKS_READ", "GH_TOKEN_PERMISSION_CHECKS_WRITE", "GH_TOKEN_PERMISSION_CONTENTS_NONE", "GH_TOKEN_PERMISSION_CONTENTS_READ", "GH_TOKEN_PERMISSION_CONTENTS_WRITE", "GH_TOKEN_PERMISSION_DEPLOYMENTS_NONE", "GH_TOKEN_PERMISSION_DEPLOYMENTS_READ", "GH_TOKEN_PERMISSION_DEPLOYMENTS_WRITE", "GH_TOKEN_PERMISSION_IDTOKEN_NONE", "GH_TOKEN_PERMISSION_IDTOKEN_READ", "GH_TOKEN_PERMISSION_IDTOKEN_WRITE", "GH_TOKEN_PERMISSION_ISSUES_NONE", "GH_TOKEN_PERMISSION_ISSUES_READ", "GH_TOKEN_PERMISSION_ISSUES_WRITE", "GH_TOKEN_PERMISSION_DISCUSSIONS_NONE", "GH_TOKEN_PERMISSION_DISCUSSIONS_READ", "GH_TOKEN_PERMISSION_DISCUSSIONS_WRITE", "GH_TOKEN_PERMISSION_PACKAGES_NONE", "GH_TOKEN_PERMISSION_PACKAGES_READ", "GH_TOKEN_PERMISSION_PACKAGES_WRITE", "GH_TOKEN_PERMISSION_PAGES_NONE", "GH_TOKEN_PERMISSION_PAGES_READ", "GH_TOKEN_PERMISSION_PAGES_WRITE", "GH_TOKEN_PERMISSION_PULLREQUESTS_NONE", "GH_TOKEN_PERMISSION_PULLREQUESTS_READ", "GH_TOKEN_PERMISSION_PULLREQUESTS_WRITE", "GH_TOKEN_PERMISSION_REPOSITORYPROJECTS_NONE", "GH_TOKEN_PERMISSION_REPOSITORYPROJECTS_READ", "GH_TOKEN_PERMISSION_REPOSITORYPROJECTS_WRITE", "GH_TOKEN_PERMISSION_SECURITYEVENTS_NONE", "GH_TOKEN_PERMISSION_SECURITYEVENTS_READ", "GH_TOKEN_PERMISSION_SECURITYEVENTS_WRITE", "GH_TOKEN_PERMISSION_STATUSES_NONE", "GH_TOKEN_PERMISSION_STATUSES_READ", "GH_TOKEN_PERMISSION_STATUSES_WRITE"]); export const jobScriptInjectionDetected = z.object({gh_context_variables: z.array(z.string()).optional(), location_uris: z.array(z.string()).optional(), script_content: z.string().optional(), step_name: z.string().optional()}); export const jobUnpinnedCommitShaAction = z.object({line_number: z.number().int().optional(), name: z.string().optional(), version: z.string().optional()}); export const jobUnpinnedRunner = z.object({line_number: z.number().int().optional(), name: z.string().optional(), version: z.string().optional()}); export const jobUntrustedCodeExecution = z.object({build_cmd: z.array(z.string()).optional(), build_cmd_script_content: z.string().optional(), build_cmd_step: z.string().optional(), checkout_cmd: z.string().optional(), checkout_script_content: z.string().optional(), checkout_step: z.string().optional(), location_uri: z.string().optional()}); export const jobUnverifiedGHAction = z.object({line_number: z.number().int().optional(), name: z.string().optional()}); export const gitHubWorkflowsWorkflowJob = z.object({actions: z.array(z.string()).optional(), cloud_resource_accessed_without_oidc: z.array(jobCloudResourceAccessedWithoutOIDC).optional(), id: z.string().optional(), imposter_commit: z.array(jobImposterCommit).optional(), name: z.string().optional(), permissions: z.array(workflowGHTokenPermission).optional(), script_injection_detected: z.array(jobScriptInjectionDetected).optional(), unpinned_commit_sha_actions: z.array(jobUnpinnedCommitShaAction).optional(), unpinned_runner_version: jobUnpinnedRunner.optional(), untrusted_code_execution: z.array(jobUntrustedCodeExecution).optional(), unverified_gh_actions: z.array(jobUnverifiedGHAction).optional()}); export const gitHubWorkflowsWorkflow = z.object({all_secrets_exposed: z.array(workflowAllSecretsExposed).optional(), file_name: z.string().optional(), file_path: z.string().optional(), jobs: z.array(gitHubWorkflowsWorkflowJob).optional(), permissions: z.array(workflowGHTokenPermission).optional()}); export const v1GitHubWorkflows = z.object({workflows: z.array(gitHubWorkflowsWorkflow).optional()}); export const v1LicenseMappingInfo = z.enum(["LICENSE_MAPPING_INFO_UNSPECIFIED", "LICENSE_MAPPING_INFO_NOT_OSS", "LICENSE_MAPPING_INFO_IN_CODE", "LICENSE_MAPPING_INFO_UNKNOWN", "LICENSE_MAPPING_INFO_NOT_INCOMPLETE", "LICENSE_MAPPING_INFO_PRIVATE", "LICENSE_MAPPING_INFO_EXACT", "LICENSE_MAPPING_INFO_UNLICENSED"]); export const v1LicenseInfo = z.object({file: z.string().optional(), file_location: z.number().int().optional(), mapping_info: v1LicenseMappingInfo.optional(), matched_text: z.string().optional(), name: z.string(), spdxid: z.string().optional(), type: z.string().optional(), url: z.string().optional()}); export const v1LicenseData = z.object({all_licenses: z.array(v1LicenseInfo).optional(), code_licenses: z.array(v1LicenseInfo).optional(), copyrights: z.array(z.string()).optional(), package_manager_licenses: z.array(v1LicenseInfo).optional(), repository_license: v1LicenseInfo.optional()}); export const v1LinterResultInfo = z.object({category: z.string().optional(), confidence: z.string().optional(), critical_api_category: z.string().optional(), file: z.string().optional(), likelihood: z.string().optional(), line: z.number().int().optional(), match: z.string().optional(), rule_id: z.string().optional(), severity: z.string().optional(), snippet: z.string().optional(), tags: z.array(z.string()).optional()}); export const v1LinterStats = z.object({distinct_file_types_with_results: z.number().int().optional(), distinct_rules_with_results: z.number().int().optional(), file_cnt_by_category: z.record(z.string(), z.number().int()).optional(), file_cnt_by_critical_api_category: z.record(z.string(), z.number().int()).optional(), file_cnt_by_file_type: z.record(z.string(), z.number().int()).optional(), file_cnt_by_rule: z.record(z.string(), z.number().int()).optional(), file_cnt_by_severity: z.record(z.string(), z.number().int()).optional(), files_with_result_count: z.number().int().optional(), finding_results: z.array(v1LinterResultInfo).optional(), result_count: z.number().int().optional(), results: z.array(v1LinterResultInfo).optional(), results_cnt_by_category: z.record(z.string(), z.number().int()).optional(), results_cnt_by_critical_api_category: z.record(z.string(), z.number().int()).optional(), results_cnt_by_file_type: z.record(z.string(), z.number().int()).optional(), results_cnt_by_rule: z.record(z.string(), z.number().int()).optional(), results_cnt_by_severity: z.record(z.string(), z.number().int()).optional(), results_per_filecnt_ratio_by_file_type: z.record(z.string(), z.number()).optional(), results_per_filecnt_ratio_by_severity: z.record(z.string(), z.number()).optional(), results_per_loc_ratio_by_file_type: z.record(z.string(), z.number()).optional(), results_per_loc_ratio_by_severity: z.record(z.string(), z.number()).optional()}); export const pullRequestSecurityReviewResultInfoChangeKind = z.enum(["CHANGE_KIND_UNSPECIFIED", "CHANGE_KIND_NEW", "CHANGE_KIND_MODIFIED", "CHANGE_KIND_REMOVED"]); export const pullRequestSecurityReviewResultInfoSecurityRelevantFunction = z.object({change_kind: pullRequestSecurityReviewResultInfoChangeKind.optional(), description: z.string().optional(), name: z.string().optional(), security_labels: z.array(z.string()).optional()}); export const pullRequestSecurityReviewResultInfoChangeDescription = z.object({change_kind: pullRequestSecurityReviewResultInfoChangeKind.optional(), description: z.string().optional(), line: z.number().int().optional(), line_end: z.number().int().optional()}); export const pullRequestSecurityReviewResultInfoFileChanges = z.object({added_lines: z.number().int().optional(), change_kind: pullRequestSecurityReviewResultInfoChangeKind.optional(), changed_functions: z.array(pullRequestSecurityReviewResultInfoSecurityRelevantFunction).optional(), code_change_description: z.array(pullRequestSecurityReviewResultInfoChangeDescription).optional(), path: z.string().optional(), purpose: z.string().optional(), removed_lines: z.number().int().optional()}); export const lLMContextStructuredContent = z.object({data: z.string().optional(), schema: z.object({}).optional()}); export const v1LLMContext = z.object({structured_content: lLMContextStructuredContent.optional(), unstructured_content: z.string().optional()}); export const pullRequestSecurityReviewResultInfoSecurityReviewCategory = z.enum(["SECURITY_REVIEW_CATEGORY_UNSPECIFIED", "SECURITY_REVIEW_CATEGORY_DEPENDENCY", "SECURITY_REVIEW_CATEGORY_ACCESS_CONTROL", "SECURITY_REVIEW_CATEGORY_API_ENDPOINT", "SECURITY_REVIEW_CATEGORY_DATABASE", "SECURITY_REVIEW_CATEGORY_CRYPTOGRAPHIC", "SECURITY_REVIEW_CATEGORY_PAYMENT_PROCESSING", "SECURITY_REVIEW_CATEGORY_MEMORY_PROTECTION", "SECURITY_REVIEW_CATEGORY_PII_DATA_HANDLING", "SECURITY_REVIEW_CATEGORY_INPUT_VALIDATION", "SECURITY_REVIEW_CATEGORY_INFRASTRUCTURE", "SECURITY_REVIEW_CATEGORY_CI_CD", "SECURITY_REVIEW_CATEGORY_CONFIGURATION", "SECURITY_REVIEW_CATEGORY_NETWORK", "SECURITY_REVIEW_CATEGORY_AI", "SECURITY_REVIEW_CATEGORY_IMPROVEMENT", "SECURITY_REVIEW_CATEGORY_VULNERABILITY", "SECURITY_REVIEW_CATEGORY_BUG"]); export const pullRequestSecurityReviewResultInfoSecurityReviewConfidenceLevel = z.enum(["SECURITY_REVIEW_CONFIDENCE_LEVEL_UNSPECIFIED", "SECURITY_REVIEW_CONFIDENCE_LEVEL_LOW", "SECURITY_REVIEW_CONFIDENCE_LEVEL_MEDIUM", "SECURITY_REVIEW_CONFIDENCE_LEVEL_HIGH"]); export const securityAspectMetricSecurityImpactType = z.enum(["SECURITY_IMPACT_TYPE_UNSPECIFIED", "SECURITY_IMPACT_TYPE_IMPROVEMENT", "SECURITY_IMPACT_TYPE_REGRESSION", "SECURITY_IMPACT_TYPE_NEUTRAL"]); export const pullRequestSecurityReviewResultInfoSecuritySeverityLevel = z.enum(["SECURITY_SEVERITY_LEVEL_UNSPECIFIED", "SECURITY_SEVERITY_LEVEL_LOW", "SECURITY_SEVERITY_LEVEL_MEDIUM", "SECURITY_SEVERITY_LEVEL_HIGH", "SECURITY_SEVERITY_LEVEL_CRITICAL"]); export const pullRequestSecurityReviewResultInfoCodeSnippet = z.object({change_kind: pullRequestSecurityReviewResultInfoChangeKind.optional(), description: z.string().optional(), file: z.string(), impact: z.string().optional(), language: z.string().optional(), line: z.number().int(), line_end: z.number().int().optional(), snippet: z.string().optional()}); export const pullRequestSecurityReviewResultInfoSecurityAspectMetric = z.object({category: pullRequestSecurityReviewResultInfoSecurityReviewCategory, confidence_justification: z.string().optional(), confidence_level: pullRequestSecurityReviewResultInfoSecurityReviewConfidenceLevel, description: z.string().optional(), justification: z.string().optional(), security_impact: securityAspectMetricSecurityImpactType.optional(), severity_level: pullRequestSecurityReviewResultInfoSecuritySeverityLevel, snippets: z.array(pullRequestSecurityReviewResultInfoCodeSnippet).optional(), title: z.string()}); export const v1PullRequestSecurityReviewResultInfo = z.object({changes_description: z.string().optional(), file_changes: z.record(z.string(), pullRequestSecurityReviewResultInfoFileChanges).optional(), llm_context: v1LLMContext.optional(), security_description: z.string().optional(), security_metrics: z.array(pullRequestSecurityReviewResultInfoSecurityAspectMetric).optional()}); export const v1ScoreCategory = z.enum(["SCORE_CATEGORY_UNSPECIFIED", "SCORE_CATEGORY_POPULARITY", "SCORE_CATEGORY_ACTIVITY", "SCORE_CATEGORY_BEST_PRACTICES", "SCORE_CATEGORY_SUSPICIOUS_ACTIVITY", "SCORE_CATEGORY_DEPENDENCIES", "SCORE_CATEGORY_SECURITY", "SCORE_CATEGORY_CODE_QUALITY", "SCORE_CATEGORY_OPERATIONAL_RISK"]); export const v1CategoryScore = z.object({category: v1ScoreCategory.optional(), centered_score: z.number().optional(), description: z.string().optional(), raw_score: z.number().optional(), score: z.number().int().optional()}); export const v1ScoreCard = z.object({analysis_scope_description: z.string().optional(), category_scores: z.array(v1CategoryScore).optional(), overall_score: z.number().optional()}); export const v1ScoreFactor = z.object({category: v1ScoreCategory.optional(), description: z.string().optional(), evidence: z.string().optional(), id: z.string().optional(), name: z.string().optional(), score: z.number().int().optional(), score_float: z.number().optional()}); export const v1ScoreFactorList = z.object({score_factors: z.array(v1ScoreFactor).optional()}); export const v1BranchAccess = z.object({allow_create: z.boolean().optional(), allow_delete: z.boolean().optional(), allow_force_push: z.boolean().optional(), allow_fork_sync: z.boolean().optional(), allow_review_bypass: z.boolean().optional(), allow_self_approval: z.boolean().optional(), dismiss_stale_approvals: z.boolean().optional(), enforce_admins: z.boolean().optional(), is_locked: z.boolean().optional(), linear_history: z.boolean().optional(), num_approvals_required: z.number().int().optional(), require_code_owner_approval: z.boolean().optional(), require_comment_resolution: z.boolean().optional(), require_signatures: z.boolean().optional(), require_status_checks: z.boolean().optional(), require_update: z.boolean().optional(), restrict_dismiss: z.boolean().optional(), restrict_push: z.boolean().optional()}); export const v1ActionPolicies = z.object({allowed_actions: z.string().optional(), enabled_repositories: z.string().optional()}); export const scpmDataRunner = z.object({allows_public_repos: z.boolean().optional(), id: z.string().optional(), name: z.string().optional(), url: z.string().optional(), visibility: z.string().optional()}); export const scpmDataWebhook = z.object({active: z.boolean().optional(), config_url: z.string().optional(), deliveries_url: z.string().optional(), events: z.array(z.string()).optional(), id: z.string().optional(), insecure_ssl: z.boolean().optional(), name: z.string().optional(), ping_url: z.string().optional(), secret: z.string().optional(), test_url: z.string().optional(), type: z.string().optional(), url: z.string().optional()}); export const v1OrganizationAccess = z.object({action_policies: v1ActionPolicies.optional(), admins: z.array(z.string()).optional(), allow_internal_repo_create: z.boolean().optional(), allow_private_repo_create: z.boolean().optional(), allow_private_repo_fork: z.boolean().optional(), allow_public_repo_create: z.boolean().optional(), default_workflow_permissions: z.string().optional(), mfa_external: z.boolean().optional(), mfa_internal: z.boolean().optional(), repo_edit_permission: z.string().optional(), repo_get_permission: z.string().optional(), runner_group: z.array(scpmDataRunner).optional(), verified: z.boolean().optional(), webhooks: z.array(scpmDataWebhook).optional(), workflows_can_approve_prs: z.boolean().optional()}); export const v1PlatformSource = z.enum(["PLATFORM_SOURCE_UNSPECIFIED", "PLATFORM_SOURCE_GITHUB", "PLATFORM_SOURCE_GITLAB", "PLATFORM_SOURCE_GITSERVER", "PLATFORM_SOURCE_BITBUCKET", "PLATFORM_SOURCE_BINARY", "PLATFORM_SOURCE_HUGGING_FACE", "PLATFORM_SOURCE_AZURE", "PLATFORM_SOURCE_ARCHIVE", "PLATFORM_SOURCE_EXTERNAL_AI_SERVICE", "PLATFORM_SOURCE_GITHUB_ENTERPRISE"]); export const ingestedObjectIngestedObjectStatus = z.enum(["INGESTED_OBJECT_STATUS_UNSPECIFIED", "INGESTED_OBJECT_STATUS_FOUND", "INGESTED_OBJECT_STATUS_NOT_FOUND", "INGESTED_OBJECT_STATUS_LIGHT"]); export const v1IngestedObject = z.object({ingestion_time: z.string(), raw: z.object({}), status: ingestedObjectIngestedObjectStatus}); export const v1RepositoryAccess = z.object({admins: z.array(z.string()).optional(), advanced_security_enabled: z.boolean().optional(), allow_auto_merge: z.boolean().optional(), allow_fork: z.boolean().optional(), allow_merge_commit: z.boolean().optional(), allow_rebase_merge: z.boolean().optional(), allow_squash_merge: z.boolean().optional(), archived: z.boolean().optional(), default_branch_protection_status: z.boolean().optional(), disabled: z.boolean().optional(), ingested_object: v1IngestedObject, private: z.boolean().optional(), pushed_at: z.string().optional(), require_web_commit_signoff: z.boolean().optional(), webhooks: z.array(scpmDataWebhook).optional()}); export const v1ScpmData = z.object({branch_access: v1BranchAccess.optional(), organization_access: v1OrganizationAccess.optional(), platform_source: v1PlatformSource, raw: z.object({}), repository_access: v1RepositoryAccess.optional()}); export const v1SecretInfo = z.object({confidence: z.string().optional(), file: z.string().optional(), line: z.number().int().optional(), match: z.string().optional(), rule_id: z.string().optional(), severity: z.string().optional(), snippet: z.string().optional()}); export const v1SecretStats = z.object({distinct_file_types_with_secrets: z.number().int().optional(), distinct_rules_with_results: z.number().int().optional(), file_cnt_by_category: z.record(z.string(), z.number().int()).optional(), file_cnt_by_file_type: z.record(z.string(), z.number().int()).optional(), file_cnt_by_rule: z.record(z.string(), z.number().int()).optional(), file_cnt_by_severity: z.record(z.string(), z.number().int()).optional(), files_with_secrets_count: z.number().int().optional(), result_count: z.number().int().optional(), results_cnt_by_file_type: z.record(z.string(), z.number().int()).optional(), results_cnt_by_rule: z.record(z.string(), z.number().int()).optional(), results_cnt_by_severity: z.record(z.string(), z.number().int()).optional(), secrets: z.array(v1SecretInfo).optional()}); export const v1TagCounts = z.object({counts: z.record(z.string(), z.string()).optional()}); export const v1TimeSlot = z.object({count: z.string().optional(), tag_activity: z.record(z.string(), z.string()).optional(), timestamp: z.string().optional()}); export const v1TimeResolution = z.enum(["TIME_RESOLUTION_UNSPECIFIED", "TIME_RESOLUTION_DAY", "TIME_RESOLUTION_MONTH", "TIME_RESOLUTION_YEAR"]); export const v1TimeTracker = z.object({daily_activity: z.array(v1TimeSlot).optional(), monthly_activity: z.array(v1TimeSlot).optional(), resolutions: z.array(v1TimeResolution).optional(), yearly_activity: z.array(v1TimeSlot).optional()}); export const specCVSSSeverityLevel = z.enum(["CVSS_SEVERITY_LEVEL_UNSPECIFIED", "CVSS_SEVERITY_LEVEL_NONE", "CVSS_SEVERITY_LEVEL_LOW", "CVSS_SEVERITY_LEVEL_MEDIUM", "CVSS_SEVERITY_LEVEL_HIGH", "CVSS_SEVERITY_LEVEL_CRITICAL"]); export const cVSSV3SeverityLevel = z.enum(["LEVEL_UNSPECIFIED", "LEVEL_NONE", "LEVEL_LOW", "LEVEL_MEDIUM", "LEVEL_HIGH", "LEVEL_CRITICAL"]); export const v1Ecosystem = z.enum(["ECOSYSTEM_UNSPECIFIED", "ECOSYSTEM_GO", "ECOSYSTEM_MAVEN", "ECOSYSTEM_PYPI", "ECOSYSTEM_CARGO", "ECOSYSTEM_NPM", "ECOSYSTEM_GEM", "ECOSYSTEM_NUGET", "ECOSYSTEM_PACKAGIST", "ECOSYSTEM_SBOM", "ECOSYSTEM_RPM", "ECOSYSTEM_DEBIAN", "ECOSYSTEM_GITHUB_ACTION", "ECOSYSTEM_COCOAPOD", "ECOSYSTEM_APK", "ECOSYSTEM_CONTAINER", "ECOSYSTEM_HUGGING_FACE", "ECOSYSTEM_C", "ECOSYSTEM_GIT", "ECOSYSTEM_AI_MODEL", "ECOSYSTEM_SWIFT", "ECOSYSTEM_CONAN", "ECOSYSTEM_VSCODE"]); export const specAffectedPackage = z.object({cpe: z.string().optional(), cpes: z.array(z.string()).optional(), ecosystem: v1Ecosystem, name: z.string(), purl: z.string().optional()}); export const rangeRangeType = z.enum(["RANGE_TYPE_UNSPECIFIED", "RANGE_TYPE_GIT", "RANGE_TYPE_SEMVER", "RANGE_TYPE_ECOSYSTEM"]); export const specAffectedRange = z.object({fixed: z.string().optional(), introduced: z.string().optional(), last_affected: z.string().optional(), repo: z.string().optional(), type: rangeRangeType.optional()}); export const affectedSource = z.enum(["SOURCE_UNSPECIFIED", "SOURCE_OSV", "SOURCE_ENDOR", "SOURCE_OVAL", "SOURCE_NVD"]); export const vulnSpecAffected = z.object({affected_callpath_uris: z.array(z.string()).optional(), affected_filepaths: z.array(z.string()).optional(), database_specific: z.object({}).optional(), ecosystem_specific: z.object({}).optional(), fix_commits: z.array(z.string()).optional(), has_been_fixed: z.boolean().optional(), maintainer_cvss_level: specCVSSSeverityLevel.optional(), maintainer_severity: cVSSV3SeverityLevel.optional(), package: specAffectedPackage.optional(), ranges: z.array(specAffectedRange).optional(), reachable_by_inclusion: z.boolean().optional(), source: affectedSource.optional(), versions: z.array(z.string()).optional()}); export const vulnSpecCredit = z.object({contact: z.array(z.string()).optional(), name: z.string().optional()}); export const specCVSSV3Severity = z.object({level: cVSSV3SeverityLevel.optional(), score: z.number().optional(), temporal_level: cVSSV3SeverityLevel.optional(), temporal_score: z.number().optional(), temporal_vector: z.string().optional(), vector: z.string().optional()}); export const cVSSV4SeverityV4Level = z.enum(["V4_LEVEL_UNSPECIFIED", "V4_LEVEL_NONE", "V4_LEVEL_LOW", "V4_LEVEL_MEDIUM", "V4_LEVEL_HIGH", "V4_LEVEL_CRITICAL"]); export const specCVSSV4Severity = z.object({base_level: cVSSV4SeverityV4Level.optional(), base_score: z.number().optional(), environmental_level: cVSSV4SeverityV4Level.optional(), environmental_score: z.number().optional(), threat_level: cVSSV4SeverityV4Level.optional(), threat_score: z.number().optional(), vector: z.string().optional()}); export const specEPSSScore = z.object({percentile_score: z.number().optional(), probability_score: z.number().optional()}); export const vulnerabilityComponent = z.object({artifact_id: z.string(), endor_uri: z.array(z.string()).optional(), fixed_versions: z.array(z.string()).optional(), group_id: z.string(), reachable_by_inclusion: z.boolean().optional(), versions_range: z.array(z.string()).optional(), vulnerable_filepath: z.array(z.string()).optional(), vulnerable_versions: z.array(z.string()).optional()}); export const endorv1Vulnerability = z.object({additional_notes: z.string().optional(), component: z.array(vulnerabilityComponent).optional(), cve_description: z.string(), cve_id: z.string(), cve_references: z.array(z.string()).optional(), cvss_score: z.number().optional(), cvss_vector: z.string().optional(), cwe: z.string().optional(), deepdive: z.boolean().optional(), disputed: z.boolean().optional(), ecosystem: z.string(), fix_commit: z.array(z.string()).optional(), last_updated: z.string().optional(), malicious: z.boolean().optional(), nofix: z.boolean().optional(), package_name: z.string(), schema_version: z.string(), withdrawn: z.string().optional()}); export const specEPSSRecord = z.object({cve_id: z.string().optional(), ingestion_time: z.string().optional(), percentile: z.number().optional(), probability: z.number().optional()}); export const specKEVRecord = z.object({cve_id: z.string().optional(), date_added: z.string().optional(), due_date: z.string().optional(), known_ransomware_campaign_use: z.string().optional(), notes: z.string().optional(), product: z.string().optional(), required_action: z.string().optional(), short_description: z.string().optional(), vendor_project: z.string().optional(), vulnerability_name: z.string().optional()}); export const cVSSNodeCpeMatch = z.object({criteria: z.string(), match_criteria_id: z.string(), version_end_excluding: z.string().optional(), version_end_including: z.string().optional(), version_start_excluding: z.string().optional(), version_start_including: z.string().optional(), vulnerable: z.boolean()}); export const configOperator = z.enum(["OPERATOR_UNSPECIFIED", "OPERATOR_AND", "OPERATOR_OR"]); export const configCVSSNode = z.object({cpe_match: z.array(cVSSNodeCpeMatch), negate: z.boolean().optional(), operator: configOperator}); export const rootCveConfig = z.object({negate: z.boolean().optional(), nodes: z.array(configCVSSNode).optional(), operator: configOperator.optional()}); export const rootCveLangString = z.object({lang: z.string(), value: z.string()}); export const cvssDataV2AccessComplexity = z.enum(["ACCESS_COMPLEXITY_UNSPECIFIED", "ACCESS_COMPLEXITY_HIGH", "ACCESS_COMPLEXITY_MEDIUM", "ACCESS_COMPLEXITY_LOW"]); export const v1NVDAttackVector = z.enum(["NVD_ATTACK_VECTOR_UNSPECIFIED", "NVD_ATTACK_VECTOR_NETWORK", "NVD_ATTACK_VECTOR_ADJACENT_NETWORK", "NVD_ATTACK_VECTOR_LOCAL", "NVD_ATTACK_VECTOR_PHYSICAL"]); export const cvssDataV2Auth = z.enum(["AUTH_UNSPECIFIED", "AUTH_MULTIPLE", "AUTH_SINGLE", "AUTH_NONE"]); export const cvssDataV2V2Impact = z.enum(["V2_IMPACT_IMPACT_UNSPECIFIED", "V2_IMPACT_IMPACT_NONE", "V2_IMPACT_IMPACT_PARTIAL", "V2_IMPACT_IMPACT_COMPLETE"]); export const v1NVDRequirement = z.enum(["NVD_REQUIREMENT_UNSPECIFIED", "NVD_REQUIREMENT_LOW", "NVD_REQUIREMENT_MEDIUM", "NVD_REQUIREMENT_HIGH", "NVD_REQUIREMENT_NOT_DEFINED"]); export const cvssDataV2CollateralDamagePotential = z.enum(["COLLATERAL_DAMAGE_POTENTIAL_UNSPECIFIED", "COLLATERAL_DAMAGE_POTENTIAL_NONE", "COLLATERAL_DAMAGE_POTENTIAL_LOW", "COLLATERAL_DAMAGE_POTENTIAL_LOW_MEDIUM", "COLLATERAL_DAMAGE_POTENTIAL_MEDIUM_HIGH", "COLLATERAL_DAMAGE_POTENTIAL_HIGH", "COLLATERAL_DAMAGE_POTENTIAL_NOT_DEFINED"]); export const cvssDataV2Exploitability = z.enum(["EXPLOITABILITY_UNSPECIFIED", "EXPLOITABILITY_UNPROVEN", "EXPLOITABILITY_PROOF_OF_CONCEPT", "EXPLOITABILITY_FUNCTIONAL", "EXPLOITABILITY_HIGH", "EXPLOITABILITY_NOT_DEFINED"]); export const v1NVDRemediationLevel = z.enum(["NVD_REMEDIATION_LEVEL_UNSPECIFIED", "NVD_REMEDIATION_LEVEL_OFFICIAL_FIX", "NVD_REMEDIATION_LEVEL_TEMPORARY_FIX", "NVD_REMEDIATION_LEVEL_WORKAROUND", "NVD_REMEDIATION_LEVEL_UNAVAILABLE", "NVD_REMEDIATION_LEVEL_NOT_DEFINED"]); export const cvssDataV2ReportConfidence = z.enum(["REPORT_CONFIDENCE_UNSPECIFIED", "REPORT_CONFIDENCE_UNCONFIRMED", "REPORT_CONFIDENCE_UNCORROBORATED", "REPORT_CONFIDENCE_CONFIRMED", "REPORT_CONFIDENCE_NOT_DEFINED"]); export const cvssDataV2TargetDistribution = z.enum(["TARGET_DISTRIBUTION_UNSPECIFIED", "TARGET_DISTRIBUTION_NONE", "TARGET_DISTRIBUTION_LOW", "TARGET_DISTRIBUTION_MEDIUM", "TARGET_DISTRIBUTION_HIGH", "TARGET_DISTRIBUTION_NOT_DEFINED"]); export const v1CvssDataV2 = z.object({access_complexity: cvssDataV2AccessComplexity.optional(), access_vector: v1NVDAttackVector.optional(), authentication: cvssDataV2Auth.optional(), availability_impact: cvssDataV2V2Impact.optional(), availability_requirement: v1NVDRequirement.optional(), base_score: z.number(), collateral_damage_potential: cvssDataV2CollateralDamagePotential.optional(), confidentiality_impact: cvssDataV2V2Impact.optional(), confidentiality_requirement: v1NVDRequirement.optional(), environmental_score: z.number().optional(), exploitability: cvssDataV2Exploitability.optional(), integrity_impact: cvssDataV2V2Impact.optional(), integrity_requirement: v1NVDRequirement.optional(), remediation_level: v1NVDRemediationLevel.optional(), report_confidence: cvssDataV2ReportConfidence.optional(), target_distribution: cvssDataV2TargetDistribution.optional(), temporal_score: z.number().optional(), vector_string: z.string(), version: z.string()}); export const v1NVDMetricType = z.enum(["NVD_METRIC_TYPE_UNSPECIFIED", "NVD_METRIC_TYPE_PRIMARY", "NVD_METRIC_TYPE_SECONDARY"]); export const nVDVulnerabilityCvssMetricV2 = z.object({ac_insuf_info: z.boolean().optional(), base_severity: z.string().optional(), cvss_data: v1CvssDataV2, exploitability_score: z.number().optional(), impact_score: z.number().optional(), obtain_all_privilege: z.boolean().optional(), obtain_other_privilege: z.boolean().optional(), obtain_user_privilege: z.boolean().optional(), source: z.string(), type: v1NVDMetricType, user_interaction_required: z.boolean().optional()}); export const v1NVDAttackComplexity = z.enum(["NVD_ATTACK_COMPLEXITY_UNSPECIFIED", "NVD_ATTACK_COMPLEXITY_HIGH", "NVD_ATTACK_COMPLEXITY_LOW"]); export const v1NVDImpact = z.enum(["NVD_IMPACT_UNSPECIFIED", "NVD_IMPACT_NONE", "NVD_IMPACT_LOW", "NVD_IMPACT_HIGH"]); export const v1NVDSeverity = z.enum(["NVD_SEVERITY_UNSPECIFIED", "NVD_SEVERITY_NONE", "NVD_SEVERITY_LOW", "NVD_SEVERITY_MEDIUM", "NVD_SEVERITY_HIGH", "NVD_SEVERITY_CRITICAL"]); export const v1NVDExploitCodeMaturity = z.enum(["NVD_EXPLOIT_CODE_MATURITY_UNSPECIFIED", "NVD_EXPLOIT_CODE_MATURITY_UNPROVEN", "NVD_EXPLOIT_CODE_MATURITY_PROOF_OF_CONCEPT", "NVD_EXPLOIT_CODE_MATURITY_FUNCTIONAL", "NVD_EXPLOIT_CODE_MATURITY_HIGH", "NVD_EXPLOIT_CODE_MATURITY_NOT_DEFINED"]); export const v1NVDModifiedAttackComplexity = z.enum(["NVD_MODIFIED_ATTACK_COMPLEXITY_UNSPECIFIED", "NVD_MODIFIED_ATTACK_COMPLEXITY_HIGH", "NVD_MODIFIED_ATTACK_COMPLEXITY_LOW", "NVD_MODIFIED_ATTACK_COMPLEXITY_NOT_DEFINED"]); export const v1NVDModifiedAttackVector = z.enum(["NVD_MODIFIED_ATTACK_VECTOR_UNSPECIFIED", "NVD_MODIFIED_ATTACK_VECTOR_NETWORK", "NVD_MODIFIED_ATTACK_VECTOR_ADJACENT_NETWORK", "NVD_MODIFIED_ATTACK_VECTOR_LOCAL", "NVD_MODIFIED_ATTACK_VECTOR_PHYSICAL", "NVD_MODIFIED_ATTACK_VECTOR_NOT_DEFINED"]); export const v1NVDModifiedImpact = z.enum(["NVD_MODIFIED_IMPACT_UNSPECIFIED", "NVD_MODIFIED_IMPACT_NONE", "NVD_MODIFIED_IMPACT_LOW", "NVD_MODIFIED_IMPACT_HIGH", "NVD_MODIFIED_IMPACT_NOT_DEFINED"]); export const v1NVDModifiedPrivilegesRequired = z.enum(["NVD_MODIFIED_PRIVILEGES_REQUIRED_UNSPECIFIED", "NVD_MODIFIED_PRIVILEGES_REQUIRED_HIGH", "NVD_MODIFIED_PRIVILEGES_REQUIRED_LOW", "NVD_MODIFIED_PRIVILEGES_REQUIRED_NONE", "NVD_MODIFIED_PRIVILEGES_REQUIRED_NOT_DEFINED"]); export const v1NVDModifiedScope = z.enum(["NVD_MODIFIED_SCOPE_UNSPECIFIED", "NVD_MODIFIED_SCOPE_UNCHANGED", "NVD_MODIFIED_SCOPE_CHANGED", "NVD_MODIFIED_SCOPE_NOT_DEFINED"]); export const v1NVDModifiedUserInteraction = z.enum(["NVD_MODIFIED_USER_INTERACTION_UNSPECIFIED", "NVD_MODIFIED_USER_INTERACTION_NONE", "NVD_MODIFIED_USER_INTERACTION_REQUIRED", "NVD_MODIFIED_USER_INTERACTION_NOT_DEFINED"]); export const v1NVDPrivilegesRequired = z.enum(["NVD_PRIVILEGES_REQUIRED_UNSPECIFIED", "NVD_PRIVILEGES_REQUIRED_HIGH", "NVD_PRIVILEGES_REQUIRED_LOW", "NVD_PRIVILEGES_REQUIRED_NONE"]); export const v1NVDReportConfidence = z.enum(["NVD_REPORT_CONFIDENCE_UNSPECIFIED", "NVD_REPORT_CONFIDENCE_UNKNOWN", "NVD_REPORT_CONFIDENCE_REASONABLE", "NVD_REPORT_CONFIDENCE_CONFIRMED", "NVD_REPORT_CONFIDENCE_NOT_DEFINED"]); export const v1NVDScope = z.enum(["NVD_SCOPE_UNSPECIFIED", "NVD_SCOPE_UNCHANGED", "NVD_SCOPE_CHANGED"]); export const v1NVDUserInteraction = z.enum(["NVD_USER_INTERACTION_UNSPECIFIED", "NVD_USER_INTERACTION_NONE", "NVD_USER_INTERACTION_REQUIRED"]); export const v1CvssDataV30 = z.object({attack_complexity: v1NVDAttackComplexity.optional(), attack_vector: v1NVDAttackVector.optional(), availability_impact: v1NVDImpact.optional(), availability_requirement: v1NVDRequirement.optional(), base_score: z.number(), base_severity: v1NVDSeverity, confidentiality_impact: v1NVDImpact.optional(), confidentiality_requirement: v1NVDRequirement.optional(), environmental_score: z.number().optional(), environmental_severity: v1NVDSeverity.optional(), exploit_code_maturity: v1NVDExploitCodeMaturity.optional(), integrity_impact: v1NVDImpact.optional(), integrity_requirement: v1NVDRequirement.optional(), modified_attack_complexity: v1NVDModifiedAttackComplexity.optional(), modified_attack_vector: v1NVDModifiedAttackVector.optional(), modified_availability_impact: v1NVDModifiedImpact.optional(), modified_confidentiality_impact: v1NVDModifiedImpact.optional(), modified_integrity_impact: v1NVDModifiedImpact.optional(), modified_privileges_required: v1NVDModifiedPrivilegesRequired.optional(), modified_scope: v1NVDModifiedScope.optional(), modified_user_interaction: v1NVDModifiedUserInteraction.optional(), privileges_required: v1NVDPrivilegesRequired.optional(), remediation_level: v1NVDRemediationLevel.optional(), report_confidence: v1NVDReportConfidence.optional(), scope: v1NVDScope.optional(), temporal_score: z.number().optional(), temporal_severity: v1NVDSeverity.optional(), user_interaction: v1NVDUserInteraction.optional(), vector_string: z.string(), version: z.string()}); export const nVDVulnerabilityCvssMetricV30 = z.object({cvss_data: v1CvssDataV30, exploitability_score: z.number().optional(), impact_score: z.number().optional(), source: z.string(), type: v1NVDMetricType}); export const v1CvssDataV31 = z.object({attack_complexity: v1NVDAttackComplexity.optional(), attack_vector: v1NVDAttackVector.optional(), availability_impact: v1NVDImpact.optional(), availability_requirement: v1NVDRequirement.optional(), base_score: z.number(), base_severity: v1NVDSeverity, confidentiality_impact: v1NVDImpact.optional(), confidentiality_requirement: v1NVDRequirement.optional(), environmental_score: z.number().optional(), environmental_severity: v1NVDSeverity.optional(), exploit_code_maturity: v1NVDExploitCodeMaturity.optional(), integrity_impact: v1NVDImpact.optional(), integrity_requirement: v1NVDRequirement.optional(), modified_attack_complexity: v1NVDModifiedAttackComplexity.optional(), modified_attack_vector: v1NVDModifiedAttackVector.optional(), modified_availability_impact: v1NVDModifiedImpact.optional(), modified_confidentiality_impact: v1NVDModifiedScope.optional(), modified_integrity_impact: v1NVDModifiedImpact.optional(), modified_privileges_required: v1NVDModifiedPrivilegesRequired.optional(), modified_scope: v1NVDModifiedScope.optional(), modified_user_interaction: v1NVDModifiedUserInteraction.optional(), privileges_required: v1NVDPrivilegesRequired.optional(), remediation_level: v1NVDRemediationLevel.optional(), report_confidence: v1NVDReportConfidence.optional(), scope: v1NVDScope.optional(), temporal_score: z.number().optional(), temporal_severity: v1NVDSeverity.optional(), user_interaction: v1NVDUserInteraction.optional(), vector_string: z.string(), version: z.string()}); export const nVDVulnerabilityCvssMetricV31 = z.object({cvss_data: v1CvssDataV31, exploitability_score: z.number().optional(), impact_score: z.number().optional(), source: z.string(), type: v1NVDMetricType}); export const v1NVDV40AttackComplexity = z.enum(["NVDV40_ATTACK_COMPLEXITY_UNSPECIFIED", "NVDV40_ATTACK_COMPLEXITY_HIGH", "NVDV40_ATTACK_COMPLEXITY_LOW"]); export const v1NVDV40AttackRequirements = z.enum(["NVDV40_ATTACK_REQUIREMENTS_UNSPECIFIED", "NVDV40_ATTACK_REQUIREMENTS_NONE", "NVDV40_ATTACK_REQUIREMENTS_PRESENT"]); export const v1NVDV40AttackVector = z.enum(["NVDV40_ATTACK_VECTOR_UNSPECIFIED", "NVDV40_ATTACK_VECTOR_NETWORK", "NVDV40_ATTACK_VECTOR_ADJACENT", "NVDV40_ATTACK_VECTOR_LOCAL", "NVDV40_ATTACK_VECTOR_PHYSICAL"]); export const v1NVDV40Automatable = z.enum(["NVDV40_AUTOMATABLE_UNSPECIFIED", "NVDV40_AUTOMATABLE_NO", "NVDV40_AUTOMATABLE_YES", "NVDV40_AUTOMATABLE_NOT_DEFINED"]); export const v1NVDV40Requirement = z.enum(["NVDV40_REQUIREMENT_UNSPECIFIED", "NVDV40_REQUIREMENT_LOW", "NVDV40_REQUIREMENT_MEDIUM", "NVDV40_REQUIREMENT_HIGH", "NVDV40_REQUIREMENT_NOT_DEFINED"]); export const v1NVDV40ExploitMaturity = z.enum(["NVDV40_EXPLOIT_MATURITY_UNSPECIFIED", "NVDV40_EXPLOIT_MATURITY_UNREPORTED", "NVDV40_EXPLOIT_MATURITY_PROOF_OF_CONCEPT", "NVDV40_EXPLOIT_MATURITY_ATTACKED", "NVDV40_EXPLOIT_MATURITY_NOT_DEFINED"]); export const v1NVDV40ModifiedAttackComplexity = z.enum(["NVDV40_MODIFIED_ATTACK_COMPLEXITY_UNSPECIFIED", "NVDV40_MODIFIED_ATTACK_COMPLEXITY_HIGH", "NVDV40_MODIFIED_ATTACK_COMPLEXITY_LOW", "NVDV40_MODIFIED_ATTACK_COMPLEXITY_NOT_DEFINED"]); export const v1NVDV40ModifiedAttackRequirements = z.enum(["NVDV40_MODIFIED_ATTACK_REQUIREMENTS_UNSPECIFIED", "NVDV40_MODIFIED_ATTACK_REQUIREMENTS_NONE", "NVDV40_MODIFIED_ATTACK_REQUIREMENTS_PRESENT", "NVDV40_MODIFIED_ATTACK_REQUIREMENTS_NOT_DEFINED"]); export const v1NVDV40ModifiedAttackVector = z.enum(["NVDV40_MODIFIED_ATTACK_VECTOR_UNSPECIFIED", "NVDV40_MODIFIED_ATTACK_VECTOR_NETWORK", "NVDV40_MODIFIED_ATTACK_VECTOR_ADJACENT", "NVDV40_MODIFIED_ATTACK_VECTOR_LOCAL", "NVDV40_MODIFIED_ATTACK_VECTOR_PHYSICAL", "NVDV40_MODIFIED_ATTACK_VECTOR_NOT_DEFINED"]); export const v1NVDV40ModifiedPrivilegesRequired = z.enum(["NVDV40_MODIFIED_PRIVILEGES_REQUIRED_UNSPECIFIED", "NVDV40_MODIFIED_PRIVILEGES_REQUIRED_HIGH", "NVDV40_MODIFIED_PRIVILEGES_REQUIRED_LOW", "NVDV40_MODIFIED_PRIVILEGES_REQUIRED_NONE", "NVDV40_MODIFIED_PRIVILEGES_REQUIRED_NOT_DEFINED"]); export const v1NVDV40ModifiedSubImpact = z.enum(["NVDV40_MODIFIED_SUB_IMPACT_UNSPECIFIED", "NVDV40_MODIFIED_SUB_IMPACT_NEGLIGIBLE", "NVDV40_MODIFIED_SUB_IMPACT_LOW", "NVDV40_MODIFIED_SUB_IMPACT_HIGH", "NVDV40_MODIFIED_SUB_IMPACT_SAFETY", "NVDV40_MODIFIED_SUB_IMPACT_NOT_DEFINED"]); export const v1NVDV40ModifiedUserInteraction = z.enum(["NVDV40_MODIFIED_USER_INTERACTION_UNSPECIFIED", "NVDV40_MODIFIED_USER_INTERACTION_NONE", "NVDV40_MODIFIED_USER_INTERACTION_PASSIVE", "NVDV40_MODIFIED_USER_INTERACTION_ACTIVE", "NVDV40_MODIFIED_USER_INTERACTION_NOT_DEFINED"]); export const v1NVDV40ModifiedImpact = z.enum(["NVDV40_MODIFIED_IMPACT_UNSPECIFIED", "NVDV40_MODIFIED_IMPACT_NONE", "NVDV40_MODIFIED_IMPACT_LOW", "NVDV40_MODIFIED_IMPACT_HIGH", "NVDV40_MODIFIED_IMPACT_NOT_DEFINED"]); export const v1NVDV40PrivilegesRequired = z.enum(["NVDV40_PRIVILEGES_REQUIRED_UNSPECIFIED", "NVDV40_PRIVILEGES_REQUIRED_HIGH", "NVDV40_PRIVILEGES_REQUIRED_LOW", "NVDV40_PRIVILEGES_REQUIRED_NONE"]); export const v1NVDV40ProviderUrgency = z.enum(["NVDV40_PROVIDER_URGENCY_UNSPECIFIED", "NVDV40_PROVIDER_URGENCY_CLEAR", "NVDV40_PROVIDER_URGENCY_GREEN", "NVDV40_PROVIDER_URGENCY_AMBER", "NVDV40_PROVIDER_URGENCY_RED", "NVDV40_PROVIDER_URGENCY_NOT_DEFINED"]); export const v1NVDV40Recovery = z.enum(["NVDV40_RECOVERY_UNSPECIFIED", "NVDV40_RECOVERY_AUTOMATIC", "NVDV40_RECOVERY_USER", "NVDV40_RECOVERY_IRRECOVERABLE", "NVDV40_RECOVERY_NOT_DEFINED"]); export const v1NVDV40Safety = z.enum(["NVDV40_SAFETY_UNSPECIFIED", "NVDV40_SAFETY_NEGLIGIBLE", "NVDV40_SAFETY_PRESENT", "NVDV40_SAFETY_NOT_DEFINED"]); export const v1NVDV40Impact = z.enum(["NVDV40_IMPACT_UNSPECIFIED", "NVDV40_IMPACT_NONE", "NVDV40_IMPACT_LOW", "NVDV40_IMPACT_HIGH"]); export const v1NVDV40UserInteraction = z.enum(["NVDV40_USER_INTERACTION_UNSPECIFIED", "NVDV40_USER_INTERACTION_NONE", "NVDV40_USER_INTERACTION_PASSIVE", "NVDV40_USER_INTERACTION_ACTIVE"]); export const v1NVDV40ValueDensity = z.enum(["NVDV40_VALUE_DENSITY_UNSPECIFIED", "NVDV40_VALUE_DENSITY_DIFFUSE", "NVDV40_VALUE_DENSITY_CONCENTRATED", "NVDV40_VALUE_DENSITY_NOT_DEFINED"]); export const v1NVDV40VulnerabilityResponseEffort = z.enum(["NVDV40_VULNERABILITY_RESPONSE_EFFORT_UNSPECIFIED", "NVDV40_VULNERABILITY_RESPONSE_EFFORT_LOW", "NVDV40_VULNERABILITY_RESPONSE_EFFORT_MODERATE", "NVDV40_VULNERABILITY_RESPONSE_EFFORT_HIGH", "NVDV40_VULNERABILITY_RESPONSE_EFFORT_NOT_DEFINED"]); export const v1CvssDataV40 = z.object({attack_complexity: v1NVDV40AttackComplexity.optional(), attack_requirements: v1NVDV40AttackRequirements.optional(), attack_vector: v1NVDV40AttackVector.optional(), automatable: v1NVDV40Automatable.optional(), availability_requirement: v1NVDV40Requirement.optional(), base_score: z.number(), base_severity: v1NVDSeverity, confidentiality_requirement: v1NVDV40Requirement.optional(), environmental_score: z.number().optional(), environmental_severity: v1NVDSeverity.optional(), exploit_maturity: v1NVDV40ExploitMaturity.optional(), integrity_requirement: v1NVDV40Requirement.optional(), modified_attack_complexity: v1NVDV40ModifiedAttackComplexity.optional(), modified_attack_requirements: v1NVDV40ModifiedAttackRequirements.optional(), modified_attack_vector: v1NVDV40ModifiedAttackVector.optional(), modified_privileges_required: v1NVDV40ModifiedPrivilegesRequired.optional(), modified_sub_availability_impact: v1NVDV40ModifiedSubImpact.optional(), modified_sub_confidentiality_impact: v1NVDV40ModifiedSubImpact.optional(), modified_sub_integrity_impact: v1NVDV40ModifiedSubImpact.optional(), modified_user_interaction: v1NVDV40ModifiedUserInteraction.optional(), modified_vuln_availability_impact: v1NVDV40ModifiedImpact.optional(), modified_vuln_confidentiality_impact: v1NVDV40ModifiedImpact.optional(), modified_vuln_integrity_impact: v1NVDV40ModifiedImpact.optional(), privileges_required: v1NVDV40PrivilegesRequired.optional(), provider_urgency: v1NVDV40ProviderUrgency.optional(), recovery: v1NVDV40Recovery.optional(), safety: v1NVDV40Safety.optional(), sub_availability_impact: v1NVDV40Impact.optional(), sub_confidentiality_impact: v1NVDV40Impact.optional(), sub_integrity_impact: v1NVDV40Impact.optional(), threat_score: z.number().optional(), threat_severity: v1NVDSeverity.optional(), user_interaction: v1NVDV40UserInteraction.optional(), value_density: v1NVDV40ValueDensity.optional(), vector_string: z.string(), version: z.string(), vuln_availability_impact: v1NVDV40Impact.optional(), vuln_confidentiality_impact: v1NVDV40Impact.optional(), vuln_integrity_impact: v1NVDV40Impact.optional(), vulnerability_response_effort: v1NVDV40VulnerabilityResponseEffort.optional()}); export const nVDVulnerabilityCvssMetricV40 = z.object({cvss_data: v1CvssDataV40, exploitability_score: z.number().optional(), impact_score: z.number().optional(), source: z.string(), type: v1NVDMetricType}); export const rootCveCVSSMetric = z.object({cvss_metric_v2: z.array(nVDVulnerabilityCvssMetricV2).optional(), cvss_metric_v30: z.array(nVDVulnerabilityCvssMetricV30).optional(), cvss_metric_v31: z.array(nVDVulnerabilityCvssMetricV31).optional(), cvss_metric_v40: z.array(nVDVulnerabilityCvssMetricV40).optional()}); export const nVDVulnerabilityRootCveReference = z.object({source: z.string().optional(), tags: z.array(z.string()).optional(), url: z.string()}); export const rootCveVendorComment = z.object({comment: z.string(), last_modified: z.string(), organization: z.string()}); export const v1NVDStatus = z.enum(["NVD_STATUS_UNSPECIFIED", "NVD_STATUS_RECEIVED", "NVD_STATUS_AWAITING_ANALYSIS", "NVD_STATUS_UNDERGOING_ANALYSIS", "NVD_STATUS_ANALYZED", "NVD_STATUS_MODIFIED", "NVD_STATUS_DEFERRED", "NVD_STATUS_REJECTED"]); export const rootCveWeakness = z.object({description: z.array(rootCveLangString), source: z.string(), type: z.string()}); export const nVDVulnerabilityRootCve = z.object({cisa_action_due: z.string().optional(), cisa_exploit_add: z.string().optional(), cisa_required_action: z.string().optional(), cisa_vulnerability_name: z.string().optional(), configurations: z.array(rootCveConfig).optional(), descriptions: z.array(rootCveLangString), evaluator_comment: z.string().optional(), evaluator_impact: z.string().optional(), evaluator_solution: z.string().optional(), id: z.string(), last_modified: z.string(), metrics: rootCveCVSSMetric.optional(), published: z.string(), references: z.array(nVDVulnerabilityRootCveReference), source_identifier: z.string().optional(), vendor_comments: z.array(rootCveVendorComment).optional(), vuln_status: z.string().optional(), vuln_typed_status: v1NVDStatus.optional(), weaknesses: z.array(rootCveWeakness).optional()}); export const v1NVDVulnerability = z.object({cve: nVDVulnerabilityRootCve.optional()}); export const osvPackage = z.object({ecosystem: z.string().optional(), name: z.string().optional(), purl: z.string().optional()}); export const osvEvent = z.object({fixed: z.string().optional(), introduced: z.string().optional(), limit: z.string().optional()}); export const osvRangeType = z.enum(["UNSPECIFIED", "GIT", "SEMVER", "ECOSYSTEM"]); export const osvRange = z.object({events: z.array(osvEvent).optional(), repo: z.string().optional(), type: osvRangeType.optional()}); export const osvAffected = z.object({database_specific: z.object({}).optional(), ecosystem_specific: z.object({}).optional(), package: osvPackage.optional(), ranges: z.array(osvRange).optional(), versions: z.array(z.string()).optional()}); export const osvCredit = z.object({contact: z.array(z.string()).optional(), name: z.string().optional()}); export const osvReferenceType = z.enum(["NONE", "WEB", "ADVISORY", "REPORT", "FIX", "PACKAGE", "ARTICLE"]); export const osvReference = z.object({type: osvReferenceType.optional(), url: z.string().optional()}); export const osvSeverityType = z.enum(["UNSPECIFIED", "CVSS_V3"]); export const osvSeverity = z.object({score: z.string().optional(), type: osvSeverityType.optional()}); export const osvVulnerability = z.object({affected: z.array(osvAffected).optional(), aliases: z.array(z.string()).optional(), credits: z.array(osvCredit).optional(), database_specific: z.object({}).optional(), details: z.string().optional(), id: z.string().optional(), modified: z.string().optional(), package: osvPackage.optional(), published: z.string().optional(), references: z.array(osvReference).optional(), related: z.array(z.string()).optional(), schema_version: z.string().optional(), severity: z.array(osvSeverity).optional(), summary: z.string().optional(), withdrawn: z.string().optional()}); export const specRaw = z.object({endor_vulnerability: endorv1Vulnerability.optional(), epss_record: specEPSSRecord.optional(), kev_record: specKEVRecord.optional(), nvd_vulnerability: v1NVDVulnerability.optional(), osv_vulnerability: osvVulnerability.optional()}); export const referenceReferenceType = z.enum(["REFERENCE_TYPE_UNSPECIFIED", "REFERENCE_TYPE_WEB", "REFERENCE_TYPE_ADVISORY", "REFERENCE_TYPE_REPORT", "REFERENCE_TYPE_FIX", "REFERENCE_TYPE_PACKAGE", "REFERENCE_TYPE_ARTICLE"]); export const vulnSpecReference = z.object({type: referenceReferenceType, url: z.string()}); export const v1VulnSpec = z.object({additional_endor_notes: z.array(z.string()).optional(), additional_notes: z.array(z.string()).optional(), affected: z.array(vulnSpecAffected).optional(), aliases: z.array(z.string()).optional(), credits: z.array(vulnSpecCredit).optional(), cvss_v3_severity: specCVSSV3Severity.optional(), cvss_v4_severity: specCVSSV4Severity.optional(), database_specific: z.object({}).optional(), deepdive: z.boolean().optional(), disputed: z.boolean().optional(), epss_score: specEPSSScore.optional(), malicious: z.boolean().optional(), modified: z.string().optional(), published: z.string().optional(), raw: specRaw.optional(), references: z.array(vulnSpecReference).optional(), related: z.array(z.string()).optional(), summary: z.string().optional(), upstream: z.array(z.string()).optional(), withdrawn: z.string().optional()}); export const v1TenantMeta = z.object({namespace: z.string()}); export const v1Vuln = z.object({meta: v1Meta, spec: v1VulnSpec.optional(), tenant_meta: v1TenantMeta.optional(), uuid: z.string().optional()}); export const v1VulnerabilityStats = z.object({critical_vulnerabilities: z.number().int().optional(), high_vulnerabilities: z.number().int().optional(), low_vulnerabilities: z.number().int().optional(), medium_vulnerabilities: z.number().int().optional(), vulnerabilities: z.array(v1Vuln).optional()}); export const v1MetricValue = z.object({category: z.string().optional(), ci_cd_tools: v1CiCdTools.optional(), cis_scorecard: v1CisScorecard.optional(), dependency_stats: v1DependencyStats.optional(), description: z.string(), file_stats: v1FileStats.optional(), float_value: z.number().optional(), github_workflows: v1GitHubWorkflows.optional(), int32_value: z.number().int().optional(), int64_value: z.string().optional(), license_info: v1LicenseData.optional(), linter_stats: v1LinterStats.optional(), pr_security_review_result_info: v1PullRequestSecurityReviewResultInfo.optional(), score_card: v1ScoreCard.optional(), score_factor_list: v1ScoreFactorList.optional(), scpm_data: v1ScpmData.optional(), secret_stats: v1SecretStats.optional(), string_value: z.string().optional(), tag_counts: v1TagCounts.optional(), time_tracker: v1TimeTracker.optional(), vulnerability_stats: v1VulnerabilityStats.optional()}); export const v1MetricSpec = z.object({analytic: z.string(), metric_values: z.record(z.string(), v1MetricValue), project_uuid: z.string(), raw: z.object({}).optional()}); export const endorv1Metric = z.object({context: v1Context, meta: v1Meta, spec: v1MetricSpec, tenant_meta: v1TenantMeta, uuid: 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 }; /** * GetMetric * * GET /v1/namespaces/{tenant_meta.namespace}/metrics/{uuid} */ export const getApiV1NamespacesTenantMetaNamespaceMetricsUuid = async (args: GetApiV1NamespacesTenantMetaNamespaceMetricsUuidArgs, options?: GetApiV1NamespacesTenantMetaNamespaceMetricsUuidOptions) => { const {baseUrl = "https://api.endorlabs.com", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args['get_parameters.mask'] != null) query.append("get_parameters.mask", String(args['get_parameters.mask'])) const url = `${baseUrl.replace(/\/+$/, '')}/v1/namespaces/${encodeURIComponent(String(args['tenant_meta.namespace']))}/metrics/${encodeURIComponent(String(args.uuid))}${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(endorv1Metric, await res.json()) };