@faststore/core 4.0.0 → 4.0.1-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
1
 
2
- > @faststore/core@4.0.0-dev.4 generate /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.0.1-dev.0 generate /home/runner/work/faststore/faststore/packages/core
3
3
  > pnpm run gen-types && pnpm run cache-graphql
4
4
 
5
5
 
6
- > @faststore/core@4.0.0-dev.4 gen-types /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@4.0.1-dev.0 gen-types /home/runner/work/faststore/faststore/packages/core
7
7
  > node ../cli/bin/run generate-types .
8
8
 
9
9
  [STARTED] Parse Configuration
@@ -19,7 +19,7 @@
19
19
  [COMPLETED] Generate to /home/runner/work/faststore/faststore/packages/core/@generated/
20
20
  [COMPLETED] Generate outputs
21
21
 
22
- > @faststore/core@4.0.0-dev.4 cache-graphql /home/runner/work/faststore/faststore/packages/core
22
+ > @faststore/core@4.0.1-dev.0 cache-graphql /home/runner/work/faststore/faststore/packages/core
23
23
  > node ../cli/bin/run cache-graphql --config=./discovery.config.default.js --queries=./@generated/persisted-documents.json
24
24
 
25
25
  [Info] - Config file location: /home/runner/work/faststore/faststore/packages/core/discovery.config.default.js
@@ -1,13 +1,13 @@
1
1
 
2
- > @faststore/core@4.0.0-dev.4 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.0.1-dev.0 test /home/runner/work/faststore/faststore/packages/core
3
3
  > vitest run
4
4
 
5
5
 
6
6
   RUN  v4.0.7 /home/runner/work/faststore/faststore/packages/core
7
7
 
8
- ✓  node  test/utils/match-url.test.ts (10 tests) 53ms
9
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 87ms
10
- ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 27ms
8
+ ✓  node  test/utils/match-url.test.ts (10 tests) 37ms
9
+ ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 82ms
10
+ ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 29ms
11
11
  stderr | test/sdk/localization/store-url.browser.test.ts
12
12
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
13
13
  at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:119:27)
@@ -15,7 +15,6 @@
15
15
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:342:23)
16
16
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
17
17
 
18
- ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 78ms
19
18
  stderr | test/sdk/localization/store-url.browser.test.ts
20
19
  Error in optimistic validation: ReferenceError: Cannot access '__vite_ssr_import_4__' before initialization
21
20
  at getSettings (/home/runner/work/faststore/faststore/packages/core/src/sdk/localization/useLocalizationConfig.tsx:126:45)
@@ -24,25 +23,25 @@
24
23
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:342:23)
25
24
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
26
25
 
27
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 16ms
28
- ✓  node  test/sdk/localization/useBindingSelector.test.tsx (12 tests) 19ms
29
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 177ms
30
- ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 21ms
31
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 105ms
32
- ✓  node  test/server/cms/global.test.ts (3 tests) 20ms
33
- ✓  node  test/server/content/service.test.ts (5 tests) 17ms
34
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 20ms
35
- ✓  node  test/sdk/localization/store-url.test.ts (1 test) 10ms
36
- ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 24ms
37
- ✓  node  test/pages/api/preview.test.ts (2 tests) 39ms
26
+ ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 45ms
27
+ ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 12ms
28
+ ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 145ms
29
+ ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 19ms
30
+ ✓  node  test/sdk/localization/useBindingSelector.test.tsx (12 tests) 23ms
31
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 72ms
32
+ ✓  node  test/server/cms/global.test.ts (3 tests) 24ms
33
+ ✓  node  test/server/content/service.test.ts (5 tests) 7ms
34
+ ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 34ms
35
+ ✓  node  test/sdk/localization/store-url.test.ts (1 test) 16ms
36
+ ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 14ms
37
+ ✓  node  test/pages/api/preview.test.ts (2 tests) 18ms
38
38
  ✓  node  test/server/cms/index.test.ts (2 tests) 12ms
39
- ✓  node  test/server/index.test.ts (7 tests) 1402ms
40
- ✓ should return a valid merged GraphQL schema  346ms
41
- ✓ should exist with its plugins  388ms
42
- ✓ should handle options and execute  648ms
39
+ ✓  node  test/server/index.test.ts (7 tests) 1205ms
40
+ ✓ should return a valid merged GraphQL schema  556ms
41
+ ✓ should handle options and execute  326ms
43
42
 
44
43
   Test Files  17 passed (17)
45
44
   Tests  203 passed (203)
46
-  Start at  16:42:02
47
-  Duration  13.57s (transform 6.04s, setup 0ms, collect 17.12s, tests 2.13s, environment 8.05s, prepare 765ms)
45
+  Start at  21:31:36
46
+  Duration  13.22s (transform 5.15s, setup 0ms, collect 15.16s, tests 1.79s, environment 7.75s, prepare 789ms)
48
47
 
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.0.1-dev.1](https://github.com/vtex/faststore/compare/v4.0.1-dev.0...v4.0.1-dev.1) (2026-05-07)
7
+
8
+ ### Bug Fixes
9
+
10
+ - updates schemas vtex.faststore ([#3304](https://github.com/vtex/faststore/issues/3304)) ([490175f](https://github.com/vtex/faststore/commit/490175ff4cc06bf23f7957bbd1f9d002baa13e43))
11
+
12
+ ## [4.0.1-dev.0](https://github.com/vtex/faststore/compare/v4.0.0...v4.0.1-dev.0) (2026-05-07)
13
+
14
+ **Note:** Version bump only for package @faststore/core
15
+
6
16
  # [4.0.0](https://github.com/vtex/faststore/compare/v3.99.0...v4.0.0) (2026-05-07)
7
17
 
8
18
  ### Features
@@ -105,6 +105,35 @@
105
105
  "type": "boolean",
106
106
  "default": false
107
107
  },
108
+ "attachmentButton": {
109
+ "title": "Attachment Button",
110
+ "type": "object",
111
+ "properties": {
112
+ "icon": {
113
+ "title": "Icon",
114
+ "type": "object",
115
+ "properties": {
116
+ "icon": {
117
+ "title": "Icon",
118
+ "type": "string",
119
+ "enumNames": ["Paperclip"],
120
+ "enum": ["Paperclip"],
121
+ "default": "Paperclip"
122
+ },
123
+ "alt": {
124
+ "title": "Alternative Label",
125
+ "type": "string",
126
+ "default": "Attach File"
127
+ }
128
+ }
129
+ },
130
+ "ariaLabel": {
131
+ "title": "Aria Label",
132
+ "type": "string",
133
+ "default": "Attach File"
134
+ }
135
+ }
136
+ },
108
137
  "skuMatrix": {
109
138
  "title": "SKUMatrix Configuration",
110
139
  "type": "object",
@@ -200,6 +229,448 @@
200
229
  "title": "Out of Stock Label",
201
230
  "type": "string",
202
231
  "default": "Out of stock"
232
+ },
233
+ "drawer": {
234
+ "title": "Quick Order Drawer",
235
+ "type": "object",
236
+ "properties": {
237
+ "defaultTitle": {
238
+ "title": "Default drawer title",
239
+ "type": "string",
240
+ "default": "Quick Order"
241
+ },
242
+ "columns": {
243
+ "title": "Drawer table columns",
244
+ "type": "object",
245
+ "properties": {
246
+ "name": {
247
+ "title": "Product name column label",
248
+ "type": "string",
249
+ "default": "Product Name"
250
+ },
251
+ "availabilityLabel": {
252
+ "title": "Availability column label",
253
+ "type": "string",
254
+ "default": "Availability"
255
+ },
256
+ "price": {
257
+ "title": "Price column label",
258
+ "type": "string",
259
+ "default": "Price (tax included)"
260
+ },
261
+ "quantity": {
262
+ "title": "Quantity column label",
263
+ "type": "string",
264
+ "default": "Quantity"
265
+ }
266
+ }
267
+ },
268
+ "messages": {
269
+ "title": "Drawer messages",
270
+ "type": "object",
271
+ "properties": {
272
+ "alertAriaLabel": {
273
+ "title": "Alert aria-label",
274
+ "type": "string",
275
+ "default": "Product availability warning"
276
+ },
277
+ "tableAriaLabel": {
278
+ "title": "Table aria-label",
279
+ "type": "string",
280
+ "default": "Quick order products list"
281
+ },
282
+ "quantityUpdatedTooltip": {
283
+ "title": "Quantity updated tooltip text",
284
+ "type": "string",
285
+ "default": "Quantity updated to match our inventory"
286
+ },
287
+ "quantityUpdatedAriaLabel": {
288
+ "title": "Quantity updated aria-label",
289
+ "type": "string",
290
+ "default": "Quantity adjusted to match available inventory"
291
+ },
292
+ "outOfStockLabel": {
293
+ "title": "Out of stock badge label",
294
+ "type": "string",
295
+ "default": "Out of stock"
296
+ },
297
+ "availableLabel": {
298
+ "title": "Available badge label",
299
+ "type": "string",
300
+ "default": "Available"
301
+ },
302
+ "selectQuantityAriaLabel": {
303
+ "title": "Select quantity aria-label ({productName} will be replaced)",
304
+ "type": "string",
305
+ "default": "Select quantity for {productName}"
306
+ },
307
+ "removeProductAriaLabel": {
308
+ "title": "Remove product aria-label ({productName} will be replaced)",
309
+ "type": "string",
310
+ "default": "Remove {productName} from quick order list"
311
+ },
312
+ "invalidQuantityTitle": {
313
+ "title": "Invalid quantity toast title",
314
+ "type": "string",
315
+ "default": "Invalid quantity!"
316
+ },
317
+ "emptyStateTitle": {
318
+ "title": "Empty state title",
319
+ "type": "string",
320
+ "default": "No products found"
321
+ },
322
+ "emptyStateMessage": {
323
+ "title": "Empty state message",
324
+ "type": "string",
325
+ "default": "No SKUs were found for the provided file. Please check your file and try again."
326
+ }
327
+ }
328
+ },
329
+ "alertMessages": {
330
+ "title": "Alert messages",
331
+ "type": "object",
332
+ "properties": {
333
+ "notFoundAndOutOfStock": {
334
+ "title": "Not found and out of stock",
335
+ "type": "string",
336
+ "default": "Some of the SKUs were not found or are not available. Please adjust the amount before proceeding to the cart."
337
+ },
338
+ "notFound": {
339
+ "title": "Not found",
340
+ "type": "string",
341
+ "default": "Some of the SKUs were not found. Please check your CSV file and try again."
342
+ },
343
+ "outOfStock": {
344
+ "title": "Out of stock",
345
+ "type": "string",
346
+ "default": "Some of the SKUs are not available. Please adjust the amount before proceeding to the cart."
347
+ }
348
+ }
349
+ },
350
+ "footer": {
351
+ "title": "Drawer footer labels",
352
+ "type": "object",
353
+ "properties": {
354
+ "itemsLabel": {
355
+ "title": "Items label (shown next to item count)",
356
+ "type": "string",
357
+ "default": "items"
358
+ },
359
+ "addToCartLabel": {
360
+ "title": "Add to cart button label",
361
+ "type": "string",
362
+ "default": "Add to Cart"
363
+ },
364
+ "addToCartAriaLabel": {
365
+ "title": "Add to cart button aria-label",
366
+ "type": "string",
367
+ "default": "Add items to cart"
368
+ }
369
+ }
370
+ }
371
+ }
372
+ },
373
+ "toastMessages": {
374
+ "title": "Toast Messages",
375
+ "type": "object",
376
+ "properties": {
377
+ "noFileSelected": {
378
+ "title": "No file selected",
379
+ "type": "object",
380
+ "properties": {
381
+ "title": {
382
+ "title": "Title",
383
+ "type": "string",
384
+ "default": "No file selected"
385
+ },
386
+ "message": {
387
+ "title": "Message",
388
+ "type": "string",
389
+ "default": "Please select a CSV file to search."
390
+ }
391
+ }
392
+ },
393
+ "noDataFound": {
394
+ "title": "No data found",
395
+ "type": "object",
396
+ "properties": {
397
+ "title": {
398
+ "title": "Title",
399
+ "type": "string",
400
+ "default": "No data found"
401
+ },
402
+ "message": {
403
+ "title": "Message",
404
+ "type": "string",
405
+ "default": "The CSV file could not be processed or contains no valid data. Please check the file format and try again."
406
+ }
407
+ }
408
+ },
409
+ "fileProcessingError": {
410
+ "title": "File processing error",
411
+ "type": "object",
412
+ "properties": {
413
+ "title": {
414
+ "title": "Title",
415
+ "type": "string",
416
+ "default": "File processing error"
417
+ },
418
+ "defaultMessage": {
419
+ "title": "Default message",
420
+ "type": "string",
421
+ "default": "Failed to process the CSV file. Please try again."
422
+ }
423
+ }
424
+ },
425
+ "fileTimeout": {
426
+ "title": "File timeout",
427
+ "type": "object",
428
+ "properties": {
429
+ "message": {
430
+ "title": "Message",
431
+ "type": "string",
432
+ "default": "The file may be too large, corrupted, or the parser may be stuck."
433
+ }
434
+ }
435
+ },
436
+ "noDataAvailable": {
437
+ "title": "No data available",
438
+ "type": "object",
439
+ "properties": {
440
+ "title": {
441
+ "title": "Title",
442
+ "type": "string",
443
+ "default": "No data available"
444
+ },
445
+ "message": {
446
+ "title": "Message",
447
+ "type": "string",
448
+ "default": "The CSV file contains no valid data. Please check the file and try again."
449
+ }
450
+ }
451
+ },
452
+ "noValidSkus": {
453
+ "title": "No valid SKUs found",
454
+ "type": "object",
455
+ "properties": {
456
+ "title": {
457
+ "title": "Title",
458
+ "type": "string",
459
+ "default": "No valid SKUs found"
460
+ },
461
+ "message": {
462
+ "title": "Message",
463
+ "type": "string",
464
+ "default": "The CSV file does not contain any valid SKUs. Please check the file format and ensure it has a SKU column."
465
+ }
466
+ }
467
+ }
468
+ }
469
+ },
470
+ "accessibilityLabels": {
471
+ "title": "Accessibility Labels",
472
+ "type": "object",
473
+ "properties": {
474
+ "attachButtonAriaLabel": {
475
+ "title": "Attach file button aria-label",
476
+ "type": "string",
477
+ "default": "Attach File"
478
+ },
479
+ "searchButtonAriaLabel": {
480
+ "title": "Search button aria-label",
481
+ "type": "string",
482
+ "default": "Submit Search"
483
+ }
484
+ }
485
+ },
486
+ "fileUploadCard": {
487
+ "title": "File Upload Card",
488
+ "type": "object",
489
+ "properties": {
490
+ "title": {
491
+ "title": "Card title",
492
+ "type": "string",
493
+ "default": "File Upload"
494
+ },
495
+ "fileInputAriaLabel": {
496
+ "title": "File input aria-label",
497
+ "type": "string",
498
+ "default": "File upload input"
499
+ },
500
+ "dropzoneAriaLabel": {
501
+ "title": "Dropzone aria-label",
502
+ "type": "string",
503
+ "default": "Drop a file to search in bulk"
504
+ },
505
+ "dropzoneTitle": {
506
+ "title": "Dropzone title",
507
+ "type": "string",
508
+ "default": "Drop your file here or click to browse"
509
+ },
510
+ "dropzoneDragActiveText": {
511
+ "title": "Dropzone drag active text",
512
+ "type": "string",
513
+ "default": "Drop the files here..."
514
+ },
515
+ "dropzoneText": {
516
+ "title": "Dropzone text",
517
+ "type": "string",
518
+ "default": "Drag and drop files here, or click to select files"
519
+ },
520
+ "selectFileButtonLabel": {
521
+ "title": "Select file button label",
522
+ "type": "string",
523
+ "default": "Select file"
524
+ },
525
+ "downloadTemplateButtonLabel": {
526
+ "title": "Download template button label",
527
+ "type": "string",
528
+ "default": "Download template"
529
+ },
530
+ "removeButtonAriaLabel": {
531
+ "title": "Remove button aria-label",
532
+ "type": "string",
533
+ "default": "Remove file"
534
+ },
535
+ "searchButtonLabel": {
536
+ "title": "Search button label",
537
+ "type": "string",
538
+ "default": "Search"
539
+ },
540
+ "uploadingStatusText": {
541
+ "title": "Uploading status text",
542
+ "type": "string",
543
+ "default": "Uploading..."
544
+ },
545
+ "completedStatusTemplate": {
546
+ "title": "Completed status text ({fileSize} will be replaced with file size in KB)",
547
+ "type": "string",
548
+ "default": "File ready ({fileSize} KB)"
549
+ },
550
+ "acceptedFileTypes": {
551
+ "title": "Accepted file types",
552
+ "type": "string",
553
+ "default": ".csv"
554
+ },
555
+ "errorMessages": {
556
+ "title": "Error Messages",
557
+ "type": "object",
558
+ "properties": {
559
+ "unexpected": {
560
+ "title": "Unexpected error",
561
+ "type": "object",
562
+ "properties": {
563
+ "title": {
564
+ "title": "Title",
565
+ "type": "string",
566
+ "default": "Something went wrong"
567
+ },
568
+ "description": {
569
+ "title": "Description",
570
+ "type": "string",
571
+ "default": "We could not process your file. Please try again."
572
+ }
573
+ }
574
+ },
575
+ "unsupported": {
576
+ "title": "Unsupported file",
577
+ "type": "object",
578
+ "properties": {
579
+ "title": {
580
+ "title": "Title",
581
+ "type": "string",
582
+ "default": "Unsupported file"
583
+ },
584
+ "description": {
585
+ "title": "Description",
586
+ "type": "string",
587
+ "default": "Please upload a CSV file."
588
+ }
589
+ }
590
+ },
591
+ "unreadable": {
592
+ "title": "Unreadable file",
593
+ "type": "object",
594
+ "properties": {
595
+ "title": {
596
+ "title": "Title",
597
+ "type": "string",
598
+ "default": "File could not be read"
599
+ },
600
+ "description": {
601
+ "title": "Description",
602
+ "type": "string",
603
+ "default": "The file may be corrupted or in an unsupported encoding."
604
+ }
605
+ }
606
+ },
607
+ "invalid-structure": {
608
+ "title": "Invalid structure",
609
+ "type": "object",
610
+ "properties": {
611
+ "title": {
612
+ "title": "Title",
613
+ "type": "string",
614
+ "default": "Invalid file structure"
615
+ },
616
+ "description": {
617
+ "title": "Description",
618
+ "type": "string",
619
+ "default": "The CSV does not match the expected format. Use the template."
620
+ }
621
+ }
622
+ },
623
+ "empty": {
624
+ "title": "Empty file",
625
+ "type": "object",
626
+ "properties": {
627
+ "title": {
628
+ "title": "Title",
629
+ "type": "string",
630
+ "default": "Empty file"
631
+ },
632
+ "description": {
633
+ "title": "Description",
634
+ "type": "string",
635
+ "default": "The file has no data. Add at least one row."
636
+ }
637
+ }
638
+ },
639
+ "too-large": {
640
+ "title": "File too large",
641
+ "type": "object",
642
+ "properties": {
643
+ "title": {
644
+ "title": "Title",
645
+ "type": "string",
646
+ "default": "File too large"
647
+ },
648
+ "description": {
649
+ "title": "Description",
650
+ "type": "string",
651
+ "default": "Please upload a file smaller than the maximum allowed size."
652
+ }
653
+ }
654
+ },
655
+ "no-products-found": {
656
+ "title": "No products found",
657
+ "type": "object",
658
+ "properties": {
659
+ "title": {
660
+ "title": "Title",
661
+ "type": "string",
662
+ "default": "No products found"
663
+ },
664
+ "description": {
665
+ "title": "Description",
666
+ "type": "string",
667
+ "default": "Please verify the SKUs in your file and try again."
668
+ }
669
+ }
670
+ }
671
+ }
672
+ }
673
+ }
203
674
  }
204
675
  }
205
676
  },
@@ -5,5 +5,9 @@
5
5
  "title": "Shopping Assistant",
6
6
  "description": "To enable Shopping Assistant, make sure you have finished the setup at Agentic CX > Dashboard.",
7
7
  "type": "object",
8
- "properties": {}
8
+ "properties": {},
9
+ "readOnly": false,
10
+ "writeOnly": false,
11
+ "deprecated": false,
12
+ "$abstract": false
9
13
  }
@@ -59,6 +59,9 @@
59
59
  },
60
60
  {
61
61
  "$ref": "#/components/EmptyState"
62
+ },
63
+ {
64
+ "$ref": "#/components/ShoppingAssistant"
62
65
  }
63
66
  ]
64
67
  }
@@ -59,6 +59,9 @@
59
59
  },
60
60
  {
61
61
  "$ref": "#/components/EmptyState"
62
+ },
63
+ {
64
+ "$ref": "#/components/ShoppingAssistant"
62
65
  }
63
66
  ]
64
67
  }
@@ -205,6 +205,9 @@
205
205
  },
206
206
  {
207
207
  "$ref": "#/components/EmptyState"
208
+ },
209
+ {
210
+ "$ref": "#/components/ShoppingAssistant"
208
211
  }
209
212
  ]
210
213
  }
@@ -107,6 +107,9 @@
107
107
  },
108
108
  {
109
109
  "$ref": "#/components/EmptyState"
110
+ },
111
+ {
112
+ "$ref": "#/components/ShoppingAssistant"
110
113
  }
111
114
  ]
112
115
  }
@@ -107,6 +107,9 @@
107
107
  },
108
108
  {
109
109
  "$ref": "#/components/EmptyState"
110
+ },
111
+ {
112
+ "$ref": "#/components/ShoppingAssistant"
110
113
  }
111
114
  ]
112
115
  }