import { Schema } from "effect"; import { CapabilityIdSchema, DiagnosticIdSchema, DocumentIdSchema, ExecutableIdSchema, ExampleSymbolIdSchema, HeaderSymbolIdSchema, ParameterSymbolIdSchema, RequestBodySymbolIdSchema, ResourceIdSchema, ResponseSetIdSchema, ResponseSymbolIdSchema, ScopeIdSchema, SecuritySchemeSymbolIdSchema, type SecuritySchemeSymbolId, ShapeSymbolIdSchema, SymbolIdSchema,} from "./ids"; export const SourceKindSchema = Schema.Literal( "openapi", "graphql-schema", "google-discovery", "mcp", "custom",); export const ScopeKindSchema = Schema.Literal( "service", "document", "resource", "pathItem", "operation", "folder",); export const EffectKindSchema = Schema.Literal( "read", "write", "delete", "action", "subscribe",); export const ParameterLocationSchema = Schema.Literal( "path", "query", "header", "cookie",); export const ResponseTraitSchema = Schema.Literal( "success", "redirect", "stream", "download", "upload", "longRunning",); export const SecuritySchemeTypeSchema = Schema.Literal( "oauth2", "http", "apiKey", "basic", "bearer", "custom",); export const StatusRangeSchema = Schema.Literal( "1XX", "2XX", "3XX", "4XX", "5XX",); export const PaginationHintKindSchema = Schema.Literal( "cursor", "offset", "token", "unknown",); export const DiagnosticLevelSchema = Schema.Literal( "info", "warning", "error",); export const DiagnosticCodeSchema = Schema.Literal( "external_ref_bundled", "relative_ref_rebased", "schema_hoisted", "selection_shape_synthesized", "opaque_hook_imported", "discriminator_lost", "multi_response_union_synthesized", "unsupported_link_preserved_native", "unsupported_callback_preserved_native", "unresolved_ref", "merge_conflict_preserved_first", "projection_call_shape_synthesized", "projection_result_shape_synthesized", "projection_collision_grouped_fields", "synthetic_resource_context_created", "selection_shape_missing",); export const NativeEncodingSchema = Schema.Literal( "json", "yaml", "graphql", "text", "unknown",); export const ProvenanceRelationSchema = Schema.Literal( "declared", "hoisted", "derived", "merged", "projected",); export const DocumentationBlockSchema = Schema.Struct({ summary: Schema.optional(Schema.String), description: Schema.optional(Schema.String), externalDocsUrl: Schema.optional(Schema.String),}); export const ProvenanceRefSchema = Schema.Struct({ relation: ProvenanceRelationSchema, documentId: DocumentIdSchema, resourceId: Schema.optional(ResourceIdSchema), pointer: Schema.optional(Schema.String), line: Schema.optional(Schema.Number), column: Schema.optional(Schema.Number),}); export const NativeBlobSchema = Schema.Struct({ sourceKind: SourceKindSchema, kind: Schema.String, pointer: Schema.optional(Schema.String), encoding: Schema.optional(NativeEncodingSchema), summary: Schema.optional(Schema.String), value: Schema.optional(Schema.Unknown),}); export const EntityBaseSchema = Schema.Struct({ synthetic: Schema.Boolean, provenance: Schema.Array(ProvenanceRefSchema), diagnosticIds: Schema.optional(Schema.Array(DiagnosticIdSchema)), native: Schema.optional(Schema.Array(NativeBlobSchema)),}); export const ImportMetadataSchema = Schema.Struct({ sourceKind: SourceKindSchema, adapterKey: Schema.String, importerVersion: Schema.String, importedAt: Schema.String, sourceConfigHash: Schema.String,}); export const SourceDocumentSchema = Schema.Struct({ id: DocumentIdSchema, kind: SourceKindSchema, title: Schema.optional(Schema.String), versionHint: Schema.optional(Schema.String), fetchedAt: Schema.String, rawRef: Schema.String, entryUri: Schema.optional(Schema.String), native: Schema.optional(Schema.Array(NativeBlobSchema)),}); export const FieldSpecSchema = Schema.Struct({ shapeId: ShapeSymbolIdSchema, docs: Schema.optional(DocumentationBlockSchema), deprecated: Schema.optional(Schema.Boolean), exampleIds: Schema.optional(Schema.Array(ExampleSymbolIdSchema)),}); export const DiscriminatorSpecSchema = Schema.Struct({ propertyName: Schema.String, mapping: Schema.optional( Schema.Record({ key: Schema.String, value: ShapeSymbolIdSchema, }), ),}); export const ScalarShapeSchema = Schema.Struct({ type: Schema.Literal("scalar"), scalar: Schema.Literal("string", "number", "integer", "boolean", "null", "bytes"), format: Schema.optional(Schema.String), constraints: Schema.optional( Schema.Record({ key: Schema.String, value: Schema.Unknown, }), ),}); export const UnknownShapeSchema = Schema.Struct({ type: Schema.Literal("unknown"), reason: Schema.optional(Schema.String),}); export const ConstShapeSchema = Schema.Struct({ type: Schema.Literal("const"), value: Schema.Unknown,}); export const EnumShapeSchema = Schema.Struct({ type: Schema.Literal("enum"), values: Schema.Array(Schema.Unknown),}); export const ObjectShapeSchema = Schema.Struct({ type: Schema.Literal("object"), fields: Schema.Record({ key: Schema.String, value: FieldSpecSchema, }), required: Schema.optional(Schema.Array(Schema.String)), additionalProperties: Schema.optional( Schema.Union(Schema.Boolean, ShapeSymbolIdSchema), ), patternProperties: Schema.optional( Schema.Record({ key: Schema.String, value: ShapeSymbolIdSchema, }), ),}); export const ArrayShapeSchema = Schema.Struct({ type: Schema.Literal("array"), itemShapeId: ShapeSymbolIdSchema, minItems: Schema.optional(Schema.Number), maxItems: Schema.optional(Schema.Number),}); export const TupleShapeSchema = Schema.Struct({ type: Schema.Literal("tuple"), itemShapeIds: Schema.Array(ShapeSymbolIdSchema), additionalItems: Schema.optional( Schema.Union(Schema.Boolean, ShapeSymbolIdSchema), ),}); export const MapShapeSchema = Schema.Struct({ type: Schema.Literal("map"), valueShapeId: ShapeSymbolIdSchema,}); export const AllOfShapeSchema = Schema.Struct({ type: Schema.Literal("allOf"), items: Schema.Array(ShapeSymbolIdSchema),}); export const AnyOfShapeSchema = Schema.Struct({ type: Schema.Literal("anyOf"), items: Schema.Array(ShapeSymbolIdSchema),}); export const OneOfShapeSchema = Schema.Struct({ type: Schema.Literal("oneOf"), items: Schema.Array(ShapeSymbolIdSchema), discriminator: Schema.optional(DiscriminatorSpecSchema),}); export const NullableShapeSchema = Schema.Struct({ type: Schema.Literal("nullable"), itemShapeId: ShapeSymbolIdSchema,}); export const RefShapeSchema = Schema.Struct({ type: Schema.Literal("ref"), target: ShapeSymbolIdSchema,}); export const NotShapeSchema = Schema.Struct({ type: Schema.Literal("not"), itemShapeId: ShapeSymbolIdSchema,}); export const ConditionalShapeSchema = Schema.Struct({ type: Schema.Literal("conditional"), ifShapeId: ShapeSymbolIdSchema, thenShapeId: Schema.optional(ShapeSymbolIdSchema), elseShapeId: Schema.optional(ShapeSymbolIdSchema),}); export const GraphQLInterfaceShapeSchema = Schema.Struct({ type: Schema.Literal("graphqlInterface"), fields: Schema.Record({ key: Schema.String, value: FieldSpecSchema, }), possibleTypeIds: Schema.Array(ShapeSymbolIdSchema),}); export const GraphQLUnionShapeSchema = Schema.Struct({ type: Schema.Literal("graphqlUnion"), memberTypeIds: Schema.Array(ShapeSymbolIdSchema),}); export const ShapeNodeSchema = Schema.Union( UnknownShapeSchema, ScalarShapeSchema, ConstShapeSchema, EnumShapeSchema, ObjectShapeSchema, ArrayShapeSchema, TupleShapeSchema, MapShapeSchema, AllOfShapeSchema, AnyOfShapeSchema, OneOfShapeSchema, NullableShapeSchema, RefShapeSchema, NotShapeSchema, ConditionalShapeSchema, GraphQLInterfaceShapeSchema, GraphQLUnionShapeSchema,); export const AnchorTargetSchema = Schema.Struct({ shapeId: ShapeSymbolIdSchema, pointer: Schema.optional(Schema.String),}); export const SchemaResourceSchema = Schema.extend( Schema.Struct({ id: ResourceIdSchema, documentId: DocumentIdSchema, canonicalUri: Schema.String, baseUri: Schema.String, dialectUri: Schema.optional(Schema.String), rootShapeId: Schema.optional(ShapeSymbolIdSchema), anchors: Schema.Record({ key: Schema.String, value: AnchorTargetSchema, }), dynamicAnchors: Schema.Record({ key: Schema.String, value: AnchorTargetSchema, }), }), EntityBaseSchema,); export const RequestPlacementHintSchema = Schema.Union( Schema.Struct({ location: Schema.Literal("header", "query", "cookie"), name: Schema.String, }), Schema.Struct({ location: Schema.Literal("body"), path: Schema.String, }),); export const OAuthFlowSchema = Schema.Struct({ authorizationUrl: Schema.optional(Schema.String), tokenUrl: Schema.optional(Schema.String), refreshUrl: Schema.optional(Schema.String), scopes: Schema.optional( Schema.Record({ key: Schema.String, value: Schema.String, }), ),}); export const SecurityPlacementSchema = Schema.Struct({ in: Schema.optional(Schema.Literal("header", "query", "cookie")), name: Schema.optional(Schema.String),}); export const SecuritySchemeSymbolSchema = Schema.extend( Schema.Struct({ id: SecuritySchemeSymbolIdSchema, kind: Schema.Literal("securityScheme"), schemeType: SecuritySchemeTypeSchema, docs: Schema.optional(DocumentationBlockSchema), placement: Schema.optional(SecurityPlacementSchema), http: Schema.optional( Schema.Struct({ scheme: Schema.String, bearerFormat: Schema.optional(Schema.String), }), ), apiKey: Schema.optional( Schema.Struct({ in: Schema.Literal("header", "query", "cookie"), name: Schema.String, }), ), oauth: Schema.optional( Schema.Struct({ flows: Schema.optional( Schema.Record({ key: Schema.String, value: OAuthFlowSchema, }), ), scopes: Schema.optional( Schema.Record({ key: Schema.String, value: Schema.String, }), ), }), ), custom: Schema.optional( Schema.Struct({ placementHints: Schema.optional(Schema.Array(RequestPlacementHintSchema)), }), ), }), EntityBaseSchema,); export const EncodingSpecSchema = Schema.Struct({ contentType: Schema.optional(Schema.String), style: Schema.optional(Schema.String), explode: Schema.optional(Schema.Boolean), allowReserved: Schema.optional(Schema.Boolean), headers: Schema.optional(Schema.Array(HeaderSymbolIdSchema)),}); export const ContentSpecSchema = Schema.Struct({ mediaType: Schema.String, shapeId: Schema.optional(ShapeSymbolIdSchema), exampleIds: Schema.optional(Schema.Array(ExampleSymbolIdSchema)), encoding: Schema.optional( Schema.Record({ key: Schema.String, value: EncodingSpecSchema, }), ),}); export const ShapeSymbolSchema = Schema.extend( Schema.Struct({ id: ShapeSymbolIdSchema, kind: Schema.Literal("shape"), resourceId: Schema.optional(ResourceIdSchema), title: Schema.optional(Schema.String), docs: Schema.optional(DocumentationBlockSchema), deprecated: Schema.optional(Schema.Boolean), node: ShapeNodeSchema, }), EntityBaseSchema,); export const ParameterSymbolSchema = Schema.extend( Schema.Struct({ id: ParameterSymbolIdSchema, kind: Schema.Literal("parameter"), name: Schema.String, location: ParameterLocationSchema, required: Schema.optional(Schema.Boolean), docs: Schema.optional(DocumentationBlockSchema), deprecated: Schema.optional(Schema.Boolean), exampleIds: Schema.optional(Schema.Array(ExampleSymbolIdSchema)), schemaShapeId: Schema.optional(ShapeSymbolIdSchema), content: Schema.optional(Schema.Array(ContentSpecSchema)), style: Schema.optional(Schema.String), explode: Schema.optional(Schema.Boolean), allowReserved: Schema.optional(Schema.Boolean), }), EntityBaseSchema,); export const HeaderSymbolSchema = Schema.extend( Schema.Struct({ id: HeaderSymbolIdSchema, kind: Schema.Literal("header"), name: Schema.String, docs: Schema.optional(DocumentationBlockSchema), deprecated: Schema.optional(Schema.Boolean), exampleIds: Schema.optional(Schema.Array(ExampleSymbolIdSchema)), schemaShapeId: Schema.optional(ShapeSymbolIdSchema), content: Schema.optional(Schema.Array(ContentSpecSchema)), style: Schema.optional(Schema.String), explode: Schema.optional(Schema.Boolean), }), EntityBaseSchema,); export const RequestBodySymbolSchema = Schema.extend( Schema.Struct({ id: RequestBodySymbolIdSchema, kind: Schema.Literal("requestBody"),Lines 1–500 of 919. Load more
import { Schema } from "effect"; import { CapabilityIdSchema, DiagnosticIdSchema, DocumentIdSchema, ExecutableIdSchema, ExampleSymbolIdSchema, HeaderSymbolIdSchema, ParameterSymbolIdSchema, RequestBodySymbolIdSchema, ResourceIdSchema, ResponseSetIdSchema, ResponseSymbolIdSchema, ScopeIdSchema, SecuritySchemeSymbolIdSchema, type SecuritySchemeSymbolId, ShapeSymbolIdSchema, SymbolIdSchema, } from "./ids"; export const SourceKindSchema = Schema.Literal( "openapi", "graphql-schema", "google-discovery", "mcp", "custom", ); export const ScopeKindSchema = Schema.Literal( "service", "document", "resource", "pathItem", "operation", "folder", ); export const EffectKindSchema = Schema.Literal( "read", "write", "delete", "action", "subscribe", ); export const ParameterLocationSchema = Schema.Literal( "path", "query", "header", "cookie", ); export const ResponseTraitSchema = Schema.Literal( "success", "redirect", "stream", "download", "upload", "longRunning", ); export const SecuritySchemeTypeSchema = Schema.Literal( "oauth2", "http", "apiKey", "basic", "bearer", "custom", ); export const StatusRangeSchema = Schema.Literal( "1XX", "2XX", "3XX", "4XX", "5XX", ); export const PaginationHintKindSchema = Schema.Literal( "cursor", "offset", "token", "unknown", ); export const DiagnosticLevelSchema = Schema.Literal( "info", "warning", "error", ); export const DiagnosticCodeSchema = Schema.Literal( "external_ref_bundled", "relative_ref_rebased", "schema_hoisted", "selection_shape_synthesized", "opaque_hook_imported", "discriminator_lost", "multi_response_union_synthesized", "unsupported_link_preserved_native", "unsupported_callback_preserved_native", "unresolved_ref", "merge_conflict_preserved_first", "projection_call_shape_synthesized", "projection_result_shape_synthesized", "projection_collision_grouped_fields", "synthetic_resource_context_created", "selection_shape_missing", ); export const NativeEncodingSchema = Schema.Literal( "json", "yaml", "graphql", "text", "unknown", ); export const ProvenanceRelationSchema = Schema.Literal( "declared", "hoisted", "derived", "merged", "projected", ); export const DocumentationBlockSchema = Schema.Struct({ summary: Schema.optional(Schema.String), description: Schema.optional(Schema.String), externalDocsUrl: Schema.optional(Schema.String), }); export const ProvenanceRefSchema = Schema.Struct({ relation: ProvenanceRelationSchema, documentId: DocumentIdSchema, resourceId: Schema.optional(ResourceIdSchema), pointer: Schema.optional(Schema.String), line: Schema.optional(Schema.Number), column: Schema.optional(Schema.Number), }); export const NativeBlobSchema = Schema.Struct({ sourceKind: SourceKindSchema, kind: Schema.String, pointer: Schema.optional(Schema.String), encoding: Schema.optional(NativeEncodingSchema), summary: Schema.optional(Schema.String), value: Schema.optional(Schema.Unknown), }); export const EntityBaseSchema = Schema.Struct({ synthetic: Schema.Boolean, provenance: Schema.Array(ProvenanceRefSchema), diagnosticIds: Schema.optional(Schema.Array(DiagnosticIdSchema)), native: Schema.optional(Schema.Array(NativeBlobSchema)), }); export const ImportMetadataSchema = Schema.Struct({ sourceKind: SourceKindSchema, adapterKey: Schema.String, importerVersion: Schema.String, importedAt: Schema.String, sourceConfigHash: Schema.String, }); export const SourceDocumentSchema = Schema.Struct({ id: DocumentIdSchema, kind: SourceKindSchema, title: Schema.optional(Schema.String), versionHint: Schema.optional(Schema.String), fetchedAt: Schema.String, rawRef: Schema.String, entryUri: Schema.optional(Schema.String), native: Schema.optional(Schema.Array(NativeBlobSchema)), }); export const FieldSpecSchema = Schema.Struct({ shapeId: ShapeSymbolIdSchema, docs: Schema.optional(DocumentationBlockSchema), deprecated: Schema.optional(Schema.Boolean), exampleIds: Schema.optional(Schema.Array(ExampleSymbolIdSchema)), }); export const DiscriminatorSpecSchema = Schema.Struct({ propertyName: Schema.String, mapping: Schema.optional( Schema.Record({ key: Schema.String, value: ShapeSymbolIdSchema, }), ), }); export const ScalarShapeSchema = Schema.Struct({ type: Schema.Literal("scalar"), scalar: Schema.Literal("string", "number", "integer", "boolean", "null", "bytes"), format: Schema.optional(Schema.String), constraints: Schema.optional( Schema.Record({ key: Schema.String, value: Schema.Unknown, }), ), }); export const UnknownShapeSchema = Schema.Struct({ type: Schema.Literal("unknown"), reason: Schema.optional(Schema.String), }); export const ConstShapeSchema = Schema.Struct({ type: Schema.Literal("const"), value: Schema.Unknown, }); export const EnumShapeSchema = Schema.Struct({ type: Schema.Literal("enum"), values: Schema.Array(Schema.Unknown), }); export const ObjectShapeSchema = Schema.Struct({ type: Schema.Literal("object"), fields: Schema.Record({ key: Schema.String, value: FieldSpecSchema, }), required: Schema.optional(Schema.Array(Schema.String)), additionalProperties: Schema.optional( Schema.Union(Schema.Boolean, ShapeSymbolIdSchema), ), patternProperties: Schema.optional( Schema.Record({ key: Schema.String, value: ShapeSymbolIdSchema, }), ), }); export const ArrayShapeSchema = Schema.Struct({ type: Schema.Literal("array"), itemShapeId: ShapeSymbolIdSchema, minItems: Schema.optional(Schema.Number), maxItems: Schema.optional(Schema.Number), }); export const TupleShapeSchema = Schema.Struct({ type: Schema.Literal("tuple"), itemShapeIds: Schema.Array(ShapeSymbolIdSchema), additionalItems: Schema.optional( Schema.Union(Schema.Boolean, ShapeSymbolIdSchema), ), }); export const MapShapeSchema = Schema.Struct({ type: Schema.Literal("map"), valueShapeId: ShapeSymbolIdSchema, }); export const AllOfShapeSchema = Schema.Struct({ type: Schema.Literal("allOf"), items: Schema.Array(ShapeSymbolIdSchema), }); export const AnyOfShapeSchema = Schema.Struct({ type: Schema.Literal("anyOf"), items: Schema.Array(ShapeSymbolIdSchema), }); export const OneOfShapeSchema = Schema.Struct({ type: Schema.Literal("oneOf"), items: Schema.Array(ShapeSymbolIdSchema), discriminator: Schema.optional(DiscriminatorSpecSchema), }); export const NullableShapeSchema = Schema.Struct({ type: Schema.Literal("nullable"), itemShapeId: ShapeSymbolIdSchema, }); export const RefShapeSchema = Schema.Struct({ type: Schema.Literal("ref"), target: ShapeSymbolIdSchema, }); export const NotShapeSchema = Schema.Struct({ type: Schema.Literal("not"), itemShapeId: ShapeSymbolIdSchema, }); export const ConditionalShapeSchema = Schema.Struct({ type: Schema.Literal("conditional"), ifShapeId: ShapeSymbolIdSchema, thenShapeId: Schema.optional(ShapeSymbolIdSchema), elseShapeId: Schema.optional(ShapeSymbolIdSchema), }); export const GraphQLInterfaceShapeSchema = Schema.Struct({ type: Schema.Literal("graphqlInterface"), fields: Schema.Record({ key: Schema.String, value: FieldSpecSchema, }), possibleTypeIds: Schema.Array(ShapeSymbolIdSchema), }); export const GraphQLUnionShapeSchema = Schema.Struct({ type: Schema.Literal("graphqlUnion"), memberTypeIds: Schema.Array(ShapeSymbolIdSchema), }); export const ShapeNodeSchema = Schema.Union( UnknownShapeSchema, ScalarShapeSchema, ConstShapeSchema, EnumShapeSchema, ObjectShapeSchema, ArrayShapeSchema, TupleShapeSchema, MapShapeSchema, AllOfShapeSchema, AnyOfShapeSchema, OneOfShapeSchema, NullableShapeSchema, RefShapeSchema, NotShapeSchema, ConditionalShapeSchema, GraphQLInterfaceShapeSchema, GraphQLUnionShapeSchema, ); export const AnchorTargetSchema = Schema.Struct({ shapeId: ShapeSymbolIdSchema, pointer: Schema.optional(Schema.String), }); export const SchemaResourceSchema = Schema.extend( Schema.Struct({ id: ResourceIdSchema, documentId: DocumentIdSchema, canonicalUri: Schema.String, baseUri: Schema.String, dialectUri: Schema.optional(Schema.String), rootShapeId: Schema.optional(ShapeSymbolIdSchema), anchors: Schema.Record({ key: Schema.String, value: AnchorTargetSchema, }), dynamicAnchors: Schema.Record({ key: Schema.String, value: AnchorTargetSchema, }), }), EntityBaseSchema, ); export const RequestPlacementHintSchema = Schema.Union( Schema.Struct({ location: Schema.Literal("header", "query", "cookie"), name: Schema.String, }), Schema.Struct({ location: Schema.Literal("body"), path: Schema.String, }), ); export const OAuthFlowSchema = Schema.Struct({ authorizationUrl: Schema.optional(Schema.String), tokenUrl: Schema.optional(Schema.String), refreshUrl: Schema.optional(Schema.String), scopes: Schema.optional( Schema.Record({ key: Schema.String, value: Schema.String, }), ), }); export const SecurityPlacementSchema = Schema.Struct({ in: Schema.optional(Schema.Literal("header", "query", "cookie")), name: Schema.optional(Schema.String), }); export const SecuritySchemeSymbolSchema = Schema.extend( Schema.Struct({ id: SecuritySchemeSymbolIdSchema, kind: Schema.Literal("securityScheme"), schemeType: SecuritySchemeTypeSchema, docs: Schema.optional(DocumentationBlockSchema), placement: Schema.optional(SecurityPlacementSchema), http: Schema.optional( Schema.Struct({ scheme: Schema.String, bearerFormat: Schema.optional(Schema.String), }), ), apiKey: Schema.optional( Schema.Struct({ in: Schema.Literal("header", "query", "cookie"), name: Schema.String, }), ), oauth: Schema.optional( Schema.Struct({ flows: Schema.optional( Schema.Record({ key: Schema.String, value: OAuthFlowSchema, }), ), scopes: Schema.optional( Schema.Record({ key: Schema.String, value: Schema.String, }), ), }), ), custom: Schema.optional( Schema.Struct({ placementHints: Schema.optional(Schema.Array(RequestPlacementHintSchema)), }), ), }), EntityBaseSchema, ); export const EncodingSpecSchema = Schema.Struct({ contentType: Schema.optional(Schema.String), style: Schema.optional(Schema.String), explode: Schema.optional(Schema.Boolean), allowReserved: Schema.optional(Schema.Boolean), headers: Schema.optional(Schema.Array(HeaderSymbolIdSchema)), }); export const ContentSpecSchema = Schema.Struct({ mediaType: Schema.String, shapeId: Schema.optional(ShapeSymbolIdSchema), exampleIds: Schema.optional(Schema.Array(ExampleSymbolIdSchema)), encoding: Schema.optional( Schema.Record({ key: Schema.String, value: EncodingSpecSchema, }), ), }); export const ShapeSymbolSchema = Schema.extend( Schema.Struct({ id: ShapeSymbolIdSchema, kind: Schema.Literal("shape"), resourceId: Schema.optional(ResourceIdSchema), title: Schema.optional(Schema.String), docs: Schema.optional(DocumentationBlockSchema), deprecated: Schema.optional(Schema.Boolean), node: ShapeNodeSchema, }), EntityBaseSchema, ); export const ParameterSymbolSchema = Schema.extend( Schema.Struct({ id: ParameterSymbolIdSchema, kind: Schema.Literal("parameter"), name: Schema.String, location: ParameterLocationSchema, required: Schema.optional(Schema.Boolean), docs: Schema.optional(DocumentationBlockSchema), deprecated: Schema.optional(Schema.Boolean), exampleIds: Schema.optional(Schema.Array(ExampleSymbolIdSchema)), schemaShapeId: Schema.optional(ShapeSymbolIdSchema), content: Schema.optional(Schema.Array(ContentSpecSchema)), style: Schema.optional(Schema.String), explode: Schema.optional(Schema.Boolean), allowReserved: Schema.optional(Schema.Boolean), }), EntityBaseSchema, ); export const HeaderSymbolSchema = Schema.extend( Schema.Struct({ id: HeaderSymbolIdSchema, kind: Schema.Literal("header"), name: Schema.String, docs: Schema.optional(DocumentationBlockSchema), deprecated: Schema.optional(Schema.Boolean), exampleIds: Schema.optional(Schema.Array(ExampleSymbolIdSchema)), schemaShapeId: Schema.optional(ShapeSymbolIdSchema), content: Schema.optional(Schema.Array(ContentSpecSchema)), style: Schema.optional(Schema.String), explode: Schema.optional(Schema.Boolean), }), EntityBaseSchema, ); export const RequestBodySymbolSchema = Schema.extend( Schema.Struct({ id: RequestBodySymbolIdSchema, kind: Schema.Literal("requestBody"),