Skip to content

feat: add clean and optimize commands for OpenAPI specifications - #36

Merged
TristanSpeakEasy merged 1 commit into
mainfrom
feat/openapi-clean-and-optimize
Aug 29, 2025
Merged

feat: add clean and optimize commands for OpenAPI specifications#36
TristanSpeakEasy merged 1 commit into
mainfrom
feat/openapi-clean-and-optimize

Conversation

@TristanSpeakEasy

Copy link
Copy Markdown
Member

Add Clean and Optimize Commands for OpenAPI Specifications

Overview

This PR introduces two powerful new CLI commands for OpenAPI specification management:

  • openapi spec clean - Remove unused components from specifications
  • openapi spec optimize - Deduplicate inline schemas into reusable components

Features

Clean Command (openapi spec clean)

  • Removes unused components from all component types (schemas, responses, parameters, etc.)
  • Tracks references throughout the document including $ref and security scheme references
  • Handles complex reference patterns including circular references
  • Preserves all components that are actually used in the specification

Optimize Command (openapi spec optimize)

  • Finds duplicate inline JSON schemas and extracts them to reusable components
  • Interactive mode (default): Shows schemas in beautiful formatted code blocks, prompts for custom names
  • Non-interactive mode: Auto-generates hash-based names for automation/CI-CD
  • Only processes complex schemas (objects, enums, oneOf/allOf/anyOf) - ignores simple types
  • Preserves existing component schemas unchanged

Implementation Details

  • Core Functions: openapi.Clean() and openapi.Optimize() with comprehensive APIs
  • CLI Integration: Full command-line interface with help, validation, and output options
  • Walking Infrastructure: Enhanced walk/set.go utilities for schema replacement operations
  • Terminal UI: Beautiful ANSI-colored code blocks with consistent formatting
  • Test Coverage: Comprehensive test suites for both commands with real-world test data

Documentation Updates

  • Updated main README.md with complete command listings for all CLI tools (SEO optimization)
  • Added detailed documentation in openapi/cmd/README.md with examples and use cases
  • Included before/after examples and best practice guidance

Benefits

  • Maintainability: Centralized schema definitions reduce duplication
  • Performance: Smaller, cleaner documents improve tooling performance
  • Best Practices: Follows OpenAPI specification recommendations for component reuse
  • Developer Experience: Interactive mode with beautiful terminal formatting

Testing

  • ✅ All existing tests pass
  • ✅ Comprehensive test coverage for new functionality
  • ✅ Linting passes with zero issues
  • ✅ CLI functionality verified across all modes

Breaking Changes

None - this is a purely additive feature enhancement.

@TristanSpeakEasy TristanSpeakEasy added enhancement New feature or request documentation Improvements or additions to documentation labels Aug 29, 2025

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds two powerful new CLI commands for OpenAPI specification management: clean to remove unused components and optimize to deduplicate inline schemas. The implementation includes comprehensive walking infrastructure, interactive UI features, and extensive test coverage.

Key changes:

  • Clean Command: Removes unused components while tracking all reference types including security scheme name references
  • Optimize Command: Finds duplicate inline schemas and extracts them to reusable components with interactive naming
  • Enhanced Walking Infrastructure: Added SetAtLocation utility and updated location context naming for consistency

Reviewed Changes

Copilot reviewed 37 out of 38 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
walk/set.go Core utility for setting values at specific locations in complex data structures
walk/set_test.go Comprehensive test suite for the SetAtLocation functionality
openapi/clean.go Implementation of the Clean function to remove unused components
openapi/optimize.go Implementation of the Optimize function for schema deduplication
openapi/cmd/clean.go CLI interface for the clean command with progress reporting
openapi/cmd/optimize.go CLI interface for optimize command with interactive schema naming
walk/locations.go Renamed Parent field to ParentMatchFunc for clarity
Multiple walk files Updated to use new ParentMatchFunc naming convention

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread jsonschema/oas3/schema.go
Comment thread openapi/optimize.go
Comment thread openapi/cmd/optimize.go
Comment thread walk/set.go
@github-actions

Copy link
Copy Markdown
Contributor

📊 Test Coverage Report

Current Coverage: 63.6%
Main Branch Coverage: 63.6%

Coverage Change: ✅ No change

Coverage by Package

github.com/speakeasy-api/openapi/arazzo/arazzo.go:55:					WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:63:					Unmarshal					91.7%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:86:					Marshal						100.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:91:					Sync						0.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:99:					Validate					88.0%
github.com/speakeasy-api/openapi/arazzo/cmd/root.go:6:					Apply						0.0%
github.com/speakeasy-api/openapi/arazzo/cmd/validate.go:29:				runValidate					0.0%
github.com/speakeasy-api/openapi/arazzo/cmd/validate.go:39:				validateArazzo					0.0%
github.com/speakeasy-api/openapi/arazzo/cmd/validate.go:69:				GetValidateCommand				0.0%
github.com/speakeasy-api/openapi/arazzo/components.go:41:				Validate					86.2%
github.com/speakeasy-api/openapi/arazzo/core/criterion.go:33:				Unmarshal					80.0%
github.com/speakeasy-api/openapi/arazzo/core/criterion.go:73:				SyncChanges					0.0%
github.com/speakeasy-api/openapi/arazzo/core/factory_registration.go:11:		init						50.0%
github.com/speakeasy-api/openapi/arazzo/core/reusable.go:27:				Unmarshal					0.0%
github.com/speakeasy-api/openapi/arazzo/core/reusable.go:60:				SyncChanges					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:41:			newCondition					87.5%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:80:			Validate					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:106:			handleQuotedString				100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:53:			Validate					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:84:			IsTypeProvided					66.7%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:104:			GetCore						0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:109:			IsTypeProvided					66.7%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:118:			GetType						60.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:131:			GetVersion					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:139:			Populate					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:175:			Sync						66.7%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:183:			GetCondition					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:188:			Validate					66.7%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:228:			validateCondition				53.3%
github.com/speakeasy-api/openapi/arazzo/criterion/factory_registration.go:6:		init						50.0%
github.com/speakeasy-api/openapi/arazzo/factory_registration.go:12:			init						92.9%
github.com/speakeasy-api/openapi/arazzo/failureaction.go:57:				Validate					58.3%
github.com/speakeasy-api/openapi/arazzo/info.go:32:					Validate					75.0%
github.com/speakeasy-api/openapi/arazzo/parameter.go:48:				Validate					81.5%
github.com/speakeasy-api/openapi/arazzo/payloadreplacement.go:30:			Validate					76.5%
github.com/speakeasy-api/openapi/arazzo/requestbody.go:32:				Validate					93.3%
github.com/speakeasy-api/openapi/arazzo/reusable.go:41:					Get						0.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:49:					IsReference					0.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:53:					GetReferencedObject				0.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:101:				Validate					87.5%
github.com/speakeasy-api/openapi/arazzo/reusable.go:135:				validateReference				71.4%
github.com/speakeasy-api/openapi/arazzo/reusable.go:203:				validateComponentReference			62.5%
github.com/speakeasy-api/openapi/arazzo/reusable.go:226:				typeToComponentType				75.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:240:				componentTypeToReusableType			0.0%
github.com/speakeasy-api/openapi/arazzo/sourcedescription.go:19:			Find						75.0%
github.com/speakeasy-api/openapi/arazzo/sourcedescription.go:55:			Validate					76.9%
github.com/speakeasy-api/openapi/arazzo/step.go:23:					Find						75.0%
github.com/speakeasy-api/openapi/arazzo/step.go:69:					Validate					80.8%
github.com/speakeasy-api/openapi/arazzo/successaction.go:52:				Validate					75.0%
github.com/speakeasy-api/openapi/arazzo/successaction.go:117:				validationActionWorkflowIDAndStepID		77.8%
github.com/speakeasy-api/openapi/arazzo/walk.go:51:					Walk						100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:60:					walk						69.2%
github.com/speakeasy-api/openapi/arazzo/walk.go:91:					walkInfo					66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:106:					walkSourceDescriptions				88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:125:					walkSourceDescription				66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:140:					walkWorkflows					100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:159:					walkWorkflow					62.5%
github.com/speakeasy-api/openapi/arazzo/walk.go:199:					walkReusableParameters				88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:218:					walkReusableParameter				66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:234:					walkJSONSchema					87.5%
github.com/speakeasy-api/openapi/arazzo/walk.go:254:					convertSchemaMatchFunc				100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:268:					convertSchemaLocation				100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:286:					walkSteps					88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:305:					walkStep					66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:335:					walkReusableSuccessActions			22.2%
github.com/speakeasy-api/openapi/arazzo/walk.go:354:					walkReusableSuccessAction			0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:370:					walkReusableFailureActions			22.2%
github.com/speakeasy-api/openapi/arazzo/walk.go:389:					walkReusableFailureAction			0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:405:					walkComponents					14.3%
github.com/speakeasy-api/openapi/arazzo/walk.go:440:					walkComponentInputs				0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:459:					walkComponentParameters				0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:478:					walkParameter					0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:493:					walkComponentSuccessActions			0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:512:					walkSuccessAction				0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:527:					walkComponentFailureActions			0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:546:					walkFailureAction				0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:610:					getMatchFunc					55.0%
github.com/speakeasy-api/openapi/arazzo/workflow.go:21:					Find						75.0%
github.com/speakeasy-api/openapi/arazzo/workflow.go:64:					Validate					62.2%
github.com/speakeasy-api/openapi/cache/manager.go:23:					ClearAllCaches					100.0%
github.com/speakeasy-api/openapi/cache/manager.go:31:					ClearURLCache					100.0%
github.com/speakeasy-api/openapi/cache/manager.go:38:					ClearReferenceCache				100.0%
github.com/speakeasy-api/openapi/cache/manager.go:45:					ClearFieldCache					100.0%
github.com/speakeasy-api/openapi/cache/manager.go:57:					GetAllCacheStats				100.0%
github.com/speakeasy-api/openapi/cmd/openapi/main.go:22:				getVersionInfo					0.0%
github.com/speakeasy-api/openapi/cmd/openapi/main.go:117:				init						0.0%
github.com/speakeasy-api/openapi/cmd/openapi/main.go:156:				main						0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:31:			main						0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:38:			updateExamples					0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:54:			processPackage					0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:89:			parseExamplesFile				0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:115:			extractExample					0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:159:			parseDocComment					0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:191:			generateTitleFromName				0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:207:			extractOutputComment				0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:234:			generateReadmeContent				0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:255:			updateReadmeFile				0.0%
github.com/speakeasy-api/openapi/errors/errors.go:16:					Error						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:21:					Is						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:26:					As						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:36:					Wrap						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:45:					Error						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:52:					Is						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:56:					As						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:60:					Unwrap						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:67:					Is						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:72:					As						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:77:					New						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:82:					Join						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:90:					UnwrapErrors					0.0%
github.com/speakeasy-api/openapi/expression/expression.go:83:				String						0.0%
github.com/speakeasy-api/openapi/expression/expression.go:88:				Validate					100.0%
github.com/speakeasy-api/openapi/expression/expression.go:186:				IsExpression					83.3%
github.com/speakeasy-api/openapi/expression/expression.go:214:				GetType						100.0%
github.com/speakeasy-api/openapi/expression/expression.go:220:				GetParts					91.7%
github.com/speakeasy-api/openapi/expression/expression.go:242:				GetJSONPointer					100.0%
github.com/speakeasy-api/openapi/expression/expression.go:247:				getType						100.0%
github.com/speakeasy-api/openapi/expression/expression.go:262:				validateName					100.0%
github.com/speakeasy-api/openapi/expression/expressions.go:4:				ExtractExpressions				100.0%
github.com/speakeasy-api/openapi/expression/factory_registration.go:8:			init						50.0%
github.com/speakeasy-api/openapi/expression/value.go:11:				GetValueOrExpressionValue			0.0%
github.com/speakeasy-api/openapi/extensions/core/extensions.go:16:			UnmarshalExtensionModel				75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:29:				NewElem						0.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:43:				New						75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:55:				Init						100.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:59:				SetCore						75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:68:				GetCore						0.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:72:				Populate					0.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:90:				UnmarshalExtensionModel				66.7%
github.com/speakeasy-api/openapi/extensions/extensions.go:115:				GetExtensionValue				70.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:137:				IsEqual						100.0%
github.com/speakeasy-api/openapi/extensions/factory_registration.go:6:			init						75.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:15:					Hash						100.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:27:					toHashableString				91.7%
github.com/speakeasy-api/openapi/hashing/hashing.go:106:				structToHashableString				95.7%
github.com/speakeasy-api/openapi/hashing/hashing.go:155:				yamlNodeToHashableString			0.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:179:				sequencedMapToHashableString			92.9%
github.com/speakeasy-api/openapi/internal/interfaces/interfaces.go:41:			ImplementsInterface				0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:14:			CreateStringYamlNode				0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:24:			CreateIntYamlNode				0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:34:			CreateBoolYamlNode				0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:44:			CreateMapYamlNode				0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:61:			isInterfaceNil					0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:74:			AssertEqualSequencedMap				0.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:33:			ClassifyReference				100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:100:			IsURL						100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:109:			IsFilePath					100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:118:			IsFragment					100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:130:			JoinWith					92.9%
github.com/speakeasy-api/openapi/internal/utils/references.go:164:			joinURL						66.7%
github.com/speakeasy-api/openapi/internal/utils/references.go:188:			joinFilePath					100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:224:			getWindowsDir					80.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:235:			joinWindowsPaths				100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:269:			isWindowsAbsolutePath				80.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:283:			JoinReference					100.0%
github.com/speakeasy-api/openapi/internal/utils/slices.go:3:				MapSlice					0.0%
github.com/speakeasy-api/openapi/internal/utils/string_builder.go:19:			BuildAbsoluteReference				100.0%
github.com/speakeasy-api/openapi/internal/utils/string_builder.go:28:			BuildString					0.0%
github.com/speakeasy-api/openapi/internal/utils/string_builder.go:50:			JoinWithSeparator				100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:18:			ParseURLCached					100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:25:			Parse						100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:49:			Clear						100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:62:			GetURLCacheStats				100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:72:			ClearGlobalURLCache				100.0%
github.com/speakeasy-api/openapi/internal/utils/versions.go:9:				ParseVersion					100.0%
github.com/speakeasy-api/openapi/json/json.go:17:					YAMLToJSON					0.0%
github.com/speakeasy-api/openapi/json/json.go:29:					handleYAMLNode					0.0%
github.com/speakeasy-api/openapi/json/json.go:46:					handleMappingNode				0.0%
github.com/speakeasy-api/openapi/json/json.go:77:					handleSequenceNode				0.0%
github.com/speakeasy-api/openapi/json/json.go:97:					handleScalarNode				0.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:37:				WithStructTags					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:43:				getOptions					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:58:				String						0.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:63:				Validate					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:74:				GetTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:91:				PartsToJSONPointer				0.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:100:			getCurrentStackTarget				100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:120:			getTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:148:			getMapTarget					78.9%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:188:			getSliceTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:223:			getStructTarget					86.4%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:271:			getKeyBasedStructTarget				100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:319:			getIndexBasedStructTarget			87.5%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:335:			getNavigableWithKeyTarget			80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:355:			getNavigableWithIndexTarget			80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:375:			getNavigableNoderTarget				77.8%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:393:			buildPath					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:404:			EscapeString					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:408:			escape						100.0%
github.com/speakeasy-api/openapi/jsonpointer/models.go:16:				navigateModel					89.9%
github.com/speakeasy-api/openapi/jsonpointer/navigation.go:23:				unescapeValue					100.0%
github.com/speakeasy-api/openapi/jsonpointer/navigation.go:29:				getIndex					100.0%
github.com/speakeasy-api/openapi/jsonpointer/navigation.go:39:				getNavigationStack				100.0%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:10:				getYamlNodeTarget				61.1%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:51:				getYamlDocumentTarget				66.7%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:60:				getYamlMappingTarget				88.9%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:117:				getYamlSequenceTarget				90.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/core/factory_registration.go:9:	init						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:29:			GetPropertyName					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:37:			GetMapping					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:45:			GetExtensions					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:53:			Validate					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:69:			IsEqual						42.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:30:			GetDescription					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:38:			GetURL						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:46:			GetExtensions					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:54:			IsEqual						53.8%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:83:			Validate					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/factory_registration.go:12:		init						86.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:35:				increment					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:162:				Inline						96.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:224:				analyzeReferences				75.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:404:				inlineRecursive					72.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:628:				getAbsRef					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:641:				inlineSchemaInPlace				81.8%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:664:				removeUnusedDefs				94.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:703:				generateUniqueDefName				25.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:719:				rewriteExternalReference			50.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:799:				consolidateDefinitions				81.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:43:			NewJSONSchemaFromSchema				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:52:			NewJSONSchemaFromReference			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:63:			NewJSONSchemaFromBool				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:73:			NewReferencedScheme				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:106:			GetExtensions					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:123:			GetParent					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:139:			GetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:152:			SetParent					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:165:			SetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:173:			IsEqual						60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:188:			Validate					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:216:			ConcreteToReferenceable				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:224:			ReferenceableToConcrete				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:229:			ShallowCopy					88.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:256:			PopulateWithParent				88.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:22:			IsResolved					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:30:			IsReference					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:38:			GetRef						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:46:			GetAbsRef					83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:61:			Resolve						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:78:			GetResolvedSchema				88.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:117:			MustGetResolvedSchema				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:129:			GetReferenceResolutionInfo			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:145:			resolve						97.6%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:238:			joinReferenceChain				60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:249:			resolveJSONSchemaWithTracking			95.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:296:			resolveDefsReference				77.8%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:340:			tryResolveDefsUsingJSONPointerNavigation	0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:386:			getParentJSONPointer				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:400:			unmarshaller					71.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:86:				ShallowCopy					72.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:187:				GetRef						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:195:				IsReference					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:203:				GetExclusiveMaximum				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:211:				GetExclusiveMinimum				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:219:				GetType						71.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:236:				GetAllOf					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:244:				GetOneOf					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:252:				GetAnyOf					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:260:				GetDiscriminator				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:268:				GetExamples					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:276:				GetPrefixItems					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:284:				GetContains					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:292:				GetMinContains					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:300:				GetMaxContains					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:308:				GetIf						0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:316:				GetElse						0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:324:				GetThen						0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:332:				GetDependentSchemas				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:340:				GetPatternProperties				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:348:				GetPropertyNames				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:356:				GetUnevaluatedItems				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:364:				GetUnevaluatedProperties			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:372:				GetItems					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:380:				GetAnchor					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:388:				GetNot						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:396:				GetProperties					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:404:				GetDefs						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:412:				GetTitle					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:420:				GetMultipleOf					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:428:				GetMaximum					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:436:				GetMinimum					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:444:				GetMaxLength					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:452:				GetMinLength					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:460:				GetPattern					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:468:				GetFormat					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:476:				GetMaxItems					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:484:				GetMinItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:492:				GetUniqueItems					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:500:				GetMaxProperties				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:508:				GetMinProperties				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:516:				GetRequired					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:524:				GetEnum						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:532:				GetAdditionalProperties				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:540:				GetDescription					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:548:				GetDefault					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:556:				GetConst					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:564:				GetNullable					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:572:				GetReadOnly					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:580:				GetWriteOnly					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:588:				GetExternalDocs					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:596:				GetExample					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:604:				GetDeprecated					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:612:				GetSchema					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:620:				GetXML						0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:628:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:638:				IsEqual						60.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:883:				GetParent					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:892:				SetParent					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:900:				PopulateWithParent				75.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:930:				equalJSONSchemas				80.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:940:				equalJSONSchemaSlices				25.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:956:				equalSequencedMaps				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:985:				equalSlices					87.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1001:			equalValueSlices				87.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/tests/remote_server.go:25:		startRemoteServer				52.6%
github.com/speakeasy-api/openapi/jsonschema/oas3/tests/remote_server.go:147:		GetBaseURL					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/tests/remote_server.go:152:		Stop						0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/tests/remote_server.go:165:		GetExpectedURL					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/tests/remote_server.go:170:		GetActualURL					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/tests/remote_server.go:175:		GetHTTPClient					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/tests/remote_server.go:191:		RoundTrip					88.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:33:			Validate					60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:45:			Validate					82.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:82:			getRootCauses					72.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:129:			initValidation					76.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:16:				NewExclusiveMaximumFromBool			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:22:				NewExclusiveMaximumFromFloat64			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:28:				NewExclusiveMinimumFromBool			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:34:				NewExclusiveMinimumFromFloat64			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:40:				NewTypeFromArray				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:47:				NewTypeFromString				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:35:				WalkExternalDocs				75.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:46:				Walk						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:55:				walkSchema					44.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:223:				walkExternalDocs				83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:259:				getSchemaMatchFunc				60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:36:				GetName						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:44:				GetNamespace					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:52:				GetPrefix					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:60:				GetAttribute					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:68:				GetWrapped					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:76:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:84:				IsEqual						47.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:120:				Validate					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:38:				GetRootNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:42:				GetRootNodeLine					0.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:49:				SetRootNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:53:				GetValid					0.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:57:				GetValidYaml					0.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:61:				DetermineValidity				85.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:76:				SetValid					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:81:				SetConfig					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:85:				GetConfig					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:92:				GetJSONPointer					87.5%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:115:				GetJSONPath					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:137:				Marshal						75.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:165:				resetNodeStylesForYAML				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:170:				resetNodeStylesForYAMLRecursive			73.3%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:212:				findNodePath					85.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:246:				findNodePathInMapping				86.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:281:				findNodePathInSequence				83.3%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:297:				resolveAlias					60.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:311:				getNodeKeyString				66.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:326:				buildJSONPointer				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:342:				escapeJSONPointerToken				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:350:				buildJSONPath					94.4%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:385:				needsBracketNotation				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:399:				escapeJSONPathProperty				100.0%
github.com/speakeasy-api/openapi/marshaller/extensions.go:35:				UnmarshalExtension				78.6%
github.com/speakeasy-api/openapi/marshaller/extensions.go:70:				syncExtensions					84.9%
github.com/speakeasy-api/openapi/marshaller/factory.go:43:				RegisterType					87.5%
github.com/speakeasy-api/openapi/marshaller/factory.go:63:				CreateInstance					87.5%
github.com/speakeasy-api/openapi/marshaller/factory.go:82:				IsRegistered					0.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:92:				isTesting					100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:97:				init						58.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:160:				buildFieldCacheForType				89.2%
github.com/speakeasy-api/openapi/marshaller/factory.go:255:				getFieldMapCached				100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:272:				ClearGlobalFieldCache				0.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:285:				GetFieldCacheStats				0.0%
github.com/speakeasy-api/openapi/marshaller/marshal.go:26:				Marshal						66.7%
github.com/speakeasy-api/openapi/marshaller/marshal.go:48:				Sync						71.4%
github.com/speakeasy-api/openapi/marshaller/model.go:58:				GetCore						66.7%
github.com/speakeasy-api/openapi/marshaller/model.go:68:				GetCoreAny					0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:89:				GetRootNode					60.0%
github.com/speakeasy-api/openapi/marshaller/model.go:100:				GetRootNodeLine					0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:107:				GetRootNodeColumn				0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:114:				GetPropertyLine					92.9%
github.com/speakeasy-api/openapi/marshaller/model.go:148:				SetCore						100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:155:				SetCoreAny					100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:163:				GetCachedReferencedObject			0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:170:				StoreReferencedObjectInCache			0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:174:				GetCachedReferenceDocument			0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:186:				StoreReferenceDocumentInCache			0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:190:				InitCache					0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:35:					Unmarshal					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:50:					GetValue					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:54:					GetValueType					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:58:					SyncValue					85.7%
github.com/speakeasy-api/openapi/marshaller/node.go:72:					SetPresent					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:76:					GetKeyNode					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:80:					GetKeyNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:87:					GetKeyNodeOrRootLine				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:95:					GetValueNode					0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:99:					GetValueNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:106:				GetValueNodeOrRootLine				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:115:				GetSliceValueNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:133:				GetMapKeyNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:152:				GetMapKeyNodeOrRootLine				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:161:				GetMapValueNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:180:				GetNavigableNode				0.0%
github.com/speakeasy-api/openapi/marshaller/populator.go:33:				Populate					47.4%
github.com/speakeasy-api/openapi/marshaller/populator.go:70:				PopulateWithParent				47.4%
github.com/speakeasy-api/openapi/marshaller/populator.go:107:				PopulateModel					81.4%
github.com/speakeasy-api/openapi/marshaller/populator.go:213:				populateValueWithParent				73.6%
github.com/speakeasy-api/openapi/marshaller/populator.go:324:				getSequencedMapInterface			81.8%
github.com/speakeasy-api/openapi/marshaller/populator.go:372:				getSourceForPopulation				66.7%
github.com/speakeasy-api/openapi/marshaller/populator.go:391:				isEmbeddedSequencedMapType			100.0%
github.com/speakeasy-api/openapi/marshaller/sequencedmap.go:24:				unmarshalSequencedMap				88.1%
github.com/speakeasy-api/openapi/marshaller/sequencedmap.go:115:			populateSequencedMap				78.1%
github.com/speakeasy-api/openapi/marshaller/sequencedmap.go:187:			syncSequencedMapChanges				80.9%
github.com/speakeasy-api/openapi/marshaller/syncer.go:20:				SyncValue					85.7%
github.com/speakeasy-api/openapi/marshaller/syncer.go:100:				syncChanges					79.6%
github.com/speakeasy-api/openapi/marshaller/syncer.go:272:				syncArraySlice					86.4%
github.com/speakeasy-api/openapi/marshaller/syncer.go:372:				reorderArrayElements				73.5%
github.com/speakeasy-api/openapi/marshaller/syncer.go:471:				dereferenceAndInitializeIfNeededToLastPtr	100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:490:				dereferenceToLastPtr				100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:498:				getUnderlyingValue				100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:506:				initializeAndGetSequencedMapInterface		100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:547:				getSourceInterface				71.4%
github.com/speakeasy-api/openapi/marshaller/syncer.go:563:				dereferenceType					100.0%
github.com/speakeasy-api/openapi/marshaller/tests/core/factory_registration.go:10:	init						0.0%
github.com/speakeasy-api/openapi/marshaller/tests/core/models.go:103:			Unmarshal					0.0%
github.com/speakeasy-api/openapi/marshaller/tests/factory_registration.go:9:		init						0.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:33:				Unmarshal					78.6%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:64:				UnmarshalNode					77.8%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:83:				UnmarshalCore					80.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:103:			UnmarshalModel					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:107:			UnmarshalKeyValuePair				100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:124:			DecodeNode					0.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:128:			unmarshal					78.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:230:			unmarshalMapping				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:255:			unmarshalModel					86.6%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:442:			unmarshalStruct					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:446:			decodeNode					80.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:469:			unmarshalSequence				82.6%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:513:			unmarshalNode					66.7%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:564:			implementsInterface				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:585:			isEmbeddedSequencedMap				100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:590:			isStructType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:595:			isSliceType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:600:			isMapType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:605:			validateNodeKind				85.7%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:621:			isTypeMismatchError				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:632:			initializeEmbeddedSequencedMap			66.7%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:659:			getOptionalParentName				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:14:				Bootstrap					100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:31:				createBootstrapInfo				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:50:				createBootstrapServers				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:64:				createBootstrapTags				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:78:				createBootstrapPaths				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:121:				createUserResponses				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:130:				createBootstrapComponents			100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:139:				createBootstrapSchemas				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:196:				createBootstrapResponses			100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:232:				createBootstrapSecuritySchemes			100.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:116:					Bundle						83.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:169:					bundleObject					80.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:212:					bundleSchema					85.2%
github.com/speakeasy-api/openapi/openapi/bundle.go:282:					rewriteRefsInBundledSchemas			80.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:294:					rewriteRefsInSchema				90.5%
github.com/speakeasy-api/openapi/openapi/bundle.go:337:					bundleGenericReference				82.8%
github.com/speakeasy-api/openapi/openapi/bundle.go:408:					generateComponentName				75.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:420:					generateComponentNameWithHashConflictResolution	91.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:469:					generateFilePathBasedNameWithConflictResolution	63.6%
github.com/speakeasy-api/openapi/openapi/bundle.go:513:					generateFilePathBasedName			84.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:566:					generateCounterBasedName			66.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:612:					updateReferencesToComponents			69.2%
github.com/speakeasy-api/openapi/openapi/bundle.go:675:					updateReference					100.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:690:					addComponentsToDocument				44.2%
github.com/speakeasy-api/openapi/openapi/bundle.go:797:					handleReference					85.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:841:					detectPathStyle					60.0%
github.com/speakeasy-api/openapi/openapi/callbacks.go:29:				NewCallback					0.0%
github.com/speakeasy-api/openapi/openapi/callbacks.go:36:				GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/callbacks.go:43:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:67:					Clean						95.7%
github.com/speakeasy-api/openapi/openapi/clean.go:157:					trackSchemaReferences				85.7%
github.com/speakeasy-api/openapi/openapi/clean.go:186:					trackPathItemReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:199:					trackParameterReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:212:					trackExampleReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:225:					trackRequestBodyReference			100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:238:					trackResponseReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:251:					trackHeaderReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:264:					trackCallbackReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:277:					trackLinkReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:290:					trackSecuritySchemeReference			28.6%
github.com/speakeasy-api/openapi/openapi/clean.go:303:					extractComponentName				75.0%
github.com/speakeasy-api/openapi/openapi/clean.go:312:					removeUnusedComponentsFromDocument		89.3%
github.com/speakeasy-api/openapi/openapi/cmd/bootstrap.go:43:				runBootstrap					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/bootstrap.go:52:				createBootstrapDocument				0.0%
github.com/speakeasy-api/openapi/openapi/cmd/bundle.go:49:				init						0.0%
github.com/speakeasy-api/openapi/openapi/cmd/bundle.go:54:				runBundleCommand				0.0%
github.com/speakeasy-api/openapi/openapi/cmd/clean.go:60:				init						0.0%
github.com/speakeasy-api/openapi/openapi/cmd/clean.go:64:				runClean					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/clean.go:85:				cleanOpenAPI					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/clean.go:114:				countComponents					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/clean.go:156:				reportCleaningResults				0.0%
github.com/speakeasy-api/openapi/openapi/cmd/clean.go:183:				GetCleanCommand					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/inline.go:48:				init						0.0%
github.com/speakeasy-api/openapi/openapi/cmd/inline.go:52:				runInline					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/inline.go:73:				inlineOpenAPI					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/inline.go:106:				GetInlineCommand				0.0%
github.com/speakeasy-api/openapi/openapi/cmd/join.go:57:				init						0.0%
github.com/speakeasy-api/openapi/openapi/cmd/join.go:62:				runJoinCommand					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/optimize.go:91:				init						0.0%
github.com/speakeasy-api/openapi/openapi/cmd/optimize.go:96:				runOptimize					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/optimize.go:117:				optimizeOpenAPI					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/optimize.go:152:				boxedCode					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/optimize.go:212:				createInteractiveCallback			0.0%
github.com/speakeasy-api/openapi/openapi/cmd/optimize.go:267:				isValidComponentName				0.0%
github.com/speakeasy-api/openapi/openapi/cmd/optimize.go:285:				reportOptimizationResults			0.0%
github.com/speakeasy-api/openapi/openapi/cmd/optimize.go:299:				GetOptimizeCommand				0.0%
github.com/speakeasy-api/openapi/openapi/cmd/root.go:6:					Apply						0.0%
github.com/speakeasy-api/openapi/openapi/cmd/shared.go:22:				NewOpenAPIProcessor				0.0%
github.com/speakeasy-api/openapi/openapi/cmd/shared.go:42:				LoadDocument					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/shared.go:70:				ReportValidationErrors				0.0%
github.com/speakeasy-api/openapi/openapi/cmd/shared.go:81:				WriteDocument					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/shared.go:105:				PrintSuccess					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/shared.go:112:				PrintInfo					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/upgrade.go:42:				init						0.0%
github.com/speakeasy-api/openapi/openapi/cmd/upgrade.go:47:				runUpgrade					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/upgrade.go:68:				upgradeOpenAPI					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/upgrade.go:109:				GetUpgradeCommand				0.0%
github.com/speakeasy-api/openapi/openapi/cmd/validate.go:28:				runValidate					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/validate.go:38:				validateOpenAPI					0.0%
github.com/speakeasy-api/openapi/openapi/cmd/validate.go:68:				GetValidateCommand				0.0%
github.com/speakeasy-api/openapi/openapi/components.go:47:				GetSchemas					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:55:				GetResponses					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:63:				GetParameters					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:71:				GetExamples					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:79:				GetRequestBodies				66.7%
github.com/speakeasy-api/openapi/openapi/components.go:87:				GetHeaders					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:95:				GetSecuritySchemes				66.7%
github.com/speakeasy-api/openapi/openapi/components.go:103:				GetLinks					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:111:				GetCallbacks					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:119:				GetPathItems					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:127:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:135:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/core/factory_registration.go:11:		init						0.0%
github.com/speakeasy-api/openapi/openapi/core/paths.go:16:				NewPaths					0.0%
github.com/speakeasy-api/openapi/openapi/core/paths.go:35:				NewPathItem					0.0%
github.com/speakeasy-api/openapi/openapi/core/reference.go:28:				Unmarshal					0.0%
github.com/speakeasy-api/openapi/openapi/core/reference.go:57:				SyncChanges					0.0%
github.com/speakeasy-api/openapi/openapi/core/security.go:29:				GetMapKeyNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:42:				GetContentType					0.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:69:				GetContentTypeValue				100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:77:				GetStyle					100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:86:				GetExplode					100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:94:				GetAllowReserved				100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:102:				GetHeaders					0.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:110:				GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:118:				Validate					94.4%
github.com/speakeasy-api/openapi/openapi/examples.go:34:				GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/examples.go:42:				GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/examples.go:50:				GetValue					66.7%
github.com/speakeasy-api/openapi/openapi/examples.go:58:				GetExternalValue				66.7%
github.com/speakeasy-api/openapi/openapi/examples.go:66:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/examples.go:74:				ResolveExternalValue				0.0%
github.com/speakeasy-api/openapi/openapi/examples.go:80:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/factory_registration.go:13:			init						94.6%
github.com/speakeasy-api/openapi/openapi/header.go:47:					GetSchema					66.7%
github.com/speakeasy-api/openapi/openapi/header.go:55:					GetRequired					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:63:					GetDeprecated					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:71:					GetStyle					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:79:					GetExplode					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:87:					GetContent					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:95:					GetExample					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:103:					GetExamples					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:111:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/header.go:119:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/header.go:127:					Validate					92.9%
github.com/speakeasy-api/openapi/openapi/info.go:40:					GetTitle					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:48:					GetVersion					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:56:					GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:64:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:72:					GetTermsOfService				66.7%
github.com/speakeasy-api/openapi/openapi/info.go:80:					GetContact					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:88:					GetLicense					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:96:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:104:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:151:					GetName						66.7%
github.com/speakeasy-api/openapi/openapi/info.go:159:					GetURL						66.7%
github.com/speakeasy-api/openapi/openapi/info.go:167:					GetEmail					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:175:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:183:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:221:					GetName						66.7%
github.com/speakeasy-api/openapi/openapi/info.go:229:					GetIdentifier					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:237:					GetURL						66.7%
github.com/speakeasy-api/openapi/openapi/info.go:245:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:253:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/inline.go:135:					Inline						88.9%
github.com/speakeasy-api/openapi/openapi/inline.go:156:					inlineObject					88.2%
github.com/speakeasy-api/openapi/openapi/inline.go:315:					inlineReference					80.0%
github.com/speakeasy-api/openapi/openapi/inline.go:364:					rewriteRefsWithMapping				65.0%
github.com/speakeasy-api/openapi/openapi/inline.go:403:					removeUnusedComponents				94.1%
github.com/speakeasy-api/openapi/openapi/join.go:66:					Join						94.1%
github.com/speakeasy-api/openapi/openapi/join.go:102:					initializeUsedNames				74.5%
github.com/speakeasy-api/openapi/openapi/join.go:195:					joinSingleDocument				80.0%
github.com/speakeasy-api/openapi/openapi/join.go:225:					joinPaths					81.8%
github.com/speakeasy-api/openapi/openapi/join.go:251:					generateConflictPath				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:267:					joinWebhooks					83.3%
github.com/speakeasy-api/openapi/openapi/join.go:285:					joinComponents					62.5%
github.com/speakeasy-api/openapi/openapi/join.go:307:					joinSchemas					89.5%
github.com/speakeasy-api/openapi/openapi/join.go:348:					joinOtherComponents				50.3%
github.com/speakeasy-api/openapi/openapi/join.go:589:					generateJoinComponentName			75.0%
github.com/speakeasy-api/openapi/openapi/join.go:601:					generateJoinFilePathBasedName			84.6%
github.com/speakeasy-api/openapi/openapi/join.go:629:					generateJoinCounterBasedName			100.0%
github.com/speakeasy-api/openapi/openapi/join.go:641:					updateReferencesInDocument			79.2%
github.com/speakeasy-api/openapi/openapi/join.go:700:					updateComponentReference			20.0%
github.com/speakeasy-api/openapi/openapi/join.go:719:					joinTags					100.0%
github.com/speakeasy-api/openapi/openapi/join.go:742:					joinServersAndSecurity				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:769:					areServersIdentical				85.7%
github.com/speakeasy-api/openapi/openapi/join.go:788:					areSecurityIdentical				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:804:					applyGlobalServersSecurityToOperations		83.3%
github.com/speakeasy-api/openapi/openapi/links.go:40:					GetOperationID					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:48:					GetOperationRef					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:56:					GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:64:					GetParameters					66.7%
github.com/speakeasy-api/openapi/openapi/links.go:72:					GetRequestBody					0.0%
github.com/speakeasy-api/openapi/openapi/links.go:80:					GetServer					0.0%
github.com/speakeasy-api/openapi/openapi/links.go:88:					GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/links.go:95:					ResolveOperation				0.0%
github.com/speakeasy-api/openapi/openapi/links.go:100:					Validate					92.9%
github.com/speakeasy-api/openapi/openapi/marshalling.go:19:				WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/openapi/marshalling.go:27:				Unmarshal					92.9%
github.com/speakeasy-api/openapi/openapi/marshalling.go:54:				Marshal						100.0%
github.com/speakeasy-api/openapi/openapi/marshalling.go:60:				Sync						0.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:33:				GetSchema					66.7%
github.com/speakeasy-api/openapi/openapi/mediatype.go:41:				GetEncoding					66.7%
github.com/speakeasy-api/openapi/openapi/mediatype.go:49:				GetExamples					66.7%
github.com/speakeasy-api/openapi/openapi/mediatype.go:57:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/mediatype.go:65:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:87:				GetExample					66.7%
github.com/speakeasy-api/openapi/openapi/openapi.go:64:					GetOpenAPI					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:72:					GetInfo						0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:80:					GetExternalDocs					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:88:					GetTags						0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:96:					GetServers					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:104:				GetSecurity					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:112:				GetPaths					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:120:				GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:128:				GetWebhooks					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:136:				GetComponents					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:144:				GetJSONSchemaDialect				0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:152:				Validate					94.3%
github.com/speakeasy-api/openapi/openapi/operation.go:53:				GetOperationID					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:61:				GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:69:				GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:77:				GetDeprecated					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:85:				GetTags						66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:93:				GetServers					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:101:				GetSecurity					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:109:				GetParameters					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:117:				GetRequestBody					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:125:				GetResponses					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:133:				GetCallbacks					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:141:				GetExternalDocs					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:149:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:158:				IsDeprecated					0.0%
github.com/speakeasy-api/openapi/openapi/operation.go:163:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/optimize.go:76:				Optimize					96.6%
github.com/speakeasy-api/openapi/openapi/optimize.go:236:				collectSchema					92.3%
github.com/speakeasy-api/openapi/openapi/optimize.go:303:				isComplexSchema					91.3%
github.com/speakeasy-api/openapi/openapi/optimize.go:362:				isTopLevelComponentSchema			83.3%
github.com/speakeasy-api/openapi/openapi/optimize.go:383:				buildJSONPointer				100.0%
github.com/speakeasy-api/openapi/openapi/optimize.go:402:				ensureUniqueName				71.4%
github.com/speakeasy-api/openapi/openapi/optimize.go:416:				replaceInlineSchema				81.2%
github.com/speakeasy-api/openapi/openapi/parameter.go:24:				String						0.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:76:				GetName						66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:84:				GetIn						66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:92:				GetSchema					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:100:				GetRequired					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:108:				GetDeprecated					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:116:				GetAllowEmptyValue				66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:130:				GetStyle					28.6%
github.com/speakeasy-api/openapi/openapi/parameter.go:147:				GetExplode					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:155:				GetContent					0.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:163:				GetExample					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:171:				GetExamples					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:179:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:187:				GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:195:				GetAllowReserved				66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:203:				Validate					64.7%
github.com/speakeasy-api/openapi/openapi/paths.go:28:					NewPaths					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:35:					GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/paths.go:43:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:77:					Is						0.0%
github.com/speakeasy-api/openapi/openapi/paths.go:104:					NewPathItem					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:111:					GetOperation					66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:125:					Get						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:130:					Put						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:135:					Post						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:140:					Delete						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:145:					Options						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:150:					Head						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:155:					Patch						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:160:					Trace						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:165:					GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:173:					GetServers					0.0%
github.com/speakeasy-api/openapi/openapi/paths.go:181:					GetParameters					0.0%
github.com/speakeasy-api/openapi/openapi/paths.go:189:					GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/paths.go:197:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:205:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:41:				NewReferencedPathItemFromRef			0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:48:				NewReferencedPathItemFromPathItem		0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:55:				NewReferencedExampleFromRef			0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:62:				NewReferencedExampleFromExample			0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:69:				NewReferencedParameterFromRef			0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:76:				NewReferencedParameterFromParameter		0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:83:				NewReferencedHeaderFromRef			0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:90:				NewReferencedHeaderFromHeader			0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:97:				NewReferencedRequestBodyFromRef			0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:104:				NewReferencedRequestBodyFromRequestBody		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:111:				NewReferencedResponseFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:118:				NewReferencedResponseFromResponse		0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:125:				NewReferencedCallbackFromRef			0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:132:				NewReferencedCallbackFromCallback		0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:139:				NewReferencedLinkFromRef			0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:146:				NewReferencedLinkFromLink			0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:153:				NewReferencedSecuritySchemeFromRef		0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:160:				NewReferencedSecuritySchemeFromSecurityScheme	0.0%
github.com/speakeasy-api/openapi/openapi/reference.go:216:				Resolve						83.3%
github.com/speakeasy-api/openapi/openapi/reference.go:237:				IsReference					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:245:				IsResolved					75.0%
github.com/speakeasy-api/openapi/openapi/reference.go:261:				GetReference					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:269:				GetObject					81.8%
github.com/speakeasy-api/openapi/openapi/reference.go:292:				MustGetObject					66.7%
github.com/speakeasy-api/openapi/openapi/reference.go:306:				GetObjectAny					66.7%
github.com/speakeasy-api/openapi/openapi/reference.go:314:				GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:322:				GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:338:				GetParent					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:354:				GetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:367:				SetParent					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:380:				SetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:388:				Validate					93.8%
github.com/speakeasy-api/openapi/openapi/reference.go:418:				Populate					84.6%
github.com/speakeasy-api/openapi/openapi/reference.go:444:				GetNavigableNode				33.3%
github.com/speakeasy-api/openapi/openapi/reference.go:456:				GetReferenceResolutionInfo			70.0%
github.com/speakeasy-api/openapi/openapi/reference.go:476:				resolve						82.8%
github.com/speakeasy-api/openapi/openapi/reference.go:531:				resolveObjectWithTracking			92.5%
github.com/speakeasy-api/openapi/openapi/reference.go:608:				joinReferenceChain				75.0%
github.com/speakeasy-api/openapi/openapi/reference.go:623:				unmarshaller					75.0%
github.com/speakeasy-api/openapi/openapi/reference.go:639:				ensureMutex					100.0%
github.com/speakeasy-api/openapi/openapi/requests.go:31:				GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/requests.go:39:				GetContent					66.7%
github.com/speakeasy-api/openapi/openapi/requests.go:47:				GetRequired					66.7%
github.com/speakeasy-api/openapi/openapi/requests.go:55:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:29:				NewResponses					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:36:				GetDefault					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:44:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:51:				Populate					84.0%
github.com/speakeasy-api/openapi/openapi/responses.go:100:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:141:				GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:149:				GetHeaders					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:157:				GetContent					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:165:				GetLinks					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:173:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:181:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:22:				String						100.0%
github.com/speakeasy-api/openapi/openapi/security.go:38:				String						100.0%
github.com/speakeasy-api/openapi/openapi/security.go:74:				GetType						66.7%
github.com/speakeasy-api/openapi/openapi/security.go:82:				GetDescription					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:90:				GetName						66.7%
github.com/speakeasy-api/openapi/openapi/security.go:98:				GetIn						66.7%
github.com/speakeasy-api/openapi/openapi/security.go:106:				GetScheme					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:114:				GetBearerFormat					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:122:				GetFlows					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:130:				GetOpenIdConnectUrl				0.0%
github.com/speakeasy-api/openapi/openapi/security.go:138:				GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:146:				Validate					95.5%
github.com/speakeasy-api/openapi/openapi/security.go:208:				NewSecurityRequirement				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:214:				Populate					93.8%
github.com/speakeasy-api/openapi/openapi/security.go:249:				Validate					90.9%
github.com/speakeasy-api/openapi/openapi/security.go:300:				GetImplicit					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:308:				GetPassword					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:316:				GetClientCredentials				66.7%
github.com/speakeasy-api/openapi/openapi/security.go:324:				GetAuthorizationCode				66.7%
github.com/speakeasy-api/openapi/openapi/security.go:332:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:340:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:381:				GetAuthorizationURL				66.7%
github.com/speakeasy-api/openapi/openapi/security.go:389:				GetTokenURL					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:397:				GetRefreshURL					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:405:				GetScopes					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:413:				GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:421:				Validate					79.4%
github.com/speakeasy-api/openapi/openapi/serialization.go:10:				String						0.0%
github.com/speakeasy-api/openapi/openapi/server.go:41:					GetURL						66.7%
github.com/speakeasy-api/openapi/openapi/server.go:49:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/server.go:57:					GetVariables					66.7%
github.com/speakeasy-api/openapi/openapi/server.go:65:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/server.go:73:					Validate					93.3%
github.com/speakeasy-api/openapi/openapi/server.go:121:					GetDefault					66.7%
github.com/speakeasy-api/openapi/openapi/server.go:129:					GetEnum						66.7%
github.com/speakeasy-api/openapi/openapi/server.go:137:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/server.go:145:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:164:					resolveServerVariables				93.8%
github.com/speakeasy-api/openapi/openapi/tag.go:32:					GetName						66.7%
github.com/speakeasy-api/openapi/openapi/tag.go:40:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/tag.go:48:					GetExternalDocs					66.7%
github.com/speakeasy-api/openapi/openapi/tag.go:56:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/tag.go:64:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:18:					WithUpgradeSamePatchVersion			100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:26:					Upgrade						93.3%
github.com/speakeasy-api/openapi/openapi/upgrade.go:66:					upgradeSchema					100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:78:					upgradeExample					100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:91:					upgradeExclusiveMinMax				100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:111:				upgradeNullableSchema				66.7%
github.com/speakeasy-api/openapi/openapi/upgrade.go:143:				createNullSchema				100.0%
github.com/speakeasy-api/openapi/openapi/utils.go:25:					ResolveAllReferences				100.0%
github.com/speakeasy-api/openapi/openapi/utils.go:90:					resolveAny					88.2%
github.com/speakeasy-api/openapi/openapi/walk.go:24:					Walk						75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:34:					walkFrom					17.9%
github.com/speakeasy-api/openapi/openapi/walk.go:119:					walk						85.7%
github.com/speakeasy-api/openapi/openapi/walk.go:166:					walkInfo					86.4%
github.com/speakeasy-api/openapi/openapi/walk.go:214:					walkPaths					100.0%
github.com/speakeasy-api/openapi/openapi/walk.go:236:					walkReferencedPathItem				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:256:					walkPathItem					70.0%
github.com/speakeasy-api/openapi/openapi/walk.go:283:					walkOperation					70.0%
github.com/speakeasy-api/openapi/openapi/walk.go:334:					walkReferencedParameters			88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:354:					walkReferencedParameter				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:374:					walkParameter					55.6%
github.com/speakeasy-api/openapi/openapi/walk.go:399:					walkReferencedRequestBody			87.5%
github.com/speakeasy-api/openapi/openapi/walk.go:419:					walkRequestBody					80.0%
github.com/speakeasy-api/openapi/openapi/walk.go:434:					walkResponses					81.8%
github.com/speakeasy-api/openapi/openapi/walk.go:462:					walkReferencedResponse				87.5%
github.com/speakeasy-api/openapi/openapi/walk.go:482:					walkResponse					55.6%
github.com/speakeasy-api/openapi/openapi/walk.go:507:					walkMediaTypes					100.0%
github.com/speakeasy-api/openapi/openapi/walk.go:527:					walkMediaType					66.7%
github.com/speakeasy-api/openapi/openapi/walk.go:558:					walkEncodings					88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:578:					walkEncoding					62.5%
github.com/speakeasy-api/openapi/openapi/walk.go:599:					walkReferencedHeaders				88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:619:					walkReferencedHeader				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:639:					walkHeader					55.6%
github.com/speakeasy-api/openapi/openapi/walk.go:664:					walkReferencedExamples				88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:684:					walkReferencedExample				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:704:					walkExample					66.7%
github.com/speakeasy-api/openapi/openapi/walk_components.go:12:				walkComponents					69.2%
github.com/speakeasy-api/openapi/openapi/walk_components.go:78:				walkComponentSchemas				100.0%
github.com/speakeasy-api/openapi/openapi/walk_components.go:98:				walkComponentResponses				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:118:			walkComponentParameters				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:138:			walkComponentExamples				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:158:			walkComponentRequestBodies			88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:178:			walkComponentHeaders				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:198:			walkComponentSecuritySchemes			100.0%
github.com/speakeasy-api/openapi/openapi/walk_components.go:218:			walkComponentLinks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:238:			walkComponentCallbacks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:258:			walkComponentPathItems				88.9%
github.com/speakeasy-api/openapi/openapi/walk_matching.go:152:				getMatchFunc					83.3%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:11:				walkSchema					87.5%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:31:				convertSchemaMatchFunc				100.0%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:45:				convertSchemaLocation				100.0%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:63:				walkExternalDocs				87.5%
github.com/speakeasy-api/openapi/openapi/walk_security.go:10:				walkSecurity					100.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:30:				walkSecurityRequirement				75.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:41:				walkReferencedSecurityScheme			75.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:61:				walkSecurityScheme				80.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:76:				walkOAuthFlows					71.4%
github.com/speakeasy-api/openapi/openapi/walk_security.go:109:				walkOAuthFlow					66.7%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:10:			walkTags					85.7%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:25:			walkTag						62.5%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:44:			walkServers					100.0%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:59:			walkServer					87.5%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:77:			walkVariables					100.0%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:91:			walkVariable					100.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:11:			walkWebhooks					88.9%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:31:			walkReferencedLinks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:51:			walkReferencedLink				75.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:71:			walkLink					60.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:86:			walkReferencedCallbacks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:106:		walkReferencedCallback				75.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:126:		walkCallback					66.7%
github.com/speakeasy-api/openapi/overlay/apply.go:14:					ApplyTo						87.5%
github.com/speakeasy-api/openapi/overlay/apply.go:31:					ApplyToStrict					96.2%
github.com/speakeasy-api/openapi/overlay/apply.go:74:					validateSelectorHasAtLeastOneTarget		88.9%
github.com/speakeasy-api/openapi/overlay/apply.go:93:					applyRemoveAction				90.0%
github.com/speakeasy-api/openapi/overlay/apply.go:114:					removeNode					91.7%
github.com/speakeasy-api/openapi/overlay/apply.go:140:					applyUpdateAction				78.6%
github.com/speakeasy-api/openapi/overlay/apply.go:167:					updateNode					100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:171:					mergeNode					100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:190:					mergeMappingNode				100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:212:					mergeSequenceNode				100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:217:					clone						87.5%
github.com/speakeasy-api/openapi/overlay/cmd/apply.go:20:				RunApply					0.0%
github.com/speakeasy-api/openapi/overlay/cmd/compare.go:21:				RunCompare					0.0%
github.com/speakeasy-api/openapi/overlay/cmd/root.go:5:					Apply						0.0%
github.com/speakeasy-api/openapi/overlay/cmd/shared.go:8:				Dief						0.0%
github.com/speakeasy-api/openapi/overlay/cmd/shared.go:13:				Die						0.0%
github.com/speakeasy-api/openapi/overlay/cmd/validate.go:19:				RunValidateOverlay				0.0%
github.com/speakeasy-api/openapi/overlay/compare.go:14:					Compare						75.0%
github.com/speakeasy-api/openapi/overlay/compare.go:37:					intPart						100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:43:					keyPart						100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:50:					String						66.7%
github.com/speakeasy-api/openapi/overlay/compare.go:57:					KeyString					0.0%
github.com/speakeasy-api/openapi/overlay/compare.go:66:					WithIndex					100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:70:					WithKey						100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:74:					ToJSONPath					100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:83:					Dir						100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:87:					Base						0.0%
github.com/speakeasy-api/openapi/overlay/compare.go:91:					walkTreesAndCollectActions			88.9%
github.com/speakeasy-api/openapi/overlay/compare.go:156:				yamlEquals					85.7%
github.com/speakeasy-api/openapi/overlay/compare.go:178:				walkSequenceNode				93.8%
github.com/speakeasy-api/openapi/overlay/compare.go:207:				walkMappingNode					92.0%
github.com/speakeasy-api/openapi/overlay/jsonpath.go:20:				Query						75.0%
github.com/speakeasy-api/openapi/overlay/jsonpath.go:29:				NewPath						100.0%
github.com/speakeasy-api/openapi/overlay/jsonpath.go:42:				UsesRFC9535					100.0%
github.com/speakeasy-api/openapi/overlay/jsonpath.go:46:				mustExecute					100.0%
github.com/speakeasy-api/openapi/overlay/loader/overlay.go:11:				LoadOverlay					0.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:17:				GetOverlayExtendsPath				0.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:37:				LoadExtendsSpecification			0.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:47:				LoadSpecification				0.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:66:				LoadEitherSpecification				0.0%
github.com/speakeasy-api/openapi/overlay/parents.go:8:					newParentIndex					100.0%
github.com/speakeasy-api/openapi/overlay/parents.go:14:					indexNodeRecursively				100.0%
github.com/speakeasy-api/openapi/overlay/parents.go:21:					getParent					100.0%
github.com/speakeasy-api/openapi/overlay/parse.go:13:					Parse						76.9%
github.com/speakeasy-api/openapi/overlay/parse.go:37:					Format						0.0%
github.com/speakeasy-api/openapi/overlay/parse.go:55:					Format						0.0%
github.com/speakeasy-api/openapi/overlay/schema.go:33:					ToString					100.0%
github.com/speakeasy-api/openapi/overlay/utils.go:9:					NewTargetSelector				0.0%
github.com/speakeasy-api/openapi/overlay/utils.go:13:					NewUpdateAction					0.0%
github.com/speakeasy-api/openapi/overlay/validate.go:12:				Error						100.0%
github.com/speakeasy-api/openapi/overlay/validate.go:20:				Return						66.7%
github.com/speakeasy-api/openapi/overlay/validate.go:27:				Validate					57.9%
github.com/speakeasy-api/openapi/pointer/pointer.go:5:					From						0.0%
github.com/speakeasy-api/openapi/pointer/pointer.go:10:					Value						0.0%
github.com/speakeasy-api/openapi/references/factory_registration.go:8:			init						50.0%
github.com/speakeasy-api/openapi/references/reference.go:16:				GetURI						75.0%
github.com/speakeasy-api/openapi/references/reference.go:25:				HasJSONPointer					100.0%
github.com/speakeasy-api/openapi/references/reference.go:29:				GetJSONPointer					100.0%
github.com/speakeasy-api/openapi/references/reference.go:46:				Validate					100.0%
github.com/speakeasy-api/openapi/references/reference.go:73:				String						0.0%
github.com/speakeasy-api/openapi/references/resolution.go:39:				ResolveAbsoluteReference			100.0%
github.com/speakeasy-api/openapi/references/resolution.go:73:				Resolve						92.7%
github.com/speakeasy-api/openapi/references/resolution.go:196:				resolveAgainstURL				90.0%
github.com/speakeasy-api/openapi/references/resolution.go:217:				resolveAgainstFilePath				100.0%
github.com/speakeasy-api/openapi/references/resolution.go:227:				resolveAgainstDocument				80.0%
github.com/speakeasy-api/openapi/references/resolution.go:247:				resolveAgainstData				69.2%
github.com/speakeasy-api/openapi/references/resolution.go:295:				cast						33.3%
github.com/speakeasy-api/openapi/references/resolution_cache.go:26:			ResolveAbsoluteReferenceCached			100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:33:			Resolve						90.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:64:			resolveAbsoluteReferenceUncached		86.4%
github.com/speakeasy-api/openapi/references/resolution_cache.go:113:			Clear						100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:126:			GetStats					100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:136:			GetRefCacheStats				100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:141:			ClearGlobalRefCache				100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:41:				NewElem						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:49:				GetKey						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:58:				GetValue					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:75:				New						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:80:				NewWithCapacity					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:84:				newMap						80.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:117:				Init						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:125:				IsInitialized					66.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:133:				Len						66.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:141:				Set						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:159:				Add						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:182:				SetAny						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:195:				AddAny						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:208:				GetAny						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:218:				DeleteAny					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:228:				KeysAny						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:252:				SetUntyped					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:271:				Get						85.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:288:				GetUntyped					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:308:				GetOrZero					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:323:				Has						75.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:333:				Delete						85.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:350:				First						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:359:				Last						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:368:				At						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:382:				All						88.9%
github.com/speakeasy-api/openapi/sequencedmap/map.go:407:				AllOrdered					96.8%
github.com/speakeasy-api/openapi/sequencedmap/map.go:479:				AllUntyped					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:502:				Keys						77.8%
github.com/speakeasy-api/openapi/sequencedmap/map.go:525:				Values						77.8%
github.com/speakeasy-api/openapi/sequencedmap/map.go:547:				GetKeyType					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:553:				GetValueType					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:560:				NavigateWithKey					81.2%
github.com/speakeasy-api/openapi/sequencedmap/map.go:592:				MarshalJSON					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:628:				UnmarshalYAML					89.5%
github.com/speakeasy-api/openapi/sequencedmap/map.go:673:				MarshalYAML					75.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:695:				compareKeys					85.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:711:				IsEqual						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:752:				IsEqualFunc					94.7%
github.com/speakeasy-api/openapi/sequencedmap/utils.go:6:				Len						0.0%
github.com/speakeasy-api/openapi/sequencedmap/utils.go:14:				From						0.0%
github.com/speakeasy-api/openapi/system/filesystem.go:16:				Open						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:18:				Error						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:22:				Unwrap						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:26:				GetLineNumber					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:33:				GetColumnNumber					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:56:				NewValidationError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:67:				NewValueError					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:85:				NewSliceError					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:103:				NewMapKeyError					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:121:				NewMapValueError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:145:				NewTypeMismatchError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:155:				Error						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:165:				NewMissingFieldError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:171:				Error						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:181:				NewMissingValueError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:187:				Error						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:197:				NewValueValidationError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:207:				Error						0.0%
github.com/speakeasy-api/openapi/validation/options.go:13:				WithContextObject				0.0%
github.com/speakeasy-api/openapi/validation/options.go:19:				NewOptions					0.0%
github.com/speakeasy-api/openapi/validation/options.go:29:				GetContextObject				0.0%
github.com/speakeasy-api/openapi/validation/utils.go:9:					SortValidationErrors				0.0%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:27:				Unmarshal					57.7%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:79:				hasTypeMismatchErrors				66.7%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:98:				SyncChanges					62.2%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:169:			GetNavigableNode				0.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:29:				IsLeft						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:40:				GetLeft						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:52:				LeftValue					100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:63:				IsRight						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:74:				GetRight					100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:86:				RightValue					100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:95:				PopulateWithParent				69.2%
github.com/speakeasy-api/openapi/values/eithervalue.go:125:				GetNavigableNode				100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:138:				IsEqual						0.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:161:				equalWithIsEqualMethod				0.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:201:				isEmptyCollection				0.0%
github.com/speakeasy-api/openapi/walk/locations.go:30:					ToJSONPointer					0.0%
github.com/speakeasy-api/openapi/walk/set.go:16:					SetAtLocation					83.3%
github.com/speakeasy-api/openapi/walk/set.go:39:					setAtMap					75.0%
github.com/speakeasy-api/openapi/walk/set.go:49:					setAtSlice					75.0%
github.com/speakeasy-api/openapi/walk/set.go:59:					setAtStruct					77.8%
github.com/speakeasy-api/openapi/walk/set.go:82:					setAtField					78.2%
github.com/speakeasy-api/openapi/walk/set.go:190:					setAtSequencedMap				75.0%
github.com/speakeasy-api/openapi/yml/config.go:12:					String						0.0%
github.com/speakeasy-api/openapi/yml/config.go:40:					ContextWithConfig				0.0%
github.com/speakeasy-api/openapi/yml/config.go:48:					GetConfigFromContext				0.0%
github.com/speakeasy-api/openapi/yml/config.go:64:					GetConfigFromDoc				0.0%
github.com/speakeasy-api/openapi/yml/config.go:79:					inspectData					0.0%
github.com/speakeasy-api/openapi/yml/config.go:116:					getGlobalStringStyle				0.0%
github.com/speakeasy-api/openapi/yml/nodekind.go:8:					NodeKindToString				100.0%
github.com/speakeasy-api/openapi/yml/walk.go:21:					Walk						0.0%
github.com/speakeasy-api/openapi/yml/walk.go:33:					walkNode					0.0%
github.com/speakeasy-api/openapi/yml/walk.go:56:					walkDocumentNode				0.0%
github.com/speakeasy-api/openapi/yml/walk.go:66:					walkMappingNode					0.0%
github.com/speakeasy-api/openapi/yml/walk.go:83:					walkSequenceNode				0.0%
github.com/speakeasy-api/openapi/yml/walk.go:93:					walkAliasNode					0.0%
github.com/speakeasy-api/openapi/yml/yml.go:10:						CreateOrUpdateKeyNode				0.0%
github.com/speakeasy-api/openapi/yml/yml.go:31:						CreateOrUpdateScalarNode			0.0%
github.com/speakeasy-api/openapi/yml/yml.go:54:						CreateOrUpdateMapNodeElement			0.0%
github.com/speakeasy-api/openapi/yml/yml.go:84:						CreateStringNode				0.0%
github.com/speakeasy-api/openapi/yml/yml.go:92:						CreateIntNode					0.0%
github.com/speakeasy-api/openapi/yml/yml.go:100:					CreateFloatNode					0.0%
github.com/speakeasy-api/openapi/yml/yml.go:108:					CreateBoolNode					0.0%
github.com/speakeasy-api/openapi/yml/yml.go:116:					CreateMapNode					0.0%
github.com/speakeasy-api/openapi/yml/yml.go:124:					DeleteMapNodeElement				0.0%
github.com/speakeasy-api/openapi/yml/yml.go:144:					CreateOrUpdateSliceNode				0.0%
github.com/speakeasy-api/openapi/yml/yml.go:158:					GetMapElementNodes				0.0%
github.com/speakeasy-api/openapi/yml/yml.go:183:					ResolveAlias					0.0%
github.com/speakeasy-api/openapi/yml/yml.go:198:					EqualNodes					0.0%
total:											(statements)					63.6%
  • 🧪 All tests passed
  • 📈 Full coverage report available in workflow artifacts

Generated by GitHub Actions

@TristanSpeakEasy
TristanSpeakEasy merged commit 779ac8a into main Aug 29, 2025
9 checks passed
@TristanSpeakEasy
TristanSpeakEasy deleted the feat/openapi-clean-and-optimize branch August 29, 2025 00:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants