@crossdelta/cloudevents 0.6.4 → 0.6.5

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/README.md CHANGED
@@ -556,7 +556,8 @@ app.use('/events', cloudEvents({ discover: 'src/events/**/*.handler.ts' }))
556
556
  | `consumeJetStreams(options)` | Consume from multiple streams |
557
557
  | `consumeNatsEvents(options)` | Consume fire-and-forget |
558
558
  | `publish(type, data)` | Publish event |
559
-
559
+ | `isNatsConnected()` | Check if NATS connection is live (for health checks) |
560
+ | `closeConnection()` | Drain and close the NATS connection (for CLI tools) |
560
561
  ---
561
562
 
562
563
  ## License
package/bin/cli.js CHANGED
@@ -736,11 +736,12 @@ __export(nats_publisher_exports, {
736
736
  closeConnection: () => closeConnection,
737
737
  deriveStreamFromType: () => deriveStreamFromType,
738
738
  deriveSubjectFromType: () => deriveSubjectFromType,
739
+ isNatsConnected: () => isNatsConnected,
739
740
  publish: () => publish,
740
741
  publishNatsEvent: () => publishNatsEvent,
741
742
  publishNatsRawEvent: () => publishNatsRawEvent
742
743
  });
743
- var sc, natsConnectionPromise, deriveSubjectFromEventType, getNatsConnection, closeConnection, __resetNatsPublisher, deriveSubjectFromType, deriveStreamFromType, publishNatsRawEvent, publishNatsEvent, publish;
744
+ var sc, natsConnectionPromise, deriveSubjectFromEventType, getNatsConnection, closeConnection, isNatsConnected, __resetNatsPublisher, deriveSubjectFromType, deriveStreamFromType, publishNatsRawEvent, publishNatsEvent, publish;
744
745
  var init_nats_publisher = __esm({
745
746
  "src/publishing/nats.publisher.ts"() {
746
747
  init_domain();
@@ -784,6 +785,14 @@ var init_nats_publisher = __esm({
784
785
  }
785
786
  }
786
787
  };
788
+ isNatsConnected = async () => {
789
+ try {
790
+ const nc = await getNatsConnection();
791
+ return !nc.isClosed() && !nc.isDraining();
792
+ } catch {
793
+ return false;
794
+ }
795
+ };
787
796
  __resetNatsPublisher = async () => {
788
797
  await closeConnection();
789
798
  };
package/dist/index.cjs CHANGED
@@ -1385,11 +1385,12 @@ __export(nats_publisher_exports, {
1385
1385
  closeConnection: () => exports.closeConnection,
1386
1386
  deriveStreamFromType: () => exports.deriveStreamFromType,
1387
1387
  deriveSubjectFromType: () => exports.deriveSubjectFromType,
1388
+ isNatsConnected: () => exports.isNatsConnected,
1388
1389
  publish: () => exports.publish,
1389
1390
  publishNatsEvent: () => exports.publishNatsEvent,
1390
1391
  publishNatsRawEvent: () => exports.publishNatsRawEvent
1391
1392
  });
1392
- var sc, natsConnectionPromise, deriveSubjectFromEventType, getNatsConnection; exports.closeConnection = void 0; exports.__resetNatsPublisher = void 0; exports.deriveSubjectFromType = void 0; exports.deriveStreamFromType = void 0; exports.publishNatsRawEvent = void 0; exports.publishNatsEvent = void 0; exports.publish = void 0;
1393
+ var sc, natsConnectionPromise, deriveSubjectFromEventType, getNatsConnection; exports.closeConnection = void 0; exports.isNatsConnected = void 0; exports.__resetNatsPublisher = void 0; exports.deriveSubjectFromType = void 0; exports.deriveStreamFromType = void 0; exports.publishNatsRawEvent = void 0; exports.publishNatsEvent = void 0; exports.publish = void 0;
1393
1394
  var init_nats_publisher = __esm({
1394
1395
  "src/publishing/nats.publisher.ts"() {
1395
1396
  init_domain();
@@ -1433,6 +1434,14 @@ var init_nats_publisher = __esm({
1433
1434
  }
1434
1435
  }
1435
1436
  };
1437
+ exports.isNatsConnected = async () => {
1438
+ try {
1439
+ const nc = await getNatsConnection();
1440
+ return !nc.isClosed() && !nc.isDraining();
1441
+ } catch {
1442
+ return false;
1443
+ }
1444
+ };
1436
1445
  exports.__resetNatsPublisher = async () => {
1437
1446
  await exports.closeConnection();
1438
1447
  };
@@ -2154,7 +2163,7 @@ function cloudEvents(options = {}) {
2154
2163
  // package.json
2155
2164
  var package_default = {
2156
2165
  name: "@crossdelta/cloudevents",
2157
- version: "0.6.4",
2166
+ version: "0.6.5",
2158
2167
  description: "CloudEvents toolkit for TypeScript - Zod validation, handler discovery, NATS JetStream"};
2159
2168
 
2160
2169
  // src/plugin.ts
package/dist/index.d.cts CHANGED
@@ -1207,6 +1207,12 @@ interface PublishNatsEventOptions {
1207
1207
  * Close the NATS connection and reset state
1208
1208
  */
1209
1209
  declare const closeConnection: () => Promise<void>;
1210
+ /**
1211
+ * Returns true if NATS is reachable and the connection is not closed/draining.
1212
+ * Will attempt to establish a connection if none exists yet.
1213
+ * Suitable for use in readiness health checks.
1214
+ */
1215
+ declare const isNatsConnected: () => Promise<boolean>;
1210
1216
  /**
1211
1217
  * Reset publisher state (for testing only)
1212
1218
  * @internal
@@ -1492,4 +1498,4 @@ interface NatsConsumerOptions extends Pick<CloudEventsOptions, 'quarantineTopic'
1492
1498
  */
1493
1499
  declare function consumeNatsEvents(options: NatsConsumerOptions): Promise<Subscription>;
1494
1500
 
1495
- export { type ChannelConfig, type ChannelMetadata, type CloudEventsPfPluginOptions, type ContractCreatedEffect, type ContractPaths, type CreateEventContext, type CreateEventOptions, type DomainEffect, type EnrichedEvent, type EventContext, type EventNames, type EventTypeValidation, type FileSystem, type HandleEventOptions, type HandlerCreatedEffect, type IdempotencyStore, type InferEventData, type JetStreamConsumerOptions, type JetStreamStreamOptions, type JetStreamStreamsConsumerOptions, type JetStreamStreamsOptions, type ListEventsContext, type PublishEventContext, type PublishEventOptions, type PublishNatsEventOptions, type RoutingConfig, type SchemaField, type StreamConfig, type StreamDefinition, type StreamWiredEffect, __resetNatsPublisher, checkAndMarkProcessed, clearHandlerCache, closeConnection, cloudEvents, consumeJetStreamEvents, consumeJetStreamStreams, consumeJetStreams, consumeNatsEvents, contractCreated, createContract, createEvent, createEventFlowSteps, createInMemoryIdempotencyStore, createMemoryFileSystem, createPfPlugin, deriveEventNames, deriveStreamFromType, deriveSubjectFromType, discoverEventTypes, ensureJetStreamStream, ensureJetStreamStreams, ensureJetStreams, eventSchema, extractTypeFromSchema, generateContract, generateContractContent, generateEventHandler, generateEventHandlerContent, generateJsonMock, generateJsonMockFromContract, generateMock, generateMockContent, getContractFilePath, getContractPaths, getDefaultIdempotencyStore, getHandlerFilePath, getHandlerPath, getJsonMockPath, getMockFilePath, getStreamName, handleEvent, handlerCreated, initFaker, isValidEventType, jsonMockExists, listEvents, listEventsFlowSteps, loadJsonMock, normalizeSubject, parseDataInput, parseEventFromContext, parseEventTypeFromContract, parseEventTypeFromHandler, parseFieldsInput, pluralize, publish, publishEvent, publishEventFlowSteps, publishNatsEvent, publishNatsRawEvent, publishRawEvent, resetDefaultIdempotencyStore, singularize, streamWired, toKebabCase, toPascalCase, validateEventType };
1501
+ export { type ChannelConfig, type ChannelMetadata, type CloudEventsPfPluginOptions, type ContractCreatedEffect, type ContractPaths, type CreateEventContext, type CreateEventOptions, type DomainEffect, type EnrichedEvent, type EventContext, type EventNames, type EventTypeValidation, type FileSystem, type HandleEventOptions, type HandlerCreatedEffect, type IdempotencyStore, type InferEventData, type JetStreamConsumerOptions, type JetStreamStreamOptions, type JetStreamStreamsConsumerOptions, type JetStreamStreamsOptions, type ListEventsContext, type PublishEventContext, type PublishEventOptions, type PublishNatsEventOptions, type RoutingConfig, type SchemaField, type StreamConfig, type StreamDefinition, type StreamWiredEffect, __resetNatsPublisher, checkAndMarkProcessed, clearHandlerCache, closeConnection, cloudEvents, consumeJetStreamEvents, consumeJetStreamStreams, consumeJetStreams, consumeNatsEvents, contractCreated, createContract, createEvent, createEventFlowSteps, createInMemoryIdempotencyStore, createMemoryFileSystem, createPfPlugin, deriveEventNames, deriveStreamFromType, deriveSubjectFromType, discoverEventTypes, ensureJetStreamStream, ensureJetStreamStreams, ensureJetStreams, eventSchema, extractTypeFromSchema, generateContract, generateContractContent, generateEventHandler, generateEventHandlerContent, generateJsonMock, generateJsonMockFromContract, generateMock, generateMockContent, getContractFilePath, getContractPaths, getDefaultIdempotencyStore, getHandlerFilePath, getHandlerPath, getJsonMockPath, getMockFilePath, getStreamName, handleEvent, handlerCreated, initFaker, isNatsConnected, isValidEventType, jsonMockExists, listEvents, listEventsFlowSteps, loadJsonMock, normalizeSubject, parseDataInput, parseEventFromContext, parseEventTypeFromContract, parseEventTypeFromHandler, parseFieldsInput, pluralize, publish, publishEvent, publishEventFlowSteps, publishNatsEvent, publishNatsRawEvent, publishRawEvent, resetDefaultIdempotencyStore, singularize, streamWired, toKebabCase, toPascalCase, validateEventType };
package/dist/index.d.ts CHANGED
@@ -1207,6 +1207,12 @@ interface PublishNatsEventOptions {
1207
1207
  * Close the NATS connection and reset state
1208
1208
  */
1209
1209
  declare const closeConnection: () => Promise<void>;
1210
+ /**
1211
+ * Returns true if NATS is reachable and the connection is not closed/draining.
1212
+ * Will attempt to establish a connection if none exists yet.
1213
+ * Suitable for use in readiness health checks.
1214
+ */
1215
+ declare const isNatsConnected: () => Promise<boolean>;
1210
1216
  /**
1211
1217
  * Reset publisher state (for testing only)
1212
1218
  * @internal
@@ -1492,4 +1498,4 @@ interface NatsConsumerOptions extends Pick<CloudEventsOptions, 'quarantineTopic'
1492
1498
  */
1493
1499
  declare function consumeNatsEvents(options: NatsConsumerOptions): Promise<Subscription>;
1494
1500
 
1495
- export { type ChannelConfig, type ChannelMetadata, type CloudEventsPfPluginOptions, type ContractCreatedEffect, type ContractPaths, type CreateEventContext, type CreateEventOptions, type DomainEffect, type EnrichedEvent, type EventContext, type EventNames, type EventTypeValidation, type FileSystem, type HandleEventOptions, type HandlerCreatedEffect, type IdempotencyStore, type InferEventData, type JetStreamConsumerOptions, type JetStreamStreamOptions, type JetStreamStreamsConsumerOptions, type JetStreamStreamsOptions, type ListEventsContext, type PublishEventContext, type PublishEventOptions, type PublishNatsEventOptions, type RoutingConfig, type SchemaField, type StreamConfig, type StreamDefinition, type StreamWiredEffect, __resetNatsPublisher, checkAndMarkProcessed, clearHandlerCache, closeConnection, cloudEvents, consumeJetStreamEvents, consumeJetStreamStreams, consumeJetStreams, consumeNatsEvents, contractCreated, createContract, createEvent, createEventFlowSteps, createInMemoryIdempotencyStore, createMemoryFileSystem, createPfPlugin, deriveEventNames, deriveStreamFromType, deriveSubjectFromType, discoverEventTypes, ensureJetStreamStream, ensureJetStreamStreams, ensureJetStreams, eventSchema, extractTypeFromSchema, generateContract, generateContractContent, generateEventHandler, generateEventHandlerContent, generateJsonMock, generateJsonMockFromContract, generateMock, generateMockContent, getContractFilePath, getContractPaths, getDefaultIdempotencyStore, getHandlerFilePath, getHandlerPath, getJsonMockPath, getMockFilePath, getStreamName, handleEvent, handlerCreated, initFaker, isValidEventType, jsonMockExists, listEvents, listEventsFlowSteps, loadJsonMock, normalizeSubject, parseDataInput, parseEventFromContext, parseEventTypeFromContract, parseEventTypeFromHandler, parseFieldsInput, pluralize, publish, publishEvent, publishEventFlowSteps, publishNatsEvent, publishNatsRawEvent, publishRawEvent, resetDefaultIdempotencyStore, singularize, streamWired, toKebabCase, toPascalCase, validateEventType };
1501
+ export { type ChannelConfig, type ChannelMetadata, type CloudEventsPfPluginOptions, type ContractCreatedEffect, type ContractPaths, type CreateEventContext, type CreateEventOptions, type DomainEffect, type EnrichedEvent, type EventContext, type EventNames, type EventTypeValidation, type FileSystem, type HandleEventOptions, type HandlerCreatedEffect, type IdempotencyStore, type InferEventData, type JetStreamConsumerOptions, type JetStreamStreamOptions, type JetStreamStreamsConsumerOptions, type JetStreamStreamsOptions, type ListEventsContext, type PublishEventContext, type PublishEventOptions, type PublishNatsEventOptions, type RoutingConfig, type SchemaField, type StreamConfig, type StreamDefinition, type StreamWiredEffect, __resetNatsPublisher, checkAndMarkProcessed, clearHandlerCache, closeConnection, cloudEvents, consumeJetStreamEvents, consumeJetStreamStreams, consumeJetStreams, consumeNatsEvents, contractCreated, createContract, createEvent, createEventFlowSteps, createInMemoryIdempotencyStore, createMemoryFileSystem, createPfPlugin, deriveEventNames, deriveStreamFromType, deriveSubjectFromType, discoverEventTypes, ensureJetStreamStream, ensureJetStreamStreams, ensureJetStreams, eventSchema, extractTypeFromSchema, generateContract, generateContractContent, generateEventHandler, generateEventHandlerContent, generateJsonMock, generateJsonMockFromContract, generateMock, generateMockContent, getContractFilePath, getContractPaths, getDefaultIdempotencyStore, getHandlerFilePath, getHandlerPath, getJsonMockPath, getMockFilePath, getStreamName, handleEvent, handlerCreated, initFaker, isNatsConnected, isValidEventType, jsonMockExists, listEvents, listEventsFlowSteps, loadJsonMock, normalizeSubject, parseDataInput, parseEventFromContext, parseEventTypeFromContract, parseEventTypeFromHandler, parseFieldsInput, pluralize, publish, publishEvent, publishEventFlowSteps, publishNatsEvent, publishNatsRawEvent, publishRawEvent, resetDefaultIdempotencyStore, singularize, streamWired, toKebabCase, toPascalCase, validateEventType };
package/dist/index.js CHANGED
@@ -1360,11 +1360,12 @@ __export(nats_publisher_exports, {
1360
1360
  closeConnection: () => closeConnection,
1361
1361
  deriveStreamFromType: () => deriveStreamFromType,
1362
1362
  deriveSubjectFromType: () => deriveSubjectFromType,
1363
+ isNatsConnected: () => isNatsConnected,
1363
1364
  publish: () => publish,
1364
1365
  publishNatsEvent: () => publishNatsEvent,
1365
1366
  publishNatsRawEvent: () => publishNatsRawEvent
1366
1367
  });
1367
- var sc, natsConnectionPromise, deriveSubjectFromEventType, getNatsConnection, closeConnection, __resetNatsPublisher, deriveSubjectFromType, deriveStreamFromType, publishNatsRawEvent, publishNatsEvent, publish;
1368
+ var sc, natsConnectionPromise, deriveSubjectFromEventType, getNatsConnection, closeConnection, isNatsConnected, __resetNatsPublisher, deriveSubjectFromType, deriveStreamFromType, publishNatsRawEvent, publishNatsEvent, publish;
1368
1369
  var init_nats_publisher = __esm({
1369
1370
  "src/publishing/nats.publisher.ts"() {
1370
1371
  init_domain();
@@ -1408,6 +1409,14 @@ var init_nats_publisher = __esm({
1408
1409
  }
1409
1410
  }
1410
1411
  };
1412
+ isNatsConnected = async () => {
1413
+ try {
1414
+ const nc = await getNatsConnection();
1415
+ return !nc.isClosed() && !nc.isDraining();
1416
+ } catch {
1417
+ return false;
1418
+ }
1419
+ };
1411
1420
  __resetNatsPublisher = async () => {
1412
1421
  await closeConnection();
1413
1422
  };
@@ -2129,7 +2138,7 @@ function cloudEvents(options = {}) {
2129
2138
  // package.json
2130
2139
  var package_default = {
2131
2140
  name: "@crossdelta/cloudevents",
2132
- version: "0.6.4",
2141
+ version: "0.6.5",
2133
2142
  description: "CloudEvents toolkit for TypeScript - Zod validation, handler discovery, NATS JetStream"};
2134
2143
 
2135
2144
  // src/plugin.ts
@@ -2741,4 +2750,4 @@ async function consumeNatsEvents(options) {
2741
2750
  // src/index.ts
2742
2751
  init_utils();
2743
2752
 
2744
- export { __resetNatsPublisher, checkAndMarkProcessed, clearHandlerCache, closeConnection, cloudEvents, consumeJetStreamEvents, consumeJetStreamStreams, consumeJetStreams, consumeNatsEvents, contractCreated, createContract, createEvent, createEventFlowSteps, createInMemoryIdempotencyStore, createMemoryFileSystem, createPfPlugin, deriveEventNames, deriveStreamFromType, deriveSubjectFromType, discoverEventTypes, ensureJetStreamStream, ensureJetStreamStreams, ensureJetStreams, eventSchema, extractTypeFromSchema, generateContract, generateContractContent, generateEventHandler, generateEventHandlerContent, generateJsonMock, generateJsonMockFromContract, generateMock, generateMockContent, getContractFilePath, getContractPaths, getDefaultIdempotencyStore, getHandlerFilePath, getHandlerPath, getJsonMockPath, getMockFilePath, getStreamName, handleEvent, handlerCreated, initFaker, isValidEventType, jsonMockExists, listEvents, listEventsFlowSteps, loadJsonMock, normalizeSubject, parseDataInput, parseEventFromContext, parseEventTypeFromContract, parseEventTypeFromHandler, parseFieldsInput, pluralize, publish, publishEvent, publishEventFlowSteps, publishNatsEvent, publishNatsRawEvent, publishRawEvent, resetDefaultIdempotencyStore, singularize, streamWired, toKebabCase, toPascalCase, validateEventType };
2753
+ export { __resetNatsPublisher, checkAndMarkProcessed, clearHandlerCache, closeConnection, cloudEvents, consumeJetStreamEvents, consumeJetStreamStreams, consumeJetStreams, consumeNatsEvents, contractCreated, createContract, createEvent, createEventFlowSteps, createInMemoryIdempotencyStore, createMemoryFileSystem, createPfPlugin, deriveEventNames, deriveStreamFromType, deriveSubjectFromType, discoverEventTypes, ensureJetStreamStream, ensureJetStreamStreams, ensureJetStreams, eventSchema, extractTypeFromSchema, generateContract, generateContractContent, generateEventHandler, generateEventHandlerContent, generateJsonMock, generateJsonMockFromContract, generateMock, generateMockContent, getContractFilePath, getContractPaths, getDefaultIdempotencyStore, getHandlerFilePath, getHandlerPath, getJsonMockPath, getMockFilePath, getStreamName, handleEvent, handlerCreated, initFaker, isNatsConnected, isValidEventType, jsonMockExists, listEvents, listEventsFlowSteps, loadJsonMock, normalizeSubject, parseDataInput, parseEventFromContext, parseEventTypeFromContract, parseEventTypeFromHandler, parseFieldsInput, pluralize, publish, publishEvent, publishEventFlowSteps, publishNatsEvent, publishNatsRawEvent, publishRawEvent, resetDefaultIdempotencyStore, singularize, streamWired, toKebabCase, toPascalCase, validateEventType };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossdelta/cloudevents",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "description": "CloudEvents toolkit for TypeScript - Zod validation, handler discovery, NATS JetStream",
5
5
  "author": "crossdelta",
6
6
  "license": "MIT",
@@ -71,7 +71,7 @@
71
71
  }
72
72
  },
73
73
  "devDependencies": {
74
- "@crossdelta/platform-sdk": "0.19.0",
74
+ "@crossdelta/platform-sdk": "0.19.5",
75
75
  "@faker-js/faker": "^9.7.0",
76
76
  "@google-cloud/pubsub": "^4.9.0",
77
77
  "@stryker-mutator/core": "^9.1.1",