Skip to content

Conversation

@TristanSpeakEasy
Copy link
Member

Summary

This PR fixes a validation gap where empty component names in schema $ref references were not being caught by validation. It also updates the bundler/joiner to use spec-compliant separators.

Problem

Invalid references like $ref: '#/components/schemas/' (empty component name) were not being validated because Schema.Validate() was not calling Reference.Validate().

Additionally, the bundler and joiner were using ~ as a separator in component names (e.g., external_api_yaml~User), but ~ is a special escape character in JSON pointers and invalid in component names per the OpenAPI spec (^[a-zA-Z0-9.\-_]+$).

Changes

Validation Fix

  • jsonschema/oas3/validation.go: Added reference validation to Schema.Validate() to catch invalid references including empty component names
  • Added comprehensive test coverage for:
    • Top-level Validate[T] function (nil schema, bool schema, valid/invalid schema)
    • OpenAPI version variations (3.0, 3.1, 3.2)
    • $schema field variations
    • Invalid reference scenarios (empty component names, invalid characters, missing leading slash, etc.)

Bundler/Joiner Separator Fix

  • openapi/bundle.go, openapi/join.go: Changed component name separator from ~ to __ (double underscore) which is spec-compliant
  • Updated all documentation and comments to reflect the new separator
  • Updated expected test files

Test Coverage Improvements

Function Before After
Validate[T] (top-level) 80.0% 100.0%
Schema.Validate 85.7% 91.4%
initValidation 57.6% 72.7%

Verification

  • All 522 unit tests pass
  • All CLI integration tests pass
  • mise ci passes

@TristanSpeakEasy TristanSpeakEasy requested a review from a team as a code owner December 12, 2025 01:31
@TristanSpeakEasy TristanSpeakEasy added bug Something isn't working tests Test-related changes and improvements labels Dec 12, 2025
@codecov
Copy link

codecov bot commented Dec 12, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions
Copy link
Contributor

📊 Test Coverage Report

Current Coverage: 82.3%
Main Branch Coverage: 82.2%

Coverage Change: 📈 +.1% (improved)

Coverage by Package

Package Coverage
jsonschema/oas3/core 🟠 62.5%
arazzo/core 🟠 65.8%
extensions/core 🟡 75.0%
arazzo 🟡 76.8%
values/core 🟡 81.0%
arazzo/criterion 🟡 83.5%
extensions 🟡 84.4%
json 🟡 84.9%
internal/testutils 🟡 85.7%
swagger/core 🟡 86.9%
marshaller 🟡 87.9%
openapi 🟡 87.9%
references 🟡 88.9%
overlay 🟡 89.2%
jsonschema/oas3 🟡 89.7%
swagger 🟡 89.8%
yml 🟢 90.6%
walk 🟢 91.3%
hashing 🟢 91.6%
system 🟢 91.7%
jsonpointer 🟢 92.0%
openapi/core 🟢 92.0%
overlay/loader 🟢 92.2%
expression 🟢 92.4%
values 🟢 93.0%
sequencedmap 🟢 94.1%
internal/utils 🟢 95.7%
validation 🟢 97.2%
cache 🟢 100.0%
errors 🟢 100.0%
internal/interfaces 🟢 100.0%
internal/sliceutil 🟢 100.0%
internal/version 🟢 100.0%
pointer 🟢 100.0%
📋 Detailed Coverage by Function (click to expand)
github.com/speakeasy-api/openapi/arazzo/arazzo.go:59:					WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:67:					Unmarshal					91.7%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:90:					Marshal						100.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:95:					Sync						0.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:103:					Validate					88.9%
github.com/speakeasy-api/openapi/arazzo/components.go:41:				Validate					84.6%
github.com/speakeasy-api/openapi/arazzo/core/criterion.go:33:				Unmarshal					90.0%
github.com/speakeasy-api/openapi/arazzo/core/criterion.go:73:				SyncChanges					72.2%
github.com/speakeasy-api/openapi/arazzo/core/factory_registration.go:11:		init						52.1%
github.com/speakeasy-api/openapi/arazzo/core/reusable.go:27:				Unmarshal					93.8%
github.com/speakeasy-api/openapi/arazzo/core/reusable.go:60:				SyncChanges					21.1%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:41:			newCondition					87.5%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:80:			Validate					60.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					100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:84:			IsTypeProvided					100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:104:			GetCore						100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:109:			IsTypeProvided					100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:118:			GetType						100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:131:			GetVersion					100.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					100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:188:			Validate					94.4%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:228:			validateCondition				93.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						66.7%
github.com/speakeasy-api/openapi/arazzo/reusable.go:49:					IsReference					100.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:53:					GetReferencedObject				7.7%
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			100.0%
github.com/speakeasy-api/openapi/arazzo/sourcedescription.go:19:			Find						100.0%
github.com/speakeasy-api/openapi/arazzo/sourcedescription.go:55:			Validate					76.9%
github.com/speakeasy-api/openapi/arazzo/step.go:23:					Find						100.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			88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:354:					walkReusableSuccessAction			66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:370:					walkReusableFailureActions			88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:389:					walkReusableFailureAction			66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:405:					walkComponents					64.3%
github.com/speakeasy-api/openapi/arazzo/walk.go:440:					walkComponentInputs				22.2%
github.com/speakeasy-api/openapi/arazzo/walk.go:459:					walkComponentParameters				77.8%
github.com/speakeasy-api/openapi/arazzo/walk.go:478:					walkParameter					66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:493:					walkComponentSuccessActions			77.8%
github.com/speakeasy-api/openapi/arazzo/walk.go:512:					walkSuccessAction				66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:527:					walkComponentFailureActions			77.8%
github.com/speakeasy-api/openapi/arazzo/walk.go:546:					walkFailureAction				66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:610:					getMatchFunc					55.0%
github.com/speakeasy-api/openapi/arazzo/workflow.go:21:					Find						100.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/errors/errors.go:16:					Error						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:21:					Is						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:26:					As						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:36:					Wrap						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:45:					Error						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:52:					Is						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:56:					As						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:60:					Unwrap						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:67:					Is						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:72:					As						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:77:					New						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:82:					Join						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:90:					UnwrapErrors					100.0%
github.com/speakeasy-api/openapi/expression/expression.go:83:				String						100.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			91.7%
github.com/speakeasy-api/openapi/extensions/core/extensions.go:16:			UnmarshalExtensionModel				75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:29:				NewElem						100.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:60:				Len						66.7%
github.com/speakeasy-api/openapi/extensions/extensions.go:68:				SetCore						75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:77:				GetCore						100.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:81:				Populate					100.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:99:				UnmarshalExtensionModel				66.7%
github.com/speakeasy-api/openapi/extensions/extensions.go:124:				GetExtensionValue				70.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:146:				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				94.4%
github.com/speakeasy-api/openapi/hashing/hashing.go:106:				structToHashableString				87.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:155:				yamlNodeToHashableString			90.9%
github.com/speakeasy-api/openapi/hashing/hashing.go:179:				sequencedMapToHashableString			85.7%
github.com/speakeasy-api/openapi/internal/interfaces/interfaces.go:41:			ImplementsInterface				100.0%
github.com/speakeasy-api/openapi/internal/sliceutil/sliceutil.go:3:			Map						100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:22:			CreateStringYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:35:			CreateIntYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:45:			CreateBoolYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:55:			CreateMapYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:72:			isInterfaceNil					100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:85:			AssertEqualSequencedMap				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:132:			DownloadFile					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					87.5%
github.com/speakeasy-api/openapi/internal/utils/references.go:166:			joinURL						66.7%
github.com/speakeasy-api/openapi/internal/utils/references.go:190:			joinFilePath					100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:226:			getWindowsDir					80.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:237:			joinWindowsPaths				100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:271:			isWindowsAbsolutePath				80.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:285:			JoinReference					100.0%
github.com/speakeasy-api/openapi/internal/utils/slices.go:3:				MapSlice					100.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					100.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/version/version.go:17:			New						100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:25:			String						100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:29:			Equal						100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:33:			GreaterThan					100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:49:			LessThan					100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:53:			IsOneOf						100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:65:			Parse						100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:98:			MustParse					100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:106:			IsGreaterOrEqual				100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:119:			IsLessThan					100.0%
github.com/speakeasy-api/openapi/json/json.go:18:					YAMLToJSON					100.0%
github.com/speakeasy-api/openapi/json/json.go:25:					YAMLToJSONWithConfig				76.9%
github.com/speakeasy-api/openapi/json/json.go:68:					isSingleLineFlowNode				88.9%
github.com/speakeasy-api/openapi/json/json.go:90:					hasSpaceAfterColon				83.3%
github.com/speakeasy-api/openapi/json/json.go:125:					hasSpaceAfterComma				85.7%
github.com/speakeasy-api/openapi/json/json.go:160:					write						100.0%
github.com/speakeasy-api/openapi/json/json.go:166:					writeByte					100.0%
github.com/speakeasy-api/openapi/json/json.go:175:					writeJSONNode					50.0%
github.com/speakeasy-api/openapi/json/json.go:210:					writeJSONObject					95.0%
github.com/speakeasy-api/openapi/json/json.go:300:					writeJSONArray					96.3%
github.com/speakeasy-api/openapi/json/json.go:358:					writeJSONScalar					81.8%
github.com/speakeasy-api/openapi/json/json.go:388:					resolveMergeKeys				90.0%
github.com/speakeasy-api/openapi/json/json.go:453:					shouldBeMultiLine				54.5%
github.com/speakeasy-api/openapi/json/json.go:480:					quoteJSONString					85.7%
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						100.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				100.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:336:			getIndexBasedStructTarget			87.5%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:352:			getNavigableWithKeyTarget			80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:372:			getNavigableWithIndexTarget			80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:392:			getNavigableNoderTarget				77.8%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:410:			buildPath					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:421:			EscapeString					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:425:			escape						100.0%
github.com/speakeasy-api/openapi/jsonpointer/models.go:16:				navigateModel					87.3%
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:10:	init						62.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:38:			GetPropertyName					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:46:			GetMapping					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:54:			GetDefaultMapping				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:62:			GetExtensions					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:70:			Validate					90.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:94:			IsEqual						88.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:30:			GetDescription					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:38:			GetURL						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:46:			GetExtensions					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:54:			IsEqual						92.3%
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						90.0%
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:45:			NewJSONSchemaFromSchema				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:54:			NewJSONSchemaFromReference			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:65:			NewJSONSchemaFromBool				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:75:			NewReferencedScheme				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:111:			IsSchema					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:121:			GetSchema					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:131:			IsBool						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:141:			GetBool						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:149:			GetExtensions					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:166:			GetParent					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:182:			GetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:195:			SetParent					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:208:			SetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:216:			IsEqual						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:231:			Validate					88.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:259:			ConcreteToReferenceable				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:267:			ReferenceableToConcrete				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:272:			ShallowCopy					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:299:			PopulateWithParent				88.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:22:			IsResolved					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:31:			IsReference					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:41:			GetReference					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:51:			GetRef						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:60:			GetAbsRef					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:75:			Resolve						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:93:			GetResolvedObject				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:103:			GetResolvedSchema				88.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:142:			MustGetResolvedSchema				83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:154:			GetReferenceResolutionInfo			42.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:170:			resolve						95.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:263:			joinReferenceChain				60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:274:			resolveJSONSchemaWithTracking			95.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:321:			resolveDefsReference				77.8%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:365:			tryResolveDefsUsingJSONPointerNavigation	0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:411:			getParentJSONPointer				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:425:			unmarshaler					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						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:195:				IsReference					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:203:				GetExclusiveMaximum				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:211:				GetExclusiveMinimum				100.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					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:244:				GetOneOf					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:252:				GetAnyOf					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:260:				GetDiscriminator				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:268:				GetExamples					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:276:				GetPrefixItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:284:				GetContains					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:292:				GetMinContains					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:300:				GetMaxContains					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:308:				GetIf						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:316:				GetElse						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:324:				GetThen						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:332:				GetDependentSchemas				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:340:				GetPatternProperties				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:348:				GetPropertyNames				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:356:				GetUnevaluatedItems				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:364:				GetUnevaluatedProperties			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:372:				GetItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:380:				GetAnchor					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:388:				GetNot						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:396:				GetProperties					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:404:				GetDefs						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:412:				GetTitle					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:420:				GetMultipleOf					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:428:				GetMaximum					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:436:				GetMinimum					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:444:				GetMaxLength					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:452:				GetMinLength					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:460:				GetPattern					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:468:				GetFormat					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:476:				GetMaxItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:484:				GetMinItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:492:				GetUniqueItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:500:				GetMaxProperties				100.0%
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				100.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					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:556:				GetConst					100.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					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:596:				GetExample					100.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					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:620:				GetXML						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:628:				GetExtensions					100.0%
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/validation.go:66:			Validate					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:78:			Validate					91.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:158:			getRootCauses					80.6%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:231:			initValidation					72.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:16:				NewExclusiveMaximumFromBool			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:22:				NewExclusiveMaximumFromFloat64			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:28:				NewExclusiveMinimumFromBool			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:34:				NewExclusiveMinimumFromFloat64			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:40:				NewTypeFromArray				100.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						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:44:				GetNamespace					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:52:				GetPrefix					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:60:				GetAttribute					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:68:				GetWrapped					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:76:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:84:				IsEqual						94.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:120:				Validate					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:43:				GetRootNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:47:				GetRootNodeLine					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:54:				SetRootNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:63:				SetDocumentNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:67:				GetValid					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:71:				GetValidYaml					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:75:				DetermineValidity				85.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:90:				SetValid					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:95:				SetConfig					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:99:				GetConfig					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:103:				SetUnknownProperties				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:107:				GetUnknownProperties				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:118:				GetJSONPointer					87.5%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:141:				GetJSONPath					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:163:				Marshal						80.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:198:				resetNodeStylesForYAML				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:203:				resetNodeStylesForYAMLRecursive			86.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:245:				findNodePath					85.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:279:				findNodePathInMapping				86.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:314:				findNodePathInSequence				83.3%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:330:				resolveAlias					60.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:344:				getNodeKeyString				66.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:359:				buildJSONPointer				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:375:				escapeJSONPointerToken				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:383:				buildJSONPath					94.4%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:418:				needsBracketNotation				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:432:				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					100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:82:				IsRegistered					100.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				91.9%
github.com/speakeasy-api/openapi/marshaller/factory.go:255:				getFieldMapCached				100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:272:				ClearGlobalFieldCache				100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:285:				GetFieldCacheStats				100.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					100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:89:				GetRootNode					60.0%
github.com/speakeasy-api/openapi/marshaller/model.go:100:				GetRootNodeLine					80.0%
github.com/speakeasy-api/openapi/marshaller/model.go:111:				GetRootNodeColumn				80.0%
github.com/speakeasy-api/openapi/marshaller/model.go:122:				GetPropertyLine					92.9%
github.com/speakeasy-api/openapi/marshaller/model.go:156:				SetCore						100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:163:				SetCoreAny					100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:171:				GetCachedReferencedObject			100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:178:				StoreReferencedObjectInCache			100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:182:				GetCachedReferenceDocument			85.7%
github.com/speakeasy-api/openapi/marshaller/model.go:194:				StoreReferenceDocumentInCache			100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:198:				InitCache					100.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				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:87:					GetKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:95:					GetValueNode					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:99:					GetValueNodeOrRoot				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:106:				GetValueNodeOrRootLine				75.0%
github.com/speakeasy-api/openapi/marshaller/node.go:115:				GetSliceValueNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/marshaller/node.go:133:				GetMapKeyNodeOrRoot				88.9%
github.com/speakeasy-api/openapi/marshaller/node.go:152:				GetMapKeyNodeOrRootLine				75.0%
github.com/speakeasy-api/openapi/marshaller/node.go:161:				GetMapValueNodeOrRoot				88.9%
github.com/speakeasy-api/openapi/marshaller/node.go:180:				GetNavigableNode				100.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			68.2%
github.com/speakeasy-api/openapi/marshaller/populator.go:372:				getSourceForPopulation				22.2%
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				80.0%
github.com/speakeasy-api/openapi/marshaller/sequencedmap.go:190:			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					78.9%
github.com/speakeasy-api/openapi/marshaller/syncer.go:282:				syncArraySlice					84.6%
github.com/speakeasy-api/openapi/marshaller/syncer.go:376:				reorderArrayElements				75.5%
github.com/speakeasy-api/openapi/marshaller/syncer.go:475:				dereferenceAndInitializeIfNeededToLastPtr	100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:494:				dereferenceToLastPtr				100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:502:				getUnderlyingValue				100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:510:				initializeAndGetSequencedMapInterface		82.4%
github.com/speakeasy-api/openapi/marshaller/syncer.go:551:				getSourceInterface				42.9%
github.com/speakeasy-api/openapi/marshaller/syncer.go:567:				dereferenceType					100.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					89.5%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:120:			UnmarshalModel					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:124:			UnmarshalKeyValuePair				100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:141:			DecodeNode					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:145:			unmarshal					79.2%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:252:			unmarshalMapping				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:277:			unmarshalModel					87.4%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:479:			unmarshalStruct					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:483:			decodeNode					80.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:506:			unmarshalSequence				82.6%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:550:			unmarshalNode					66.7%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:601:			implementsInterface				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:622:			isEmbeddedSequencedMap				100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:627:			isStructType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:632:			isSliceType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:637:			isMapType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:642:			validateNodeKind				93.3%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:701:			asTypeMismatchError				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:710:			initializeEmbeddedSequencedMap			50.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:80:				createBootstrapPaths				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:123:				createUserResponses				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:132:				createBootstrapComponents			100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:141:				createBootstrapSchemas				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:198:				createBootstrapResponses			100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:234:				createBootstrapSecuritySchemes			100.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:117:					Bundle						84.6%
github.com/speakeasy-api/openapi/openapi/bundle.go:193:					bundleObject					80.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:236:					bundleSchema					83.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:312:					rewriteRefsInBundledSchemas			83.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:329:					prepareSourceURI				66.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:349:					rewriteRefsInSchema				73.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:389:					rewriteRefsInBundledComponents			85.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:407:					walkAndUpdateRefsInComponent			45.5%
github.com/speakeasy-api/openapi/openapi/bundle.go:436:					walkAndUpdateRefsInResponse			85.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:468:					walkAndUpdateRefsInParameter			55.6%
github.com/speakeasy-api/openapi/openapi/bundle.go:491:					walkAndUpdateRefsInRequestBody			70.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:514:					walkAndUpdateRefsInCallback			0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:530:					walkAndUpdateRefsInPathItem			0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:548:					walkAndUpdateRefsInLink				0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:554:					walkAndUpdateRefsInExample			0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:560:					walkAndUpdateRefsInSecurityScheme		0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:566:					walkAndUpdateRefsInHeader			44.4%
github.com/speakeasy-api/openapi/openapi/bundle.go:589:					updateSchemaRefWithSource			87.5%
github.com/speakeasy-api/openapi/openapi/bundle.go:605:					updateComponentRefWithSource			85.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:620:					bundleGenericReference				81.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:723:					getFinalAbsoluteRef				73.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:764:					getFinalResolutionInfo				50.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:788:					generateComponentName				80.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:803:					generateComponentNameWithHashConflictResolution	90.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:833:					generateFilePathBasedNameWithConflictResolution	100.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:847:					generateFilePathBasedName			92.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:904:					normalizePathForComponentName			86.5%
github.com/speakeasy-api/openapi/openapi/bundle.go:995:					generateCounterBasedName			100.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:1011:				updateReferencesToComponents			79.2%
github.com/speakeasy-api/openapi/openapi/bundle.go:1068:				updateReference					100.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:1085:				addComponentsToDocument				59.6%
github.com/speakeasy-api/openapi/openapi/bundle.go:1208:				handleReference					83.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:1309:				makeReferenceRelativeForNaming			73.9%
github.com/speakeasy-api/openapi/openapi/bundle.go:1365:				detectPathStyle					0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:1381:				isInternalReference				83.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:1393:				extractSimpleNameFromReference			92.9%
github.com/speakeasy-api/openapi/openapi/bundle.go:1418:				findCircularReferenceMatch			33.3%
github.com/speakeasy-api/openapi/openapi/callbacks.go:29:				NewCallback					100.0%
github.com/speakeasy-api/openapi/openapi/callbacks.go:36:				Len						100.0%
github.com/speakeasy-api/openapi/openapi/callbacks.go:44:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/callbacks.go:51:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:71:					Clean						90.9%
github.com/speakeasy-api/openapi/openapi/clean.go:171:					trackSchemaReferences				85.7%
github.com/speakeasy-api/openapi/openapi/clean.go:200:					trackPathItemReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:213:					trackParameterReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:226:					trackExampleReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:239:					trackRequestBodyReference			100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:252:					trackResponseReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:265:					trackHeaderReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:278:					trackCallbackReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:291:					trackLinkReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:304:					trackSecuritySchemeReference			28.6%
github.com/speakeasy-api/openapi/openapi/clean.go:317:					trackOperationTags				85.7%
github.com/speakeasy-api/openapi/openapi/clean.go:331:					trackSecurityRequirementNames			80.0%
github.com/speakeasy-api/openapi/openapi/clean.go:342:					extractComponentName				75.0%
github.com/speakeasy-api/openapi/openapi/clean.go:351:					removeUnusedComponentsFromDocument		100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:523:					removeUnusedTagsFromDocument			81.2%
github.com/speakeasy-api/openapi/openapi/clean.go:559:					walkAndTrackWithFilter				95.0%
github.com/speakeasy-api/openapi/openapi/clean.go:623:					extractComponentTypeAndName			81.8%
github.com/speakeasy-api/openapi/openapi/clean.go:644:					unescapeJSONPointerToken			100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:653:					countTracked					92.9%
github.com/speakeasy-api/openapi/openapi/components.go:47:				GetSchemas					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:55:				GetResponses					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:63:				GetParameters					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:71:				GetExamples					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:79:				GetRequestBodies				100.0%
github.com/speakeasy-api/openapi/openapi/components.go:87:				GetHeaders					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:95:				GetSecuritySchemes				100.0%
github.com/speakeasy-api/openapi/openapi/components.go:103:				GetLinks					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:111:				GetCallbacks					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:119:				GetPathItems					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:127:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:135:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/core/callbacks.go:17:				NewCallback					100.0%
github.com/speakeasy-api/openapi/openapi/core/callbacks.go:23:				GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/openapi/core/callbacks.go:41:				GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/openapi/core/factory_registration.go:11:		init						58.5%
github.com/speakeasy-api/openapi/openapi/core/paths.go:17:				NewPaths					100.0%
github.com/speakeasy-api/openapi/openapi/core/paths.go:23:				GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/openapi/core/paths.go:41:				GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/openapi/core/paths.go:64:				NewPathItem					100.0%
github.com/speakeasy-api/openapi/openapi/core/paths.go:70:				GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/openapi/core/paths.go:88:				GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/openapi/core/reference.go:28:				Unmarshal					93.3%
github.com/speakeasy-api/openapi/openapi/core/reference.go:57:				SyncChanges					66.7%
github.com/speakeasy-api/openapi/openapi/core/responses.go:18:				NewResponses					100.0%
github.com/speakeasy-api/openapi/openapi/core/responses.go:24:				GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/openapi/core/responses.go:42:				GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/openapi/core/security.go:31:				NewSecurityRequirement				100.0%
github.com/speakeasy-api/openapi/openapi/core/security.go:37:				GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/openapi/core/security.go:55:				GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:42:				GetContentType					33.3%
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					100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:110:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/encoding.go:118:				Validate					94.4%
github.com/speakeasy-api/openapi/openapi/examples.go:39:				GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:47:				GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:55:				GetValue					100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:63:				GetExternalValue				100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:71:				GetDataValue					100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:79:				GetSerializedValue				100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:87:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:95:				ResolveExternalValue				100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:101:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/factory_registration.go:13:			init						93.9%
github.com/speakeasy-api/openapi/openapi/header.go:47:					GetSchema					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:55:					GetRequired					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:63:					GetDeprecated					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:71:					GetStyle					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:79:					GetExplode					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:87:					GetContent					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:95:					GetExample					66.7%
github.com/speakeasy-api/openapi/openapi/header.go:103:					GetExamples					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:111:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:119:					GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:127:					Validate					93.8%
github.com/speakeasy-api/openapi/openapi/info.go:40:					GetTitle					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:48:					GetVersion					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:56:					GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:64:					GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:72:					GetTermsOfService				100.0%
github.com/speakeasy-api/openapi/openapi/info.go:80:					GetContact					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:88:					GetLicense					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:96:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:104:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:151:					GetName						100.0%
github.com/speakeasy-api/openapi/openapi/info.go:159:					GetURL						100.0%
github.com/speakeasy-api/openapi/openapi/info.go:167:					GetEmail					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:175:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:183:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:221:					GetName						100.0%
github.com/speakeasy-api/openapi/openapi/info.go:229:					GetIdentifier					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:237:					GetURL						100.0%
github.com/speakeasy-api/openapi/openapi/info.go:245:					GetExtensions					100.0%
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:194:					joinSingleDocument				83.3%
github.com/speakeasy-api/openapi/openapi/join.go:230:					joinPaths					71.4%
github.com/speakeasy-api/openapi/openapi/join.go:282:					mergePathItemOperations				92.3%
github.com/speakeasy-api/openapi/openapi/join.go:319:					createPathItemWithOperations			100.0%
github.com/speakeasy-api/openapi/openapi/join.go:331:					generateConflictPath				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:347:					joinWebhooks					83.3%
github.com/speakeasy-api/openapi/openapi/join.go:364:					joinComponents					62.5%
github.com/speakeasy-api/openapi/openapi/join.go:386:					joinSchemas					89.5%
github.com/speakeasy-api/openapi/openapi/join.go:426:					joinOtherComponents				50.3%
github.com/speakeasy-api/openapi/openapi/join.go:667:					generateJoinComponentName			75.0%
github.com/speakeasy-api/openapi/openapi/join.go:679:					generateJoinFilePathBasedName			84.6%
github.com/speakeasy-api/openapi/openapi/join.go:707:					generateJoinCounterBasedName			100.0%
github.com/speakeasy-api/openapi/openapi/join.go:719:					updateReferencesInDocument			79.2%
github.com/speakeasy-api/openapi/openapi/join.go:778:					updateComponentReference			20.0%
github.com/speakeasy-api/openapi/openapi/join.go:797:					joinTags					100.0%
github.com/speakeasy-api/openapi/openapi/join.go:820:					collectOperationIds				81.2%
github.com/speakeasy-api/openapi/openapi/join.go:857:					resolveOperationIdConflicts			69.6%
github.com/speakeasy-api/openapi/openapi/join.go:909:					generateDocumentName				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:924:					joinServersAndSecurity				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:951:					areServersIdentical				85.7%
github.com/speakeasy-api/openapi/openapi/join.go:970:					areSecurityIdentical				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:986:					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					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:72:					GetRequestBody					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:80:					GetServer					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:88:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:95:					ResolveOperation				100.0%
github.com/speakeasy-api/openapi/openapi/links.go:100:					Validate					92.9%
github.com/speakeasy-api/openapi/openapi/localize.go:114:				Localize					60.0%
github.com/speakeasy-api/openapi/openapi/localize.go:168:				discoverExternalReferences			46.7%
github.com/speakeasy-api/openapi/openapi/localize.go:211:				discoverSchemaReference				87.1%
github.com/speakeasy-api/openapi/openapi/localize.go:285:				discoverGenericReference			4.8%
github.com/speakeasy-api/openapi/openapi/localize.go:389:				generateLocalizedFilenames			100.0%
github.com/speakeasy-api/openapi/openapi/localize.go:430:				generateLocalizedFilenameWithConflictDetection	88.9%
github.com/speakeasy-api/openapi/openapi/localize.go:451:				generatePathBasedFilenameWithConflictDetection	58.1%
github.com/speakeasy-api/openapi/openapi/localize.go:515:				generateCounterBasedFilename			100.0%
github.com/speakeasy-api/openapi/openapi/localize.go:532:				copyExternalFiles				77.8%
github.com/speakeasy-api/openapi/openapi/localize.go:553:				rewriteInternalReferences			66.7%
github.com/speakeasy-api/openapi/openapi/localize.go:575:				rewriteYAMLReferences				77.8%
github.com/speakeasy-api/openapi/openapi/localize.go:616:				rewriteReferenceValue				89.5%
github.com/speakeasy-api/openapi/openapi/localize.go:663:				resolveRelativeReference			75.9%
github.com/speakeasy-api/openapi/openapi/localize.go:729:				rewriteReferencesToLocalized			67.9%
github.com/speakeasy-api/openapi/openapi/localize.go:796:				updateGenericReference				14.3%
github.com/speakeasy-api/openapi/openapi/localize.go:827:				normalizeFilePath				80.0%
github.com/speakeasy-api/openapi/openapi/localize.go:871:				handleLocalizeReference				31.8%
github.com/speakeasy-api/openapi/openapi/marshalling.go:20:				WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/openapi/marshalling.go:28:				Unmarshal					92.9%
github.com/speakeasy-api/openapi/openapi/marshalling.go:55:				Marshal						100.0%
github.com/speakeasy-api/openapi/openapi/marshalling.go:61:				Sync						0.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:47:				GetSchema					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:55:				GetItemSchema					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:63:				GetEncoding					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:71:				GetPrefixEncoding				100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:79:				GetItemEncoding					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:87:				GetExamples					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:95:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:103:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:184:				GetExample					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:66:					NewOpenAPI					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:73:					GetOpenAPI					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:81:					GetSelf						100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:89:					GetInfo						100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:97:					GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:105:				GetTags						100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:113:				GetServers					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:121:				GetSecurity					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:129:				GetPaths					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:137:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:145:				GetWebhooks					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:153:				GetComponents					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:161:				GetJSONSchemaDialect				100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:169:				Validate					94.3%
github.com/speakeasy-api/openapi/openapi/operation.go:53:				GetOperationID					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:61:				GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:69:				GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:77:				GetDeprecated					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:85:				GetTags						100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:93:				GetServers					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:101:				GetSecurity					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:109:				GetParameters					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:117:				GetRequestBody					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:125:				GetResponses					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:133:				GetCallbacks					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:141:				GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:149:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:159:				IsDeprecated					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:164:				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						100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:78:				GetName						100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:86:				GetIn						100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:94:				GetSchema					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:102:				GetRequired					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:110:				GetDeprecated					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:118:				GetAllowEmptyValue				100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:133:				GetStyle					22.2%
github.com/speakeasy-api/openapi/openapi/parameter.go:154:				GetExplode					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:162:				GetContent					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:170:				GetExample					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:178:				GetExamples					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:186:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:194:				GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:202:				GetAllowReserved				66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:210:				Validate					72.7%
github.com/speakeasy-api/openapi/openapi/paths.go:30:					NewPaths					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:37:					Len						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:45:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:53:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:101:					Is						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:105:					IsStandardMethod				100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:135:					NewPathItem					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:142:					Len						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:150:					GetOperation					83.3%
github.com/speakeasy-api/openapi/openapi/paths.go:164:					Get						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:172:					Put						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:180:					Post						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:188:					Delete						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:196:					Options						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:204:					Head						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:212:					Patch						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:220:					Trace						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:228:					Query						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:236:					GetAdditionalOperations				100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:244:					GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:252:					GetServers					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:260:					GetParameters					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:268:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:276:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:284:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:42:				NewReferencedPathItemFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:49:				NewReferencedPathItemFromPathItem		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:56:				NewReferencedExampleFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:63:				NewReferencedExampleFromExample			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:70:				NewReferencedParameterFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:77:				NewReferencedParameterFromParameter		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:84:				NewReferencedHeaderFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:91:				NewReferencedHeaderFromHeader			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:98:				NewReferencedRequestBodyFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:105:				NewReferencedRequestBodyFromRequestBody		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:112:				NewReferencedResponseFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:119:				NewReferencedResponseFromResponse		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:126:				NewReferencedCallbackFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:133:				NewReferencedCallbackFromCallback		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:140:				NewReferencedLinkFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:147:				NewReferencedLinkFromLink			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:154:				NewReferencedSecuritySchemeFromRef		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:161:				NewReferencedSecuritySchemeFromSecurityScheme	100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:219:				Resolve						83.3%
github.com/speakeasy-api/openapi/openapi/reference.go:240:				IsReference					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:248:				IsResolved					75.0%
github.com/speakeasy-api/openapi/openapi/reference.go:264:				GetReference					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:273:				GetResolvedObject				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:283:				GetObject					90.9%
github.com/speakeasy-api/openapi/openapi/reference.go:306:				MustGetObject					66.7%
github.com/speakeasy-api/openapi/openapi/reference.go:320:				GetObjectAny					66.7%
github.com/speakeasy-api/openapi/openapi/reference.go:328:				GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:336:				GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:352:				GetParent					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:368:				GetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:381:				SetParent					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:394:				SetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:402:				Validate					93.8%
github.com/speakeasy-api/openapi/openapi/reference.go:432:				Populate					84.6%
github.com/speakeasy-api/openapi/openapi/reference.go:458:				GetNavigableNode				33.3%
github.com/speakeasy-api/openapi/openapi/reference.go:470:				GetReferenceResolutionInfo			70.0%
github.com/speakeasy-api/openapi/openapi/reference.go:490:				resolve						84.8%
github.com/speakeasy-api/openapi/openapi/reference.go:555:				resolveObjectWithTracking			92.5%
github.com/speakeasy-api/openapi/openapi/reference.go:632:				joinReferenceChain				80.0%
github.com/speakeasy-api/openapi/openapi/reference.go:649:				unmarshaler					75.0%
github.com/speakeasy-api/openapi/openapi/reference.go:665:				ensureMutex					100.0%
github.com/speakeasy-api/openapi/openapi/requests.go:31:				GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/requests.go:39:				GetContent					100.0%
github.com/speakeasy-api/openapi/openapi/requests.go:47:				GetRequired					100.0%
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:				Len						66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:44:				GetDefault					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:52:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:59:				Populate					84.0%
github.com/speakeasy-api/openapi/openapi/responses.go:108:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:149:				GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:157:				GetHeaders					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:165:				GetContent					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:173:				GetLinks					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:181:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:189:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/sanitize.go:170:				Sanitize					81.2%
github.com/speakeasy-api/openapi/openapi/sanitize.go:207:				LoadSanitizeConfig				85.7%
github.com/speakeasy-api/openapi/openapi/sanitize.go:222:				LoadSanitizeConfigFromFile			60.0%
github.com/speakeasy-api/openapi/openapi/sanitize.go:234:				determineRemovalAction				86.2%
github.com/speakeasy-api/openapi/openapi/sanitize.go:362:				removeExtensions				90.6%
github.com/speakeasy-api/openapi/openapi/sanitize.go:485:				removeUnknownProperties				37.5%
github.com/speakeasy-api/openapi/openapi/sanitize.go:557:				cleanUnknownPropertiesFromJSONSchema		66.7%
github.com/speakeasy-api/openapi/openapi/sanitize.go:573:				cleanUnknownPropertiesFromModel			85.7%
github.com/speakeasy-api/openapi/openapi/sanitize.go:603:				getCoreModelFromAny				72.7%
github.com/speakeasy-api/openapi/openapi/sanitize.go:633:				removePropertiesFromNode			87.5%
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:78:				GetType						100.0%
github.com/speakeasy-api/openapi/openapi/security.go:86:				GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:94:				GetName						100.0%
github.com/speakeasy-api/openapi/openapi/security.go:102:				GetIn						100.0%
github.com/speakeasy-api/openapi/openapi/security.go:110:				GetScheme					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:118:				GetBearerFormat					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:126:				GetFlows					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:134:				GetOpenIdConnectUrl				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:142:				GetOAuth2MetadataUrl				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:150:				GetDeprecated					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:158:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:166:				Validate					96.0%
github.com/speakeasy-api/openapi/openapi/security.go:234:				NewSecurityRequirement				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:240:				Populate					93.8%
github.com/speakeasy-api/openapi/openapi/security.go:275:				Validate					92.9%
github.com/speakeasy-api/openapi/openapi/security.go:345:				GetImplicit					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:353:				GetPassword					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:361:				GetClientCredentials				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:369:				GetAuthorizationCode				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:377:				GetDeviceAuthorization				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:385:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:393:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:439:				GetAuthorizationURL				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:447:				GetDeviceAuthorizationURL			100.0%
github.com/speakeasy-api/openapi/openapi/security.go:455:				GetTokenURL					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:463:				GetRefreshURL					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:471:				GetScopes					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:479:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:487:				Validate					78.6%
github.com/speakeasy-api/openapi/openapi/serialization.go:10:				String						100.0%
github.com/speakeasy-api/openapi/openapi/server.go:43:					GetURL						100.0%
github.com/speakeasy-api/openapi/openapi/server.go:51:					GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:59:					GetName						66.7%
github.com/speakeasy-api/openapi/openapi/server.go:67:					GetVariables					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:75:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:83:					Validate					93.3%
github.com/speakeasy-api/openapi/openapi/server.go:131:					GetDefault					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:139:					GetEnum						100.0%
github.com/speakeasy-api/openapi/openapi/server.go:147:					GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:155:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:174:					resolveServerVariables				93.8%
github.com/speakeasy-api/openapi/openapi/snip.go:74:					Snip						88.2%
github.com/speakeasy-api/openapi/openapi/snip.go:114:					removeOperationByID				77.8%
github.com/speakeasy-api/openapi/openapi/snip.go:139:					removeOperation					76.9%
github.com/speakeasy-api/openapi/openapi/tag.go:38:					GetName						100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:46:					GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:54:					GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:62:					GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/tag.go:70:					GetParent					100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:78:					GetKind						100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:86:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:94:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:143:					hasCircularParentReference			100.0%
github.com/speakeasy-api/openapi/openapi/tag_kind_registry.go:25:			String						100.0%
github.com/speakeasy-api/openapi/openapi/tag_kind_registry.go:30:			IsRegistered					100.0%
github.com/speakeasy-api/openapi/openapi/tag_kind_registry.go:40:			GetRegisteredTagKinds				100.0%
github.com/speakeasy-api/openapi/openapi/tag_kind_registry.go:56:			GetTagKindDescription				100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:22:					WithUpgradeSameMinorVersion			100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:28:					WithUpgradeTargetVersion			100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:36:					Upgrade						82.1%
github.com/speakeasy-api/openapi/openapi/upgrade.go:89:					upgradeFrom30To31				100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:103:				upgradeFrom310To312				62.5%
github.com/speakeasy-api/openapi/openapi/upgrade.go:119:				upgradeFrom31To32				83.3%
github.com/speakeasy-api/openapi/openapi/upgrade.go:147:				migrateAdditionalOperations31to32		87.5%
github.com/speakeasy-api/openapi/openapi/upgrade.go:186:				migrateTags31to32				77.8%
github.com/speakeasy-api/openapi/openapi/upgrade.go:210:				migrateTagDisplayName				20.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:239:				migrateTagGroups				86.2%
github.com/speakeasy-api/openapi/openapi/upgrade.go:304:				ensureParentTagExists				80.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:331:				setTagParent					100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:359:				upgradeSchema30to31				100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:371:				upgradeExample30to31				100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:384:				upgradeExclusiveMinMax30to31			100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:404:				upgradeNullableSchema30to31			94.4%
github.com/speakeasy-api/openapi/openapi/upgrade.go:436:				createNullSchema				100.0%
github.com/speakeasy-api/openapi/openapi/utils.go:26:					ResolveAllReferences				100.0%
github.com/speakeasy-api/openapi/openapi/utils.go:91:					resolveAny					88.2%
github.com/speakeasy-api/openapi/openapi/utils.go:155:					ExtractMethodAndPath				88.9%
github.com/speakeasy-api/openapi/openapi/utils.go:191:					GetParentType					100.0%
github.com/speakeasy-api/openapi/openapi/walk.go:24:					Walk						75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:34:					walkFrom					20.5%
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					71.4%
github.com/speakeasy-api/openapi/openapi/walk.go:292:					walkOperation					70.0%
github.com/speakeasy-api/openapi/openapi/walk.go:343:					walkReferencedParameters			88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:363:					walkReferencedParameter				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:383:					walkParameter					55.6%
github.com/speakeasy-api/openapi/openapi/walk.go:408:					walkReferencedRequestBody			87.5%
github.com/speakeasy-api/openapi/openapi/walk.go:428:					walkRequestBody					80.0%
github.com/speakeasy-api/openapi/openapi/walk.go:443:					walkResponses					81.8%
github.com/speakeasy-api/openapi/openapi/walk.go:471:					walkReferencedResponse				87.5%
github.com/speakeasy-api/openapi/openapi/walk.go:491:					walkResponse					66.7%
github.com/speakeasy-api/openapi/openapi/walk.go:516:					walkMediaTypes					100.0%
github.com/speakeasy-api/openapi/openapi/walk.go:536:					walkMediaType					61.1%
github.com/speakeasy-api/openapi/openapi/walk.go:582:					walkEncodings					88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:602:					walkPrefixEncodings				88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:622:					walkEncoding					75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:643:					walkReferencedHeaders				88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:663:					walkReferencedHeader				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:683:					walkHeader					55.6%
github.com/speakeasy-api/openapi/openapi/walk.go:708:					walkReferencedExamples				88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:728:					walkReferencedExample				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:748:					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					100.0%
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						88.9%
github.com/speakeasy-api/openapi/overlay/apply.go:36:					ApplyToStrict					96.7%
github.com/speakeasy-api/openapi/overlay/apply.go:90:					validateSelectorHasAtLeastOneTarget		83.3%
github.com/speakeasy-api/openapi/overlay/apply.go:127:					applyRemoveAction				90.0%
github.com/speakeasy-api/openapi/overlay/apply.go:148:					removeNode					91.7%
github.com/speakeasy-api/openapi/overlay/apply.go:174:					applyUpdateAction				78.6%
github.com/speakeasy-api/openapi/overlay/apply.go:201:					updateNode					100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:205:					mergeNode					100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:224:					mergeMappingNode				100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:253:					mergeSequenceNode				100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:258:					clone						87.5%
github.com/speakeasy-api/openapi/overlay/apply.go:283:					applyCopyAction					80.8%
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					100.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:20:				GetOverlayExtendsPath				61.1%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:64:				LoadExtendsSpecification			100.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:74:				LoadSpecification				100.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:94:				LoadEitherSpecification				100.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						81.8%
github.com/speakeasy-api/openapi/overlay/parse.go:34:					Format						80.0%
github.com/speakeasy-api/openapi/overlay/parse.go:52:					Format						100.0%
github.com/speakeasy-api/openapi/overlay/schema.go:33:					ToString					100.0%
github.com/speakeasy-api/openapi/overlay/utils.go:9:					NewTargetSelector				100.0%
github.com/speakeasy-api/openapi/overlay/utils.go:13:					NewUpdateAction					100.0%
github.com/speakeasy-api/openapi/overlay/validate.go:32:				Error						100.0%
github.com/speakeasy-api/openapi/overlay/validate.go:40:				Return						100.0%
github.com/speakeasy-api/openapi/overlay/validate.go:47:				ValidateVersion					100.0%
github.com/speakeasy-api/openapi/overlay/validate.go:60:				Validate					100.0%
github.com/speakeasy-api/openapi/pointer/pointer.go:5:					From						100.0%
github.com/speakeasy-api/openapi/pointer/pointer.go:10:					Value						100.0%
github.com/speakeasy-api/openapi/references/factory_registration.go:8:			init						50.0%
github.com/speakeasy-api/openapi/references/reference.go:21:				GetURI						75.0%
github.com/speakeasy-api/openapi/references/reference.go:30:				HasJSONPointer					100.0%
github.com/speakeasy-api/openapi/references/reference.go:34:				GetJSONPointer					100.0%
github.com/speakeasy-api/openapi/references/reference.go:51:				Validate					100.0%
github.com/speakeasy-api/openapi/references/reference.go:85:				validateComponentReference			100.0%
github.com/speakeasy-api/openapi/references/reference.go:120:				String						100.0%
github.com/speakeasy-api/openapi/references/resolution.go:46:				ResolveAbsoluteReference			100.0%
github.com/speakeasy-api/openapi/references/resolution.go:80:				Resolve						92.7%
github.com/speakeasy-api/openapi/references/resolution.go:203:				resolveAgainstURL				90.0%
github.com/speakeasy-api/openapi/references/resolution.go:224:				resolveAgainstFilePath				100.0%
github.com/speakeasy-api/openapi/references/resolution.go:234:				resolveAgainstDocument				80.0%
github.com/speakeasy-api/openapi/references/resolution.go:254:				resolveAgainstData				69.2%
github.com/speakeasy-api/openapi/references/resolution.go:302:				cast						28.6%
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		90.5%
github.com/speakeasy-api/openapi/references/resolution_cache.go:115:			Clear						100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:128:			GetStats					100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:138:			GetRefCacheStats				100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:143:			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						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:58:				GetValue					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:75:				New						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:80:				NewWithCapacity					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:84:				newMap						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:117:				Init						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:125:				IsInitialized					100.0%
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						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:195:				AddAny						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:208:				GetAny						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:218:				DeleteAny					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:228:				KeysAny						88.9%
github.com/speakeasy-api/openapi/sequencedmap/map.go:252:				SetUntyped					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:271:				Get						85.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:288:				GetUntyped					90.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:308:				GetOrZero					100.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						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:359:				Last						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:368:				At						100.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					88.9%
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					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:553:				GetValueType					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:560:				NavigateWithKey					93.8%
github.com/speakeasy-api/openapi/sequencedmap/map.go:591:				MarshalJSON					76.2%
github.com/speakeasy-api/openapi/sequencedmap/map.go:688:				UnmarshalYAML					89.5%
github.com/speakeasy-api/openapi/sequencedmap/map.go:733:				MarshalYAML					83.3%
github.com/speakeasy-api/openapi/sequencedmap/map.go:755:				compareKeys					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:766:				IsEqual						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:807:				IsEqualFunc					94.7%
github.com/speakeasy-api/openapi/sequencedmap/utils.go:6:				Len						100.0%
github.com/speakeasy-api/openapi/sequencedmap/utils.go:14:				From						100.0%
github.com/speakeasy-api/openapi/swagger/core/factory_registration.go:9:		init						64.1%
github.com/speakeasy-api/openapi/swagger/core/paths.go:18:				NewPaths					100.0%
github.com/speakeasy-api/openapi/swagger/core/paths.go:24:				GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/swagger/core/paths.go:42:				GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/swagger/core/paths.go:60:				NewPathItem					100.0%
github.com/speakeasy-api/openapi/swagger/core/paths.go:66:				GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/swagger/core/paths.go:84:				GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/swagger/core/reference.go:26:				Unmarshal					93.3%
github.com/speakeasy-api/openapi/swagger/core/reference.go:53:				SyncChanges					10.3%
github.com/speakeasy-api/openapi/swagger/core/response.go:21:				NewResponses					100.0%
github.com/speakeasy-api/openapi/swagger/core/response.go:27:				GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/swagger/core/response.go:45:				GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/swagger/core/security.go:30:				NewSecurityRequirement				100.0%
github.com/speakeasy-api/openapi/swagger/externaldocs.go:29:				GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/externaldocs.go:37:				GetURL						100.0%
github.com/speakeasy-api/openapi/swagger/externaldocs.go:45:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/externaldocs.go:53:				Validate					77.8%
github.com/speakeasy-api/openapi/swagger/factory_registration.go:11:			init						89.5%
github.com/speakeasy-api/openapi/swagger/info.go:38:					GetTitle					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:46:					GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:54:					GetTermsOfService				100.0%
github.com/speakeasy-api/openapi/swagger/info.go:62:					GetContact					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:70:					GetLicense					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:78:					GetVersion					66.7%
github.com/speakeasy-api/openapi/swagger/info.go:86:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:94:					Validate					80.0%
github.com/speakeasy-api/openapi/swagger/info.go:142:					GetName						66.7%
github.com/speakeasy-api/openapi/swagger/info.go:150:					GetURL						66.7%
github.com/speakeasy-api/openapi/swagger/info.go:158:					GetEmail					66.7%
github.com/speakeasy-api/openapi/swagger/info.go:166:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:174:					Validate					90.0%
github.com/speakeasy-api/openapi/swagger/info.go:210:					GetName						66.7%
github.com/speakeasy-api/openapi/swagger/info.go:218:					GetURL						66.7%
github.com/speakeasy-api/openapi/swagger/info.go:226:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:234:					Validate					77.8%
github.com/speakeasy-api/openapi/swagger/marshalling.go:20:				WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/swagger/marshalling.go:28:				Unmarshal					92.3%
github.com/speakeasy-api/openapi/swagger/marshalling.go:54:				Marshal						100.0%
github.com/speakeasy-api/openapi/swagger/marshalling.go:60:				Sync						0.0%
github.com/speakeasy-api/openapi/swagger/operation.go:49:				GetTags						100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:57:				GetSummary					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:65:				GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:73:				GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:81:				GetOperationID					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:89:				GetConsumes					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:97:				GetProduces					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:105:				GetParameters					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:113:				GetResponses					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:121:				GetSchemes					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:129:				GetDeprecated					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:137:				GetSecurity					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:145:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:153:				Validate					90.6%
github.com/speakeasy-api/openapi/swagger/parameter.go:110:				GetName						100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:118:				GetIn						100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:126:				GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:134:				GetRequired					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:142:				GetSchema					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:150:				GetType						100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:158:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:166:				Validate					92.9%
github.com/speakeasy-api/openapi/swagger/parameter.go:222:				validateIn					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:240:				validateParameterType				93.8%
github.com/speakeasy-api/openapi/swagger/parameter.go:351:				GetType						100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:359:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:367:				Validate					94.7%
github.com/speakeasy-api/openapi/swagger/paths.go:27:					NewPaths					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:34:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:42:					Validate					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:98:					NewPathItem					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:105:					GetRef						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:113:					GetParameters					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:121:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:129:					GetOperation					83.3%
github.com/speakeasy-api/openapi/swagger/paths.go:143:					Get						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:148:					Put						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:153:					Post						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:158:					Delete						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:163:					Options						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:168:					Head						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:173:					Patch						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:178:					Validate					100.0%
github.com/speakeasy-api/openapi/swagger/reference.go:24:				NewReferencedParameterFromRef			100.0%
github.com/speakeasy-api/openapi/swagger/reference.go:31:				NewReferencedParameterFromParameter		100.0%
github.com/speakeasy-api/openapi/swagger/reference.go:38:				NewReferencedResponseFromRef			100.0%
github.com/speakeasy-api/openapi/swagger/reference.go:45:				NewReferencedResponseFromResponse		100.0%
github.com/speakeasy-api/openapi/swagger/reference.go:65:				IsReference					66.7%
github.com/speakeasy-api/openapi/swagger/reference.go:73:				GetReference					66.7%
github.com/speakeasy-api/openapi/swagger/reference.go:81:				GetObject					60.0%
github.com/speakeasy-api/openapi/swagger/reference.go:94:				Validate					53.8%
github.com/speakeasy-api/openapi/swagger/reference.go:120:				Populate					72.7%
github.com/speakeasy-api/openapi/swagger/response.go:30:				NewResponses					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:37:				GetDefault					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:45:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:53:				Validate					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:97:				GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:105:				GetSchema					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:113:				GetHeaders					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:121:				GetExamples					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:129:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:137:				Validate					87.5%
github.com/speakeasy-api/openapi/swagger/response.go:202:				GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:210:				GetType						100.0%
github.com/speakeasy-api/openapi/swagger/response.go:218:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:226:				Validate					94.7%
github.com/speakeasy-api/openapi/swagger/security.go:79:				GetType						100.0%
github.com/speakeasy-api/openapi/swagger/security.go:87:				GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/security.go:95:				GetName						100.0%
github.com/speakeasy-api/openapi/swagger/security.go:103:				GetIn						100.0%
github.com/speakeasy-api/openapi/swagger/security.go:111:				GetFlow						100.0%
github.com/speakeasy-api/openapi/swagger/security.go:119:				GetAuthorizationURL				100.0%
github.com/speakeasy-api/openapi/swagger/security.go:127:				GetTokenURL					100.0%
github.com/speakeasy-api/openapi/swagger/security.go:135:				GetScopes					100.0%
github.com/speakeasy-api/openapi/swagger/security.go:143:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/security.go:151:				Validate					93.3%
github.com/speakeasy-api/openapi/swagger/security.go:247:				NewSecurityRequirement				100.0%
github.com/speakeasy-api/openapi/swagger/security.go:254:				Validate					88.9%
github.com/speakeasy-api/openapi/swagger/swagger.go:61:					GetSwagger					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:69:					GetInfo						100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:77:					GetHost						100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:85:					GetBasePath					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:93:					GetSchemes					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:101:				GetConsumes					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:109:				GetProduces					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:117:				GetPaths					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:125:				GetDefinitions					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:133:				GetParameters					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:141:				GetResponses					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:149:				GetSecurityDefinitions				100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:157:				GetSecurity					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:165:				GetTags						100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:173:				GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:181:				GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:189:				Validate					98.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:302:				validateOperationIDUniqueness			86.7%
github.com/speakeasy-api/openapi/swagger/tag.go:30:					GetName						100.0%
github.com/speakeasy-api/openapi/swagger/tag.go:38:					GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/tag.go:46:					GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/swagger/tag.go:54:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/tag.go:62:					Validate					87.5%
github.com/speakeasy-api/openapi/swagger/upgrade.go:35:					Upgrade						93.8%
github.com/speakeasy-api/openapi/swagger/upgrade.go:81:					convertInfo					66.7%
github.com/speakeasy-api/openapi/swagger/upgrade.go:105:				convertInfoContact				100.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:117:				convertInfoLicense				100.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:128:				copyExtensions					40.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:137:				convertExternalDocs				100.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:148:				convertTags					87.5%
github.com/speakeasy-api/openapi/swagger/upgrade.go:167:				buildServers					85.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:202:				ensureLeadingSlash				60.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:212:				convertDefinitions				87.5%
github.com/speakeasy-api/openapi/swagger/upgrade.go:226:				convertSecuritySchemes				70.4%
github.com/speakeasy-api/openapi/swagger/upgrade.go:273:				convertOAuth2Flows				81.8%
github.com/speakeasy-api/openapi/swagger/upgrade.go:313:				cloneStringMap					83.3%
github.com/speakeasy-api/openapi/swagger/upgrade.go:324:				convertSecurityRequirements			90.9%
github.com/speakeasy-api/openapi/swagger/upgrade.go:342:				convertPaths					84.6%
github.com/speakeasy-api/openapi/swagger/upgrade.go:366:				convertPathItem					46.2%
github.com/speakeasy-api/openapi/swagger/upgrade.go:415:				convertOperation				87.3%
github.com/speakeasy-api/openapi/swagger/upgrade.go:581:				anyRequired					100.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:590:				schemaForSwaggerParamType			84.8%
github.com/speakeasy-api/openapi/swagger/upgrade.go:655:				convertParameter				60.7%
github.com/speakeasy-api/openapi/swagger/upgrade.go:717:				convertReferencedResponse			80.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:763:				exampleForMediaType				50.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:780:				convertResponseHeaders				64.7%
github.com/speakeasy-api/openapi/swagger/upgrade.go:820:				convertGlobalParameters				90.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:838:				convertGlobalRequestBodies			90.5%
github.com/speakeasy-api/openapi/swagger/upgrade.go:876:				convertGlobalResponses				100.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:892:				localComponentName				71.4%
github.com/speakeasy-api/openapi/swagger/upgrade.go:904:				rewriteRefTargets				92.3%
github.com/speakeasy-api/openapi/swagger/walk.go:24:					Walk						75.0%
github.com/speakeasy-api/openapi/swagger/walk.go:34:					walkFrom					9.1%
github.com/speakeasy-api/openapi/swagger/walk.go:81:					walk						78.3%
github.com/speakeasy-api/openapi/swagger/walk.go:132:					walkInfo					86.4%
github.com/speakeasy-api/openapi/swagger/walk.go:179:					walkExternalDocs				83.3%
github.com/speakeasy-api/openapi/swagger/walk.go:194:					walkTags					77.8%
github.com/speakeasy-api/openapi/swagger/walk.go:213:					walkTag						62.5%
github.com/speakeasy-api/openapi/swagger/walk.go:234:					walkPaths					88.9%
github.com/speakeasy-api/openapi/swagger/walk.go:256:					walkPathItem					81.8%
github.com/speakeasy-api/openapi/swagger/walk.go:284:					walkOperation					78.6%
github.com/speakeasy-api/openapi/swagger/walk.go:320:					walkReferencedParameters			100.0%
github.com/speakeasy-api/openapi/swagger/walk.go:340:					walkReferencedParameter				62.5%
github.com/speakeasy-api/openapi/swagger/walk.go:360:					walkParameter					70.0%
github.com/speakeasy-api/openapi/swagger/walk.go:386:					walkItems					87.5%
github.com/speakeasy-api/openapi/swagger/walk.go:407:					walkOperationResponses				81.8%
github.com/speakeasy-api/openapi/swagger/walk.go:435:					walkReferencedResponse				75.0%
github.com/speakeasy-api/openapi/swagger/walk.go:455:					walkResponse					80.0%
github.com/speakeasy-api/openapi/swagger/walk.go:481:					walkHeaders					100.0%
github.com/speakeasy-api/openapi/swagger/walk.go:501:					walkHeader					75.0%
github.com/speakeasy-api/openapi/swagger/walk.go:522:					walkDefinitions					77.8%
github.com/speakeasy-api/openapi/swagger/walk.go:542:					walkSchemaConcrete				66.7%
github.com/speakeasy-api/openapi/swagger/walk.go:559:					walkSchemaReferenceable				87.5%
github.com/speakeasy-api/openapi/swagger/walk.go:581:					walkParameters					77.8%
github.com/speakeasy-api/openapi/swagger/walk.go:601:					walkGlobalResponses				88.9%
github.com/speakeasy-api/openapi/swagger/walk.go:621:					walkSecurityDefinitions				77.8%
github.com/speakeasy-api/openapi/swagger/walk.go:641:					walkSecurityScheme				66.7%
github.com/speakeasy-api/openapi/swagger/walk.go:657:					walkSecurity					100.0%
github.com/speakeasy-api/openapi/swagger/walk.go:677:					walkSecurityRequirement				75.0%
github.com/speakeasy-api/openapi/swagger/walk_matching.go:122:				getMatchFunc					83.3%
github.com/speakeasy-api/openapi/system/filesystem.go:25:				Open						100.0%
github.com/speakeasy-api/openapi/system/filesystem.go:29:				WriteFile					75.0%
github.com/speakeasy-api/openapi/system/filesystem.go:38:				MkdirAll					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:18:				Error						100.0%
github.com/speakeasy-api/openapi/validation/errors.go:22:				Unwrap						100.0%
github.com/speakeasy-api/openapi/validation/errors.go:26:				GetLineNumber					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:33:				GetColumnNumber					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:60:				NewValidationError				100.0%
github.com/speakeasy-api/openapi/validation/errors.go:71:				NewValueError					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:89:				NewSliceError					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:107:				NewMapKeyError					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:125:				NewMapValueError				100.0%
github.com/speakeasy-api/openapi/validation/errors.go:150:				NewTypeMismatchError				100.0%
github.com/speakeasy-api/openapi/validation/errors.go:161:				Error						75.0%
github.com/speakeasy-api/openapi/validation/errors.go:176:				NewMissingFieldError				100.0%
github.com/speakeasy-api/openapi/validation/errors.go:182:				Error						100.0%
github.com/speakeasy-api/openapi/validation/errors.go:192:				NewMissingValueError				100.0%
github.com/speakeasy-api/openapi/validation/errors.go:198:				Error						100.0%
github.com/speakeasy-api/openapi/validation/errors.go:208:				NewValueValidationError				100.0%
github.com/speakeasy-api/openapi/validation/errors.go:218:				Error						100.0%
github.com/speakeasy-api/openapi/validation/options.go:13:				WithContextObject				100.0%
github.com/speakeasy-api/openapi/validation/options.go:19:				NewOptions					100.0%
github.com/speakeasy-api/openapi/validation/options.go:29:				GetContextObject				100.0%
github.com/speakeasy-api/openapi/validation/utils.go:9:					SortValidationErrors				66.7%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:28:				Unmarshal					70.7%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:107:			isParentError					75.0%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:119:			hasTypeMismatchErrors				87.5%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:139:			filterChildErrors				80.0%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:150:			SyncChanges					91.9%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:221:			GetNavigableNode				100.0%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:228:			getUnwrappedErrors				85.7%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:241:			typeToName					57.1%
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						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:161:				equalWithIsEqualMethod				72.2%
github.com/speakeasy-api/openapi/values/eithervalue.go:201:				isEmptyCollection				81.8%
github.com/speakeasy-api/openapi/walk/locations.go:30:					ToJSONPointer					100.0%
github.com/speakeasy-api/openapi/walk/set.go:16:					SetAtLocation					91.7%
github.com/speakeasy-api/openapi/walk/set.go:39:					setAtMap					100.0%
github.com/speakeasy-api/openapi/walk/set.go:49:					setAtSlice					100.0%
github.com/speakeasy-api/openapi/walk/set.go:59:					setAtStruct					88.9%
github.com/speakeasy-api/openapi/walk/set.go:82:					setAtField					83.6%
github.com/speakeasy-api/openapi/walk/set.go:190:					setAtSequencedMap				75.0%
github.com/speakeasy-api/openapi/yml/config.go:13:					String						0.0%
github.com/speakeasy-api/openapi/yml/config.go:33:					ToIndent					100.0%
github.com/speakeasy-api/openapi/yml/config.go:62:					GetDefaultConfig				100.0%
github.com/speakeasy-api/openapi/yml/config.go:66:					ContextWithConfig				100.0%
github.com/speakeasy-api/openapi/yml/config.go:74:					GetConfigFromContext				77.8%
github.com/speakeasy-api/openapi/yml/config.go:90:					GetConfigFromDoc				100.0%
github.com/speakeasy-api/openapi/yml/config.go:108:					inspectData					92.7%
github.com/speakeasy-api/openapi/yml/config.go:189:					getGlobalStringStyle				92.3%
github.com/speakeasy-api/openapi/yml/config.go:246:					looksLikeNumber					75.0%
github.com/speakeasy-api/openapi/yml/config.go:258:					mostCommonStyle					92.3%
github.com/speakeasy-api/openapi/yml/nodekind.go:8:					NodeKindToString				100.0%
github.com/speakeasy-api/openapi/yml/walk.go:21:					Walk						100.0%
github.com/speakeasy-api/openapi/yml/walk.go:33:					walkNode					100.0%
github.com/speakeasy-api/openapi/yml/walk.go:56:					walkDocumentNode				75.0%
github.com/speakeasy-api/openapi/yml/walk.go:66:					walkMappingNode					87.5%
github.com/speakeasy-api/openapi/yml/walk.go:83:					walkSequenceNode				75.0%
github.com/speakeasy-api/openapi/yml/walk.go:93:					walkAliasNode					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:11:						CreateOrUpdateKeyNode				87.5%
github.com/speakeasy-api/openapi/yml/yml.go:32:						CreateOrUpdateScalarNode			91.7%
github.com/speakeasy-api/openapi/yml/yml.go:55:						CreateOrUpdateMapNodeElement			85.7%
github.com/speakeasy-api/openapi/yml/yml.go:85:						CreateStringNode				100.0%
github.com/speakeasy-api/openapi/yml/yml.go:93:						CreateIntNode					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:101:					CreateFloatNode					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:109:					CreateBoolNode					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:117:					CreateMapNode					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:125:					DeleteMapNodeElement				90.0%
github.com/speakeasy-api/openapi/yml/yml.go:145:					CreateOrUpdateSliceNode				100.0%
github.com/speakeasy-api/openapi/yml/yml.go:159:					GetMapElementNodes				91.7%
github.com/speakeasy-api/openapi/yml/yml.go:184:					ResolveAlias					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:199:					EqualNodes					86.4%
github.com/speakeasy-api/openapi/yml/yml.go:246:					TypeToYamlTags					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:283:					NodeTagToString					100.0%
total:											(statements)					82.3%
  • 🧪 All tests passed
  • 📈 Full coverage report available in workflow artifacts

Generated by GitHub Actions

@TristanSpeakEasy TristanSpeakEasy merged commit 0a6a0de into main Dec 12, 2025
11 checks passed
@TristanSpeakEasy TristanSpeakEasy deleted the fix/validate-empty-component-names branch December 12, 2025 01:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working tests Test-related changes and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants