@voyantjs/cruises 0.40.1 → 0.41.1

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
@@ -7,3 +7,16 @@ See [docs/architecture/cruises-module.md](../../docs/architecture/cruises-module
7
7
  ## Status
8
8
 
9
9
  Early development. Phase 1 (canonical schema + core service for self-managed cruises) is in progress.
10
+
11
+ ## Domain Events
12
+
13
+ `@voyantjs/cruises` exports stable cruise lifecycle event constants for catalog
14
+ and search subscribers:
15
+
16
+ - `CRUISE_CREATED_EVENT` = `cruise.created`
17
+ - `CRUISE_UPDATED_EVENT` = `cruise.updated`
18
+ - `CRUISE_DELETED_EVENT` = `cruise.deleted`
19
+
20
+ Each event carries `{ id }`, where `id` is the local cruise id. Treat the
21
+ payload as an invalidation trigger and re-read current cruise state before
22
+ updating downstream indexes.
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Cruise domain events.
3
+ *
4
+ * Emitted after successful local cruise mutations. Subscribers should treat
5
+ * these payloads as invalidation triggers and re-read current cruise state
6
+ * before updating catalog/search projections.
7
+ */
8
+ import type { EventBus } from "@voyantjs/core";
9
+ /** Stable string identifier for local cruise creation. */
10
+ export declare const CRUISE_CREATED_EVENT: "cruise.created";
11
+ /** Stable string identifier for local cruise updates. */
12
+ export declare const CRUISE_UPDATED_EVENT: "cruise.updated";
13
+ /** Stable string identifier for local cruise deletion/archive. */
14
+ export declare const CRUISE_DELETED_EVENT: "cruise.deleted";
15
+ export type CruiseLifecycleEventName = typeof CRUISE_CREATED_EVENT | typeof CRUISE_UPDATED_EVENT | typeof CRUISE_DELETED_EVENT;
16
+ export interface CruiseLifecycleEvent {
17
+ /** Cruise id whose lifecycle changed. */
18
+ id: string;
19
+ }
20
+ export declare function emitCruiseLifecycleEvent(eventBus: EventBus | undefined, event: CruiseLifecycleEventName, payload: CruiseLifecycleEvent): Promise<void>;
21
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,EAAG,gBAAyB,CAAA;AAE7D,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,EAAG,gBAAyB,CAAA;AAE7D,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,EAAG,gBAAyB,CAAA;AAE7D,MAAM,MAAM,wBAAwB,GAChC,OAAO,oBAAoB,GAC3B,OAAO,oBAAoB,GAC3B,OAAO,oBAAoB,CAAA;AAE/B,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAA;CACX;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,KAAK,EAAE,wBAAwB,EAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAMf"}
package/dist/events.js ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Cruise domain events.
3
+ *
4
+ * Emitted after successful local cruise mutations. Subscribers should treat
5
+ * these payloads as invalidation triggers and re-read current cruise state
6
+ * before updating catalog/search projections.
7
+ */
8
+ /** Stable string identifier for local cruise creation. */
9
+ export const CRUISE_CREATED_EVENT = "cruise.created";
10
+ /** Stable string identifier for local cruise updates. */
11
+ export const CRUISE_UPDATED_EVENT = "cruise.updated";
12
+ /** Stable string identifier for local cruise deletion/archive. */
13
+ export const CRUISE_DELETED_EVENT = "cruise.deleted";
14
+ export async function emitCruiseLifecycleEvent(eventBus, event, payload) {
15
+ if (!eventBus)
16
+ return;
17
+ await eventBus.emit(event, payload, {
18
+ category: "domain",
19
+ source: "service",
20
+ });
21
+ }
package/dist/index.d.ts CHANGED
@@ -5,11 +5,12 @@ export { type MemoizeOptions, memoizeCruiseAdapter } from "./adapters/memoize.js
5
5
  export { MockCruiseAdapter, type MockCruiseAdapterOptions } from "./adapters/mock.js";
6
6
  export { clearCruiseAdapters, hasCruiseAdapter, listCruiseAdapters, registerCruiseAdapter, resolveCruiseAdapter, unregisterCruiseAdapter, } from "./adapters/registry.js";
7
7
  export { type BookingCruiseDetail, type BookingGroupCruiseDetail, bookingCruiseDetails, bookingCruiseDetailsService, bookingGroupCruiseDetails, bookingGroupCruiseDetailsService, cruiseBookingModeEnum, cruisesBookingExtension, cruisesBookingExtensionRoutes, type NewBookingCruiseDetail, type NewBookingGroupCruiseDetail, } from "./booking-extension.js";
8
+ export { CRUISE_CREATED_EVENT, CRUISE_DELETED_EVENT, CRUISE_UPDATED_EVENT, type CruiseLifecycleEvent, type CruiseLifecycleEventName, emitCruiseLifecycleEvent, } from "./events.js";
8
9
  export type { CruiseAdminRoutes } from "./routes.js";
9
10
  export { cruiseAdminRoutes } from "./routes.js";
10
11
  export type { CruisePublicRoutes } from "./routes-public.js";
11
12
  export { cruisePublicRoutes } from "./routes-public.js";
12
- export type { EffectiveItineraryDay } from "./service.js";
13
+ export type { CruiseMutationRuntime, EffectiveItineraryDay } from "./service.js";
13
14
  export { cruisesService } from "./service.js";
14
15
  export { type CreateCruiseBookingInput, type CreateCruiseBookingResult, type CreateCruisePartyBookingInput, type CreateCruisePartyBookingResult, type CreateExternalCruiseBookingInput, type CruiseBookingContact, type CruiseBookingMode, type CruiseBookingPassenger, type CruisePartyCabinEntry, cruisesBookingService, } from "./service-bookings.js";
15
16
  export { detachExternalCruise } from "./service-detach.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export { memoizeCruiseAdapter } from "./adapters/memoize.js";
4
4
  export { MockCruiseAdapter } from "./adapters/mock.js";
5
5
  export { clearCruiseAdapters, hasCruiseAdapter, listCruiseAdapters, registerCruiseAdapter, resolveCruiseAdapter, unregisterCruiseAdapter, } from "./adapters/registry.js";
6
6
  export { bookingCruiseDetails, bookingCruiseDetailsService, bookingGroupCruiseDetails, bookingGroupCruiseDetailsService, cruiseBookingModeEnum, cruisesBookingExtension, cruisesBookingExtensionRoutes, } from "./booking-extension.js";
7
+ export { CRUISE_CREATED_EVENT, CRUISE_DELETED_EVENT, CRUISE_UPDATED_EVENT, emitCruiseLifecycleEvent, } from "./events.js";
7
8
  export { cruiseAdminRoutes } from "./routes.js";
8
9
  export { cruisePublicRoutes } from "./routes-public.js";
9
10
  export { cruisesService } from "./service.js";