@amqp-contract/asyncapi 0.20.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 +21 -14
- package/dist/index.d.cts +8 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +8 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +20 -12
- package/dist/index.mjs.map +1 -1
- package/docs/index.md +9 -7
- package/package.json +31 -31
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
let _amqp_contract_contract = require("@amqp-contract/contract");
|
|
3
|
-
|
|
4
3
|
//#region src/index.ts
|
|
5
4
|
/**
|
|
6
5
|
* Generator for creating AsyncAPI 3.0 documentation from AMQP contracts.
|
|
@@ -15,7 +14,7 @@ let _amqp_contract_contract = require("@amqp-contract/contract");
|
|
|
15
14
|
* import { zodToJsonSchema } from '@orpc/zod';
|
|
16
15
|
* import { z } from 'zod';
|
|
17
16
|
*
|
|
18
|
-
* const ordersExchange = defineExchange('orders'
|
|
17
|
+
* const ordersExchange = defineExchange('orders');
|
|
19
18
|
* const orderMessage = defineMessage(z.object({
|
|
20
19
|
* orderId: z.string(),
|
|
21
20
|
* amount: z.number()
|
|
@@ -52,6 +51,7 @@ let _amqp_contract_contract = require("@amqp-contract/contract");
|
|
|
52
51
|
*/
|
|
53
52
|
var AsyncAPIGenerator = class {
|
|
54
53
|
converters;
|
|
54
|
+
logger;
|
|
55
55
|
/**
|
|
56
56
|
* Create a new AsyncAPI generator instance.
|
|
57
57
|
*
|
|
@@ -59,6 +59,7 @@ var AsyncAPIGenerator = class {
|
|
|
59
59
|
*/
|
|
60
60
|
constructor(options = {}) {
|
|
61
61
|
this.converters = options.schemaConverters ?? [];
|
|
62
|
+
this.logger = options.logger;
|
|
62
63
|
}
|
|
63
64
|
/**
|
|
64
65
|
* Generate an AsyncAPI 3.0 document from a contract definition.
|
|
@@ -103,7 +104,8 @@ var AsyncAPIGenerator = class {
|
|
|
103
104
|
}
|
|
104
105
|
if (contract.consumers) for (const [consumerName, consumerEntry] of Object.entries(contract.consumers)) {
|
|
105
106
|
const consumer = (0, _amqp_contract_contract.extractConsumer)(consumerEntry);
|
|
106
|
-
const
|
|
107
|
+
const queue = (0, _amqp_contract_contract.extractQueue)(consumer.queue);
|
|
108
|
+
const channelKey = this.getQueueName(queue, contract);
|
|
107
109
|
consumerMessages.set(consumerName, {
|
|
108
110
|
message: consumer.message,
|
|
109
111
|
channelKey
|
|
@@ -156,14 +158,14 @@ var AsyncAPIGenerator = class {
|
|
|
156
158
|
};
|
|
157
159
|
}
|
|
158
160
|
if (contract.consumers) for (const [consumerName, consumerEntry] of Object.entries(contract.consumers)) {
|
|
159
|
-
const
|
|
160
|
-
const queueName = this.getQueueName(
|
|
161
|
+
const queue = (0, _amqp_contract_contract.extractQueue)((0, _amqp_contract_contract.extractConsumer)(consumerEntry).queue);
|
|
162
|
+
const queueName = this.getQueueName(queue, contract);
|
|
161
163
|
const messageName = `${consumerName}Message`;
|
|
162
164
|
convertedOperations[consumerName] = {
|
|
163
165
|
action: "receive",
|
|
164
166
|
channel: { $ref: `#/channels/${queueName}` },
|
|
165
167
|
messages: [{ $ref: `#/channels/${queueName}/messages/${messageName}` }],
|
|
166
|
-
summary: `Consume from ${
|
|
168
|
+
summary: `Consume from ${queue.name}`,
|
|
167
169
|
bindings: { amqp: { bindingVersion: "0.3.0" } }
|
|
168
170
|
};
|
|
169
171
|
}
|
|
@@ -213,9 +215,12 @@ var AsyncAPIGenerator = class {
|
|
|
213
215
|
is: "queue",
|
|
214
216
|
queue: {
|
|
215
217
|
name: queue.name,
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
218
|
+
type: queue.type,
|
|
219
|
+
durable: queue.durable,
|
|
220
|
+
...queue.exclusive !== void 0 && { exclusive: queue.exclusive },
|
|
221
|
+
...queue.autoDelete !== void 0 && { autoDelete: queue.autoDelete },
|
|
222
|
+
...queue.maxPriority !== void 0 && { maxPriority: queue.maxPriority },
|
|
223
|
+
...queue.arguments !== void 0 && { arguments: queue.arguments },
|
|
219
224
|
vhost: "/"
|
|
220
225
|
},
|
|
221
226
|
bindingVersion: "0.3.0"
|
|
@@ -235,8 +240,10 @@ var AsyncAPIGenerator = class {
|
|
|
235
240
|
exchange: {
|
|
236
241
|
name: exchange.name,
|
|
237
242
|
type: exchange.type,
|
|
238
|
-
durable: exchange.durable
|
|
239
|
-
autoDelete: exchange.autoDelete
|
|
243
|
+
durable: exchange.durable,
|
|
244
|
+
...exchange.autoDelete !== void 0 && { autoDelete: exchange.autoDelete },
|
|
245
|
+
...exchange.internal !== void 0 && { internal: exchange.internal },
|
|
246
|
+
...exchange.arguments !== void 0 && { arguments: exchange.arguments },
|
|
240
247
|
vhost: "/"
|
|
241
248
|
},
|
|
242
249
|
bindingVersion: "0.3.0"
|
|
@@ -280,9 +287,9 @@ var AsyncAPIGenerator = class {
|
|
|
280
287
|
const [_required, jsonSchema] = await converter.convert(schema, { strategy });
|
|
281
288
|
return jsonSchema;
|
|
282
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.");
|
|
283
291
|
return { type: "object" };
|
|
284
292
|
}
|
|
285
293
|
};
|
|
286
|
-
|
|
287
294
|
//#endregion
|
|
288
|
-
exports.AsyncAPIGenerator = AsyncAPIGenerator;
|
|
295
|
+
exports.AsyncAPIGenerator = AsyncAPIGenerator;
|
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.
|
|
@@ -431,7 +437,7 @@ type AsyncAPIGeneratorGenerateOptions = Pick<AsyncAPIObject, "info"> & Partial<P
|
|
|
431
437
|
* import { zodToJsonSchema } from '@orpc/zod';
|
|
432
438
|
* import { z } from 'zod';
|
|
433
439
|
*
|
|
434
|
-
* const ordersExchange = defineExchange('orders'
|
|
440
|
+
* const ordersExchange = defineExchange('orders');
|
|
435
441
|
* const orderMessage = defineMessage(z.object({
|
|
436
442
|
* orderId: z.string(),
|
|
437
443
|
* amount: z.number()
|
|
@@ -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
|
*
|
package/dist/index.d.cts.map
CHANGED
|
@@ -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.
|
|
@@ -431,7 +437,7 @@ type AsyncAPIGeneratorGenerateOptions = Pick<AsyncAPIObject, "info"> & Partial<P
|
|
|
431
437
|
* import { zodToJsonSchema } from '@orpc/zod';
|
|
432
438
|
* import { z } from 'zod';
|
|
433
439
|
*
|
|
434
|
-
* const ordersExchange = defineExchange('orders'
|
|
440
|
+
* const ordersExchange = defineExchange('orders');
|
|
435
441
|
* const orderMessage = defineMessage(z.object({
|
|
436
442
|
* orderId: z.string(),
|
|
437
443
|
* amount: z.number()
|
|
@@ -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
|
*
|
package/dist/index.d.mts.map
CHANGED
|
@@ -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
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { extractConsumer, extractQueue } from "@amqp-contract/contract";
|
|
2
|
-
|
|
3
2
|
//#region src/index.ts
|
|
4
3
|
/**
|
|
5
4
|
* Generator for creating AsyncAPI 3.0 documentation from AMQP contracts.
|
|
@@ -14,7 +13,7 @@ import { extractConsumer, extractQueue } from "@amqp-contract/contract";
|
|
|
14
13
|
* import { zodToJsonSchema } from '@orpc/zod';
|
|
15
14
|
* import { z } from 'zod';
|
|
16
15
|
*
|
|
17
|
-
* const ordersExchange = defineExchange('orders'
|
|
16
|
+
* const ordersExchange = defineExchange('orders');
|
|
18
17
|
* const orderMessage = defineMessage(z.object({
|
|
19
18
|
* orderId: z.string(),
|
|
20
19
|
* amount: z.number()
|
|
@@ -51,6 +50,7 @@ import { extractConsumer, extractQueue } from "@amqp-contract/contract";
|
|
|
51
50
|
*/
|
|
52
51
|
var AsyncAPIGenerator = class {
|
|
53
52
|
converters;
|
|
53
|
+
logger;
|
|
54
54
|
/**
|
|
55
55
|
* Create a new AsyncAPI generator instance.
|
|
56
56
|
*
|
|
@@ -58,6 +58,7 @@ var AsyncAPIGenerator = class {
|
|
|
58
58
|
*/
|
|
59
59
|
constructor(options = {}) {
|
|
60
60
|
this.converters = options.schemaConverters ?? [];
|
|
61
|
+
this.logger = options.logger;
|
|
61
62
|
}
|
|
62
63
|
/**
|
|
63
64
|
* Generate an AsyncAPI 3.0 document from a contract definition.
|
|
@@ -102,7 +103,8 @@ var AsyncAPIGenerator = class {
|
|
|
102
103
|
}
|
|
103
104
|
if (contract.consumers) for (const [consumerName, consumerEntry] of Object.entries(contract.consumers)) {
|
|
104
105
|
const consumer = extractConsumer(consumerEntry);
|
|
105
|
-
const
|
|
106
|
+
const queue = extractQueue(consumer.queue);
|
|
107
|
+
const channelKey = this.getQueueName(queue, contract);
|
|
106
108
|
consumerMessages.set(consumerName, {
|
|
107
109
|
message: consumer.message,
|
|
108
110
|
channelKey
|
|
@@ -155,14 +157,14 @@ var AsyncAPIGenerator = class {
|
|
|
155
157
|
};
|
|
156
158
|
}
|
|
157
159
|
if (contract.consumers) for (const [consumerName, consumerEntry] of Object.entries(contract.consumers)) {
|
|
158
|
-
const
|
|
159
|
-
const queueName = this.getQueueName(
|
|
160
|
+
const queue = extractQueue(extractConsumer(consumerEntry).queue);
|
|
161
|
+
const queueName = this.getQueueName(queue, contract);
|
|
160
162
|
const messageName = `${consumerName}Message`;
|
|
161
163
|
convertedOperations[consumerName] = {
|
|
162
164
|
action: "receive",
|
|
163
165
|
channel: { $ref: `#/channels/${queueName}` },
|
|
164
166
|
messages: [{ $ref: `#/channels/${queueName}/messages/${messageName}` }],
|
|
165
|
-
summary: `Consume from ${
|
|
167
|
+
summary: `Consume from ${queue.name}`,
|
|
166
168
|
bindings: { amqp: { bindingVersion: "0.3.0" } }
|
|
167
169
|
};
|
|
168
170
|
}
|
|
@@ -212,9 +214,12 @@ var AsyncAPIGenerator = class {
|
|
|
212
214
|
is: "queue",
|
|
213
215
|
queue: {
|
|
214
216
|
name: queue.name,
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
217
|
+
type: queue.type,
|
|
218
|
+
durable: queue.durable,
|
|
219
|
+
...queue.exclusive !== void 0 && { exclusive: queue.exclusive },
|
|
220
|
+
...queue.autoDelete !== void 0 && { autoDelete: queue.autoDelete },
|
|
221
|
+
...queue.maxPriority !== void 0 && { maxPriority: queue.maxPriority },
|
|
222
|
+
...queue.arguments !== void 0 && { arguments: queue.arguments },
|
|
218
223
|
vhost: "/"
|
|
219
224
|
},
|
|
220
225
|
bindingVersion: "0.3.0"
|
|
@@ -234,8 +239,10 @@ var AsyncAPIGenerator = class {
|
|
|
234
239
|
exchange: {
|
|
235
240
|
name: exchange.name,
|
|
236
241
|
type: exchange.type,
|
|
237
|
-
durable: exchange.durable
|
|
238
|
-
autoDelete: exchange.autoDelete
|
|
242
|
+
durable: exchange.durable,
|
|
243
|
+
...exchange.autoDelete !== void 0 && { autoDelete: exchange.autoDelete },
|
|
244
|
+
...exchange.internal !== void 0 && { internal: exchange.internal },
|
|
245
|
+
...exchange.arguments !== void 0 && { arguments: exchange.arguments },
|
|
239
246
|
vhost: "/"
|
|
240
247
|
},
|
|
241
248
|
bindingVersion: "0.3.0"
|
|
@@ -279,10 +286,11 @@ var AsyncAPIGenerator = class {
|
|
|
279
286
|
const [_required, jsonSchema] = await converter.convert(schema, { strategy });
|
|
280
287
|
return jsonSchema;
|
|
281
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.");
|
|
282
290
|
return { type: "object" };
|
|
283
291
|
}
|
|
284
292
|
};
|
|
285
|
-
|
|
286
293
|
//#endregion
|
|
287
294
|
export { AsyncAPIGenerator };
|
|
295
|
+
|
|
288
296
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -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', 'topic', { durable: true });\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 channelKey = this.getQueueName(consumer.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 queueName = this.getQueueName(consumer.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 ${consumer.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 durable: queue.durable ?? false,\n exclusive: queue.type === \"classic\" ? (queue.exclusive ?? false) : false,\n autoDelete: queue.autoDelete ?? false,\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 ?? false,\n autoDelete: exchange.autoDelete ?? false,\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:
|
|
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
|
|
|
@@ -23,7 +23,7 @@ import { defineExchange, defineMessage, defineContract, definePublisher } from '
|
|
|
23
23
|
import { zodToJsonSchema } from '@orpc/zod';
|
|
24
24
|
import { z } from 'zod';
|
|
25
25
|
|
|
26
|
-
const ordersExchange = defineExchange('orders'
|
|
26
|
+
const ordersExchange = defineExchange('orders');
|
|
27
27
|
const orderMessage = defineMessage(z.object({
|
|
28
28
|
orderId: z.string(),
|
|
29
29
|
amount: z.number()
|
|
@@ -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:
|
|
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:
|
|
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:
|
|
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/
|
|
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="
|
|
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,33 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amqp-contract/asyncapi",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "AsyncAPI specification generator for amqp-contract",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"amqp",
|
|
7
|
+
"api-specification",
|
|
7
8
|
"asyncapi",
|
|
8
9
|
"contract",
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"nodejs",
|
|
10
|
+
"documentation",
|
|
11
|
+
"message-broker",
|
|
12
12
|
"messaging",
|
|
13
|
-
"
|
|
13
|
+
"nodejs",
|
|
14
|
+
"rabbitmq",
|
|
14
15
|
"schema",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"message-broker"
|
|
16
|
+
"type-safe",
|
|
17
|
+
"typescript"
|
|
18
18
|
],
|
|
19
19
|
"homepage": "https://github.com/btravers/amqp-contract#readme",
|
|
20
20
|
"bugs": {
|
|
21
21
|
"url": "https://github.com/btravers/amqp-contract/issues"
|
|
22
22
|
},
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"author": "Benoit TRAVERS <benoit.travers.fr@gmail.com>",
|
|
23
25
|
"repository": {
|
|
24
26
|
"type": "git",
|
|
25
27
|
"url": "https://github.com/btravers/amqp-contract.git",
|
|
26
28
|
"directory": "packages/asyncapi"
|
|
27
29
|
},
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
+
"files": [
|
|
31
|
+
"dist",
|
|
32
|
+
"docs"
|
|
33
|
+
],
|
|
30
34
|
"type": "module",
|
|
35
|
+
"main": "./dist/index.cjs",
|
|
36
|
+
"module": "./dist/index.mjs",
|
|
37
|
+
"types": "./dist/index.d.mts",
|
|
31
38
|
"exports": {
|
|
32
39
|
".": {
|
|
33
40
|
"import": {
|
|
@@ -41,32 +48,25 @@
|
|
|
41
48
|
},
|
|
42
49
|
"./package.json": "./package.json"
|
|
43
50
|
},
|
|
44
|
-
"main": "./dist/index.cjs",
|
|
45
|
-
"module": "./dist/index.mjs",
|
|
46
|
-
"types": "./dist/index.d.mts",
|
|
47
|
-
"files": [
|
|
48
|
-
"dist",
|
|
49
|
-
"docs"
|
|
50
|
-
],
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@orpc/openapi": "1.
|
|
52
|
+
"@orpc/openapi": "1.14.0",
|
|
53
53
|
"@standard-schema/spec": "1.1.0",
|
|
54
|
-
"@amqp-contract/contract": "0.
|
|
54
|
+
"@amqp-contract/contract": "0.22.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@asyncapi/parser": "3.6.0",
|
|
58
|
-
"@orpc/arktype": "1.
|
|
59
|
-
"@orpc/valibot": "1.
|
|
60
|
-
"@orpc/zod": "1.
|
|
61
|
-
"@types/node": "
|
|
62
|
-
"@vitest/coverage-v8": "4.
|
|
63
|
-
"arktype": "2.
|
|
64
|
-
"tsdown": "0.
|
|
65
|
-
"typedoc": "0.28.
|
|
66
|
-
"typedoc-plugin-markdown": "4.
|
|
67
|
-
"typescript": "
|
|
68
|
-
"valibot": "1.
|
|
69
|
-
"vitest": "4.
|
|
58
|
+
"@orpc/arktype": "1.14.0",
|
|
59
|
+
"@orpc/valibot": "1.14.0",
|
|
60
|
+
"@orpc/zod": "1.14.0",
|
|
61
|
+
"@types/node": "24.12.2",
|
|
62
|
+
"@vitest/coverage-v8": "4.1.5",
|
|
63
|
+
"arktype": "2.2.0",
|
|
64
|
+
"tsdown": "0.21.10",
|
|
65
|
+
"typedoc": "0.28.19",
|
|
66
|
+
"typedoc-plugin-markdown": "4.11.0",
|
|
67
|
+
"typescript": "6.0.3",
|
|
68
|
+
"valibot": "1.3.1",
|
|
69
|
+
"vitest": "4.1.5",
|
|
70
70
|
"zod": "4.3.6",
|
|
71
71
|
"@amqp-contract/tsconfig": "0.1.0",
|
|
72
72
|
"@amqp-contract/typedoc": "0.1.0"
|