@amqp-contract/asyncapi 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -51,6 +51,7 @@ let _amqp_contract_contract = require("@amqp-contract/contract");
51
51
  */
52
52
  var AsyncAPIGenerator = class {
53
53
  converters;
54
+ logger;
54
55
  /**
55
56
  * Create a new AsyncAPI generator instance.
56
57
  *
@@ -58,6 +59,7 @@ var AsyncAPIGenerator = class {
58
59
  */
59
60
  constructor(options = {}) {
60
61
  this.converters = options.schemaConverters ?? [];
62
+ this.logger = options.logger;
61
63
  }
62
64
  /**
63
65
  * Generate an AsyncAPI 3.0 document from a contract definition.
@@ -285,6 +287,7 @@ var AsyncAPIGenerator = class {
285
287
  const [_required, jsonSchema] = await converter.convert(schema, { strategy });
286
288
  return jsonSchema;
287
289
  }
290
+ this.logger?.warn("No schema converter matched for schema. The generated spec will use a generic { type: \"object\" } placeholder. Configure schemaConverters (e.g. zodToJsonSchema) to generate accurate schemas.");
288
291
  return { type: "object" };
289
292
  }
290
293
  };
package/dist/index.d.cts CHANGED
@@ -412,6 +412,12 @@ type AsyncAPIGeneratorOptions = {
412
412
  * Supports Zod, Valibot, ArkType, and other Standard Schema v1 compatible libraries.
413
413
  */
414
414
  schemaConverters?: ConditionalSchemaConverter[];
415
+ /**
416
+ * Optional logger for warnings during generation (e.g. unmatched schema converters).
417
+ */
418
+ logger?: {
419
+ warn: (message: string) => void;
420
+ };
415
421
  };
416
422
  /**
417
423
  * Options for generating an AsyncAPI document.
@@ -468,6 +474,7 @@ type AsyncAPIGeneratorGenerateOptions = Pick<AsyncAPIObject, "info"> & Partial<P
468
474
  */
469
475
  declare class AsyncAPIGenerator {
470
476
  private readonly converters;
477
+ private readonly logger?;
471
478
  /**
472
479
  * Create a new AsyncAPI generator instance.
473
480
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":["JSONSchema4TypeName","JSONSchema4Type","JSONSchema4Object","JSONSchema4Array","key","Array","JSONSchema4Version","JSONSchema4","id","$ref","$schema","title","description","default","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","items","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","definitions","k","properties","patternProperties","dependencies","enum","type","allOf","anyOf","oneOf","not","extends","format","JSONSchema6TypeName","JSONSchema6Type","JSONSchema6Object","JSONSchema6Array","JSONSchema6Version","JSONSchema6Definition","JSONSchema6","$id","contains","propertyNames","const","examples","JSONSchema7TypeName","JSONSchema7Type","JSONSchema7Object","JSONSchema7Array","JSONSchema7Version","JSONSchema7Definition","JSONSchema7","$comment","$defs","if","then","else","contentMediaType","contentEncoding","readOnly","writeOnly","ValidationResult","ValidationError","valid","errors","property","message","validate","instance","schema","checkPropertyChange","value","mustBeValid","result","JSONSchema7Version","JSONSchema7TypeName","JSONSchema7Type","AsyncAPIVersion","Identifier","DefaultContentType","AsyncAPIObject","InfoObject","ServersObject","ChannelsObject","OperationsObject","ComponentsObject","SpecificationExtensions","asyncapi","id","defaultContentType","info","servers","channels","operations","components","ContactObject","LicenseObject","TagsObject","ExternalDocumentationObject","ReferenceObject","title","version","description","termsOfService","contact","license","tags","externalDocs","name","url","email","ServerObject","Record","ServerVariableObject","SecuritySchemeObject","Array","ServerBindingsObject","host","protocol","pathname","protocolVersion","variables","security","bindings","enum","default","examples","Binding","http","ws","kafka","anypointmq","amqp","amqp1","mqtt","mqtt5","nats","jms","sns","sqs","stomp","redis","mercure","ibmmq","googlepubsub","ChannelObject","MessagesObject","ParametersObject","ChannelBindingsObject","address","messages","summary","parameters","OperationObject","MessageObject","OperationReplyObject","OperationBindingsObject","OperationTraitObject","action","channel","reply","traits","OperationReplyAddressObject","location","MessageTraitObject","payload","MultiFormatSchemaObject","CorrelationIDObject","MessageBindingsObject","MessageExampleObject","headers","correlationId","contentType","ParameterObject","TagObject","SchemaObject","schemas","securitySchemes","serverVariables","replies","replyAddresses","correlationIds","operationTraits","messageTraits","serverBindings","channelBindings","operationBindings","messageBindings","SecuritySchemeType","OAuthFlowsObject","type","in","scheme","bearerFormat","flows","openIdConnectUrl","scopes","SecuritySchemaLocation","SecuritySchemeObjectBase","SecuritySchemeObjectUserPassword","SecuritySchemeObjectApiKey","SecuritySchemeObjectX509","SecuritySchemeObjectSymetricEncryption","SecuritySchemeObjectAsymetricEncryption","SecuritySchemeObjectHttpApiKey","SecuritySchemeObjectHttp","SecuritySchemeObjectOauth2","SecuritySchemeObjectOpenIdConnect","SecuritySchemeObjectPlain","SecuritySchemeObjectScramSha256","SecuritySchemeObjectScramSha512","SecuritySchemeObjectGssapi","OAuthFlowObjectImplicit","OAuthFlowObjectPassword","OAuthFlowObjectClientCredentials","OAuthFlowObjectAuthorizationCode","implicit","password","clientCredentials","authorizationCode","OAuthFlowObject","OAuthFlowObjectBase","refreshUrl","availableScopes","authorizationUrl","tokenUrl","AsyncAPISchemaObject","AsyncAPISchemaDefinition","MultiFormatObject","schema","schemaFormat","$id","$schema","$comment","const","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","properties","key","patternProperties","additionalProperties","dependencies","propertyNames","if","then","else","allOf","anyOf","oneOf","not","format","contentMediaType","contentEncoding","definitions","readOnly","writeOnly","discriminator","deprecated","keyword","bindingVersion","SpecificationExtension","extension","T","$ref"],"sources":["../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@asyncapi+parser@3.6.0/node_modules/@asyncapi/parser/esm/spec-types/v3.d.ts","../src/index.ts"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":["JSONSchema4TypeName","JSONSchema4Type","JSONSchema4Object","JSONSchema4Array","key","Array","JSONSchema4Version","JSONSchema4","id","$ref","$schema","title","description","default","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","items","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","definitions","k","properties","patternProperties","dependencies","enum","type","allOf","anyOf","oneOf","not","extends","format","JSONSchema6TypeName","JSONSchema6Type","JSONSchema6Object","JSONSchema6Array","JSONSchema6Version","JSONSchema6Definition","JSONSchema6","$id","contains","propertyNames","const","examples","JSONSchema7TypeName","JSONSchema7Type","JSONSchema7Object","JSONSchema7Array","JSONSchema7Version","JSONSchema7Definition","JSONSchema7","$comment","$defs","if","then","else","contentMediaType","contentEncoding","readOnly","writeOnly","ValidationResult","ValidationError","valid","errors","property","message","validate","instance","schema","checkPropertyChange","value","mustBeValid","result","JSONSchema7Version","JSONSchema7TypeName","JSONSchema7Type","AsyncAPIVersion","Identifier","DefaultContentType","AsyncAPIObject","InfoObject","ServersObject","ChannelsObject","OperationsObject","ComponentsObject","SpecificationExtensions","asyncapi","id","defaultContentType","info","servers","channels","operations","components","ContactObject","LicenseObject","TagsObject","ExternalDocumentationObject","ReferenceObject","title","version","description","termsOfService","contact","license","tags","externalDocs","name","url","email","ServerObject","Record","ServerVariableObject","SecuritySchemeObject","Array","ServerBindingsObject","host","protocol","pathname","protocolVersion","variables","security","bindings","enum","default","examples","Binding","http","ws","kafka","anypointmq","amqp","amqp1","mqtt","mqtt5","nats","jms","sns","sqs","stomp","redis","mercure","ibmmq","googlepubsub","ChannelObject","MessagesObject","ParametersObject","ChannelBindingsObject","address","messages","summary","parameters","OperationObject","MessageObject","OperationReplyObject","OperationBindingsObject","OperationTraitObject","action","channel","reply","traits","OperationReplyAddressObject","location","MessageTraitObject","payload","MultiFormatSchemaObject","CorrelationIDObject","MessageBindingsObject","MessageExampleObject","headers","correlationId","contentType","ParameterObject","TagObject","SchemaObject","schemas","securitySchemes","serverVariables","replies","replyAddresses","correlationIds","operationTraits","messageTraits","serverBindings","channelBindings","operationBindings","messageBindings","SecuritySchemeType","OAuthFlowsObject","type","in","scheme","bearerFormat","flows","openIdConnectUrl","scopes","SecuritySchemaLocation","SecuritySchemeObjectBase","SecuritySchemeObjectUserPassword","SecuritySchemeObjectApiKey","SecuritySchemeObjectX509","SecuritySchemeObjectSymetricEncryption","SecuritySchemeObjectAsymetricEncryption","SecuritySchemeObjectHttpApiKey","SecuritySchemeObjectHttp","SecuritySchemeObjectOauth2","SecuritySchemeObjectOpenIdConnect","SecuritySchemeObjectPlain","SecuritySchemeObjectScramSha256","SecuritySchemeObjectScramSha512","SecuritySchemeObjectGssapi","OAuthFlowObjectImplicit","OAuthFlowObjectPassword","OAuthFlowObjectClientCredentials","OAuthFlowObjectAuthorizationCode","implicit","password","clientCredentials","authorizationCode","OAuthFlowObject","OAuthFlowObjectBase","refreshUrl","availableScopes","authorizationUrl","tokenUrl","AsyncAPISchemaObject","AsyncAPISchemaDefinition","MultiFormatObject","schema","schemaFormat","$id","$schema","$comment","const","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","properties","key","patternProperties","additionalProperties","dependencies","propertyNames","if","then","else","allOf","anyOf","oneOf","not","format","contentMediaType","contentEncoding","definitions","readOnly","writeOnly","discriminator","deprecated","keyword","bindingVersion","SpecificationExtension","extension","T","$ref"],"sources":["../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@asyncapi+parser@3.6.0/node_modules/@asyncapi/parser/esm/spec-types/v3.d.ts","../src/index.ts"],"x_google_ignoreList":[0,1],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -412,6 +412,12 @@ type AsyncAPIGeneratorOptions = {
412
412
  * Supports Zod, Valibot, ArkType, and other Standard Schema v1 compatible libraries.
413
413
  */
414
414
  schemaConverters?: ConditionalSchemaConverter[];
415
+ /**
416
+ * Optional logger for warnings during generation (e.g. unmatched schema converters).
417
+ */
418
+ logger?: {
419
+ warn: (message: string) => void;
420
+ };
415
421
  };
416
422
  /**
417
423
  * Options for generating an AsyncAPI document.
@@ -468,6 +474,7 @@ type AsyncAPIGeneratorGenerateOptions = Pick<AsyncAPIObject, "info"> & Partial<P
468
474
  */
469
475
  declare class AsyncAPIGenerator {
470
476
  private readonly converters;
477
+ private readonly logger?;
471
478
  /**
472
479
  * Create a new AsyncAPI generator instance.
473
480
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["JSONSchema4TypeName","JSONSchema4Type","JSONSchema4Object","JSONSchema4Array","key","Array","JSONSchema4Version","JSONSchema4","id","$ref","$schema","title","description","default","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","items","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","definitions","k","properties","patternProperties","dependencies","enum","type","allOf","anyOf","oneOf","not","extends","format","JSONSchema6TypeName","JSONSchema6Type","JSONSchema6Object","JSONSchema6Array","JSONSchema6Version","JSONSchema6Definition","JSONSchema6","$id","contains","propertyNames","const","examples","JSONSchema7TypeName","JSONSchema7Type","JSONSchema7Object","JSONSchema7Array","JSONSchema7Version","JSONSchema7Definition","JSONSchema7","$comment","$defs","if","then","else","contentMediaType","contentEncoding","readOnly","writeOnly","ValidationResult","ValidationError","valid","errors","property","message","validate","instance","schema","checkPropertyChange","value","mustBeValid","result","JSONSchema7Version","JSONSchema7TypeName","JSONSchema7Type","AsyncAPIVersion","Identifier","DefaultContentType","AsyncAPIObject","InfoObject","ServersObject","ChannelsObject","OperationsObject","ComponentsObject","SpecificationExtensions","asyncapi","id","defaultContentType","info","servers","channels","operations","components","ContactObject","LicenseObject","TagsObject","ExternalDocumentationObject","ReferenceObject","title","version","description","termsOfService","contact","license","tags","externalDocs","name","url","email","ServerObject","Record","ServerVariableObject","SecuritySchemeObject","Array","ServerBindingsObject","host","protocol","pathname","protocolVersion","variables","security","bindings","enum","default","examples","Binding","http","ws","kafka","anypointmq","amqp","amqp1","mqtt","mqtt5","nats","jms","sns","sqs","stomp","redis","mercure","ibmmq","googlepubsub","ChannelObject","MessagesObject","ParametersObject","ChannelBindingsObject","address","messages","summary","parameters","OperationObject","MessageObject","OperationReplyObject","OperationBindingsObject","OperationTraitObject","action","channel","reply","traits","OperationReplyAddressObject","location","MessageTraitObject","payload","MultiFormatSchemaObject","CorrelationIDObject","MessageBindingsObject","MessageExampleObject","headers","correlationId","contentType","ParameterObject","TagObject","SchemaObject","schemas","securitySchemes","serverVariables","replies","replyAddresses","correlationIds","operationTraits","messageTraits","serverBindings","channelBindings","operationBindings","messageBindings","SecuritySchemeType","OAuthFlowsObject","type","in","scheme","bearerFormat","flows","openIdConnectUrl","scopes","SecuritySchemaLocation","SecuritySchemeObjectBase","SecuritySchemeObjectUserPassword","SecuritySchemeObjectApiKey","SecuritySchemeObjectX509","SecuritySchemeObjectSymetricEncryption","SecuritySchemeObjectAsymetricEncryption","SecuritySchemeObjectHttpApiKey","SecuritySchemeObjectHttp","SecuritySchemeObjectOauth2","SecuritySchemeObjectOpenIdConnect","SecuritySchemeObjectPlain","SecuritySchemeObjectScramSha256","SecuritySchemeObjectScramSha512","SecuritySchemeObjectGssapi","OAuthFlowObjectImplicit","OAuthFlowObjectPassword","OAuthFlowObjectClientCredentials","OAuthFlowObjectAuthorizationCode","implicit","password","clientCredentials","authorizationCode","OAuthFlowObject","OAuthFlowObjectBase","refreshUrl","availableScopes","authorizationUrl","tokenUrl","AsyncAPISchemaObject","AsyncAPISchemaDefinition","MultiFormatObject","schema","schemaFormat","$id","$schema","$comment","const","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","properties","key","patternProperties","additionalProperties","dependencies","propertyNames","if","then","else","allOf","anyOf","oneOf","not","format","contentMediaType","contentEncoding","definitions","readOnly","writeOnly","discriminator","deprecated","keyword","bindingVersion","SpecificationExtension","extension","T","$ref"],"sources":["../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@asyncapi+parser@3.6.0/node_modules/@asyncapi/parser/esm/spec-types/v3.d.ts","../src/index.ts"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":["JSONSchema4TypeName","JSONSchema4Type","JSONSchema4Object","JSONSchema4Array","key","Array","JSONSchema4Version","JSONSchema4","id","$ref","$schema","title","description","default","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","items","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","definitions","k","properties","patternProperties","dependencies","enum","type","allOf","anyOf","oneOf","not","extends","format","JSONSchema6TypeName","JSONSchema6Type","JSONSchema6Object","JSONSchema6Array","JSONSchema6Version","JSONSchema6Definition","JSONSchema6","$id","contains","propertyNames","const","examples","JSONSchema7TypeName","JSONSchema7Type","JSONSchema7Object","JSONSchema7Array","JSONSchema7Version","JSONSchema7Definition","JSONSchema7","$comment","$defs","if","then","else","contentMediaType","contentEncoding","readOnly","writeOnly","ValidationResult","ValidationError","valid","errors","property","message","validate","instance","schema","checkPropertyChange","value","mustBeValid","result","JSONSchema7Version","JSONSchema7TypeName","JSONSchema7Type","AsyncAPIVersion","Identifier","DefaultContentType","AsyncAPIObject","InfoObject","ServersObject","ChannelsObject","OperationsObject","ComponentsObject","SpecificationExtensions","asyncapi","id","defaultContentType","info","servers","channels","operations","components","ContactObject","LicenseObject","TagsObject","ExternalDocumentationObject","ReferenceObject","title","version","description","termsOfService","contact","license","tags","externalDocs","name","url","email","ServerObject","Record","ServerVariableObject","SecuritySchemeObject","Array","ServerBindingsObject","host","protocol","pathname","protocolVersion","variables","security","bindings","enum","default","examples","Binding","http","ws","kafka","anypointmq","amqp","amqp1","mqtt","mqtt5","nats","jms","sns","sqs","stomp","redis","mercure","ibmmq","googlepubsub","ChannelObject","MessagesObject","ParametersObject","ChannelBindingsObject","address","messages","summary","parameters","OperationObject","MessageObject","OperationReplyObject","OperationBindingsObject","OperationTraitObject","action","channel","reply","traits","OperationReplyAddressObject","location","MessageTraitObject","payload","MultiFormatSchemaObject","CorrelationIDObject","MessageBindingsObject","MessageExampleObject","headers","correlationId","contentType","ParameterObject","TagObject","SchemaObject","schemas","securitySchemes","serverVariables","replies","replyAddresses","correlationIds","operationTraits","messageTraits","serverBindings","channelBindings","operationBindings","messageBindings","SecuritySchemeType","OAuthFlowsObject","type","in","scheme","bearerFormat","flows","openIdConnectUrl","scopes","SecuritySchemaLocation","SecuritySchemeObjectBase","SecuritySchemeObjectUserPassword","SecuritySchemeObjectApiKey","SecuritySchemeObjectX509","SecuritySchemeObjectSymetricEncryption","SecuritySchemeObjectAsymetricEncryption","SecuritySchemeObjectHttpApiKey","SecuritySchemeObjectHttp","SecuritySchemeObjectOauth2","SecuritySchemeObjectOpenIdConnect","SecuritySchemeObjectPlain","SecuritySchemeObjectScramSha256","SecuritySchemeObjectScramSha512","SecuritySchemeObjectGssapi","OAuthFlowObjectImplicit","OAuthFlowObjectPassword","OAuthFlowObjectClientCredentials","OAuthFlowObjectAuthorizationCode","implicit","password","clientCredentials","authorizationCode","OAuthFlowObject","OAuthFlowObjectBase","refreshUrl","availableScopes","authorizationUrl","tokenUrl","AsyncAPISchemaObject","AsyncAPISchemaDefinition","MultiFormatObject","schema","schemaFormat","$id","$schema","$comment","const","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","properties","key","patternProperties","additionalProperties","dependencies","propertyNames","if","then","else","allOf","anyOf","oneOf","not","format","contentMediaType","contentEncoding","definitions","readOnly","writeOnly","discriminator","deprecated","keyword","bindingVersion","SpecificationExtension","extension","T","$ref"],"sources":["../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@asyncapi+parser@3.6.0/node_modules/@asyncapi/parser/esm/spec-types/v3.d.ts","../src/index.ts"],"x_google_ignoreList":[0,1],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -50,6 +50,7 @@ import { extractConsumer, extractQueue } from "@amqp-contract/contract";
50
50
  */
51
51
  var AsyncAPIGenerator = class {
52
52
  converters;
53
+ logger;
53
54
  /**
54
55
  * Create a new AsyncAPI generator instance.
55
56
  *
@@ -57,6 +58,7 @@ var AsyncAPIGenerator = class {
57
58
  */
58
59
  constructor(options = {}) {
59
60
  this.converters = options.schemaConverters ?? [];
61
+ this.logger = options.logger;
60
62
  }
61
63
  /**
62
64
  * Generate an AsyncAPI 3.0 document from a contract definition.
@@ -284,6 +286,7 @@ var AsyncAPIGenerator = class {
284
286
  const [_required, jsonSchema] = await converter.convert(schema, { strategy });
285
287
  return jsonSchema;
286
288
  }
289
+ this.logger?.warn("No schema converter matched for schema. The generated spec will use a generic { type: \"object\" } placeholder. Configure schemaConverters (e.g. zodToJsonSchema) to generate accurate schemas.");
287
290
  return { type: "object" };
288
291
  }
289
292
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["import {\n AsyncAPIObject,\n ChannelObject,\n ChannelsObject,\n MessageObject,\n MessagesObject,\n OperationsObject,\n} from \"@asyncapi/parser/esm/spec-types/v3.js\";\nimport { ConditionalSchemaConverter, JSONSchema } from \"@orpc/openapi\";\nimport type {\n ContractDefinition,\n ExchangeDefinition,\n MessageDefinition,\n QueueBindingDefinition,\n QueueDefinition,\n} from \"@amqp-contract/contract\";\nimport { extractConsumer, extractQueue } from \"@amqp-contract/contract\";\nimport type { StandardSchemaV1 } from \"@standard-schema/spec\";\n\n/**\n * Options for configuring the AsyncAPI generator.\n *\n * @example\n * ```typescript\n * import { AsyncAPIGenerator } from '@amqp-contract/asyncapi';\n * import { zodToJsonSchema } from '@orpc/zod';\n *\n * const generator = new AsyncAPIGenerator({\n * schemaConverters: [zodToJsonSchema]\n * });\n * ```\n */\nexport type AsyncAPIGeneratorOptions = {\n /**\n * Schema converters for transforming validation schemas to JSON Schema.\n * Supports Zod, Valibot, ArkType, and other Standard Schema v1 compatible libraries.\n */\n schemaConverters?: ConditionalSchemaConverter[];\n};\n\n/**\n * Options for generating an AsyncAPI document.\n * These correspond to the top-level AsyncAPI document fields.\n */\nexport type AsyncAPIGeneratorGenerateOptions = Pick<AsyncAPIObject, \"info\"> &\n Partial<Pick<AsyncAPIObject, \"id\" | \"servers\">>;\n\n/**\n * Generator for creating AsyncAPI 3.0 documentation from AMQP contracts.\n *\n * This class converts contract definitions into AsyncAPI 3.0 specification documents,\n * which can be used for API documentation, code generation, and tooling integration.\n *\n * @example\n * ```typescript\n * import { AsyncAPIGenerator } from '@amqp-contract/asyncapi';\n * import { defineExchange, defineMessage, defineContract, definePublisher } from '@amqp-contract/contract';\n * import { zodToJsonSchema } from '@orpc/zod';\n * import { z } from 'zod';\n *\n * const ordersExchange = defineExchange('orders');\n * const orderMessage = defineMessage(z.object({\n * orderId: z.string(),\n * amount: z.number()\n * }));\n *\n * const contract = defineContract({\n * publishers: {\n * orderCreated: definePublisher(ordersExchange, orderMessage, {\n * routingKey: 'order.created'\n * })\n * }\n * });\n *\n * const generator = new AsyncAPIGenerator({\n * schemaConverters: [zodToJsonSchema]\n * });\n *\n * const asyncapi = await generator.generate(contract, {\n * id: 'urn:com:example:order-service',\n * info: {\n * title: 'Order Service API',\n * version: '1.0.0',\n * description: 'Async API for order processing'\n * },\n * servers: {\n * production: {\n * host: 'rabbitmq.example.com',\n * protocol: 'amqp',\n * protocolVersion: '0.9.1'\n * }\n * }\n * });\n * ```\n */\nexport class AsyncAPIGenerator {\n private readonly converters: ConditionalSchemaConverter[];\n\n /**\n * Create a new AsyncAPI generator instance.\n *\n * @param options - Configuration options including schema converters\n */\n constructor(options: AsyncAPIGeneratorOptions = {}) {\n this.converters = options.schemaConverters ?? [];\n }\n\n /**\n * Generate an AsyncAPI 3.0 document from a contract definition.\n *\n * Converts AMQP exchanges, queues, publishers, and consumers into\n * AsyncAPI channels, operations, and messages with proper JSON Schema\n * validation definitions.\n *\n * @param contract - The AMQP contract definition to convert\n * @param options - AsyncAPI document metadata (id, info, servers)\n * @returns Promise resolving to a complete AsyncAPI 3.0 document\n *\n * @example\n * ```typescript\n * const asyncapi = await generator.generate(contract, {\n * id: 'urn:com:example:api',\n * info: {\n * title: 'My API',\n * version: '1.0.0'\n * },\n * servers: {\n * dev: {\n * host: 'localhost:5672',\n * protocol: 'amqp'\n * }\n * }\n * });\n * ```\n */\n async generate(\n contract: ContractDefinition,\n options: AsyncAPIGeneratorGenerateOptions,\n ): Promise<AsyncAPIObject> {\n const convertedChannels: ChannelsObject = {};\n const convertedOperations: OperationsObject = {};\n const convertedMessages: MessagesObject = {};\n\n // First, collect all messages from publishers and consumers\n const publisherMessages = new Map<string, { message: MessageDefinition; channelKey: string }>();\n const consumerMessages = new Map<string, { message: MessageDefinition; channelKey: string }>();\n\n // Collect messages from publishers\n if (contract.publishers) {\n for (const [publisherName, publisher] of Object.entries(contract.publishers)) {\n const channelKey = this.getExchangeName(publisher.exchange, contract);\n publisherMessages.set(publisherName, { message: publisher.message, channelKey });\n }\n }\n\n // Collect messages from consumers\n if (contract.consumers) {\n for (const [consumerName, consumerEntry] of Object.entries(contract.consumers)) {\n const consumer = extractConsumer(consumerEntry);\n const queue = extractQueue(consumer.queue);\n const channelKey = this.getQueueName(queue, contract);\n consumerMessages.set(consumerName, { message: consumer.message, channelKey });\n }\n }\n\n // Generate channels from queues with their messages\n if (contract.queues) {\n for (const [queueName, queueEntry] of Object.entries(contract.queues)) {\n const queue = extractQueue(queueEntry);\n const channelMessages: MessagesObject = {};\n\n // Add messages from consumers that reference this queue\n for (const [consumerName, { message, channelKey }] of consumerMessages) {\n if (channelKey === queueName) {\n const messageName = `${consumerName}Message`;\n channelMessages[messageName] = await this.convertMessage(message);\n convertedMessages[messageName] = await this.convertMessage(message);\n }\n }\n\n // Find bindings for this queue\n const queueBindings = this.getQueueBindings(queue, contract);\n const channel: ChannelObject = {\n ...this.queueToChannel(queue, queueBindings),\n };\n\n if (Object.keys(channelMessages).length > 0) {\n channel.messages = channelMessages;\n }\n\n convertedChannels[queueName] = channel;\n }\n }\n\n // Generate channels from exchanges with their messages\n if (contract.exchanges) {\n for (const [exchangeName, exchange] of Object.entries(contract.exchanges)) {\n const channelMessages: MessagesObject = {};\n\n // Add messages from publishers that reference this exchange\n for (const [publisherName, { message, channelKey }] of publisherMessages) {\n if (channelKey === exchangeName) {\n const messageName = `${publisherName}Message`;\n channelMessages[messageName] = await this.convertMessage(message);\n convertedMessages[messageName] = await this.convertMessage(message);\n }\n }\n\n const channel: ChannelObject = {\n ...this.exchangeToChannel(exchange),\n };\n\n if (Object.keys(channelMessages).length > 0) {\n channel.messages = channelMessages;\n }\n\n convertedChannels[exchangeName] = channel;\n }\n }\n\n // Generate publish operations from publishers\n if (contract.publishers) {\n for (const [publisherName, publisher] of Object.entries(contract.publishers)) {\n const exchangeName = this.getExchangeName(publisher.exchange, contract);\n const messageName = `${publisherName}Message`;\n\n // Build operation without type assertion\n if (publisher.routingKey) {\n convertedOperations[publisherName] = {\n action: \"send\",\n channel: { $ref: `#/channels/${exchangeName}` },\n messages: [{ $ref: `#/channels/${exchangeName}/messages/${messageName}` }],\n summary: `Publish to ${publisher.exchange.name}`,\n description: `Routing key: ${publisher.routingKey}`,\n bindings: {\n amqp: {\n cc: [publisher.routingKey],\n deliveryMode: 2, // Persistent by default\n bindingVersion: \"0.3.0\",\n } as Record<string, unknown>,\n },\n };\n } else {\n convertedOperations[publisherName] = {\n action: \"send\",\n channel: { $ref: `#/channels/${exchangeName}` },\n messages: [{ $ref: `#/channels/${exchangeName}/messages/${messageName}` }],\n summary: `Publish to ${publisher.exchange.name}`,\n };\n }\n }\n }\n\n // Generate receive operations from consumers\n if (contract.consumers) {\n for (const [consumerName, consumerEntry] of Object.entries(contract.consumers)) {\n const consumer = extractConsumer(consumerEntry);\n const queue = extractQueue(consumer.queue);\n const queueName = this.getQueueName(queue, contract);\n const messageName = `${consumerName}Message`;\n\n convertedOperations[consumerName] = {\n action: \"receive\",\n channel: { $ref: `#/channels/${queueName}` },\n messages: [{ $ref: `#/channels/${queueName}/messages/${messageName}` }],\n summary: `Consume from ${queue.name}`,\n bindings: {\n amqp: {\n bindingVersion: \"0.3.0\",\n } as Record<string, unknown>,\n },\n };\n }\n }\n\n return {\n ...options,\n asyncapi: \"3.1.0\",\n channels: convertedChannels,\n operations: convertedOperations,\n components: {\n messages: convertedMessages,\n },\n };\n }\n\n /**\n * Convert a message definition to AsyncAPI MessageObject\n */\n private async convertMessage(message: MessageDefinition): Promise<MessageObject> {\n const payload = message.payload;\n\n // Convert payload schema\n const payloadJsonSchema = await this.convertSchema(payload, \"input\");\n\n // Build result with required properties\n const result: Record<string, unknown> = {\n payload: payloadJsonSchema,\n contentType: \"application/json\",\n };\n\n // Add optional properties only if they exist\n if (message.headers) {\n const headersJsonSchema = await this.convertSchema(message.headers, \"input\");\n if (headersJsonSchema) {\n result[\"headers\"] = headersJsonSchema;\n }\n }\n\n if (message.summary) {\n result[\"summary\"] = message.summary;\n }\n\n if (message.description) {\n result[\"description\"] = message.description;\n }\n\n return result as MessageObject;\n }\n\n /**\n * Convert a queue definition to AsyncAPI ChannelObject\n */\n private queueToChannel(\n queue: QueueDefinition,\n bindings: QueueBindingDefinition[] = [],\n ): ChannelObject {\n // Build description with binding information\n let description = `AMQP Queue: ${queue.name}`;\n if (bindings.length > 0) {\n const bindingDescriptions = bindings\n .map((binding) => {\n const exchangeName = binding.exchange.name;\n const routingKey = \"routingKey\" in binding ? binding.routingKey : undefined;\n return routingKey\n ? `bound to exchange '${exchangeName}' with routing key '${routingKey}'`\n : `bound to exchange '${exchangeName}'`;\n })\n .join(\", \");\n description += ` (${bindingDescriptions})`;\n }\n\n const result: Record<string, unknown> = {\n address: queue.name,\n title: queue.name,\n description,\n bindings: {\n amqp: {\n is: \"queue\",\n queue: {\n name: queue.name,\n type: queue.type,\n durable: queue.durable,\n ...(queue.exclusive !== undefined && { exclusive: queue.exclusive }),\n ...(queue.autoDelete !== undefined && { autoDelete: queue.autoDelete }),\n ...(queue.maxPriority !== undefined && { maxPriority: queue.maxPriority }),\n ...(queue.arguments !== undefined && { arguments: queue.arguments }),\n vhost: \"/\",\n },\n bindingVersion: \"0.3.0\",\n },\n },\n };\n\n return result as ChannelObject;\n }\n\n /**\n * Convert an exchange definition to AsyncAPI ChannelObject\n */\n private exchangeToChannel(exchange: ExchangeDefinition): ChannelObject {\n const result: Record<string, unknown> = {\n address: exchange.name,\n title: exchange.name,\n description: `AMQP Exchange: ${exchange.name} (${exchange.type})`,\n bindings: {\n amqp: {\n is: \"routingKey\",\n exchange: {\n name: exchange.name,\n type: exchange.type,\n durable: exchange.durable,\n ...(exchange.autoDelete !== undefined && { autoDelete: exchange.autoDelete }),\n ...(exchange.internal !== undefined && { internal: exchange.internal }),\n ...(exchange.arguments !== undefined && { arguments: exchange.arguments }),\n vhost: \"/\",\n },\n bindingVersion: \"0.3.0\",\n },\n },\n };\n\n return result as ChannelObject;\n }\n\n /**\n * Get the name/key of an exchange from the contract\n */\n private getExchangeName(exchange: ExchangeDefinition, contract: ContractDefinition): string {\n if (contract.exchanges) {\n for (const [name, ex] of Object.entries(contract.exchanges)) {\n if (ex === exchange || ex.name === exchange.name) {\n return name;\n }\n }\n }\n return exchange.name;\n }\n\n /**\n * Get the name/key of a queue from the contract\n */\n private getQueueName(queue: QueueDefinition, contract: ContractDefinition): string {\n if (contract.queues) {\n for (const [name, qEntry] of Object.entries(contract.queues)) {\n const q = extractQueue(qEntry);\n if (q === queue || q.name === queue.name) {\n return name;\n }\n }\n }\n return queue.name;\n }\n\n /**\n * Get all bindings for a queue from the contract\n */\n private getQueueBindings(\n queue: QueueDefinition,\n contract: ContractDefinition,\n ): QueueBindingDefinition[] {\n const result: QueueBindingDefinition[] = [];\n\n if (contract.bindings) {\n for (const binding of Object.values(contract.bindings)) {\n if (binding.type === \"queue\" && binding.queue.name === queue.name) {\n result.push(binding);\n }\n }\n }\n\n return result;\n }\n\n /**\n * Convert a Standard Schema to JSON Schema using oRPC converters\n */\n private async convertSchema(\n schema: StandardSchemaV1,\n strategy: \"input\" | \"output\",\n ): Promise<JSONSchema> {\n // Try each converter until one matches\n for (const converter of this.converters) {\n const matches = await converter.condition(schema, { strategy });\n if (matches) {\n const [_required, jsonSchema] = await converter.convert(schema, { strategy });\n return jsonSchema;\n }\n }\n\n // If no converter matches, return a generic object schema\n // This allows the contract to still be generated even without schema converters\n return { type: \"object\" };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["import {\n AsyncAPIObject,\n ChannelObject,\n ChannelsObject,\n MessageObject,\n MessagesObject,\n OperationsObject,\n} from \"@asyncapi/parser/esm/spec-types/v3.js\";\nimport { ConditionalSchemaConverter, JSONSchema } from \"@orpc/openapi\";\nimport type {\n ContractDefinition,\n ExchangeDefinition,\n MessageDefinition,\n QueueBindingDefinition,\n QueueDefinition,\n} from \"@amqp-contract/contract\";\nimport { extractConsumer, extractQueue } from \"@amqp-contract/contract\";\nimport type { StandardSchemaV1 } from \"@standard-schema/spec\";\n\n/**\n * Options for configuring the AsyncAPI generator.\n *\n * @example\n * ```typescript\n * import { AsyncAPIGenerator } from '@amqp-contract/asyncapi';\n * import { zodToJsonSchema } from '@orpc/zod';\n *\n * const generator = new AsyncAPIGenerator({\n * schemaConverters: [zodToJsonSchema]\n * });\n * ```\n */\nexport type AsyncAPIGeneratorOptions = {\n /**\n * Schema converters for transforming validation schemas to JSON Schema.\n * Supports Zod, Valibot, ArkType, and other Standard Schema v1 compatible libraries.\n */\n schemaConverters?: ConditionalSchemaConverter[];\n /**\n * Optional logger for warnings during generation (e.g. unmatched schema converters).\n */\n logger?: { warn: (message: string) => void };\n};\n\n/**\n * Options for generating an AsyncAPI document.\n * These correspond to the top-level AsyncAPI document fields.\n */\nexport type AsyncAPIGeneratorGenerateOptions = Pick<AsyncAPIObject, \"info\"> &\n Partial<Pick<AsyncAPIObject, \"id\" | \"servers\">>;\n\n/**\n * Generator for creating AsyncAPI 3.0 documentation from AMQP contracts.\n *\n * This class converts contract definitions into AsyncAPI 3.0 specification documents,\n * which can be used for API documentation, code generation, and tooling integration.\n *\n * @example\n * ```typescript\n * import { AsyncAPIGenerator } from '@amqp-contract/asyncapi';\n * import { defineExchange, defineMessage, defineContract, definePublisher } from '@amqp-contract/contract';\n * import { zodToJsonSchema } from '@orpc/zod';\n * import { z } from 'zod';\n *\n * const ordersExchange = defineExchange('orders');\n * const orderMessage = defineMessage(z.object({\n * orderId: z.string(),\n * amount: z.number()\n * }));\n *\n * const contract = defineContract({\n * publishers: {\n * orderCreated: definePublisher(ordersExchange, orderMessage, {\n * routingKey: 'order.created'\n * })\n * }\n * });\n *\n * const generator = new AsyncAPIGenerator({\n * schemaConverters: [zodToJsonSchema]\n * });\n *\n * const asyncapi = await generator.generate(contract, {\n * id: 'urn:com:example:order-service',\n * info: {\n * title: 'Order Service API',\n * version: '1.0.0',\n * description: 'Async API for order processing'\n * },\n * servers: {\n * production: {\n * host: 'rabbitmq.example.com',\n * protocol: 'amqp',\n * protocolVersion: '0.9.1'\n * }\n * }\n * });\n * ```\n */\nexport class AsyncAPIGenerator {\n private readonly converters: ConditionalSchemaConverter[];\n private readonly logger?: { warn: (message: string) => void } | undefined;\n\n /**\n * Create a new AsyncAPI generator instance.\n *\n * @param options - Configuration options including schema converters\n */\n constructor(options: AsyncAPIGeneratorOptions = {}) {\n this.converters = options.schemaConverters ?? [];\n this.logger = options.logger;\n }\n\n /**\n * Generate an AsyncAPI 3.0 document from a contract definition.\n *\n * Converts AMQP exchanges, queues, publishers, and consumers into\n * AsyncAPI channels, operations, and messages with proper JSON Schema\n * validation definitions.\n *\n * @param contract - The AMQP contract definition to convert\n * @param options - AsyncAPI document metadata (id, info, servers)\n * @returns Promise resolving to a complete AsyncAPI 3.0 document\n *\n * @example\n * ```typescript\n * const asyncapi = await generator.generate(contract, {\n * id: 'urn:com:example:api',\n * info: {\n * title: 'My API',\n * version: '1.0.0'\n * },\n * servers: {\n * dev: {\n * host: 'localhost:5672',\n * protocol: 'amqp'\n * }\n * }\n * });\n * ```\n */\n async generate(\n contract: ContractDefinition,\n options: AsyncAPIGeneratorGenerateOptions,\n ): Promise<AsyncAPIObject> {\n const convertedChannels: ChannelsObject = {};\n const convertedOperations: OperationsObject = {};\n const convertedMessages: MessagesObject = {};\n\n // First, collect all messages from publishers and consumers\n const publisherMessages = new Map<string, { message: MessageDefinition; channelKey: string }>();\n const consumerMessages = new Map<string, { message: MessageDefinition; channelKey: string }>();\n\n // Collect messages from publishers\n if (contract.publishers) {\n for (const [publisherName, publisher] of Object.entries(contract.publishers)) {\n const channelKey = this.getExchangeName(publisher.exchange, contract);\n publisherMessages.set(publisherName, { message: publisher.message, channelKey });\n }\n }\n\n // Collect messages from consumers\n if (contract.consumers) {\n for (const [consumerName, consumerEntry] of Object.entries(contract.consumers)) {\n const consumer = extractConsumer(consumerEntry);\n const queue = extractQueue(consumer.queue);\n const channelKey = this.getQueueName(queue, contract);\n consumerMessages.set(consumerName, { message: consumer.message, channelKey });\n }\n }\n\n // Generate channels from queues with their messages\n if (contract.queues) {\n for (const [queueName, queueEntry] of Object.entries(contract.queues)) {\n const queue = extractQueue(queueEntry);\n const channelMessages: MessagesObject = {};\n\n // Add messages from consumers that reference this queue\n for (const [consumerName, { message, channelKey }] of consumerMessages) {\n if (channelKey === queueName) {\n const messageName = `${consumerName}Message`;\n channelMessages[messageName] = await this.convertMessage(message);\n convertedMessages[messageName] = await this.convertMessage(message);\n }\n }\n\n // Find bindings for this queue\n const queueBindings = this.getQueueBindings(queue, contract);\n const channel: ChannelObject = {\n ...this.queueToChannel(queue, queueBindings),\n };\n\n if (Object.keys(channelMessages).length > 0) {\n channel.messages = channelMessages;\n }\n\n convertedChannels[queueName] = channel;\n }\n }\n\n // Generate channels from exchanges with their messages\n if (contract.exchanges) {\n for (const [exchangeName, exchange] of Object.entries(contract.exchanges)) {\n const channelMessages: MessagesObject = {};\n\n // Add messages from publishers that reference this exchange\n for (const [publisherName, { message, channelKey }] of publisherMessages) {\n if (channelKey === exchangeName) {\n const messageName = `${publisherName}Message`;\n channelMessages[messageName] = await this.convertMessage(message);\n convertedMessages[messageName] = await this.convertMessage(message);\n }\n }\n\n const channel: ChannelObject = {\n ...this.exchangeToChannel(exchange),\n };\n\n if (Object.keys(channelMessages).length > 0) {\n channel.messages = channelMessages;\n }\n\n convertedChannels[exchangeName] = channel;\n }\n }\n\n // Generate publish operations from publishers\n if (contract.publishers) {\n for (const [publisherName, publisher] of Object.entries(contract.publishers)) {\n const exchangeName = this.getExchangeName(publisher.exchange, contract);\n const messageName = `${publisherName}Message`;\n\n // Build operation without type assertion\n if (publisher.routingKey) {\n convertedOperations[publisherName] = {\n action: \"send\",\n channel: { $ref: `#/channels/${exchangeName}` },\n messages: [{ $ref: `#/channels/${exchangeName}/messages/${messageName}` }],\n summary: `Publish to ${publisher.exchange.name}`,\n description: `Routing key: ${publisher.routingKey}`,\n bindings: {\n amqp: {\n cc: [publisher.routingKey],\n deliveryMode: 2, // Persistent by default\n bindingVersion: \"0.3.0\",\n } as Record<string, unknown>,\n },\n };\n } else {\n convertedOperations[publisherName] = {\n action: \"send\",\n channel: { $ref: `#/channels/${exchangeName}` },\n messages: [{ $ref: `#/channels/${exchangeName}/messages/${messageName}` }],\n summary: `Publish to ${publisher.exchange.name}`,\n };\n }\n }\n }\n\n // Generate receive operations from consumers\n if (contract.consumers) {\n for (const [consumerName, consumerEntry] of Object.entries(contract.consumers)) {\n const consumer = extractConsumer(consumerEntry);\n const queue = extractQueue(consumer.queue);\n const queueName = this.getQueueName(queue, contract);\n const messageName = `${consumerName}Message`;\n\n convertedOperations[consumerName] = {\n action: \"receive\",\n channel: { $ref: `#/channels/${queueName}` },\n messages: [{ $ref: `#/channels/${queueName}/messages/${messageName}` }],\n summary: `Consume from ${queue.name}`,\n bindings: {\n amqp: {\n bindingVersion: \"0.3.0\",\n } as Record<string, unknown>,\n },\n };\n }\n }\n\n return {\n ...options,\n asyncapi: \"3.1.0\",\n channels: convertedChannels,\n operations: convertedOperations,\n components: {\n messages: convertedMessages,\n },\n };\n }\n\n /**\n * Convert a message definition to AsyncAPI MessageObject\n */\n private async convertMessage(message: MessageDefinition): Promise<MessageObject> {\n const payload = message.payload;\n\n // Convert payload schema\n const payloadJsonSchema = await this.convertSchema(payload, \"input\");\n\n // Build result with required properties\n const result: Record<string, unknown> = {\n payload: payloadJsonSchema,\n contentType: \"application/json\",\n };\n\n // Add optional properties only if they exist\n if (message.headers) {\n const headersJsonSchema = await this.convertSchema(message.headers, \"input\");\n if (headersJsonSchema) {\n result[\"headers\"] = headersJsonSchema;\n }\n }\n\n if (message.summary) {\n result[\"summary\"] = message.summary;\n }\n\n if (message.description) {\n result[\"description\"] = message.description;\n }\n\n return result as MessageObject;\n }\n\n /**\n * Convert a queue definition to AsyncAPI ChannelObject\n */\n private queueToChannel(\n queue: QueueDefinition,\n bindings: QueueBindingDefinition[] = [],\n ): ChannelObject {\n // Build description with binding information\n let description = `AMQP Queue: ${queue.name}`;\n if (bindings.length > 0) {\n const bindingDescriptions = bindings\n .map((binding) => {\n const exchangeName = binding.exchange.name;\n const routingKey = \"routingKey\" in binding ? binding.routingKey : undefined;\n return routingKey\n ? `bound to exchange '${exchangeName}' with routing key '${routingKey}'`\n : `bound to exchange '${exchangeName}'`;\n })\n .join(\", \");\n description += ` (${bindingDescriptions})`;\n }\n\n const result: Record<string, unknown> = {\n address: queue.name,\n title: queue.name,\n description,\n bindings: {\n amqp: {\n is: \"queue\",\n queue: {\n name: queue.name,\n type: queue.type,\n durable: queue.durable,\n ...(queue.exclusive !== undefined && { exclusive: queue.exclusive }),\n ...(queue.autoDelete !== undefined && { autoDelete: queue.autoDelete }),\n ...(queue.maxPriority !== undefined && { maxPriority: queue.maxPriority }),\n ...(queue.arguments !== undefined && { arguments: queue.arguments }),\n vhost: \"/\",\n },\n bindingVersion: \"0.3.0\",\n },\n },\n };\n\n return result as ChannelObject;\n }\n\n /**\n * Convert an exchange definition to AsyncAPI ChannelObject\n */\n private exchangeToChannel(exchange: ExchangeDefinition): ChannelObject {\n const result: Record<string, unknown> = {\n address: exchange.name,\n title: exchange.name,\n description: `AMQP Exchange: ${exchange.name} (${exchange.type})`,\n bindings: {\n amqp: {\n is: \"routingKey\",\n exchange: {\n name: exchange.name,\n type: exchange.type,\n durable: exchange.durable,\n ...(exchange.autoDelete !== undefined && { autoDelete: exchange.autoDelete }),\n ...(exchange.internal !== undefined && { internal: exchange.internal }),\n ...(exchange.arguments !== undefined && { arguments: exchange.arguments }),\n vhost: \"/\",\n },\n bindingVersion: \"0.3.0\",\n },\n },\n };\n\n return result as ChannelObject;\n }\n\n /**\n * Get the name/key of an exchange from the contract\n */\n private getExchangeName(exchange: ExchangeDefinition, contract: ContractDefinition): string {\n if (contract.exchanges) {\n for (const [name, ex] of Object.entries(contract.exchanges)) {\n if (ex === exchange || ex.name === exchange.name) {\n return name;\n }\n }\n }\n return exchange.name;\n }\n\n /**\n * Get the name/key of a queue from the contract\n */\n private getQueueName(queue: QueueDefinition, contract: ContractDefinition): string {\n if (contract.queues) {\n for (const [name, qEntry] of Object.entries(contract.queues)) {\n const q = extractQueue(qEntry);\n if (q === queue || q.name === queue.name) {\n return name;\n }\n }\n }\n return queue.name;\n }\n\n /**\n * Get all bindings for a queue from the contract\n */\n private getQueueBindings(\n queue: QueueDefinition,\n contract: ContractDefinition,\n ): QueueBindingDefinition[] {\n const result: QueueBindingDefinition[] = [];\n\n if (contract.bindings) {\n for (const binding of Object.values(contract.bindings)) {\n if (binding.type === \"queue\" && binding.queue.name === queue.name) {\n result.push(binding);\n }\n }\n }\n\n return result;\n }\n\n /**\n * Convert a Standard Schema to JSON Schema using oRPC converters\n */\n private async convertSchema(\n schema: StandardSchemaV1,\n strategy: \"input\" | \"output\",\n ): Promise<JSONSchema> {\n // Try each converter until one matches\n for (const converter of this.converters) {\n const matches = await converter.condition(schema, { strategy });\n if (matches) {\n const [_required, jsonSchema] = await converter.convert(schema, { strategy });\n return jsonSchema;\n }\n }\n\n // No converter matched — the output will contain a generic { type: \"object\" } placeholder.\n this.logger?.warn(\n `No schema converter matched for schema. ` +\n `The generated spec will use a generic { type: \"object\" } placeholder. ` +\n `Configure schemaConverters (e.g. zodToJsonSchema) to generate accurate schemas.`,\n );\n return { type: \"object\" };\n }\n}\n"],"mappings":"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"}
package/docs/index.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ### AsyncAPIGenerator
10
10
 
11
- Defined in: [index.ts:96](https://github.com/btravers/amqp-contract/blob/c4431c816689353f677718608623c58fd1757388/packages/asyncapi/src/index.ts#L96)
11
+ Defined in: [index.ts:100](https://github.com/btravers/amqp-contract/blob/da9b95c747db8d5af9183ca6fe2a6e0af558d1fa/packages/asyncapi/src/index.ts#L100)
12
12
 
13
13
  Generator for creating AsyncAPI 3.0 documentation from AMQP contracts.
14
14
 
@@ -66,7 +66,7 @@ const asyncapi = await generator.generate(contract, {
66
66
  new AsyncAPIGenerator(options?): AsyncAPIGenerator;
67
67
  ```
68
68
 
69
- Defined in: [index.ts:104](https://github.com/btravers/amqp-contract/blob/c4431c816689353f677718608623c58fd1757388/packages/asyncapi/src/index.ts#L104)
69
+ Defined in: [index.ts:109](https://github.com/btravers/amqp-contract/blob/da9b95c747db8d5af9183ca6fe2a6e0af558d1fa/packages/asyncapi/src/index.ts#L109)
70
70
 
71
71
  Create a new AsyncAPI generator instance.
72
72
 
@@ -88,7 +88,7 @@ Create a new AsyncAPI generator instance.
88
88
  generate(contract, options): Promise<AsyncAPIObject>;
89
89
  ```
90
90
 
91
- Defined in: [index.ts:136](https://github.com/btravers/amqp-contract/blob/c4431c816689353f677718608623c58fd1757388/packages/asyncapi/src/index.ts#L136)
91
+ Defined in: [index.ts:142](https://github.com/btravers/amqp-contract/blob/da9b95c747db8d5af9183ca6fe2a6e0af558d1fa/packages/asyncapi/src/index.ts#L142)
92
92
 
93
93
  Generate an AsyncAPI 3.0 document from a contract definition.
94
94
 
@@ -135,7 +135,7 @@ const asyncapi = await generator.generate(contract, {
135
135
  type AsyncAPIGeneratorGenerateOptions = Pick<AsyncAPIObject, "info"> & Partial<Pick<AsyncAPIObject, "id" | "servers">>;
136
136
  ```
137
137
 
138
- Defined in: [index.ts:45](https://github.com/btravers/amqp-contract/blob/c4431c816689353f677718608623c58fd1757388/packages/asyncapi/src/index.ts#L45)
138
+ Defined in: [index.ts:49](https://github.com/btravers/amqp-contract/blob/da9b95c747db8d5af9183ca6fe2a6e0af558d1fa/packages/asyncapi/src/index.ts#L49)
139
139
 
140
140
  Options for generating an AsyncAPI document.
141
141
  These correspond to the top-level AsyncAPI document fields.
@@ -148,7 +148,7 @@ These correspond to the top-level AsyncAPI document fields.
148
148
  type AsyncAPIGeneratorOptions = object;
149
149
  ```
150
150
 
151
- Defined in: [index.ts:33](https://github.com/btravers/amqp-contract/blob/c4431c816689353f677718608623c58fd1757388/packages/asyncapi/src/index.ts#L33)
151
+ Defined in: [index.ts:33](https://github.com/btravers/amqp-contract/blob/da9b95c747db8d5af9183ca6fe2a6e0af558d1fa/packages/asyncapi/src/index.ts#L33)
152
152
 
153
153
  Options for configuring the AsyncAPI generator.
154
154
 
@@ -167,4 +167,6 @@ const generator = new AsyncAPIGenerator({
167
167
 
168
168
  | Property | Type | Description | Defined in |
169
169
  | ------ | ------ | ------ | ------ |
170
- | <a id="schemaconverters"></a> `schemaConverters?` | `ConditionalSchemaConverter`[] | Schema converters for transforming validation schemas to JSON Schema. Supports Zod, Valibot, ArkType, and other Standard Schema v1 compatible libraries. | [index.ts:38](https://github.com/btravers/amqp-contract/blob/c4431c816689353f677718608623c58fd1757388/packages/asyncapi/src/index.ts#L38) |
170
+ | <a id="logger"></a> `logger?` | `object` | Optional logger for warnings during generation (e.g. unmatched schema converters). | [index.ts:42](https://github.com/btravers/amqp-contract/blob/da9b95c747db8d5af9183ca6fe2a6e0af558d1fa/packages/asyncapi/src/index.ts#L42) |
171
+ | `logger.warn` | (`message`) => `void` | - | [index.ts:42](https://github.com/btravers/amqp-contract/blob/da9b95c747db8d5af9183ca6fe2a6e0af558d1fa/packages/asyncapi/src/index.ts#L42) |
172
+ | <a id="schemaconverters"></a> `schemaConverters?` | `ConditionalSchemaConverter`[] | Schema converters for transforming validation schemas to JSON Schema. Supports Zod, Valibot, ArkType, and other Standard Schema v1 compatible libraries. | [index.ts:38](https://github.com/btravers/amqp-contract/blob/da9b95c747db8d5af9183ca6fe2a6e0af558d1fa/packages/asyncapi/src/index.ts#L38) |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amqp-contract/asyncapi",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "description": "AsyncAPI specification generator for amqp-contract",
5
5
  "keywords": [
6
6
  "amqp",
@@ -49,19 +49,19 @@
49
49
  "./package.json": "./package.json"
50
50
  },
51
51
  "dependencies": {
52
- "@orpc/openapi": "1.13.14",
52
+ "@orpc/openapi": "1.14.0",
53
53
  "@standard-schema/spec": "1.1.0",
54
- "@amqp-contract/contract": "0.21.0"
54
+ "@amqp-contract/contract": "0.22.0"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@asyncapi/parser": "3.6.0",
58
- "@orpc/arktype": "1.13.14",
59
- "@orpc/valibot": "1.13.14",
60
- "@orpc/zod": "1.13.14",
58
+ "@orpc/arktype": "1.14.0",
59
+ "@orpc/valibot": "1.14.0",
60
+ "@orpc/zod": "1.14.0",
61
61
  "@types/node": "24.12.2",
62
62
  "@vitest/coverage-v8": "4.1.5",
63
63
  "arktype": "2.2.0",
64
- "tsdown": "0.21.9",
64
+ "tsdown": "0.21.10",
65
65
  "typedoc": "0.28.19",
66
66
  "typedoc-plugin-markdown": "4.11.0",
67
67
  "typescript": "6.0.3",