@thefittingroom/sdk 2.0.5 → 2.0.7

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 (27) hide show
  1. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/common.d.ts +1 -0
  2. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/common.js +3 -0
  3. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/common.js.map +1 -0
  4. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/enums.d.ts +219 -0
  5. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/enums.js +211 -0
  6. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/enums.js.map +1 -0
  7. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/requests.d.ts +193 -71
  8. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/responses.d.ts +346 -54
  9. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/responses.js +1 -0
  10. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/responses.js.map +1 -1
  11. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/shop.d.ts +2 -2
  12. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/esm/api/shop.js.map +1 -1
  13. package/.rollup.cache/home/runner/work/shop-sdk/shop-sdk/dist/tsconfig.tsbuildinfo +1 -1
  14. package/dist/esm/api/common.d.ts +1 -0
  15. package/dist/esm/api/enums.d.ts +219 -0
  16. package/dist/esm/api/requests.d.ts +193 -71
  17. package/dist/esm/api/responses.d.ts +346 -54
  18. package/dist/esm/api/shop.d.ts +2 -2
  19. package/dist/esm/index.js +21 -19
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/index.min.js +2 -2
  22. package/dist/esm/index.min.js.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/eslint.config.js +39 -0
  25. package/go.mod +7 -0
  26. package/package.json +12 -3
  27. package/tygo.yaml +25 -0
@@ -1,23 +1,35 @@
1
- import { Fit } from '../types/measurement';
2
- export interface BodyMeasurement {
3
- id: number;
4
- position: number;
5
- value: number;
6
- }
7
1
  export interface Avatar {
8
2
  id: number;
9
3
  user_id?: string;
10
4
  brand_id?: number;
11
5
  recorded_video_storage_path?: string;
6
+ avatar_storage_path?: string;
7
+ sdf_storage_path?: string;
12
8
  height_cm?: number;
13
9
  weight_kg?: number;
14
10
  gender?: string;
15
11
  skin_tone_hex?: string;
16
12
  skin_tone_fac?: number;
17
- body_measurements?: BodyMeasurement[];
13
+ body_measurements?: {
14
+ [key: string]: number;
15
+ };
16
+ }
17
+ export interface BaseBody {
18
+ id: number;
19
+ label: string;
20
+ measurement_unit: string;
21
+ base_body_measurements: BaseBodyMeasurement[];
22
+ }
23
+ export interface BaseBodyMeasurement {
24
+ id: number;
25
+ measurement_location: string;
26
+ lay_flat: boolean;
27
+ value: number;
18
28
  }
19
29
  export interface Brand {
20
30
  id: number;
31
+ phone_number: string;
32
+ measurement_unit: any;
21
33
  name: string;
22
34
  business_number: string;
23
35
  logo_storage_path: string;
@@ -25,24 +37,20 @@ export interface Brand {
25
37
  about: string;
26
38
  why_tfr: string;
27
39
  specialty: string;
28
- phone_number: string;
29
40
  }
30
- export interface Collection {
41
+ export interface Colorway {
31
42
  id: number;
32
- brand_id: number;
33
- external_id: string;
34
43
  name: string;
35
- description: string;
44
+ properties_path: string;
36
45
  }
37
46
  export interface ColorwaySizeAsset {
38
47
  id: number;
39
48
  sku: string;
40
49
  size_id: number;
41
50
  colorway_id: number;
51
+ colorway_name?: string;
42
52
  folder_storage_path: string;
43
- obj_file_name: string;
44
- mtl_file_name: string;
45
- texture_folder_name: string;
53
+ glb_file_name: string;
46
54
  }
47
55
  export interface ID {
48
56
  id: number;
@@ -50,81 +58,365 @@ export interface ID {
50
58
  export interface UserID {
51
59
  user_id: string;
52
60
  }
53
- export interface UpdatedAt {
54
- updated_at: any;
55
- }
56
61
  export interface IsPublished {
57
62
  is_published: boolean;
58
63
  }
64
+ export interface Cycle {
65
+ id: number;
66
+ division_id: number;
67
+ type: string;
68
+ brand_id: number;
69
+ season?: string;
70
+ quarter?: number;
71
+ quarter_drop?: number;
72
+ start_date: any;
73
+ end_date: any;
74
+ name: string;
75
+ }
76
+ export interface Division {
77
+ id: number;
78
+ brand_id: number;
79
+ name: string;
80
+ created_at: any;
81
+ }
82
+ export interface GarmentCategory {
83
+ id: number;
84
+ name: string;
85
+ label: string;
86
+ }
87
+ export interface GarmentMeasurement {
88
+ id: number;
89
+ measurement_location: string;
90
+ lay_flat: boolean;
91
+ value: number;
92
+ stretch: number;
93
+ }
59
94
  export interface Invitation {
95
+ id: number;
96
+ brand_id: number;
60
97
  email: string;
61
- first_name: string;
62
- last_name: string;
98
+ full_name: string;
63
99
  expires_at?: any;
100
+ created_at: any;
101
+ updated_at?: any;
102
+ }
103
+ export interface Joint {
104
+ name: string;
105
+ side: string;
106
+ x: number;
107
+ y: number;
108
+ z: number;
109
+ }
110
+ export interface MeasurementLocation {
111
+ name: string;
112
+ brand_id: number;
113
+ avatar_measurement_location: string;
114
+ garment_label: string;
115
+ avatar_label: string;
116
+ is_vertical: boolean;
117
+ can_layflat: boolean;
118
+ is_required_base_body_measurement: boolean;
119
+ sort_order: number;
120
+ group?: MeasurementLocationGroup;
121
+ is_placement_measurement: boolean;
122
+ }
123
+ export interface MeasurementLocationGroup {
124
+ name: string;
125
+ label: string;
64
126
  }
65
- export interface SizeRecommendationIDs {
66
- recommended_size_id: number;
67
- available_size_ids: number[];
127
+ export interface ShopifyStore {
128
+ id: number;
129
+ brand_id: number;
130
+ store_name: string;
131
+ store_url: string;
132
+ return_window_days: number;
133
+ transit_window_days: number;
134
+ window_limit: number;
135
+ query_window_boundary: any;
136
+ is_enabled: boolean;
137
+ }
138
+ export interface ShopifyStoreAnalyticsSummary {
139
+ shopify_store_id: number;
140
+ order_count: number;
141
+ size_rec_count: number;
142
+ size_rec_session_count: number;
143
+ size_rec_user_count: number;
144
+ vto_count: number;
145
+ vto_session_count: number;
146
+ vto_user_count: number;
147
+ min_window_start: any;
148
+ max_window_end: any;
149
+ total_sale_count: number;
150
+ total_size_rec_sale_count: number;
151
+ total_vto_sale_count: number;
152
+ total_return_count: number;
153
+ total_size_rec_return_count: number;
154
+ total_vto_return_count: number;
155
+ total_skip_count: number;
156
+ seq_two_count: number;
157
+ size_rec_seq_two_count: number;
158
+ vto_seq_two_count: number;
159
+ seq_three_or_more_count: number;
160
+ size_rec_seq_three_or_more_count: number;
161
+ vto_seq_three_or_more_count: number;
162
+ seq_sale_two_count: number;
163
+ size_rec_seq_sale_two_count: number;
164
+ vto_seq_sale_two_count: number;
165
+ seq_sale_three_or_more_count: number;
166
+ size_rec_seq_sale_three_or_more_count: number;
167
+ vto_seq_sale_three_or_more_count: number;
168
+ shopify_store_analytics: ShopifyStoreAnalytics[];
169
+ }
170
+ export interface ShopifyStoreAnalytics {
171
+ window_start: any;
172
+ window_end: any;
173
+ order_count: number;
174
+ size_rec_count: number;
175
+ size_rec_session_count: number;
176
+ size_rec_user_count: number;
177
+ vto_count: number;
178
+ vto_session_count: number;
179
+ vto_user_count: number;
180
+ skip_count: number;
181
+ sale_count: number;
182
+ size_rec_sale_count: number;
183
+ vto_sale_count: number;
184
+ return_count: number;
185
+ size_rec_return_count: number;
186
+ vto_return_count: number;
187
+ /**
188
+ * total sequential variants purchased
189
+ */
190
+ seq_two_count: number;
191
+ size_rec_seq_two_count: number;
192
+ vto_seq_two_count: number;
193
+ seq_three_or_more_count: number;
194
+ size_rec_seq_three_or_more_count: number;
195
+ vto_seq_three_or_more_count: number;
196
+ /**
197
+ * unreturned/refunded sequential variants purchased
198
+ */
199
+ seq_sale_two_count: number;
200
+ size_rec_seq_sale_two_count: number;
201
+ vto_seq_sale_two_count: number;
202
+ seq_sale_three_or_more_count: number;
203
+ size_rec_seq_sale_three_or_more_count: number;
204
+ vto_seq_sale_three_or_more_count: number;
205
+ }
206
+ export interface Size {
207
+ id: number;
208
+ label: string;
209
+ reference_size_value_id: number;
210
+ reference_size_value?: SizeValue;
211
+ size_value_id: number;
212
+ size_value?: SizeValue;
213
+ vertical_size_value_id: number;
214
+ vertical_size_value?: SizeValue;
215
+ base_body_id: number;
216
+ base_body?: BaseBody;
217
+ garment_measurements: GarmentMeasurement[];
218
+ colorway_size_assets: ColorwaySizeAsset[];
219
+ }
220
+ export interface Sizes {
221
+ sizes: Size[];
222
+ }
223
+ export interface SizeRecommendation {
224
+ recommended_size: Size;
225
+ available_sizes: Size[];
68
226
  }
69
- export interface MeasurementLocationFits {
227
+ export interface MeasurementLocationFit {
228
+ sort_order: number;
70
229
  measurement_location: string;
71
- fit: Fit;
72
- fit_label?: string;
230
+ group: string;
231
+ group_label: string;
232
+ fit: any;
233
+ fit_label: string;
73
234
  }
74
- export interface Fits {
235
+ export interface SizeFit {
75
236
  size_id: number;
76
- measurement_location_fits: MeasurementLocationFits[];
237
+ measurement_location_fits: MeasurementLocationFit[];
77
238
  }
78
- export interface SizeRecommendation {
239
+ export interface SizeFitRecommendation {
240
+ fit_classification: any;
79
241
  recommended_size: Size;
80
242
  available_sizes: Size[];
81
- fits: Fits[];
243
+ fits: SizeFit[];
244
+ data?: DebugSizeRecommendation;
82
245
  }
83
- export interface GarmentMeasurement {
84
- id: number;
246
+ export interface HorizontalSizeResponse {
247
+ size_index: number;
248
+ size_id: number;
249
+ value: number;
250
+ reference_size_index: number;
251
+ reference_size_id: number;
252
+ reference_size_value: number;
253
+ reference_size_stretch_value: number;
254
+ }
255
+ export interface DebugMeasurementValue {
85
256
  measurement_location: string;
86
257
  value: number;
87
- tolerance: number;
88
258
  }
89
- export interface Size {
259
+ export interface DebugMeasurementGroup {
260
+ measurement_location: string;
261
+ debug_size_garment_values: DebugSizeGarmentValue[];
262
+ }
263
+ export interface DebugBaseBodyMeasurementGroup {
264
+ measurement_location: string;
265
+ debug_base_body_measurements: DebugBaseBodyMeasurement[];
266
+ }
267
+ export interface DebugSize {
268
+ size_id: number;
269
+ size_label: string;
270
+ size_value_id: number;
271
+ size_value_label: string;
272
+ vertical_size_value_id: number;
273
+ vertical_size_value_label: string;
274
+ debug_size_garment_values: DebugSizeGarmentValue[];
275
+ }
276
+ export interface DebugSizeGarmentValue {
277
+ measurement_location: string;
278
+ size_id: number;
279
+ size_label: string;
280
+ size_value_id: number;
281
+ vertical_size_value_id: number;
282
+ value: number;
283
+ stretch: number;
284
+ }
285
+ export interface DebugMeasurementLocationAlias {
286
+ measurement_location: string;
287
+ measurement_location_alias: string;
288
+ }
289
+ export interface DebugBaseBodyMeasurement {
290
+ measurement_location: string;
291
+ size_id: number;
292
+ size_value_id: number;
293
+ vertical_size_value_id: number;
294
+ base_body_id: number;
295
+ size_label: string;
296
+ value: number;
297
+ }
298
+ export interface DebugSizeSystem {
299
+ name: string;
300
+ size_values: SizeValue[];
301
+ }
302
+ export interface DebugSizeRecommendation {
303
+ debug_id: string;
304
+ brand_id: number;
305
+ style_id: number;
306
+ style_name: string;
307
+ avatar_id: number;
308
+ user_id: string;
309
+ style_category_name: any;
310
+ garment_category_name: any;
311
+ gender: any;
312
+ should_zero_base_body: boolean;
313
+ size_system: DebugSizeSystem;
314
+ vertical_size_system: DebugSizeSystem;
315
+ style_category_measurement_locations: string[];
316
+ debug_measurement_location_aliases: DebugMeasurementLocationAlias[];
317
+ filtered_horizontal_measurement_locations: string[];
318
+ filtered_vertical_measurement_locations: string[];
319
+ debug_avatar_measurements: DebugMeasurementValue[];
320
+ sizes: DebugSize[];
321
+ debug_style_base_body_adjustments: DebugMeasurementValue[];
322
+ debug_deformed_avatar_measurements: DebugMeasurementValue[];
323
+ debug_filtered_measurement_groups: string[];
324
+ invalid_horizontal_measurement_locations: string[];
325
+ invalid_vertical_measurement_locations: string[];
326
+ debug_initial_reference_sizes: DebugMeasurementGroup[];
327
+ debug_base_body_measurements_before_consensus: DebugBaseBodyMeasurementGroup[];
328
+ debug_horizontal_location_to_group_best_fit_for_reference_size: DebugSizeGarmentValue[];
329
+ debug_consensus_reference_size: DebugSize;
330
+ flared_exception: boolean;
331
+ relaxed_exception: boolean;
332
+ oversized_exception: boolean;
333
+ debug_base_body_measurements_after_consensus: DebugBaseBodyMeasurement[];
334
+ fit_classification: any;
335
+ exception_filtered_measurement_locations: string[];
336
+ debug_horizontal_location_to_group_best_fit_size_after_filter_exceptions: DebugSizeGarmentValue[];
337
+ debug_horizontal_location_to_best_fit_size_consensus: DebugSizeGarmentValue[];
338
+ debug_vertical_location_to_group_best_fit_size: DebugSizeGarmentValue[];
339
+ debug_vertical_location_to_best_fit_size_consensus: DebugSizeGarmentValue[];
340
+ debug_recommended_size: DebugSize;
341
+ debug_available_sizes: DebugSize[];
342
+ size_fits: SizeFit[];
343
+ }
344
+ export interface SizeSystem {
90
345
  id: number;
91
- size_value: SizeValue;
92
- label?: string;
93
- garment_measurements?: GarmentMeasurement[];
346
+ brand_id: number;
347
+ name: string;
348
+ is_vertical: boolean;
349
+ is_horizontal: boolean;
350
+ size_values: SizeValue[];
94
351
  }
95
352
  export interface SizeValue {
96
353
  id: any;
97
- size: string;
98
- size_system: string;
99
- }
100
- export interface GarmentCategory {
101
- id: number;
102
- garment_category: string;
103
- garment_subcategory: string;
354
+ name: string;
104
355
  }
105
- export interface Colorway {
356
+ export interface SizingChart {
106
357
  id: number;
358
+ brand_id: number;
359
+ measurement_unit: string;
107
360
  name: string;
361
+ start_size_value_id: number;
362
+ size_system: SizeSystem;
363
+ size_value_ids?: number[];
364
+ start_vertical_size_value_id?: number;
365
+ vertical_size_system?: SizeSystem;
366
+ vertical_size_value_ids?: number[];
108
367
  }
109
368
  export interface Style {
110
369
  id: number;
111
- brand_id?: number;
370
+ brand_id: number;
112
371
  brand_style_id: string;
113
- collection_id: number;
114
- name?: string;
115
- description?: string;
116
- sale_type?: string;
117
- garment_category?: GarmentCategory;
372
+ cycle_id: number;
373
+ name: string;
374
+ description: string;
375
+ sale_type: string;
376
+ style_garment_category: StyleGarmentCategory;
377
+ size_system: SizeSystem;
378
+ vertical_size_system?: SizeSystem;
118
379
  sizes: Size[];
119
380
  colorways: Colorway[];
381
+ colorway_size_assets: ColorwaySizeAsset[];
382
+ measurement_unit: string;
120
383
  is_published: boolean;
384
+ placement_measurement_location: string;
385
+ placement_offset_y: number;
386
+ is_vto: boolean;
387
+ created_at: any;
388
+ updated_at?: any;
389
+ }
390
+ export interface StyleBaseBodyAdjustments {
391
+ id: number;
392
+ adjustments: StyleBaseBodyAdjustment[];
393
+ }
394
+ export interface StyleBaseBodyAdjustment {
395
+ measurement_location: string;
396
+ value: number;
397
+ }
398
+ export interface StyleCategory {
399
+ id: number;
400
+ brand_id: number;
401
+ name: string;
402
+ label: string;
403
+ measurement_locations_female: string[];
404
+ measurement_locations_male: string[];
405
+ }
406
+ export interface StyleGarmentCategory {
407
+ id: number;
408
+ brand_id: number;
409
+ style_category_name: any;
410
+ garment_category_name: any;
411
+ style_category?: StyleCategory;
412
+ garment_category?: GarmentCategory;
121
413
  }
122
414
  export interface User {
123
415
  id: string;
124
416
  brand_id: number;
125
- first_name: string;
126
- last_name: string;
417
+ full_name: string;
418
+ is_gte_18: boolean;
419
+ is_tos_accepted: boolean;
127
420
  email: string;
128
- date_of_birth: any;
129
421
  job: string;
130
422
  }
@@ -1,6 +1,6 @@
1
1
  import { Firebase } from '../firebase/firebase';
2
2
  import * as types from '../types';
3
- import { SizeRecommendation } from './responses';
3
+ import { SizeFitRecommendation } from './responses';
4
4
  export declare class TfrShop {
5
5
  private readonly brandId;
6
6
  private readonly firebase;
@@ -9,7 +9,7 @@ export declare class TfrShop {
9
9
  get user(): import("..").FirebaseUser;
10
10
  get isLoggedIn(): boolean;
11
11
  onInit(): Promise<boolean>;
12
- getRecommendedSizes(styleId: string): Promise<SizeRecommendation>;
12
+ getRecommendedSizes(styleId: string): Promise<SizeFitRecommendation>;
13
13
  submitTelephoneNumber(tel: string): Promise<void>;
14
14
  getColorwaySizeAssetFromSku(colorwaySizeAssetSku: string): Promise<types.FirestoreColorwaySizeAsset>;
15
15
  getColorwaySizeAssetFromBrandStyleId(brandStyleId: number): Promise<types.FirestoreColorwaySizeAsset>;
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * thefittingroom v2.0.5 (2025-08-01T17:00:28.314Z)
2
+ * thefittingroom v2.0.7 (2025-08-01T21:17:06.966Z)
3
3
  * Copyright 2022-present, TheFittingRoom, Inc. All rights reserved.
4
4
  */
5
5
  // Code generated by tygo. DO NOT EDIT.
@@ -8,6 +8,8 @@ var requests = /*#__PURE__*/Object.freeze({
8
8
  __proto__: null
9
9
  });
10
10
 
11
+ // Code generated by tygo. DO NOT EDIT.
12
+
11
13
  var responses = /*#__PURE__*/Object.freeze({
12
14
  __proto__: null
13
15
  });
@@ -17734,36 +17736,36 @@ class Config {
17734
17736
  }
17735
17737
  const devKeys = {
17736
17738
  firebase: {
17737
- apiKey: undefined,
17738
- authDomain: undefined,
17739
- projectId: undefined,
17740
- storageBucket: undefined,
17741
- messagingSenderId: undefined,
17742
- appId: undefined,
17739
+ apiKey: "AIzaSyDfjBWzpmzb-mhGN8VSURxzLg6nkzmKUD8",
17740
+ authDomain: "fittingroom-dev-5d248.firebaseapp.com",
17741
+ projectId: "fittingroom-dev-5d248",
17742
+ storageBucket: "fittingroom-dev-5d248.appspot.com",
17743
+ messagingSenderId: "2298664147",
17744
+ appId: "1:2298664147:web:340bda75cd5d25f3997026",
17743
17745
  },
17744
17746
  api: {
17745
- url: undefined,
17747
+ url: "https://tfr.dev.thefittingroom.xyz",
17746
17748
  },
17747
17749
  config: {
17748
- avatarTimeout: Number(undefined),
17749
- vtoTimeout: Number(undefined),
17750
+ avatarTimeout: Number("120000"),
17751
+ vtoTimeout: Number("120000"),
17750
17752
  },
17751
17753
  };
17752
17754
  const prodKeys = {
17753
17755
  firebase: {
17754
- apiKey: undefined,
17755
- authDomain: undefined,
17756
- projectId: undefined,
17757
- storageBucket: undefined,
17758
- messagingSenderId: undefined,
17759
- appId: undefined,
17756
+ apiKey: "AIzaSyA3kQ6w1vkA9l9lgY0nNACVPXe-QmP5T1Y",
17757
+ authDomain: "fittingroom-prod.firebaseapp.com",
17758
+ projectId: "fittingroom-prod",
17759
+ storageBucket: "fittingroom-prod.appspot.com",
17760
+ messagingSenderId: "965656825574",
17761
+ appId: "1:965656825574:web:933493cddc73213bd43527",
17760
17762
  },
17761
17763
  api: {
17762
- url: undefined,
17764
+ url: "https://tfr.p.thefittingroom.xyz",
17763
17765
  },
17764
17766
  config: {
17765
- avatarTimeout: Number(undefined),
17766
- vtoTimeout: Number(undefined),
17767
+ avatarTimeout: Number("120000"),
17768
+ vtoTimeout: Number("120000"),
17767
17769
  },
17768
17770
  };
17769
17771