@firfi/voila-sdk 0.1.1 → 0.1.3

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.
Files changed (32) hide show
  1. package/README.md +6 -3
  2. package/dist/src/domain/schemas/index.d.ts +2 -0
  3. package/dist/src/domain/schemas/index.d.ts.map +1 -1
  4. package/dist/src/domain/schemas/index.js +2 -0
  5. package/dist/src/domain/schemas/index.js.map +1 -1
  6. package/dist/src/domain/schemas/order-details.d.ts +2623 -0
  7. package/dist/src/domain/schemas/order-details.d.ts.map +1 -0
  8. package/dist/src/domain/schemas/order-details.js +148 -0
  9. package/dist/src/domain/schemas/order-details.js.map +1 -0
  10. package/dist/src/domain/schemas/order-history.d.ts +738 -0
  11. package/dist/src/domain/schemas/order-history.d.ts.map +1 -0
  12. package/dist/src/domain/schemas/order-history.js +113 -0
  13. package/dist/src/domain/schemas/order-history.js.map +1 -0
  14. package/dist/src/domain/schemas/slot.d.ts +4 -4
  15. package/dist/src/index.d.ts +3 -0
  16. package/dist/src/index.d.ts.map +1 -1
  17. package/dist/src/index.js +3 -0
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/voila/browser-login-adapter.d.ts +12 -12
  20. package/dist/src/voila/order-details.d.ts +22 -0
  21. package/dist/src/voila/order-details.d.ts.map +1 -0
  22. package/dist/src/voila/order-details.js +267 -0
  23. package/dist/src/voila/order-details.js.map +1 -0
  24. package/dist/src/voila/order-history.d.ts +18 -0
  25. package/dist/src/voila/order-history.d.ts.map +1 -0
  26. package/dist/src/voila/order-history.js +102 -0
  27. package/dist/src/voila/order-history.js.map +1 -0
  28. package/dist/src/voila/order-urls.d.ts +23 -0
  29. package/dist/src/voila/order-urls.d.ts.map +1 -0
  30. package/dist/src/voila/order-urls.js +90 -0
  31. package/dist/src/voila/order-urls.js.map +1 -0
  32. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-history.d.ts","sourceRoot":"","sources":["../../../../src/domain/schemas/order-history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import { Schema } from "effect";
2
+ import { MoneySchema } from "./money.js";
3
+ export const MIN_ORDER_PAGE_SIZE = 1;
4
+ export const MAX_ORDER_PAGE_SIZE = 50;
5
+ export const DEFAULT_ORDER_PAGE_SIZE = 20;
6
+ const UnknownStringRecordSchema = Schema.Record({ key: Schema.String, value: Schema.Unknown });
7
+ const NonEmptyTrimmedStringSchema = Schema.String.pipe(Schema.trimmed(), Schema.minLength(1));
8
+ const OrderPageSizeSchema = Schema.Number.pipe(Schema.finite(), Schema.int(), Schema.greaterThanOrEqualTo(MIN_ORDER_PAGE_SIZE), Schema.lessThanOrEqualTo(MAX_ORDER_PAGE_SIZE));
9
+ export const CompletedOrdersInputSchema = Schema.Struct({
10
+ pageSize: Schema.optionalWith(OrderPageSizeSchema, { default: () => DEFAULT_ORDER_PAGE_SIZE }),
11
+ pageToken: Schema.optionalWith(NonEmptyTrimmedStringSchema, { exact: true })
12
+ });
13
+ const RawOrderRegionSchema = Schema.asSchema(Schema.Struct({
14
+ regionId: Schema.String,
15
+ retailerRegionId: Schema.String
16
+ }).pipe(Schema.extend(UnknownStringRecordSchema)));
17
+ const RawOrderCarrierSchema = Schema.asSchema(Schema.Struct({
18
+ carrierId: Schema.String
19
+ }).pipe(Schema.extend(UnknownStringRecordSchema)));
20
+ const RawOrderExternalLockerSchema = Schema.asSchema(Schema.Struct({
21
+ externalLockerId: Schema.String
22
+ }).pipe(Schema.extend(UnknownStringRecordSchema)));
23
+ const RawOrderDeliveryDestinationSchema = Schema.asSchema(Schema.Struct({
24
+ address: Schema.Struct({
25
+ timeZone: Schema.String
26
+ }).pipe(Schema.extend(UnknownStringRecordSchema)),
27
+ deliveryMethod: Schema.String,
28
+ name: Schema.String
29
+ }).pipe(Schema.extend(UnknownStringRecordSchema)));
30
+ export const RawCompletedOrdersGraphqlErrorSchema = Schema.asSchema(Schema.Struct({
31
+ message: Schema.String
32
+ }).pipe(Schema.extend(UnknownStringRecordSchema)));
33
+ export const RawInternalCompletedOrderSlotSchema = Schema.asSchema(Schema.Struct({
34
+ __typename: Schema.Literal("InternalOrderSlot"),
35
+ carrier: Schema.optionalWith(Schema.NullOr(RawOrderCarrierSchema), { exact: true }),
36
+ deliveryDestination: RawOrderDeliveryDestinationSchema,
37
+ end: Schema.String,
38
+ externalLocker: Schema.optionalWith(Schema.NullOr(RawOrderExternalLockerSchema), { exact: true }),
39
+ shippingGroupType: Schema.optionalWith(Schema.String, { exact: true }),
40
+ start: Schema.String,
41
+ type: Schema.String
42
+ }).pipe(Schema.extend(UnknownStringRecordSchema)));
43
+ export const RawImportedCompletedOrderSlotSchema = Schema.asSchema(Schema.Struct({
44
+ __typename: Schema.Literal("ImportedOrderSlot"),
45
+ end: Schema.String,
46
+ name: Schema.String,
47
+ start: Schema.String,
48
+ timeZone: Schema.String
49
+ }).pipe(Schema.extend(UnknownStringRecordSchema)));
50
+ export const RawCompletedOrderSlotSchema = Schema.Union(RawInternalCompletedOrderSlotSchema, RawImportedCompletedOrderSlotSchema);
51
+ export const RawCompletedOrderNodeSchema = Schema.asSchema(Schema.Struct({
52
+ orderId: Schema.String,
53
+ prices: Schema.Struct({
54
+ total: MoneySchema
55
+ }).pipe(Schema.extend(UnknownStringRecordSchema)),
56
+ recurringOrderDefinition: Schema.optionalWith(Schema.NullOr(Schema.Struct({
57
+ name: Schema.String
58
+ }).pipe(Schema.extend(UnknownStringRecordSchema))), { exact: true }),
59
+ region: RawOrderRegionSchema,
60
+ slot: RawCompletedOrderSlotSchema,
61
+ status: Schema.String
62
+ }).pipe(Schema.extend(UnknownStringRecordSchema)));
63
+ const RawCompletedOrdersConnectionSchema = Schema.asSchema(Schema.Struct({
64
+ edges: Schema.Array(Schema.NullOr(Schema.Struct({
65
+ node: Schema.NullOr(RawCompletedOrderNodeSchema)
66
+ }).pipe(Schema.extend(UnknownStringRecordSchema)))),
67
+ pageInfo: Schema.Struct({
68
+ endCursor: Schema.NullOr(Schema.String),
69
+ hasNextPage: Schema.Boolean
70
+ }).pipe(Schema.extend(UnknownStringRecordSchema)),
71
+ retentionPeriod: Schema.optionalWith(Schema.String, { exact: true })
72
+ }).pipe(Schema.extend(UnknownStringRecordSchema)));
73
+ export const RawCompletedOrdersGraphqlResponseSchema = Schema.asSchema(Schema.Struct({
74
+ data: Schema.optionalWith(Schema.NullOr(Schema.Struct({
75
+ completedOrders: Schema.NullOr(RawCompletedOrdersConnectionSchema)
76
+ }).pipe(Schema.extend(UnknownStringRecordSchema))), { exact: true }),
77
+ errors: Schema.optionalWith(Schema.Array(RawCompletedOrdersGraphqlErrorSchema), { exact: true })
78
+ }).pipe(Schema.extend(UnknownStringRecordSchema)));
79
+ export const CompletedOrdersPaginationSchema = Schema.Struct({
80
+ hasNextPage: Schema.Boolean,
81
+ nextPageToken: Schema.optionalWith(Schema.String, { exact: true }),
82
+ retentionPeriod: Schema.optionalWith(Schema.String, { exact: true })
83
+ });
84
+ export const NormalizedCompletedOrderSchema = Schema.Struct({
85
+ addressNickName: Schema.String,
86
+ carrierId: Schema.optionalWith(Schema.String, { exact: true }),
87
+ dates: Schema.Struct({
88
+ deliveryEndDate: Schema.String,
89
+ deliveryStartDate: Schema.String,
90
+ timeZoneId: Schema.String
91
+ }),
92
+ deliveryMethod: Schema.String,
93
+ externalAddress: Schema.optionalWith(Schema.Struct({
94
+ externalCollectionPointId: Schema.String
95
+ }), { exact: true }),
96
+ orderId: Schema.String,
97
+ orderTotals: Schema.Struct({
98
+ totalPrice: MoneySchema
99
+ }),
100
+ recurringShoppingDefinition: Schema.optionalWith(Schema.Struct({
101
+ name: Schema.String
102
+ }), { exact: true }),
103
+ regionId: Schema.String,
104
+ retailerRegionId: Schema.String,
105
+ shippingGroupType: Schema.optionalWith(Schema.String, { exact: true }),
106
+ slotType: Schema.String,
107
+ status: Schema.String
108
+ });
109
+ export const NormalizedCompletedOrdersResultSchema = Schema.Struct({
110
+ orders: Schema.Array(NormalizedCompletedOrderSchema),
111
+ pagination: CompletedOrdersPaginationSchema
112
+ });
113
+ //# sourceMappingURL=order-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-history.js","sourceRoot":"","sources":["../../../../src/domain/schemas/order-history.ts"],"names":[],"mappings":"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"}
@@ -171,9 +171,9 @@ export declare const RawSlotDayMappingSchema: Schema.Schema<{
171
171
  }, never>;
172
172
  export type RawSlotDayMapping = Schema.Schema.Type<typeof RawSlotDayMappingSchema>;
173
173
  export declare const RawSlotCarrierSchema: Schema.Schema<{
174
+ readonly carrierId?: string;
174
175
  readonly title?: string;
175
176
  readonly carrierDetails?: readonly unknown[];
176
- readonly carrierId?: string;
177
177
  readonly carrierName?: string;
178
178
  readonly daysMapping?: readonly ({
179
179
  readonly day: string;
@@ -240,9 +240,9 @@ export declare const RawSlotCarrierSchema: Schema.Schema<{
240
240
  } & {
241
241
  readonly [x: string]: unknown;
242
242
  }, {
243
+ readonly carrierId?: string;
243
244
  readonly title?: string;
244
245
  readonly carrierDetails?: readonly unknown[];
245
- readonly carrierId?: string;
246
246
  readonly carrierName?: string;
247
247
  readonly daysMapping?: readonly ({
248
248
  readonly day: string;
@@ -312,9 +312,9 @@ export declare const RawSlotCarrierSchema: Schema.Schema<{
312
312
  export type RawSlotCarrier = Schema.Schema.Type<typeof RawSlotCarrierSchema>;
313
313
  export declare const RawSlotListingResponseSchema: Schema.Schema<{
314
314
  readonly carriers: readonly ({
315
+ readonly carrierId?: string;
315
316
  readonly title?: string;
316
317
  readonly carrierDetails?: readonly unknown[];
317
- readonly carrierId?: string;
318
318
  readonly carrierName?: string;
319
319
  readonly daysMapping?: readonly ({
320
320
  readonly day: string;
@@ -390,9 +390,9 @@ export declare const RawSlotListingResponseSchema: Schema.Schema<{
390
390
  readonly [x: string]: unknown;
391
391
  }, {
392
392
  readonly carriers: readonly ({
393
+ readonly carrierId?: string;
393
394
  readonly title?: string;
394
395
  readonly carrierDetails?: readonly unknown[];
395
- readonly carrierId?: string;
396
396
  readonly carrierName?: string;
397
397
  readonly daysMapping?: readonly ({
398
398
  readonly day: string;
@@ -16,6 +16,9 @@ export * from "./voila/guest-bootstrap.js";
16
16
  export * from "./voila/headers.js";
17
17
  export * from "./voila/http-client.js";
18
18
  export * from "./voila/initial-state.js";
19
+ export * from "./voila/order-details.js";
20
+ export * from "./voila/order-history.js";
21
+ export * from "./voila/order-urls.js";
19
22
  export * from "./voila/session-health.js";
20
23
  export * from "./voila/session-snapshot.js";
21
24
  export * from "./voila/session-storage.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kCAAkC,CAAA;AAChD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,kCAAkC,CAAA;AAChD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kCAAkC,CAAA;AAChD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,kCAAkC,CAAA;AAChD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA"}
package/dist/src/index.js CHANGED
@@ -16,6 +16,9 @@ export * from "./voila/guest-bootstrap.js";
16
16
  export * from "./voila/headers.js";
17
17
  export * from "./voila/http-client.js";
18
18
  export * from "./voila/initial-state.js";
19
+ export * from "./voila/order-details.js";
20
+ export * from "./voila/order-history.js";
21
+ export * from "./voila/order-urls.js";
19
22
  export * from "./voila/session-health.js";
20
23
  export * from "./voila/session-snapshot.js";
21
24
  export * from "./voila/session-storage.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kCAAkC,CAAA;AAChD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,kCAAkC,CAAA;AAChD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kCAAkC,CAAA;AAChD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,kCAAkC,CAAA;AAChD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA"}
@@ -33,6 +33,11 @@ export declare const createInteractiveBrowserLoginPort: (driver: InteractiveBrow
33
33
  readonly message?: string;
34
34
  readonly _tag: "BrowserLoginAdapterFailure";
35
35
  }, {
36
+ readonly account?: {
37
+ readonly displayName?: string;
38
+ readonly emailHint?: string;
39
+ readonly stableAccountIdHash?: string;
40
+ };
36
41
  readonly authenticated: boolean;
37
42
  readonly session: {
38
43
  readonly cookieJar: {
@@ -52,17 +57,12 @@ export declare const createInteractiveBrowserLoginPort: (driver: InteractiveBrow
52
57
  readonly token: string;
53
58
  };
54
59
  readonly metadata: {
60
+ readonly regionId: string;
55
61
  readonly assetVersion: string;
56
62
  readonly clientRouteId: string;
57
63
  readonly pageViewId: string;
58
- readonly regionId: string;
59
64
  };
60
65
  };
61
- readonly account?: {
62
- readonly displayName?: string;
63
- readonly emailHint?: string;
64
- readonly stableAccountIdHash?: string;
65
- };
66
66
  }> | Either.Right<{
67
67
  readonly message?: string;
68
68
  readonly _tag: "BrowserLoginUserCancelled";
@@ -73,6 +73,11 @@ export declare const createInteractiveBrowserLoginPort: (driver: InteractiveBrow
73
73
  readonly message?: string;
74
74
  readonly _tag: "BrowserLoginAdapterFailure";
75
75
  }, {
76
+ readonly account?: {
77
+ readonly displayName?: string;
78
+ readonly emailHint?: string;
79
+ readonly stableAccountIdHash?: string;
80
+ };
76
81
  readonly authenticated: boolean;
77
82
  readonly session: {
78
83
  readonly cookieJar: {
@@ -92,17 +97,12 @@ export declare const createInteractiveBrowserLoginPort: (driver: InteractiveBrow
92
97
  readonly token: string;
93
98
  };
94
99
  readonly metadata: {
100
+ readonly regionId: string;
95
101
  readonly assetVersion: string;
96
102
  readonly clientRouteId: string;
97
103
  readonly pageViewId: string;
98
- readonly regionId: string;
99
104
  };
100
105
  };
101
- readonly account?: {
102
- readonly displayName?: string;
103
- readonly emailHint?: string;
104
- readonly stableAccountIdHash?: string;
105
- };
106
106
  }>>;
107
107
  };
108
108
  //# sourceMappingURL=browser-login-adapter.d.ts.map
@@ -0,0 +1,22 @@
1
+ import { Either } from "effect";
2
+ import { type NormalizedCompletedOrderItemsResult, type NormalizedOrderDetailsResult, type RawDecoratedOrderResponse, type SessionSnapshot } from "../domain/schemas/index.js";
3
+ import type { VoilaJsonResult, VoilaSdkError, VoilaTransport } from "./http-client.js";
4
+ import { type GetCompletedOrdersError } from "./order-history.js";
5
+ import type { OrderDetailsRequestError } from "./order-urls.js";
6
+ import type { CookieJarPort } from "./session-snapshot.js";
7
+ export type OrderDetailsUnavailableError = {
8
+ readonly _tag: "OrderDetailsUnavailable";
9
+ readonly message: string;
10
+ };
11
+ export type CompletedOrderItemsInputInvalidError = {
12
+ readonly _tag: "CompletedOrderItemsInputInvalid";
13
+ readonly message: string;
14
+ };
15
+ export type GetOrderDetailsError = OrderDetailsRequestError | OrderDetailsUnavailableError | VoilaSdkError;
16
+ export type GetCompletedOrderItemsError = CompletedOrderItemsInputInvalidError | GetCompletedOrdersError | GetOrderDetailsError;
17
+ export type GetOrderDetailsResult = VoilaJsonResult<NormalizedOrderDetailsResult>;
18
+ export type GetCompletedOrderItemsResult = VoilaJsonResult<NormalizedCompletedOrderItemsResult>;
19
+ export declare const normalizeOrderDetailsResponse: (response: RawDecoratedOrderResponse, orderId: string) => Either.Either<NormalizedOrderDetailsResult, OrderDetailsUnavailableError>;
20
+ export declare const getOrderDetails: (session: SessionSnapshot, input: unknown, transport: VoilaTransport, cookieJarPort?: CookieJarPort) => Promise<Either.Either<GetOrderDetailsResult, GetOrderDetailsError>>;
21
+ export declare const getCompletedOrderItems: (session: SessionSnapshot, input: unknown, transport: VoilaTransport, cookieJarPort?: CookieJarPort) => Promise<Either.Either<GetCompletedOrderItemsResult, GetCompletedOrderItemsError>>;
22
+ //# sourceMappingURL=order-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-details.d.ts","sourceRoot":"","sources":["../../../src/voila/order-details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,EAML,KAAK,mCAAmC,EACxC,KAAK,4BAA4B,EAIjC,KAAK,yBAAyB,EAM9B,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtF,OAAO,EAAsB,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,oCAAoC,GAAG;IACjD,QAAQ,CAAC,IAAI,EAAE,iCAAiC,CAAA;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,4BAA4B,GAAG,aAAa,CAAA;AAE1G,MAAM,MAAM,2BAA2B,GACnC,oCAAoC,GACpC,uBAAuB,GACvB,oBAAoB,CAAA;AAExB,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,4BAA4B,CAAC,CAAA;AACjF,MAAM,MAAM,4BAA4B,GAAG,eAAe,CAAC,mCAAmC,CAAC,CAAA;AAgJ/F,eAAO,MAAM,6BAA6B,GACxC,UAAU,yBAAyB,EACnC,SAAS,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE,4BAA4B,CAsB1E,CAAA;AA2GD,eAAO,MAAM,eAAe,GAC1B,SAAS,eAAe,EACxB,OAAO,OAAO,EACd,WAAW,cAAc,EACzB,gBAAgB,aAAa,KAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAuBpE,CAAA;AAWD,eAAO,MAAM,sBAAsB,GACjC,SAAS,eAAe,EACxB,OAAO,OAAO,EACd,WAAW,cAAc,EACzB,gBAAgB,aAAa,KAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE,2BAA2B,CAAC,CA0ElF,CAAA"}
@@ -0,0 +1,267 @@
1
+ import { Either } from "effect";
2
+ import { parseUnknown } from "../domain/parse.js";
3
+ import { CompletedOrderItemsInputSchema, RawDecoratedOrderResponseSchema } from "../domain/schemas/index.js";
4
+ import { requestVoilaJson } from "./http-client.js";
5
+ import { getCompletedOrders } from "./order-history.js";
6
+ import { makeOrderDetailsRequest } from "./order-urls.js";
7
+ const receivedKind = "received";
8
+ const substitutedKind = "substituted";
9
+ const missingKind = "missing";
10
+ const returnedKind = "returned";
11
+ const atRiskKind = "atRisk";
12
+ const decimalRadix = 10;
13
+ const centsPerUnit = 100;
14
+ const firstOrder = 0;
15
+ const inputInvalid = () => ({
16
+ _tag: "CompletedOrderItemsInputInvalid",
17
+ message: "Completed order items request input does not match the SDK schema"
18
+ });
19
+ const orderDetailsUnavailable = () => ({
20
+ _tag: "OrderDetailsUnavailable",
21
+ message: "Voila decorated order details are unavailable for the requested order"
22
+ });
23
+ const firstRecordValue = (record) => {
24
+ for (const value of Object.values(record)) {
25
+ return value;
26
+ }
27
+ return undefined;
28
+ };
29
+ const resolveProduct = (reference, products) => {
30
+ if (reference === undefined) {
31
+ return undefined;
32
+ }
33
+ return typeof reference === "string" ? products[reference] : reference;
34
+ };
35
+ const productIdFor = (item, product) => product?.productId ?? item.productId;
36
+ const quantityFor = (item) => item.quantity ?? 1;
37
+ const unitPriceFor = (item, product) => item.price ?? product?.price?.current;
38
+ const makeNormalizedItem = (item, groupKind, products, substitutionForProductId, substitutionRole) => {
39
+ const product = resolveProduct(item.product, products);
40
+ const productId = productIdFor(item, product);
41
+ const totalPrice = item.finalPrice ?? item.totalPrice;
42
+ const unitPrice = unitPriceFor(item, product);
43
+ const isInCurrentCatalog = item.isInCurrentCatalog ?? product?.isInCurrentCatalog;
44
+ const sellerId = product?.sellerId ?? product?.seller?.id;
45
+ const sellerName = product?.sellerName ?? product?.seller?.name;
46
+ return {
47
+ groupKind,
48
+ quantity: quantityFor(item),
49
+ ...(product?.brand === undefined ? {} : { brand: product.brand }),
50
+ ...(isInCurrentCatalog === undefined ? {} : { isInCurrentCatalog }),
51
+ ...(product?.name === undefined ? {} : { name: product.name }),
52
+ ...(productId === undefined ? {} : { productId }),
53
+ ...(product?.retailerProductId === undefined ? {} : { retailerProductId: product.retailerProductId }),
54
+ ...(item.sample === undefined ? {} : { sample: item.sample }),
55
+ ...(sellerId === undefined ? {} : { sellerId }),
56
+ ...(sellerName === undefined ? {} : { sellerName }),
57
+ ...(substitutionForProductId === undefined ? {} : { substitutionForProductId }),
58
+ ...(substitutionRole === undefined ? {} : { substitutionRole }),
59
+ ...(totalPrice === undefined ? {} : { totalPrice }),
60
+ ...(unitPrice === undefined ? {} : { unitPrice })
61
+ };
62
+ };
63
+ const normalizePlainGroup = (kind, items, products) => ({
64
+ items: (items ?? []).map((item) => makeNormalizedItem(item, kind, products)),
65
+ kind
66
+ });
67
+ const normalizeSubstitutionGroup = (items, products) => ({
68
+ items: (items ?? []).flatMap((item) => {
69
+ const requested = makeNormalizedItem(item, substitutedKind, products, undefined, "requested");
70
+ const substitutes = (item.substitutes ?? []).map((substitute) => makeNormalizedItem(substitute, substitutedKind, products, requested.productId, "substitute"));
71
+ return [requested, ...substitutes];
72
+ }),
73
+ kind: substitutedKind
74
+ });
75
+ const normalizeItemGroups = (order, products) => [
76
+ normalizePlainGroup(receivedKind, order.items, products),
77
+ normalizeSubstitutionGroup(order.substitutedItems, products),
78
+ normalizePlainGroup(missingKind, order.missingItems, products),
79
+ normalizePlainGroup(returnedKind, order.returnedItems, products),
80
+ normalizePlainGroup(atRiskKind, order.itemsOnCheckout, products)
81
+ ].filter((group) => group.items.length > 0);
82
+ const datesFor = (order) => order.slot?.start === undefined && order.slot?.end === undefined && order.slot?.timeZone === undefined
83
+ ? {}
84
+ : {
85
+ dates: {
86
+ ...(order.slot.start === undefined ? {} : { deliveryStartDate: order.slot.start }),
87
+ ...(order.slot.end === undefined ? {} : { deliveryEndDate: order.slot.end }),
88
+ ...(order.slot.timeZone === undefined ? {} : { timeZoneId: order.slot.timeZone })
89
+ }
90
+ };
91
+ export const normalizeOrderDetailsResponse = (response, orderId) => {
92
+ const order = response.entities.order[orderId] ?? firstRecordValue(response.entities.order);
93
+ if (order === undefined) {
94
+ return Either.left(orderDetailsUnavailable());
95
+ }
96
+ const products = response.entities.product ?? {};
97
+ const itemGroups = normalizeItemGroups(order, products);
98
+ const items = itemGroups.flatMap((group) => group.items);
99
+ return Either.right({
100
+ ...datesFor(order),
101
+ itemGroups,
102
+ items,
103
+ orderId: order.orderId,
104
+ ...(order.orderReference === undefined ? {} : { orderReference: order.orderReference }),
105
+ ...(order.prices?.total === undefined ? {} : { orderTotals: { totalPrice: order.prices.total } }),
106
+ ...(order.region?.regionId === undefined ? {} : { regionId: order.region.regionId }),
107
+ ...(order.region?.retailerRegionId === undefined ? {} : { retailerRegionId: order.region.retailerRegionId }),
108
+ ...(order.status === undefined ? {} : { status: order.status })
109
+ });
110
+ };
111
+ const parseCents = (money) => {
112
+ const match = /^([0-9]+)(?:\.([0-9]{1,2}))?$/.exec(money.amount);
113
+ const whole = match?.[1];
114
+ if (whole === undefined) {
115
+ return undefined;
116
+ }
117
+ const fractional = match?.[2] ?? "";
118
+ const centsText = fractional.length === 1 ? `${fractional}0` : fractional.padEnd(2, "0");
119
+ return (Number.parseInt(whole, decimalRadix) * centsPerUnit) + Number.parseInt(centsText, decimalRadix);
120
+ };
121
+ const formatCents = (cents) => {
122
+ const whole = Math.trunc(cents / centsPerUnit);
123
+ const fractional = `${cents % centsPerUnit}`.padStart(2, "0");
124
+ return `${whole}.${fractional}`;
125
+ };
126
+ const datePart = (value) => {
127
+ if (value === undefined || value.length < "yyyy-mm-dd".length) {
128
+ return undefined;
129
+ }
130
+ return value.slice(0, "yyyy-mm-dd".length);
131
+ };
132
+ const isInRange = (order, input) => {
133
+ const deliveredAt = datePart(order.dates.deliveryEndDate);
134
+ if (deliveredAt === undefined) {
135
+ return false;
136
+ }
137
+ if (input.fromDate !== undefined && deliveredAt < input.fromDate) {
138
+ return false;
139
+ }
140
+ return input.toDate === undefined || deliveredAt <= input.toDate;
141
+ };
142
+ const itemKeyFor = (item) => item.productId ?? item.retailerProductId ?? item.name ?? "unknown-product";
143
+ const aggregateItem = (aggregate, item, order) => {
144
+ const orderIds = new Set(aggregate?.orderIds ?? []);
145
+ orderIds.add(order.orderId);
146
+ const cents = item.totalPrice === undefined ? undefined : parseCents(item.totalPrice);
147
+ const nextSpend = aggregate?.spendCents === undefined || cents === undefined
148
+ || aggregate.spendCurrency !== item.totalPrice?.currency
149
+ ? undefined
150
+ : aggregate.spendCents + cents;
151
+ const initialSpend = aggregate === undefined && cents !== undefined && item.totalPrice !== undefined
152
+ ? cents
153
+ : nextSpend;
154
+ const brand = item.brand ?? aggregate?.brand;
155
+ const name = item.name ?? aggregate?.name;
156
+ const productId = item.productId ?? aggregate?.productId;
157
+ const retailerProductId = item.retailerProductId ?? aggregate?.retailerProductId;
158
+ const spendCurrency = item.totalPrice?.currency ?? aggregate?.spendCurrency;
159
+ const lastOrderId = aggregate?.lastOrderId ?? order.orderId;
160
+ const lastOrderedAt = aggregate?.lastOrderedAt ?? order.dates.deliveryEndDate;
161
+ return {
162
+ itemKey: itemKeyFor(item),
163
+ orderIds,
164
+ totalQuantity: (aggregate?.totalQuantity ?? 0) + item.quantity,
165
+ ...(brand === undefined ? {} : { brand }),
166
+ lastOrderId,
167
+ lastOrderedAt,
168
+ ...(name === undefined ? {} : { name }),
169
+ ...(productId === undefined ? {} : { productId }),
170
+ ...(retailerProductId === undefined ? {} : { retailerProductId }),
171
+ ...(initialSpend === undefined ? {} : { spendCents: initialSpend }),
172
+ ...(spendCurrency === undefined ? {} : { spendCurrency })
173
+ };
174
+ };
175
+ const toCompletedOrderItem = (aggregate) => ({
176
+ itemKey: aggregate.itemKey,
177
+ orderCount: aggregate.orderIds.size,
178
+ orderIds: Array.from(aggregate.orderIds),
179
+ totalQuantity: aggregate.totalQuantity,
180
+ ...(aggregate.brand === undefined ? {} : { brand: aggregate.brand }),
181
+ lastOrderId: aggregate.lastOrderId,
182
+ lastOrderedAt: aggregate.lastOrderedAt,
183
+ ...(aggregate.name === undefined ? {} : { name: aggregate.name }),
184
+ ...(aggregate.productId === undefined ? {} : { productId: aggregate.productId }),
185
+ ...(aggregate.retailerProductId === undefined ? {} : { retailerProductId: aggregate.retailerProductId }),
186
+ ...(aggregate.spendCents === undefined || aggregate.spendCurrency === undefined
187
+ ? {}
188
+ : {
189
+ totalSpend: {
190
+ amount: formatCents(aggregate.spendCents),
191
+ currency: aggregate.spendCurrency
192
+ }
193
+ })
194
+ });
195
+ export const getOrderDetails = async (session, input, transport, cookieJarPort) => {
196
+ const request = makeOrderDetailsRequest(input);
197
+ if (Either.isLeft(request)) {
198
+ return Either.left(request.left);
199
+ }
200
+ const response = await requestVoilaJson(RawDecoratedOrderResponseSchema, session, request.right, transport, cookieJarPort);
201
+ return Either.flatMap(response, (result) => Either.map(normalizeOrderDetailsResponse(result.value, request.right.orderId), (value) => ({
202
+ session: result.session,
203
+ value
204
+ })));
205
+ };
206
+ const makeOrderPageInput = (input, pageToken, remainingOrders) => ({
207
+ pageSize: Math.min(input.pageSize ?? input.maxOrders, remainingOrders),
208
+ ...(pageToken === undefined ? {} : { pageToken })
209
+ });
210
+ export const getCompletedOrderItems = async (session, input, transport, cookieJarPort) => {
211
+ const parsed = Either.mapLeft(parseUnknown(CompletedOrderItemsInputSchema, input), inputInvalid);
212
+ if (Either.isLeft(parsed)) {
213
+ return Either.left(parsed.left);
214
+ }
215
+ const matchingOrders = [];
216
+ let currentSession = session;
217
+ let ordersScanned = 0;
218
+ let pageToken = parsed.right.pageToken;
219
+ let pagination = {
220
+ hasNextPage: false
221
+ };
222
+ do {
223
+ const ordersResult = await getCompletedOrders(currentSession, makeOrderPageInput(parsed.right, pageToken, parsed.right.maxOrders - matchingOrders.length), transport, cookieJarPort);
224
+ if (Either.isLeft(ordersResult)) {
225
+ return Either.left(ordersResult.left);
226
+ }
227
+ currentSession = ordersResult.right.session;
228
+ pagination = ordersResult.right.value.pagination;
229
+ ordersScanned += ordersResult.right.value.orders.length;
230
+ for (const order of ordersResult.right.value.orders) {
231
+ if (matchingOrders.length < parsed.right.maxOrders && isInRange(order, parsed.right)) {
232
+ matchingOrders.push(order);
233
+ }
234
+ }
235
+ if (pagination.nextPageToken === pageToken) {
236
+ pageToken = undefined;
237
+ }
238
+ else {
239
+ pageToken = pagination.nextPageToken;
240
+ }
241
+ } while (matchingOrders.length < parsed.right.maxOrders && pagination.hasNextPage && pageToken !== undefined);
242
+ const aggregates = new Map();
243
+ for (const order of matchingOrders.slice(firstOrder, parsed.right.maxOrders)) {
244
+ const details = await getOrderDetails(currentSession, { orderId: order.orderId }, transport, cookieJarPort);
245
+ if (Either.isLeft(details)) {
246
+ return Either.left(details.left);
247
+ }
248
+ currentSession = details.right.session;
249
+ for (const item of details.right.value.items.filter((detailItem) => detailItem.groupKind === receivedKind)) {
250
+ const key = itemKeyFor(item);
251
+ aggregates.set(key, aggregateItem(aggregates.get(key), item, order));
252
+ }
253
+ }
254
+ const items = Array.from(aggregates.values()).map(toCompletedOrderItem)
255
+ .sort((left, right) => right.totalQuantity - left.totalQuantity || left.itemKey.localeCompare(right.itemKey));
256
+ return Either.right({
257
+ session: currentSession,
258
+ value: {
259
+ itemCount: items.length,
260
+ items,
261
+ ordersMatched: matchingOrders.length,
262
+ ordersScanned,
263
+ pagination
264
+ }
265
+ });
266
+ };
267
+ //# sourceMappingURL=order-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-details.js","sourceRoot":"","sources":["../../../src/voila/order-details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAEL,8BAA8B,EAU9B,+BAA+B,EAMhC,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAgC,MAAM,oBAAoB,CAAA;AAErF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAuCzD,MAAM,YAAY,GAAuB,UAAU,CAAA;AACnD,MAAM,eAAe,GAAuB,aAAa,CAAA;AACzD,MAAM,WAAW,GAAuB,SAAS,CAAA;AACjD,MAAM,YAAY,GAAuB,UAAU,CAAA;AACnD,MAAM,UAAU,GAAuB,QAAQ,CAAA;AAC/C,MAAM,YAAY,GAAG,EAAE,CAAA;AACvB,MAAM,YAAY,GAAG,GAAG,CAAA;AACxB,MAAM,UAAU,GAAG,CAAC,CAAA;AAEpB,MAAM,YAAY,GAAG,GAAyC,EAAE,CAAC,CAAC;IAChE,IAAI,EAAE,iCAAiC;IACvC,OAAO,EAAE,mEAAmE;CAC7E,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,GAAiC,EAAE,CAAC,CAAC;IACnE,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,uEAAuE;CACjF,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAI,MAAmC,EAAiB,EAAE;IACjF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CACrB,SAAqD,EACrD,QAA0B,EACS,EAAE;IACrC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACxE,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAE,OAA0C,EAAsB,EAAE,CAChH,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;AAEtC,MAAM,WAAW,GAAG,CAAC,IAAwB,EAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;AAE5E,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAE,OAA0C,EAAqB,EAAE,CAC/G,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE,KAAK,EAAE,OAAO,CAAA;AAEvC,MAAM,kBAAkB,GAAG,CACzB,IAAwB,EACxB,SAA6B,EAC7B,QAA0B,EAC1B,wBAAiC,EACjC,gBAA6C,EACxB,EAAE;IACvB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAA;IACrD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,OAAO,EAAE,kBAAkB,CAAA;IACjF,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,EAAE,EAAE,CAAA;IACzD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,EAAE,IAAI,CAAA;IAE/D,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC;QAC3B,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QACjE,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9D,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACrG,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7D,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QACnD,GAAG,CAAC,wBAAwB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAC;QAC/E,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC/D,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QACnD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;KAClD,CAAA;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAC1B,IAAwB,EACxB,KAAoD,EACpD,QAA0B,EACA,EAAE,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5E,IAAI;CACL,CAAC,CAAA;AAEF,MAAM,0BAA0B,GAAG,CACjC,KAAoD,EACpD,QAA0B,EACA,EAAE,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;QAC7F,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC9D,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,CAC7F,CAAA;QAED,OAAO,CAAC,SAAS,EAAE,GAAG,WAAW,CAAC,CAAA;IACpC,CAAC,CAAC;IACF,IAAI,EAAE,eAAe;CACtB,CAAC,CAAA;AAEF,MAAM,mBAAmB,GAAG,CAC1B,KAA0B,EAC1B,QAA0B,EACe,EAAE,CAC3C;IACE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC;IACxD,0BAA0B,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IAC5D,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC;IAC9D,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC;IAChE,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC;CACjE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAE7C,MAAM,QAAQ,GAAG,CAAC,KAA0B,EAAE,EAAE,CAC9C,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS;IACpG,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACA,KAAK,EAAE;YACL,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClF,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5E,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;SAClF;KACF,CAAA;AAEL,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,QAAmC,EACnC,OAAe,EAC4D,EAAE;IAC7E,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE3F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAA;IAChD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAExD,OAAO,MAAM,CAAC,KAAK,CAAC;QAClB,GAAG,QAAQ,CAAC,KAAK,CAAC;QAClB,UAAU;QACV,KAAK;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvF,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QACjG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpF,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5G,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KAChE,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,KAAY,EAAsB,EAAE;IACtD,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IAExB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACnC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAExF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;AACzG,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,GAAG,KAAK,GAAG,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAE7D,OAAO,GAAG,KAAK,IAAI,UAAU,EAAE,CAAA;AACjC,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAsB,EAAE;IACjE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,KAA+B,EAAE,KAA+B,EAAW,EAAE;IAC9F,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAEzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,IAAI,KAAK,CAAC,MAAM,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,IAAyB,EAAU,EAAE,CACvD,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,IAAI,iBAAiB,CAAA;AAE5E,MAAM,aAAa,GAAG,CACpB,SAAoC,EACpC,IAAyB,EACzB,KAA+B,EAChB,EAAE;IACjB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;IACnD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACrF,MAAM,SAAS,GAAG,SAAS,EAAE,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;WACrE,SAAS,CAAC,aAAa,KAAK,IAAI,CAAC,UAAU,EAAE,QAAQ;QAC1D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAA;IAChC,MAAM,YAAY,GAAG,SAAS,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAClG,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,KAAK,CAAA;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE,IAAI,CAAA;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,SAAS,CAAA;IACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,SAAS,EAAE,iBAAiB,CAAA;IAChF,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,IAAI,SAAS,EAAE,aAAa,CAAA;IAC3E,MAAM,WAAW,GAAG,SAAS,EAAE,WAAW,IAAI,KAAK,CAAC,OAAO,CAAA;IAC3D,MAAM,aAAa,GAAG,SAAS,EAAE,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,CAAA;IAE7E,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;QACzB,QAAQ;QACR,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;QAC9D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,WAAW;QACX,aAAa;QACb,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACjE,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;QACnE,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;KAC1D,CAAA;AACH,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,CAAC,SAAwB,EAAgC,EAAE,CAAC,CAAC;IACxF,OAAO,EAAE,SAAS,CAAC,OAAO;IAC1B,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI;IACnC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACxC,aAAa,EAAE,SAAS,CAAC,aAAa;IACtC,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;IACpE,WAAW,EAAE,SAAS,CAAC,WAAW;IAClC,aAAa,EAAE,SAAS,CAAC,aAAa;IACtC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IACjE,GAAG,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;IAChF,GAAG,CAAC,SAAS,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,EAAE,CAAC;IACxG,GAAG,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS,IAAI,SAAS,CAAC,aAAa,KAAK,SAAS;QAC7E,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACA,UAAU,EAAE;gBACV,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;gBACzC,QAAQ,EAAE,SAAS,CAAC,aAAa;aAClC;SACF,CAAC;CACL,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,OAAwB,EACxB,KAAc,EACd,SAAyB,EACzB,aAA6B,EACwC,EAAE;IACvE,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAE9C,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,+BAA+B,EAC/B,OAAO,EACP,OAAO,CAAC,KAAK,EACb,SAAS,EACT,aAAa,CACd,CAAA;IAED,OAAO,MAAM,CAAC,OAAO,CACnB,QAAQ,EACR,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzF,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK;KACN,CAAC,CAAC,CACN,CAAA;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CACzB,KAA+B,EAC/B,SAA6B,EAC7B,eAAuB,EACvB,EAAE,CAAC,CAAC;IACJ,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC;IACtE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;CAClD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,OAAwB,EACxB,KAAc,EACd,SAAyB,EACzB,aAA6B,EACsD,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,8BAA8B,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,CAAA;IAEhG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,cAAc,GAAoC,EAAE,CAAA;IAC1D,IAAI,cAAc,GAAG,OAAO,CAAA;IAC5B,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAA;IACtC,IAAI,UAAU,GAAsD;QAClE,WAAW,EAAE,KAAK;KACnB,CAAA;IAED,GAAG,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,cAAc,EACd,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,EAC3F,SAAS,EACT,aAAa,CACd,CAAA;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;QAED,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAA;QAC3C,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAA;QAChD,aAAa,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;QAEvD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpD,IAAI,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrF,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC3C,SAAS,GAAG,SAAS,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,UAAU,CAAC,aAAa,CAAA;QACtC,CAAC;IACH,CAAC,QAAQ,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC,WAAW,IAAI,SAAS,KAAK,SAAS,EAAC;IAE7G,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAA;IAEnD,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;QAE3G,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QAED,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QAEtC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,KAAK,YAAY,CAAC,EAAE,CAAC;YAC3G,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAC5B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;SACpE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IAE/G,OAAO,MAAM,CAAC,KAAK,CAAC;QAClB,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE;YACL,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,KAAK;YACL,aAAa,EAAE,cAAc,CAAC,MAAM;YACpC,aAAa;YACb,UAAU;SACX;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { Either } from "effect";
2
+ import { type NormalizedCompletedOrdersResult, type RawCompletedOrdersConnection, type SessionSnapshot } from "../domain/schemas/index.js";
3
+ import type { VoilaJsonResult, VoilaSdkError, VoilaTransport } from "./http-client.js";
4
+ import type { CompletedOrdersRequestError } from "./order-urls.js";
5
+ import type { CookieJarPort } from "./session-snapshot.js";
6
+ export type CompletedOrdersGraphqlError = {
7
+ readonly _tag: "CompletedOrdersGraphqlError";
8
+ readonly message: string;
9
+ };
10
+ export type CompletedOrdersUnavailableError = {
11
+ readonly _tag: "CompletedOrdersUnavailable";
12
+ readonly message: string;
13
+ };
14
+ export type GetCompletedOrdersError = CompletedOrdersGraphqlError | CompletedOrdersRequestError | CompletedOrdersUnavailableError | VoilaSdkError;
15
+ export type GetCompletedOrdersResult = VoilaJsonResult<NormalizedCompletedOrdersResult>;
16
+ export declare const normalizeCompletedOrdersResponse: (connection: RawCompletedOrdersConnection) => NormalizedCompletedOrdersResult;
17
+ export declare const getCompletedOrders: (session: SessionSnapshot, input: unknown, transport: VoilaTransport, cookieJarPort?: CookieJarPort) => Promise<Either.Either<GetCompletedOrdersResult, GetCompletedOrdersError>>;
18
+ //# sourceMappingURL=order-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-history.d.ts","sourceRoot":"","sources":["../../../src/voila/order-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAEL,KAAK,+BAA+B,EAEpC,KAAK,4BAA4B,EAIjC,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAA;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAA;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAC/B,2BAA2B,GAC3B,2BAA2B,GAC3B,+BAA+B,GAC/B,aAAa,CAAA;AAEjB,MAAM,MAAM,wBAAwB,GAAG,eAAe,CAAC,+BAA+B,CAAC,CAAA;AA2DvF,eAAO,MAAM,gCAAgC,GAC3C,YAAY,4BAA4B,KACvC,+BAeF,CAAA;AA8BD,eAAO,MAAM,kBAAkB,GAC7B,SAAS,eAAe,EACxB,OAAO,OAAO,EACd,WAAW,cAAc,EACzB,gBAAgB,aAAa,KAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAuB1E,CAAA"}