diff --git a/.changeset/modern-paws-hear.md b/.changeset/modern-paws-hear.md new file mode 100644 index 00000000000..840ba012110 --- /dev/null +++ b/.changeset/modern-paws-hear.md @@ -0,0 +1,6 @@ +--- +"@smithy/types": minor +"@smithy/core": minor +--- + +set release level for schemas diff --git a/packages/core/src/submodules/cbor/CborCodec.ts b/packages/core/src/submodules/cbor/CborCodec.ts index 3d1dad359d8..5cc7eba389c 100644 --- a/packages/core/src/submodules/cbor/CborCodec.ts +++ b/packages/core/src/submodules/cbor/CborCodec.ts @@ -8,7 +8,7 @@ import { cbor } from "./cbor"; import { dateToTag } from "./parseCborBody"; /** - * @alpha + * @public */ export class CborCodec extends SerdeContext implements Codec { public createSerializer(): CborShapeSerializer { @@ -25,7 +25,7 @@ export class CborCodec extends SerdeContext implements Codec( diff --git a/packages/core/src/submodules/protocols/HttpProtocol.ts b/packages/core/src/submodules/protocols/HttpProtocol.ts index f881dcef7be..99327762ce4 100644 --- a/packages/core/src/submodules/protocols/HttpProtocol.ts +++ b/packages/core/src/submodules/protocols/HttpProtocol.ts @@ -26,7 +26,7 @@ import { SerdeContext } from "./SerdeContext"; /** * Abstract base for HTTP-based client protocols. * - * @alpha + * @public */ export abstract class HttpProtocol extends SerdeContext implements ClientProtocol { protected abstract serializer: ShapeSerializer; diff --git a/packages/core/src/submodules/protocols/RpcProtocol.ts b/packages/core/src/submodules/protocols/RpcProtocol.ts index 72d91037fba..550320235d8 100644 --- a/packages/core/src/submodules/protocols/RpcProtocol.ts +++ b/packages/core/src/submodules/protocols/RpcProtocol.ts @@ -18,7 +18,7 @@ import { HttpProtocol } from "./HttpProtocol"; /** * Abstract base for RPC-over-HTTP protocols. * - * @alpha + * @public */ export abstract class RpcProtocol extends HttpProtocol { public async serializeRequest( diff --git a/packages/core/src/submodules/protocols/serde/FromStringShapeDeserializer.ts b/packages/core/src/submodules/protocols/serde/FromStringShapeDeserializer.ts index 328393a000a..108278e747a 100644 --- a/packages/core/src/submodules/protocols/serde/FromStringShapeDeserializer.ts +++ b/packages/core/src/submodules/protocols/serde/FromStringShapeDeserializer.ts @@ -24,7 +24,7 @@ import { determineTimestampFormat } from "./determineTimestampFormat"; /** * This deserializer reads strings. * - * @alpha + * @public */ export class FromStringShapeDeserializer extends SerdeContext implements ShapeDeserializer { public constructor(private settings: CodecSettings) { diff --git a/packages/core/src/submodules/protocols/serde/HttpInterceptingShapeDeserializer.ts b/packages/core/src/submodules/protocols/serde/HttpInterceptingShapeDeserializer.ts index af72723cb5a..eb56c67cf2b 100644 --- a/packages/core/src/submodules/protocols/serde/HttpInterceptingShapeDeserializer.ts +++ b/packages/core/src/submodules/protocols/serde/HttpInterceptingShapeDeserializer.ts @@ -12,7 +12,7 @@ import { FromStringShapeDeserializer } from "./FromStringShapeDeserializer"; * For example, in a JSON HTTP message, the deserialization of a field will differ depending on whether * it is bound to the HTTP header (string) or body (JSON). * - * @alpha + * @public */ export class HttpInterceptingShapeDeserializer> extends SerdeContext diff --git a/packages/core/src/submodules/protocols/serde/HttpInterceptingShapeSerializer.ts b/packages/core/src/submodules/protocols/serde/HttpInterceptingShapeSerializer.ts index f4a45150827..35f61c5a545 100644 --- a/packages/core/src/submodules/protocols/serde/HttpInterceptingShapeSerializer.ts +++ b/packages/core/src/submodules/protocols/serde/HttpInterceptingShapeSerializer.ts @@ -16,7 +16,7 @@ import { ToStringShapeSerializer } from "./ToStringShapeSerializer"; * For example, a JavaScript array is serialized differently when being written * to a REST JSON HTTP header (comma-delimited string) and a REST JSON HTTP body (JSON array). * - * @alpha + * @public */ export class HttpInterceptingShapeSerializer> implements ShapeSerializer, ConfigurableSerdeContext diff --git a/packages/core/src/submodules/protocols/serde/ToStringShapeSerializer.ts b/packages/core/src/submodules/protocols/serde/ToStringShapeSerializer.ts index 4fd5e488c93..152e9509033 100644 --- a/packages/core/src/submodules/protocols/serde/ToStringShapeSerializer.ts +++ b/packages/core/src/submodules/protocols/serde/ToStringShapeSerializer.ts @@ -16,7 +16,7 @@ import { determineTimestampFormat } from "./determineTimestampFormat"; /** * Serializes a shape to string. * - * @alpha + * @public */ export class ToStringShapeSerializer extends SerdeContext implements ShapeSerializer { private stringBuffer = ""; diff --git a/packages/core/src/submodules/schema/TypeRegistry.ts b/packages/core/src/submodules/schema/TypeRegistry.ts index 46e61af0167..874c7f74e6d 100644 --- a/packages/core/src/submodules/schema/TypeRegistry.ts +++ b/packages/core/src/submodules/schema/TypeRegistry.ts @@ -5,7 +5,7 @@ import type { ErrorSchema } from "./schemas/ErrorSchema"; /** * A way to look up schema by their ShapeId values. * - * @alpha + * @public */ export class TypeRegistry { public static readonly registries = new Map(); diff --git a/packages/core/src/submodules/schema/schemas/ErrorSchema.ts b/packages/core/src/submodules/schema/schemas/ErrorSchema.ts index c80421142e2..df66f7e0e42 100644 --- a/packages/core/src/submodules/schema/schemas/ErrorSchema.ts +++ b/packages/core/src/submodules/schema/schemas/ErrorSchema.ts @@ -9,7 +9,7 @@ import { StructureSchema } from "./StructureSchema"; * and have an existing notion of a XYZServiceBaseException, the ErrorSchema differs from a StructureSchema * by additionally holding the class reference for the corresponding ServiceException class. * - * @alpha + * @internal * @deprecated use StaticSchema */ export class ErrorSchema extends StructureSchema { diff --git a/packages/core/src/submodules/schema/schemas/ListSchema.ts b/packages/core/src/submodules/schema/schemas/ListSchema.ts index 50236cc7859..1484c55b42f 100644 --- a/packages/core/src/submodules/schema/schemas/ListSchema.ts +++ b/packages/core/src/submodules/schema/schemas/ListSchema.ts @@ -6,7 +6,7 @@ import { Schema } from "./Schema"; * A schema with a single member schema. * The deprecated Set type may be represented as a list. * - * @alpha + * @internal * @deprecated use StaticSchema */ export class ListSchema extends Schema implements IListSchema { diff --git a/packages/core/src/submodules/schema/schemas/MapSchema.ts b/packages/core/src/submodules/schema/schemas/MapSchema.ts index 4150713b86b..bcd29b56388 100644 --- a/packages/core/src/submodules/schema/schemas/MapSchema.ts +++ b/packages/core/src/submodules/schema/schemas/MapSchema.ts @@ -4,7 +4,7 @@ import { Schema } from "./Schema"; /** * A schema with a key schema and value schema. - * @alpha + * @internal * @deprecated use StaticSchema */ export class MapSchema extends Schema implements IMapSchema { diff --git a/packages/core/src/submodules/schema/schemas/NormalizedSchema.ts b/packages/core/src/submodules/schema/schemas/NormalizedSchema.ts index 43df2e7d1ad..e45212fbdf2 100644 --- a/packages/core/src/submodules/schema/schemas/NormalizedSchema.ts +++ b/packages/core/src/submodules/schema/schemas/NormalizedSchema.ts @@ -39,7 +39,7 @@ import { translateTraits } from "./translateTraits"; * Wraps both class instances, numeric sentinel values, and member schema pairs. * Presents a consistent interface for interacting with polymorphic schema representations. * - * @alpha + * @public */ export class NormalizedSchema implements INormalizedSchema { // ======================== diff --git a/packages/core/src/submodules/schema/schemas/OperationSchema.ts b/packages/core/src/submodules/schema/schemas/OperationSchema.ts index dedd233ce42..072d29b3ea6 100644 --- a/packages/core/src/submodules/schema/schemas/OperationSchema.ts +++ b/packages/core/src/submodules/schema/schemas/OperationSchema.ts @@ -6,7 +6,7 @@ import { Schema } from "./Schema"; * This is used as a reference container for the input/output pair of schema, and for trait * detection on the operation that may affect client protocol logic. * - * @alpha + * @internal * @deprecated use StaticSchema */ export class OperationSchema extends Schema implements IOperationSchema { diff --git a/packages/core/src/submodules/schema/schemas/Schema.ts b/packages/core/src/submodules/schema/schemas/Schema.ts index d71e0ae4062..4813d76878b 100644 --- a/packages/core/src/submodules/schema/schemas/Schema.ts +++ b/packages/core/src/submodules/schema/schemas/Schema.ts @@ -5,7 +5,7 @@ import { TypeRegistry } from "../TypeRegistry"; /** * Abstract base for class-based Schema except NormalizedSchema. * - * @alpha + * @internal * @deprecated use StaticSchema */ export abstract class Schema implements TraitsSchema { diff --git a/packages/core/src/submodules/schema/schemas/SimpleSchema.ts b/packages/core/src/submodules/schema/schemas/SimpleSchema.ts index 3777b5ad3fa..5c54154a338 100644 --- a/packages/core/src/submodules/schema/schemas/SimpleSchema.ts +++ b/packages/core/src/submodules/schema/schemas/SimpleSchema.ts @@ -7,7 +7,7 @@ import { Schema } from "./Schema"; * Although numeric values exist for most simple schema, this class is used for cases where traits are * attached to those schema, since a single number cannot easily represent both a schema and its traits. * - * @alpha + * @internal * @deprecated use StaticSchema */ export class SimpleSchema extends Schema implements TraitsSchema { diff --git a/packages/core/src/submodules/schema/schemas/StructureSchema.ts b/packages/core/src/submodules/schema/schemas/StructureSchema.ts index 2ab9cc1c7ff..99170a87d89 100644 --- a/packages/core/src/submodules/schema/schemas/StructureSchema.ts +++ b/packages/core/src/submodules/schema/schemas/StructureSchema.ts @@ -6,7 +6,7 @@ import { Schema } from "./Schema"; /** * A structure schema has a known list of members. This is also used for unions. * - * @alpha + * @internal * @deprecated use StaticSchema */ export class StructureSchema extends Schema implements IStructureSchema { diff --git a/packages/core/src/submodules/schema/schemas/sentinels.ts b/packages/core/src/submodules/schema/schemas/sentinels.ts index da7702ac24d..a7451aedf1b 100644 --- a/packages/core/src/submodules/schema/schemas/sentinels.ts +++ b/packages/core/src/submodules/schema/schemas/sentinels.ts @@ -17,7 +17,7 @@ import type { /** * Schema sentinel runtime values. - * @alpha + * @internal * * @deprecated use inline numbers with type annotation to save space. */ diff --git a/packages/types/src/schema/schema-deprecated.ts b/packages/types/src/schema/schema-deprecated.ts index af4e5a7ea7c..6ba1e72d178 100644 --- a/packages/types/src/schema/schema-deprecated.ts +++ b/packages/types/src/schema/schema-deprecated.ts @@ -7,7 +7,7 @@ import type { StaticSchema } from "./static-schemas"; /** * A schema is an object or value that describes how to serialize/deserialize data. - * @public + * @internal * @deprecated use $Schema */ export type Schema = @@ -26,7 +26,7 @@ export type Schema = * A schema "reference" is either a schema or a function that * provides a schema. This is useful for lazy loading, and to allow * code generation to define schema out of dependency order. - * @public + * @internal * @deprecated use $SchemaRef */ export type SchemaRef = Schema | (() => Schema); @@ -34,7 +34,7 @@ export type SchemaRef = Schema | (() => Schema); /** * A schema that has traits. * - * @public + * @internal * @deprecated use static schema. */ export interface TraitsSchema { @@ -46,14 +46,14 @@ export interface TraitsSchema { /** * Indicates the schema is a member of a parent Structure schema. * It may also have a set of member traits distinct from its target shape's traits. - * @public + * @internal * @deprecated use $MemberSchema */ export type MemberSchema = [SchemaRef, SchemaTraits]; /** * Schema for the structure aggregate type. - * @public + * @internal * @deprecated use static schema. */ export interface StructureSchema extends TraitsSchema { @@ -69,7 +69,7 @@ export interface StructureSchema extends TraitsSchema { /** * Schema for the list aggregate type. - * @public + * @internal * @deprecated use static schema. */ export interface ListSchema extends TraitsSchema { @@ -78,7 +78,7 @@ export interface ListSchema extends TraitsSchema { /** * Schema for the map aggregate type. - * @public + * @internal * @deprecated use static schema. */ export interface MapSchema extends TraitsSchema { @@ -88,7 +88,7 @@ export interface MapSchema extends TraitsSchema { /** * Schema for an operation. - * @public + * @internal * @deprecated use StaticOperationSchema or $OperationSchema */ export interface OperationSchema { @@ -101,7 +101,7 @@ export interface OperationSchema { /** * Turns a serialization into a data object. - * @public + * @internal * @deprecated use $ShapeDeserializer */ export interface ShapeDeserializer extends ConfigurableSerdeContext { @@ -113,7 +113,7 @@ export interface ShapeDeserializer extends Confi /** * Turns a data object into a serialization. - * @public + * @internal * @deprecated use $ShapeSerializer */ export interface ShapeSerializer extends ConfigurableSerdeContext { @@ -125,7 +125,7 @@ export interface ShapeSerializer extends Configu /** * A codec creates serializers and deserializers for some format such as JSON, XML, or CBOR. * - * @public + * @internal * @deprecated use $Codec */ export interface Codec extends ConfigurableSerdeContext { @@ -135,7 +135,7 @@ export interface Codec extends ConfigurableSerdeContext { /** * A client protocol defines how to convert a message (e.g. HTTP request/response) to and from a data object. - * @public + * @internal * @deprecated use $ClientProtocol */ export interface ClientProtocol extends ConfigurableSerdeContext { diff --git a/packages/types/src/schema/schema.ts b/packages/types/src/schema/schema.ts index c9dc21ee448..127a4353915 100644 --- a/packages/types/src/schema/schema.ts +++ b/packages/types/src/schema/schema.ts @@ -21,7 +21,7 @@ import type { TraitBitVector } from "./traits"; /** * A schema is an object or value that describes how to serialize/deserialize data. - * @alpha + * @public */ export type $Schema = UnitSchema | SimpleSchema | $MemberSchema | StaticSchema | NormalizedSchema; @@ -74,7 +74,7 @@ export type BlobSchemas = BlobSchema | StreamingBlobSchema; * Signal value for the Smithy void value. Typically used for * operation input and outputs. * - * @alpha + * @public */ export type UnitSchema = "unit"; @@ -133,13 +133,13 @@ export type SchemaTraitsObject = { /** * Indicates the schema is a member of a parent Structure schema. * It may also have a set of member traits distinct from its target shape's traits. - * @alpha + * @public */ export type $MemberSchema = [$SchemaRef, SchemaTraits]; /** * Schema for an operation. - * @alpha + * @public */ export interface $OperationSchema { namespace: string; @@ -186,7 +186,7 @@ export interface NormalizedSchema { * A schema "reference" is either a schema or a function that * provides a schema. This is useful for lazy loading, and to allow * code generation to define schema out of dependency order. - * @alpha + * @public */ export type $SchemaRef = $Schema | (() => $Schema); diff --git a/packages/types/src/schema/static-schemas.ts b/packages/types/src/schema/static-schemas.ts index df12e3fb60a..27d788106f7 100644 --- a/packages/types/src/schema/static-schemas.ts +++ b/packages/types/src/schema/static-schemas.ts @@ -6,37 +6,37 @@ Schemas are generated as static objects to improve tree-shaking behavior in down import type { $SchemaRef, SchemaTraits } from "../schema/schema"; /** - * @alpha + * @public */ export type StaticSchemaIdSimple = 0; /** - * @alpha + * @public */ export type StaticSchemaIdList = 1; /** - * @alpha + * @public */ export type StaticSchemaIdMap = 2; /** - * @alpha + * @public */ export type StaticSchemaIdStruct = 3; /** - * @alpha + * @public */ export type StaticSchemaIdError = -3; /** - * @alpha + * @public */ export type StaticSchemaIdOperation = 9; /** - * @alpha + * @public */ export type StaticSchema = | StaticSimpleSchema @@ -47,32 +47,32 @@ export type StaticSchema = | StaticOperationSchema; /** - * @alpha + * @public */ export type ShapeName = string; /** - * @alpha + * @public */ export type ShapeNamespace = string; /** - * @alpha + * @public */ export type StaticSimpleSchema = [StaticSchemaIdSimple, ShapeNamespace, ShapeName, SchemaTraits, $SchemaRef]; /** - * @alpha + * @public */ export type StaticListSchema = [StaticSchemaIdList, ShapeNamespace, ShapeName, SchemaTraits, $SchemaRef]; /** - * @alpha + * @public */ export type StaticMapSchema = [StaticSchemaIdMap, ShapeNamespace, ShapeName, SchemaTraits, $SchemaRef, $SchemaRef]; /** - * @alpha + * @public */ export type StaticStructureSchema = [ StaticSchemaIdStruct, @@ -84,7 +84,7 @@ export type StaticStructureSchema = [ ]; /** - * @alpha + * @public */ export type StaticErrorSchema = [ StaticSchemaIdError, @@ -96,7 +96,7 @@ export type StaticErrorSchema = [ ]; /** - * @alpha + * @public */ export type StaticOperationSchema = [ StaticSchemaIdOperation,