@voyantjs/availability 0.66.0 → 0.68.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.d.ts CHANGED
@@ -11,6 +11,6 @@ export { allocationAuditLog, allocationResources, availabilityCloseouts, availab
11
11
  export { getSlotResourceAvailability, getSlotsResourceAvailability, type PlannedAllocation, type ResourceCapacityViolation, type SlotResourceAvailability, validateSlotAllocationCapacity, } from "./service-allocation.js";
12
12
  export { type MaterializeSlotResourcesFromTemplatesOptions, materializeSlotResourcesFromTemplateDefaults, } from "./service-allocation-automation.js";
13
13
  export { allocationExportFilename, buildAllocationPassengersCsv, buildAllocationRoomingCsv, } from "./service-allocation-exports.js";
14
- export { allocationAuditLogQuerySchema, allocationAutomationSchema, assignTravelerAllocationSchema, availabilityCloseoutListQuerySchema, availabilityPickupPointListQuerySchema, availabilityRuleListQuerySchema, availabilitySlotListQuerySchema, availabilitySlotPickupListQuerySchema, availabilityStartTimeListQuerySchema, customPickupAreaListQuerySchema, insertAllocationResourceSchema, insertAvailabilityCloseoutSchema, insertAvailabilityPickupPointSchema, insertAvailabilityRuleSchema, insertAvailabilitySlotPickupSchema, insertAvailabilitySlotSchema, insertAvailabilityStartTimeSchema, insertCustomPickupAreaSchema, insertLocationPickupTimeSchema, insertPickupGroupSchema, insertPickupLocationSchema, insertProductMeetingConfigSchema, locationPickupTimeListQuerySchema, pairSharingGroupSchema, pickupGroupListQuerySchema, pickupLocationListQuerySchema, productMeetingConfigListQuerySchema, updateAllocationResourceSchema, updateAvailabilityCloseoutSchema, updateAvailabilityPickupPointSchema, updateAvailabilityRuleSchema, updateAvailabilitySlotPickupSchema, updateAvailabilitySlotSchema, updateAvailabilityStartTimeSchema, updateCustomPickupAreaSchema, updateLocationPickupTimeSchema, updatePickupGroupSchema, updatePickupLocationSchema, updateProductMeetingConfigSchema, updateSharingGroupLabelSchema, updateTravelerSharingGroupSchema, upsertResourceTemplateSchema, } from "./validation.js";
14
+ export { allocationAuditLogQuerySchema, allocationAutomationSchema, assignTravelerAllocationSchema, availabilityCloseoutListQuerySchema, availabilityOverviewQuerySchema, availabilityPickupPointListQuerySchema, availabilityRuleListQuerySchema, availabilitySlotListQuerySchema, availabilitySlotPickupListQuerySchema, availabilityStartTimeListQuerySchema, customPickupAreaListQuerySchema, insertAllocationResourceSchema, insertAvailabilityCloseoutSchema, insertAvailabilityPickupPointSchema, insertAvailabilityRuleSchema, insertAvailabilitySlotPickupSchema, insertAvailabilitySlotSchema, insertAvailabilityStartTimeSchema, insertCustomPickupAreaSchema, insertLocationPickupTimeSchema, insertPickupGroupSchema, insertPickupLocationSchema, insertProductMeetingConfigSchema, locationPickupTimeListQuerySchema, pairSharingGroupSchema, pickupGroupListQuerySchema, pickupLocationListQuerySchema, productMeetingConfigListQuerySchema, updateAllocationResourceSchema, updateAvailabilityCloseoutSchema, updateAvailabilityPickupPointSchema, updateAvailabilityRuleSchema, updateAvailabilitySlotPickupSchema, updateAvailabilitySlotSchema, updateAvailabilityStartTimeSchema, updateCustomPickupAreaSchema, updateLocationPickupTimeSchema, updatePickupGroupSchema, updatePickupLocationSchema, updateProductMeetingConfigSchema, updateSharingGroupLabelSchema, updateTravelerSharingGroupSchema, upsertResourceTemplateSchema, } from "./validation.js";
15
15
  export { availabilityService };
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,YAAY,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAE9E,eAAO,MAAM,kBAAkB,EAAE,MAGhC,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,UAIpC,CAAA;AAED,OAAO,EACL,+BAA+B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,gCAAgC,EAChC,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,8BAA8B,EAC9B,kBAAkB,GACnB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,8BAA8B,GAC/B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,KAAK,4CAA4C,EACjD,4CAA4C,GAC7C,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,mCAAmC,EACnC,sCAAsC,EACtC,+BAA+B,EAC/B,+BAA+B,EAC/B,qCAAqC,EACrC,oCAAoC,EACpC,+BAA+B,EAC/B,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,4BAA4B,EAC5B,kCAAkC,EAClC,4BAA4B,EAC5B,iCAAiC,EACjC,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,gCAAgC,EAChC,iCAAiC,EACjC,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,4BAA4B,EAC5B,kCAAkC,EAClC,4BAA4B,EAC5B,iCAAiC,EACjC,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,gCAAgC,EAChC,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,YAAY,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAE9E,eAAO,MAAM,kBAAkB,EAAE,MAGhC,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,UAIpC,CAAA;AAED,OAAO,EACL,+BAA+B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,gCAAgC,EAChC,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,8BAA8B,EAC9B,kBAAkB,GACnB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,8BAA8B,GAC/B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,KAAK,4CAA4C,EACjD,4CAA4C,GAC7C,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,mCAAmC,EACnC,+BAA+B,EAC/B,sCAAsC,EACtC,+BAA+B,EAC/B,+BAA+B,EAC/B,qCAAqC,EACrC,oCAAoC,EACpC,+BAA+B,EAC/B,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,4BAA4B,EAC5B,kCAAkC,EAClC,4BAA4B,EAC5B,iCAAiC,EACjC,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,gCAAgC,EAChC,iCAAiC,EACjC,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,4BAA4B,EAC5B,kCAAkC,EAClC,4BAA4B,EAC5B,iCAAiC,EACjC,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,gCAAgC,EAChC,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
package/dist/index.js CHANGED
@@ -15,5 +15,5 @@ export { allocationAuditLog, allocationResources, availabilityCloseouts, availab
15
15
  export { getSlotResourceAvailability, getSlotsResourceAvailability, validateSlotAllocationCapacity, } from "./service-allocation.js";
16
16
  export { materializeSlotResourcesFromTemplateDefaults, } from "./service-allocation-automation.js";
17
17
  export { allocationExportFilename, buildAllocationPassengersCsv, buildAllocationRoomingCsv, } from "./service-allocation-exports.js";
18
- export { allocationAuditLogQuerySchema, allocationAutomationSchema, assignTravelerAllocationSchema, availabilityCloseoutListQuerySchema, availabilityPickupPointListQuerySchema, availabilityRuleListQuerySchema, availabilitySlotListQuerySchema, availabilitySlotPickupListQuerySchema, availabilityStartTimeListQuerySchema, customPickupAreaListQuerySchema, insertAllocationResourceSchema, insertAvailabilityCloseoutSchema, insertAvailabilityPickupPointSchema, insertAvailabilityRuleSchema, insertAvailabilitySlotPickupSchema, insertAvailabilitySlotSchema, insertAvailabilityStartTimeSchema, insertCustomPickupAreaSchema, insertLocationPickupTimeSchema, insertPickupGroupSchema, insertPickupLocationSchema, insertProductMeetingConfigSchema, locationPickupTimeListQuerySchema, pairSharingGroupSchema, pickupGroupListQuerySchema, pickupLocationListQuerySchema, productMeetingConfigListQuerySchema, updateAllocationResourceSchema, updateAvailabilityCloseoutSchema, updateAvailabilityPickupPointSchema, updateAvailabilityRuleSchema, updateAvailabilitySlotPickupSchema, updateAvailabilitySlotSchema, updateAvailabilityStartTimeSchema, updateCustomPickupAreaSchema, updateLocationPickupTimeSchema, updatePickupGroupSchema, updatePickupLocationSchema, updateProductMeetingConfigSchema, updateSharingGroupLabelSchema, updateTravelerSharingGroupSchema, upsertResourceTemplateSchema, } from "./validation.js";
18
+ export { allocationAuditLogQuerySchema, allocationAutomationSchema, assignTravelerAllocationSchema, availabilityCloseoutListQuerySchema, availabilityOverviewQuerySchema, availabilityPickupPointListQuerySchema, availabilityRuleListQuerySchema, availabilitySlotListQuerySchema, availabilitySlotPickupListQuerySchema, availabilityStartTimeListQuerySchema, customPickupAreaListQuerySchema, insertAllocationResourceSchema, insertAvailabilityCloseoutSchema, insertAvailabilityPickupPointSchema, insertAvailabilityRuleSchema, insertAvailabilitySlotPickupSchema, insertAvailabilitySlotSchema, insertAvailabilityStartTimeSchema, insertCustomPickupAreaSchema, insertLocationPickupTimeSchema, insertPickupGroupSchema, insertPickupLocationSchema, insertProductMeetingConfigSchema, locationPickupTimeListQuerySchema, pairSharingGroupSchema, pickupGroupListQuerySchema, pickupLocationListQuerySchema, productMeetingConfigListQuerySchema, updateAllocationResourceSchema, updateAvailabilityCloseoutSchema, updateAvailabilityPickupPointSchema, updateAvailabilityRuleSchema, updateAvailabilitySlotPickupSchema, updateAvailabilitySlotSchema, updateAvailabilityStartTimeSchema, updateCustomPickupAreaSchema, updateLocationPickupTimeSchema, updatePickupGroupSchema, updatePickupLocationSchema, updateProductMeetingConfigSchema, updateSharingGroupLabelSchema, updateTravelerSharingGroupSchema, upsertResourceTemplateSchema, } from "./validation.js";
19
19
  export { availabilityService };
@@ -22,6 +22,55 @@ export declare const availabilityCoreRoutes: import("hono/hono-base").HonoBase<E
22
22
  status: import("hono/utils/http-status").ContentfulStatusCode;
23
23
  };
24
24
  };
25
+ } & {
26
+ "/overview": {
27
+ $get: {
28
+ input: {};
29
+ output: {
30
+ data: {
31
+ openSlotsCount: number;
32
+ constrainedSlotsCount: number;
33
+ activeRulesCount: number;
34
+ activePickupPointsCount: number;
35
+ productsWithoutUpcomingDeparturesCount: number;
36
+ productsWithoutUpcomingDepartures: {
37
+ id: string;
38
+ name: string;
39
+ }[];
40
+ constrainedSlots: {
41
+ id: string;
42
+ status: "cancelled" | "open" | "closed" | "sold_out";
43
+ productId: string;
44
+ optionId: string | null;
45
+ facilityId: string | null;
46
+ timezone: string;
47
+ createdAt: string;
48
+ updatedAt: string;
49
+ itineraryId: string | null;
50
+ availabilityRuleId: string | null;
51
+ startTimeId: string | null;
52
+ dateLocal: string;
53
+ startsAt: string;
54
+ endsAt: string | null;
55
+ unlimited: boolean;
56
+ initialPax: number | null;
57
+ remainingPax: number | null;
58
+ initialPickups: number | null;
59
+ remainingPickups: number | null;
60
+ remainingResources: number | null;
61
+ pastCutoff: boolean;
62
+ tooEarly: boolean;
63
+ nights: number | null;
64
+ days: number | null;
65
+ notes: string | null;
66
+ productName: string | null;
67
+ }[];
68
+ };
69
+ };
70
+ outputFormat: "json";
71
+ status: import("hono/utils/http-status").ContentfulStatusCode;
72
+ };
73
+ };
25
74
  } & {
26
75
  "/rules": {
27
76
  $get: {
@@ -1 +1 @@
1
- {"version":3,"file":"routes-core.d.ts","sourceRoot":"","sources":["../src/routes-core.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,GAAG,EAIT,MAAM,oBAAoB,CAAA;AA2B3B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA8N/B,CAAA"}
1
+ {"version":3,"file":"routes-core.d.ts","sourceRoot":"","sources":["../src/routes-core.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,GAAG,EAIT,MAAM,oBAAoB,CAAA;AA4B3B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAoO/B,CAAA"}
@@ -2,7 +2,7 @@ import { parseJsonBody, parseQuery } from "@voyantjs/hono";
2
2
  import { Hono } from "hono";
3
3
  import { batchIdsSchema, createBatchUpdateSchema, handleBatchDelete, handleBatchUpdate, notFound, } from "./routes-shared.js";
4
4
  import { availabilityService } from "./service.js";
5
- import { availabilityAggregatesQuerySchema, availabilityCloseoutListQuerySchema, availabilityRuleListQuerySchema, availabilitySlotListQuerySchema, availabilityStartTimeListQuerySchema, insertAvailabilityCloseoutSchema, insertAvailabilityRuleSchema, insertAvailabilitySlotSchema, insertAvailabilityStartTimeSchema, updateAvailabilityCloseoutSchema, updateAvailabilityRuleSchema, updateAvailabilitySlotSchema, updateAvailabilityStartTimeSchema, } from "./validation.js";
5
+ import { availabilityAggregatesQuerySchema, availabilityCloseoutListQuerySchema, availabilityOverviewQuerySchema, availabilityRuleListQuerySchema, availabilitySlotListQuerySchema, availabilityStartTimeListQuerySchema, insertAvailabilityCloseoutSchema, insertAvailabilityRuleSchema, insertAvailabilitySlotSchema, insertAvailabilityStartTimeSchema, updateAvailabilityCloseoutSchema, updateAvailabilityRuleSchema, updateAvailabilitySlotSchema, updateAvailabilityStartTimeSchema, } from "./validation.js";
6
6
  const batchUpdateAvailabilityRuleSchema = createBatchUpdateSchema(updateAvailabilityRuleSchema);
7
7
  const batchUpdateAvailabilityStartTimeSchema = createBatchUpdateSchema(updateAvailabilityStartTimeSchema);
8
8
  const batchUpdateAvailabilitySlotSchema = createBatchUpdateSchema(updateAvailabilitySlotSchema);
@@ -13,6 +13,12 @@ export const availabilityCoreRoutes = new Hono()
13
13
  return c.json({
14
14
  data: await availabilityService.getAvailabilityAggregates(c.get("db"), query),
15
15
  });
16
+ })
17
+ .get("/overview", async (c) => {
18
+ const query = await parseQuery(c, availabilityOverviewQuerySchema);
19
+ return c.json({
20
+ data: await availabilityService.getAvailabilityOverview(c.get("db"), query),
21
+ });
16
22
  })
17
23
  .get("/rules", async (c) => {
18
24
  const query = await parseQuery(c, availabilityRuleListQuerySchema);
@@ -0,0 +1,22 @@
1
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ import { availabilitySlots } from "./schema.js";
3
+ export interface AvailabilityOverviewOptions {
4
+ productId?: string;
5
+ attentionLimit?: number;
6
+ }
7
+ export interface AvailabilityOverview {
8
+ openSlotsCount: number;
9
+ constrainedSlotsCount: number;
10
+ activeRulesCount: number;
11
+ activePickupPointsCount: number;
12
+ productsWithoutUpcomingDeparturesCount: number;
13
+ productsWithoutUpcomingDepartures: Array<{
14
+ id: string;
15
+ name: string;
16
+ }>;
17
+ constrainedSlots: Array<typeof availabilitySlots.$inferSelect & {
18
+ productName: string | null;
19
+ }>;
20
+ }
21
+ export declare function getAvailabilityOverview(db: PostgresJsDatabase, options?: AvailabilityOverviewOptions): Promise<AvailabilityOverview>;
22
+ //# sourceMappingURL=service-overview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-overview.d.ts","sourceRoot":"","sources":["../src/service-overview.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGjE,OAAO,EAA+C,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE5F,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,sCAAsC,EAAE,MAAM,CAAA;IAC9C,iCAAiC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtE,gBAAgB,EAAE,KAAK,CACrB,OAAO,iBAAiB,CAAC,YAAY,GAAG;QACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAC3B,CACF,CAAA;CACF;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,kBAAkB,EACtB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,oBAAoB,CAAC,CA2F/B"}
@@ -0,0 +1,64 @@
1
+ import { and, asc, eq, getTableColumns, gte, inArray, notExists, sql } from "drizzle-orm";
2
+ import { productsRef } from "./products-ref.js";
3
+ import { availabilityPickupPoints, availabilityRules, availabilitySlots } from "./schema.js";
4
+ export async function getAvailabilityOverview(db, options = {}) {
5
+ const now = new Date();
6
+ const attentionLimit = options.attentionLimit ?? 4;
7
+ const productSlotCondition = options.productId
8
+ ? eq(availabilitySlots.productId, options.productId)
9
+ : undefined;
10
+ const productRuleCondition = options.productId
11
+ ? eq(availabilityRules.productId, options.productId)
12
+ : undefined;
13
+ const productPickupCondition = options.productId
14
+ ? eq(availabilityPickupPoints.productId, options.productId)
15
+ : undefined;
16
+ const productCondition = options.productId ? eq(productsRef.id, options.productId) : undefined;
17
+ const openUpcomingWhere = and(productSlotCondition, eq(availabilitySlots.status, "open"), gte(availabilitySlots.startsAt, now));
18
+ const constrainedUpcomingWhere = and(productSlotCondition, inArray(availabilitySlots.status, ["closed", "sold_out"]), gte(availabilitySlots.startsAt, now));
19
+ const coverageGapWhere = and(productCondition, notExists(db
20
+ .select({ one: sql `1` })
21
+ .from(availabilitySlots)
22
+ .where(and(eq(availabilitySlots.productId, productsRef.id), eq(availabilitySlots.status, "open"), gte(availabilitySlots.startsAt, now)))));
23
+ const [openSlotsRow, constrainedSlotsRow, constrainedSlots, activeRulesRow, activePickupPointsRow, coverageGapRow, productsWithoutUpcomingDepartures,] = await Promise.all([
24
+ db
25
+ .select({ count: sql `count(*)::int` })
26
+ .from(availabilitySlots)
27
+ .where(openUpcomingWhere),
28
+ db
29
+ .select({ count: sql `count(*)::int` })
30
+ .from(availabilitySlots)
31
+ .where(constrainedUpcomingWhere),
32
+ db
33
+ .select({ ...getTableColumns(availabilitySlots), productName: productsRef.name })
34
+ .from(availabilitySlots)
35
+ .leftJoin(productsRef, eq(availabilitySlots.productId, productsRef.id))
36
+ .where(constrainedUpcomingWhere)
37
+ .orderBy(asc(availabilitySlots.startsAt))
38
+ .limit(attentionLimit),
39
+ db
40
+ .select({ count: sql `count(*)::int` })
41
+ .from(availabilityRules)
42
+ .where(and(productRuleCondition, eq(availabilityRules.active, true))),
43
+ db
44
+ .select({ count: sql `count(*)::int` })
45
+ .from(availabilityPickupPoints)
46
+ .where(and(productPickupCondition, eq(availabilityPickupPoints.active, true))),
47
+ db.select({ count: sql `count(*)::int` }).from(productsRef).where(coverageGapWhere),
48
+ db
49
+ .select({ id: productsRef.id, name: productsRef.name })
50
+ .from(productsRef)
51
+ .where(coverageGapWhere)
52
+ .orderBy(asc(productsRef.name))
53
+ .limit(attentionLimit),
54
+ ]);
55
+ return {
56
+ openSlotsCount: openSlotsRow[0]?.count ?? 0,
57
+ constrainedSlotsCount: constrainedSlotsRow[0]?.count ?? 0,
58
+ activeRulesCount: activeRulesRow[0]?.count ?? 0,
59
+ activePickupPointsCount: activePickupPointsRow[0]?.count ?? 0,
60
+ productsWithoutUpcomingDeparturesCount: coverageGapRow[0]?.count ?? 0,
61
+ productsWithoutUpcomingDepartures,
62
+ constrainedSlots,
63
+ };
64
+ }
@@ -1,8 +1,9 @@
1
1
  import type { z } from "zod";
2
- import type { availabilityCloseoutListQuerySchema, availabilityPickupPointListQuerySchema, availabilityRuleListQuerySchema, availabilitySlotListQuerySchema, availabilitySlotPickupListQuerySchema, availabilityStartTimeListQuerySchema, customPickupAreaListQuerySchema, insertAvailabilityCloseoutSchema, insertAvailabilityPickupPointSchema, insertAvailabilityRuleSchema, insertAvailabilitySlotPickupSchema, insertAvailabilitySlotSchema, insertAvailabilityStartTimeSchema, insertCustomPickupAreaSchema, insertLocationPickupTimeSchema, insertPickupGroupSchema, insertPickupLocationSchema, insertProductMeetingConfigSchema, locationPickupTimeListQuerySchema, pickupGroupListQuerySchema, pickupLocationListQuerySchema, productMeetingConfigListQuerySchema, updateAvailabilityCloseoutSchema, updateAvailabilityPickupPointSchema, updateAvailabilityRuleSchema, updateAvailabilitySlotPickupSchema, updateAvailabilitySlotSchema, updateAvailabilityStartTimeSchema, updateCustomPickupAreaSchema, updateLocationPickupTimeSchema, updatePickupGroupSchema, updatePickupLocationSchema, updateProductMeetingConfigSchema } from "./validation.js";
2
+ import type { availabilityCloseoutListQuerySchema, availabilityOverviewQuerySchema, availabilityPickupPointListQuerySchema, availabilityRuleListQuerySchema, availabilitySlotListQuerySchema, availabilitySlotPickupListQuerySchema, availabilityStartTimeListQuerySchema, customPickupAreaListQuerySchema, insertAvailabilityCloseoutSchema, insertAvailabilityPickupPointSchema, insertAvailabilityRuleSchema, insertAvailabilitySlotPickupSchema, insertAvailabilitySlotSchema, insertAvailabilityStartTimeSchema, insertCustomPickupAreaSchema, insertLocationPickupTimeSchema, insertPickupGroupSchema, insertPickupLocationSchema, insertProductMeetingConfigSchema, locationPickupTimeListQuerySchema, pickupGroupListQuerySchema, pickupLocationListQuerySchema, productMeetingConfigListQuerySchema, updateAvailabilityCloseoutSchema, updateAvailabilityPickupPointSchema, updateAvailabilityRuleSchema, updateAvailabilitySlotPickupSchema, updateAvailabilitySlotSchema, updateAvailabilityStartTimeSchema, updateCustomPickupAreaSchema, updateLocationPickupTimeSchema, updatePickupGroupSchema, updatePickupLocationSchema, updateProductMeetingConfigSchema } from "./validation.js";
3
3
  export type AvailabilityRuleListQuery = z.infer<typeof availabilityRuleListQuerySchema>;
4
4
  export type AvailabilityStartTimeListQuery = z.infer<typeof availabilityStartTimeListQuerySchema>;
5
5
  export type AvailabilitySlotListQuery = z.infer<typeof availabilitySlotListQuerySchema>;
6
+ export type AvailabilityOverviewQuery = z.infer<typeof availabilityOverviewQuerySchema>;
6
7
  export type AvailabilityCloseoutListQuery = z.infer<typeof availabilityCloseoutListQuerySchema>;
7
8
  export type AvailabilityPickupPointListQuery = z.infer<typeof availabilityPickupPointListQuerySchema>;
8
9
  export type AvailabilitySlotPickupListQuery = z.infer<typeof availabilitySlotPickupListQuerySchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"service-shared.d.ts","sourceRoot":"","sources":["../src/service-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-shared.d.ts","sourceRoot":"","sources":["../src/service-shared.ts"],"names":[],"mappings":"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"}
package/dist/service.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { getAvailabilityAggregates } from "./service-aggregates.js";
2
2
  import { assignTravelerAllocation, createAllocationResource, deleteAllocationResource, getSlotAllocationManifest, listAllocationResources, pairSharingGroup, updateAllocationResource, updateTravelerSharingGroup } from "./service-allocation.js";
3
3
  import { createCloseout, createRule, createSlot, createStartTime, deleteCloseout, deleteRule, deleteSlot, deleteStartTime, getCloseoutById, getRuleById, getSlotById, getStartTimeById, listCloseouts, listRules, listSlots, listStartTimes, updateCloseout, updateRule, updateSlot, updateStartTime } from "./service-core.js";
4
+ import { getAvailabilityOverview } from "./service-overview.js";
4
5
  import { createCustomPickupArea, createLocationPickupTime, createMeetingConfig, createPickupGroup, createPickupLocation, createPickupPoint, createSlotPickup, deleteCustomPickupArea, deleteLocationPickupTime, deleteMeetingConfig, deletePickupGroup, deletePickupLocation, deletePickupPoint, deleteSlotPickup, getCustomPickupAreaById, getLocationPickupTimeById, getMeetingConfigById, getPickupGroupById, getPickupLocationById, getPickupPointById, getSlotPickupById, listCustomPickupAreas, listLocationPickupTimes, listMeetingConfigs, listPickupGroups, listPickupLocations, listPickupPoints, listSlotPickups, updateCustomPickupArea, updateLocationPickupTime, updateMeetingConfig, updatePickupGroup, updatePickupLocation, updatePickupPoint, updateSlotPickup } from "./service-pickups.js";
5
6
  import { getSlotUnitAvailability } from "./service-unit-availability.js";
6
7
  export declare const availabilityService: {
@@ -14,6 +15,7 @@ export declare const availabilityService: {
14
15
  pairSharingGroup: typeof pairSharingGroup;
15
16
  getSlotUnitAvailability: typeof getSlotUnitAvailability;
16
17
  getAvailabilityAggregates: typeof getAvailabilityAggregates;
18
+ getAvailabilityOverview: typeof getAvailabilityOverview;
17
19
  listRules: typeof listRules;
18
20
  getRuleById: typeof getRuleById;
19
21
  createRule: typeof createRule;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,cAAc,EACd,UAAU,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,UAAU,EACV,UAAU,EACV,eAAe,EAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAExE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkE/B,CAAA"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,cAAc,EACd,UAAU,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,UAAU,EACV,UAAU,EACV,eAAe,EAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAExE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmE/B,CAAA"}
package/dist/service.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { getAvailabilityAggregates } from "./service-aggregates.js";
2
2
  import { assignTravelerAllocation, createAllocationResource, deleteAllocationResource, getSlotAllocationManifest, listAllocationResources, pairSharingGroup, updateAllocationResource, updateTravelerSharingGroup, } from "./service-allocation.js";
3
3
  import { createCloseout, createRule, createSlot, createStartTime, deleteCloseout, deleteRule, deleteSlot, deleteStartTime, getCloseoutById, getRuleById, getSlotById, getStartTimeById, listCloseouts, listRules, listSlots, listStartTimes, updateCloseout, updateRule, updateSlot, updateStartTime, } from "./service-core.js";
4
+ import { getAvailabilityOverview } from "./service-overview.js";
4
5
  import { createCustomPickupArea, createLocationPickupTime, createMeetingConfig, createPickupGroup, createPickupLocation, createPickupPoint, createSlotPickup, deleteCustomPickupArea, deleteLocationPickupTime, deleteMeetingConfig, deletePickupGroup, deletePickupLocation, deletePickupPoint, deleteSlotPickup, getCustomPickupAreaById, getLocationPickupTimeById, getMeetingConfigById, getPickupGroupById, getPickupLocationById, getPickupPointById, getSlotPickupById, listCustomPickupAreas, listLocationPickupTimes, listMeetingConfigs, listPickupGroups, listPickupLocations, listPickupPoints, listSlotPickups, updateCustomPickupArea, updateLocationPickupTime, updateMeetingConfig, updatePickupGroup, updatePickupLocation, updatePickupPoint, updateSlotPickup, } from "./service-pickups.js";
5
6
  import { getSlotUnitAvailability } from "./service-unit-availability.js";
6
7
  export const availabilityService = {
@@ -14,6 +15,7 @@ export const availabilityService = {
14
15
  pairSharingGroup,
15
16
  getSlotUnitAvailability,
16
17
  getAvailabilityAggregates,
18
+ getAvailabilityOverview,
17
19
  listRules,
18
20
  getRuleById,
19
21
  createRule,
@@ -226,6 +226,10 @@ export declare const availabilityAggregatesQuerySchema: z.ZodObject<{
226
226
  from: z.ZodOptional<z.ZodString>;
227
227
  to: z.ZodOptional<z.ZodString>;
228
228
  }, z.core.$strip>;
229
+ export declare const availabilityOverviewQuerySchema: z.ZodObject<{
230
+ productId: z.ZodOptional<z.ZodString>;
231
+ attentionLimit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
232
+ }, z.core.$strip>;
229
233
  export declare const availabilityCloseoutCoreSchema: z.ZodObject<{
230
234
  productId: z.ZodString;
231
235
  slotId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,10 @@ export const availabilityAggregatesQuerySchema = z.object({
93
93
  from: z.string().datetime().optional(),
94
94
  to: z.string().datetime().optional(),
95
95
  });
96
+ export const availabilityOverviewQuerySchema = z.object({
97
+ productId: z.string().optional(),
98
+ attentionLimit: z.coerce.number().int().min(1).max(20).default(4),
99
+ });
96
100
  export const availabilityCloseoutCoreSchema = z.object({
97
101
  productId: z.string(),
98
102
  slotId: z.string().nullable().optional(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/availability",
3
- "version": "0.66.0",
3
+ "version": "0.68.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -44,13 +44,13 @@
44
44
  "drizzle-orm": "^0.45.2",
45
45
  "hono": "^4.12.10",
46
46
  "zod": "^4.3.6",
47
- "@voyantjs/core": "0.66.0",
48
- "@voyantjs/db": "0.66.0",
49
- "@voyantjs/hono": "0.66.0"
47
+ "@voyantjs/core": "0.68.0",
48
+ "@voyantjs/db": "0.68.0",
49
+ "@voyantjs/hono": "0.68.0"
50
50
  },
51
51
  "devDependencies": {
52
52
  "typescript": "^6.0.2",
53
- "@voyantjs/products": "0.66.0",
53
+ "@voyantjs/products": "0.68.0",
54
54
  "@voyantjs/voyant-typescript-config": "0.1.0"
55
55
  },
56
56
  "files": [