@nautical-commerce/graphql-schema 3.22.0 → 4.0.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.
@@ -1483,6 +1483,23 @@ type Attribute implements Node & ObjectWithMetadata {
1483
1483
  """Position in storefront search"""
1484
1484
  storefrontSearchPosition: Int!
1485
1485
 
1486
+ """
1487
+ Database-level audit trail for this attribute (requires MANAGE_PRODUCTS).
1488
+ """
1489
+ auditEvents(
1490
+ """Returns the items in the list that come before the specified cursor."""
1491
+ before: String = null
1492
+
1493
+ """Returns the items in the list that come after the specified cursor."""
1494
+ after: String = null
1495
+
1496
+ """Returns the first n items from the list."""
1497
+ first: Int = null
1498
+
1499
+ """Returns the items in the list that come after the specified cursor."""
1500
+ last: Int = null
1501
+ ): AttributeAuditEventCountableConnection!
1502
+
1486
1503
  """Filterable in dashboard"""
1487
1504
  filterableInDashboard: Boolean!
1488
1505
 
@@ -1556,6 +1573,64 @@ input AttributeAssignInput {
1556
1573
  type: AttributeTypeEnum!
1557
1574
  }
1558
1575
 
1576
+ type AttributeAuditEvent implements Node {
1577
+ """The Globally Unique ID of this object"""
1578
+ id: ID!
1579
+ pghCreatedAt: DateTime!
1580
+
1581
+ """
1582
+ Event label: 'attribute_created', 'attribute_updated', or 'attribute_deleted'.
1583
+ """
1584
+ pghLabel: String!
1585
+ pghContextId: NauticalUUID
1586
+ pghContext: JSONString
1587
+ name: String!
1588
+ slug: String!
1589
+ inputType: String!
1590
+
1591
+ """Email of the user who made the change."""
1592
+ userEmail: String
1593
+
1594
+ """Global ID of the user who made the change."""
1595
+ userId: String
1596
+
1597
+ """Tenant ID where the change occurred."""
1598
+ tenantId: Int
1599
+
1600
+ """Tenant slug where the change occurred."""
1601
+ tenantSlug: String
1602
+
1603
+ """App name if the change was via an API token."""
1604
+ appName: String
1605
+
1606
+ """Global ID of the app if via an API token."""
1607
+ appId: String
1608
+
1609
+ """Celery task name if the change was async."""
1610
+ taskName: String
1611
+ }
1612
+
1613
+ """A connection to a list of items."""
1614
+ type AttributeAuditEventCountableConnection {
1615
+ """Pagination data for this connection"""
1616
+ pageInfo: PageInfo!
1617
+
1618
+ """Contains the nodes in this connection"""
1619
+ edges: [AttributeAuditEventCountableEdge!]!
1620
+
1621
+ """Total quantity of existing nodes."""
1622
+ totalCount: Int!
1623
+ }
1624
+
1625
+ """An edge in a connection."""
1626
+ type AttributeAuditEventCountableEdge {
1627
+ """A cursor for use in pagination"""
1628
+ cursor: String!
1629
+
1630
+ """The item at the end of the edge"""
1631
+ node: AttributeAuditEvent!
1632
+ }
1633
+
1559
1634
  """Result of attribute bulk delete mutation."""
1560
1635
  type AttributeBulkDelete {
1561
1636
  """Number of attributes deleted."""
@@ -2685,6 +2760,19 @@ input BundleUpdateInput {
2685
2760
  components: [BundleItemInput!] = null
2686
2761
  }
2687
2762
 
2763
+ """Parsed CSV structure plus mapping suggestions."""
2764
+ type CSVImportMetadata {
2765
+ headers: [String!]!
2766
+ rowCount: Int!
2767
+
2768
+ """First values per column"""
2769
+ examples: JSONString!
2770
+
2771
+ """Value-shape profiles per column"""
2772
+ profiles: JSONString!
2773
+ suggestions: [MappingSuggestionType!]!
2774
+ }
2775
+
2688
2776
  """CSV file metadata extracted during parsing."""
2689
2777
  type CSVMetadata {
2690
2778
  """Column headers from the CSV"""
@@ -2697,6 +2785,14 @@ type CSVMetadata {
2697
2785
  examples: JSONString!
2698
2786
  }
2699
2787
 
2788
+ """Generated CSV import template (live from marketplace config)."""
2789
+ type CSVTemplateType {
2790
+ filename: String!
2791
+
2792
+ """CSV content — trigger a client-side download"""
2793
+ content: String!
2794
+ }
2795
+
2700
2796
  """Result of catalogExport mutation."""
2701
2797
  type CatalogExport {
2702
2798
  """Whether the export was successful."""
@@ -2751,6 +2847,23 @@ type Category implements Node & ObjectWithMetadata {
2751
2847
  allowProductAssignment: Boolean!
2752
2848
  level: Int!
2753
2849
 
2850
+ """
2851
+ Database-level audit trail for this category (requires MANAGE_PRODUCTS).
2852
+ """
2853
+ auditEvents(
2854
+ """Returns the items in the list that come before the specified cursor."""
2855
+ before: String = null
2856
+
2857
+ """Returns the items in the list that come after the specified cursor."""
2858
+ after: String = null
2859
+
2860
+ """Returns the first n items from the list."""
2861
+ first: Int = null
2862
+
2863
+ """Returns the items in the list that come after the specified cursor."""
2864
+ last: Int = null
2865
+ ): CategoryAuditEventCountableConnection!
2866
+
2754
2867
  """Background image for the category"""
2755
2868
  backgroundImage(size: Int = null): Image
2756
2869
 
@@ -2814,6 +2927,63 @@ type Category implements Node & ObjectWithMetadata {
2814
2927
  ): ProductCountableConnection!
2815
2928
  }
2816
2929
 
2930
+ type CategoryAuditEvent implements Node {
2931
+ """The Globally Unique ID of this object"""
2932
+ id: ID!
2933
+ pghCreatedAt: DateTime!
2934
+
2935
+ """
2936
+ Event label: 'category_created', 'category_updated', or 'category_deleted'.
2937
+ """
2938
+ pghLabel: String!
2939
+ pghContextId: NauticalUUID
2940
+ pghContext: JSONString
2941
+ name: String!
2942
+ slug: String!
2943
+
2944
+ """Email of the user who made the change."""
2945
+ userEmail: String
2946
+
2947
+ """Global ID of the user who made the change."""
2948
+ userId: String
2949
+
2950
+ """Tenant ID where the change occurred."""
2951
+ tenantId: Int
2952
+
2953
+ """Tenant slug where the change occurred."""
2954
+ tenantSlug: String
2955
+
2956
+ """App name if the change was via an API token."""
2957
+ appName: String
2958
+
2959
+ """Global ID of the app if via an API token."""
2960
+ appId: String
2961
+
2962
+ """Celery task name if the change was async."""
2963
+ taskName: String
2964
+ }
2965
+
2966
+ """A connection to a list of items."""
2967
+ type CategoryAuditEventCountableConnection {
2968
+ """Pagination data for this connection"""
2969
+ pageInfo: PageInfo!
2970
+
2971
+ """Contains the nodes in this connection"""
2972
+ edges: [CategoryAuditEventCountableEdge!]!
2973
+
2974
+ """Total quantity of existing nodes."""
2975
+ totalCount: Int!
2976
+ }
2977
+
2978
+ """An edge in a connection."""
2979
+ type CategoryAuditEventCountableEdge {
2980
+ """A cursor for use in pagination"""
2981
+ cursor: String!
2982
+
2983
+ """The item at the end of the edge"""
2984
+ node: CategoryAuditEvent!
2985
+ }
2986
+
2817
2987
  """Result of category bulk delete mutation."""
2818
2988
  type CategoryBulkDelete {
2819
2989
  """Number of categories deleted."""
@@ -3630,6 +3800,23 @@ type Collection implements Node & ObjectWithMetadata {
3630
3800
  """Whether the collection is visible"""
3631
3801
  isVisible: Boolean!
3632
3802
 
3803
+ """
3804
+ Database-level audit trail for this collection (requires MANAGE_PRODUCTS).
3805
+ """
3806
+ auditEvents(
3807
+ """Returns the items in the list that come before the specified cursor."""
3808
+ before: String = null
3809
+
3810
+ """Returns the items in the list that come after the specified cursor."""
3811
+ after: String = null
3812
+
3813
+ """Returns the first n items from the list."""
3814
+ first: Int = null
3815
+
3816
+ """Returns the items in the list that come after the specified cursor."""
3817
+ last: Int = null
3818
+ ): CollectionAuditEventCountableConnection!
3819
+
3633
3820
  """Whether the collection is published"""
3634
3821
  isPublished: Boolean!
3635
3822
 
@@ -3706,6 +3893,62 @@ type CollectionAddVariants {
3706
3893
  productErrors: [ProductError!]!
3707
3894
  }
3708
3895
 
3896
+ type CollectionAuditEvent implements Node {
3897
+ """The Globally Unique ID of this object"""
3898
+ id: ID!
3899
+ pghCreatedAt: DateTime!
3900
+
3901
+ """Event label: 'collection_created', '..._updated', or '..._deleted'."""
3902
+ pghLabel: String!
3903
+ pghContextId: NauticalUUID
3904
+ pghContext: JSONString
3905
+ name: String!
3906
+ slug: String!
3907
+ isVisible: Boolean!
3908
+
3909
+ """Email of the user who made the change."""
3910
+ userEmail: String
3911
+
3912
+ """Global ID of the user who made the change."""
3913
+ userId: String
3914
+
3915
+ """Tenant ID where the change occurred."""
3916
+ tenantId: Int
3917
+
3918
+ """Tenant slug where the change occurred."""
3919
+ tenantSlug: String
3920
+
3921
+ """App name if the change was via an API token."""
3922
+ appName: String
3923
+
3924
+ """Global ID of the app if via an API token."""
3925
+ appId: String
3926
+
3927
+ """Celery task name if the change was async."""
3928
+ taskName: String
3929
+ }
3930
+
3931
+ """A connection to a list of items."""
3932
+ type CollectionAuditEventCountableConnection {
3933
+ """Pagination data for this connection"""
3934
+ pageInfo: PageInfo!
3935
+
3936
+ """Contains the nodes in this connection"""
3937
+ edges: [CollectionAuditEventCountableEdge!]!
3938
+
3939
+ """Total quantity of existing nodes."""
3940
+ totalCount: Int!
3941
+ }
3942
+
3943
+ """An edge in a connection."""
3944
+ type CollectionAuditEventCountableEdge {
3945
+ """A cursor for use in pagination"""
3946
+ cursor: String!
3947
+
3948
+ """The item at the end of the edge"""
3949
+ node: CollectionAuditEvent!
3950
+ }
3951
+
3709
3952
  """Result of collection bulk delete mutation."""
3710
3953
  type CollectionBulkDelete {
3711
3954
  """Number of collections deleted."""
@@ -3973,6 +4216,13 @@ enum ConfigurationTypeFieldEnum {
3973
4216
  OUTPUT_SECRET
3974
4217
  }
3975
4218
 
4219
+ """Result of confirm import mapping mutation."""
4220
+ type ConfirmImportMapping {
4221
+ importFile: ImportFile
4222
+ taskId: String
4223
+ importErrors: [ImportError!]!
4224
+ }
4225
+
3976
4226
  """Content page or block."""
3977
4227
  type Content implements Node {
3978
4228
  """The Globally Unique ID of this object"""
@@ -4535,6 +4785,33 @@ type CreditCard {
4535
4785
  expYear: Int
4536
4786
  }
4537
4787
 
4788
+ """import row | status"""
4789
+ enum CsvImportRowStatusEnum {
4790
+ """Staged, not yet mapped."""
4791
+ pending
4792
+
4793
+ """Mapped to the canonical intermediate."""
4794
+ mapped
4795
+
4796
+ """Validated; loads cleanly."""
4797
+ valid
4798
+
4799
+ """Loads with gaps (product lands as INCOMPLETE_DATA)."""
4800
+ partial
4801
+
4802
+ """Cannot load; quarantined with row errors."""
4803
+ invalid
4804
+
4805
+ """Entities created/updated."""
4806
+ loaded
4807
+
4808
+ """Load attempted and failed."""
4809
+ failed
4810
+
4811
+ """Deliberately excluded from the load."""
4812
+ skipped
4813
+ }
4814
+
4538
4815
  """Result of custom attribute assign mutation."""
4539
4816
  type CustomAttributeAssign {
4540
4817
  """The template with assigned custom attributes."""
@@ -5184,6 +5461,23 @@ type DigitalContent implements Node & ObjectWithMetadata {
5184
5461
  """Number of days the download URL is valid"""
5185
5462
  urlValidDays: Int
5186
5463
 
5464
+ """
5465
+ Database-level audit trail for this digital content (requires MANAGE_PRODUCTS).
5466
+ """
5467
+ auditEvents(
5468
+ """Returns the items in the list that come before the specified cursor."""
5469
+ before: String = null
5470
+
5471
+ """Returns the items in the list that come after the specified cursor."""
5472
+ after: String = null
5473
+
5474
+ """Returns the first n items from the list."""
5475
+ first: Int = null
5476
+
5477
+ """Returns the items in the list that come after the specified cursor."""
5478
+ last: Int = null
5479
+ ): DigitalContentAuditEventCountableConnection!
5480
+
5187
5481
  """The product variant associated with this digital content."""
5188
5482
  productVariant: ProductVariant!
5189
5483
 
@@ -5193,8 +5487,63 @@ type DigitalContent implements Node & ObjectWithMetadata {
5193
5487
  """The URL of the digital content file."""
5194
5488
  contentFile: String
5195
5489
 
5196
- """List of URLs for downloading this digital content."""
5197
- urls: [DigitalContentUrl!]!
5490
+ """List of URLs for downloading this digital content."""
5491
+ urls: [DigitalContentUrl!]!
5492
+ }
5493
+
5494
+ type DigitalContentAuditEvent implements Node {
5495
+ """The Globally Unique ID of this object"""
5496
+ id: ID!
5497
+ pghCreatedAt: DateTime!
5498
+
5499
+ """
5500
+ Event label: 'digital_content_created', '..._updated', or '..._deleted'.
5501
+ """
5502
+ pghLabel: String!
5503
+ pghContextId: NauticalUUID
5504
+ pghContext: JSONString
5505
+
5506
+ """Email of the user who made the change."""
5507
+ userEmail: String
5508
+
5509
+ """Global ID of the user who made the change."""
5510
+ userId: String
5511
+
5512
+ """Tenant ID where the change occurred."""
5513
+ tenantId: Int
5514
+
5515
+ """Tenant slug where the change occurred."""
5516
+ tenantSlug: String
5517
+
5518
+ """App name if the change was via an API token."""
5519
+ appName: String
5520
+
5521
+ """Global ID of the app if via an API token."""
5522
+ appId: String
5523
+
5524
+ """Celery task name if the change was async."""
5525
+ taskName: String
5526
+ }
5527
+
5528
+ """A connection to a list of items."""
5529
+ type DigitalContentAuditEventCountableConnection {
5530
+ """Pagination data for this connection"""
5531
+ pageInfo: PageInfo!
5532
+
5533
+ """Contains the nodes in this connection"""
5534
+ edges: [DigitalContentAuditEventCountableEdge!]!
5535
+
5536
+ """Total quantity of existing nodes."""
5537
+ totalCount: Int!
5538
+ }
5539
+
5540
+ """An edge in a connection."""
5541
+ type DigitalContentAuditEventCountableEdge {
5542
+ """A cursor for use in pagination"""
5543
+ cursor: String!
5544
+
5545
+ """The item at the end of the edge"""
5546
+ node: DigitalContentAuditEvent!
5198
5547
  }
5199
5548
 
5200
5549
  """A connection to a list of items."""
@@ -5288,6 +5637,23 @@ type DigitalContentUrl implements Node {
5288
5637
  """When the URL was created"""
5289
5638
  created: DateTime!
5290
5639
 
5640
+ """
5641
+ Database-level audit trail for this download URL. Tracks creation and deletion only (download-counter bumps are not audited). Requires MANAGE_PRODUCTS.
5642
+ """
5643
+ auditEvents(
5644
+ """Returns the items in the list that come before the specified cursor."""
5645
+ before: String = null
5646
+
5647
+ """Returns the items in the list that come after the specified cursor."""
5648
+ after: String = null
5649
+
5650
+ """Returns the first n items from the list."""
5651
+ first: Int = null
5652
+
5653
+ """Returns the items in the list that come after the specified cursor."""
5654
+ last: Int = null
5655
+ ): DigitalContentUrlAuditEventCountableConnection!
5656
+
5291
5657
  """Number of times this URL has been used for downloads."""
5292
5658
  downloadNum: Int!
5293
5659
 
@@ -5298,6 +5664,62 @@ type DigitalContentUrl implements Node {
5298
5664
  content: DigitalContent
5299
5665
  }
5300
5666
 
5667
+ type DigitalContentUrlAuditEvent implements Node {
5668
+ """The Globally Unique ID of this object"""
5669
+ id: ID!
5670
+ pghCreatedAt: DateTime!
5671
+
5672
+ """
5673
+ Event label: 'digital_content_url_created' or 'digital_content_url_deleted'.
5674
+ """
5675
+ pghLabel: String!
5676
+ pghContextId: NauticalUUID
5677
+ pghContext: JSONString
5678
+ downloadNum: Int!
5679
+
5680
+ """Email of the user who made the change."""
5681
+ userEmail: String
5682
+
5683
+ """Global ID of the user who made the change."""
5684
+ userId: String
5685
+
5686
+ """Tenant ID where the change occurred."""
5687
+ tenantId: Int
5688
+
5689
+ """Tenant slug where the change occurred."""
5690
+ tenantSlug: String
5691
+
5692
+ """App name if the change was via an API token."""
5693
+ appName: String
5694
+
5695
+ """Global ID of the app if via an API token."""
5696
+ appId: String
5697
+
5698
+ """Celery task name if the change was async."""
5699
+ taskName: String
5700
+ }
5701
+
5702
+ """A connection to a list of items."""
5703
+ type DigitalContentUrlAuditEventCountableConnection {
5704
+ """Pagination data for this connection"""
5705
+ pageInfo: PageInfo!
5706
+
5707
+ """Contains the nodes in this connection"""
5708
+ edges: [DigitalContentUrlAuditEventCountableEdge!]!
5709
+
5710
+ """Total quantity of existing nodes."""
5711
+ totalCount: Int!
5712
+ }
5713
+
5714
+ """An edge in a connection."""
5715
+ type DigitalContentUrlAuditEventCountableEdge {
5716
+ """A cursor for use in pagination"""
5717
+ cursor: String!
5718
+
5719
+ """The item at the end of the edge"""
5720
+ node: DigitalContentUrlAuditEvent!
5721
+ }
5722
+
5301
5723
  """Result of digital content URL create mutation."""
5302
5724
  type DigitalContentUrlCreate {
5303
5725
  """The created digital content URL."""
@@ -6884,6 +7306,11 @@ type ImportFile implements Node & Job {
6884
7306
 
6885
7307
  """List of import events"""
6886
7308
  events: [ImportEvent!]!
7309
+
7310
+ """
7311
+ Pipeline metadata: parse output (headers, examples, profiles), dry_run summary after validation, load_summary after loading.
7312
+ """
7313
+ metadata: JSONString!
6887
7314
  }
6888
7315
 
6889
7316
  """A connection to a list of items."""
@@ -6908,7 +7335,7 @@ type ImportFileCountableEdge {
6908
7335
  }
6909
7336
 
6910
7337
  """
6911
- ImportFile(id, status, message, created_at, updated_at, tenant, user, app, content_file)
7338
+ ImportFile(id, status, message, created_at, updated_at, tenant, user, app, content_file, metadata, import_config, seller)
6912
7339
  """
6913
7340
  input ImportFileFilterInput {
6914
7341
  status: JobStatusEnum
@@ -6943,9 +7370,49 @@ input ImportProductsInput {
6943
7370
  fieldMappings: JSONString!
6944
7371
  defaultProductTypeId: ID = null
6945
7372
  defaultCategoryId: ID = null
7373
+ defaultWarehouseId: ID = null
6946
7374
  batchSize: Int = 100
6947
7375
  }
6948
7376
 
7377
+ """One staged CSV row with validation state."""
7378
+ type ImportRow implements Node {
7379
+ """The Globally Unique ID of this object"""
7380
+ id: ID!
7381
+ rowNumber: Int!
7382
+ groupKey: String!
7383
+ status: CsvImportRowStatusEnum!
7384
+
7385
+ """Structured row errors [{field, code, message, severity}]"""
7386
+ errors: JSONString!
7387
+
7388
+ """Original header→value dict"""
7389
+ raw: JSONString!
7390
+
7391
+ """Canonical mapped form (v1)"""
7392
+ mapped: JSONString
7393
+ }
7394
+
7395
+ """A connection to a list of items."""
7396
+ type ImportRowCountableConnection {
7397
+ """Pagination data for this connection"""
7398
+ pageInfo: PageInfo!
7399
+
7400
+ """Contains the nodes in this connection"""
7401
+ edges: [ImportRowCountableEdge!]!
7402
+
7403
+ """Total quantity of existing nodes."""
7404
+ totalCount: Int!
7405
+ }
7406
+
7407
+ """An edge in a connection."""
7408
+ type ImportRowCountableEdge {
7409
+ """A cursor for use in pagination"""
7410
+ cursor: String!
7411
+
7412
+ """The item at the end of the edge"""
7413
+ node: ImportRow!
7414
+ }
7415
+
6949
7416
  """Top performing categories report."""
6950
7417
  type InReportTopPerformingCategoriesType {
6951
7418
  """Category of the metric."""
@@ -7568,6 +8035,78 @@ enum LengthUnitsStrEnum {
7568
8035
  M
7569
8036
  }
7570
8037
 
8038
+ """Per-tenant configuration for the hosted MCP surface."""
8039
+ type MCPConfiguration {
8040
+ """The ID of the object."""
8041
+ id: ID!
8042
+
8043
+ """
8044
+ When true, the tenant opts IN to the public shopping-agent surface (OAuth-scoped, read-only buyer view) on mcp.thetraide.com/{tenant_slug}/mcp.
8045
+ """
8046
+ shoppingEnabled: Boolean!
8047
+
8048
+ """
8049
+ When true, the authenticated operator MCP surface is exposed for this tenant.
8050
+ """
8051
+ operatorEnabled: Boolean!
8052
+
8053
+ """When true, seller identity is included in agent-visible product data."""
8054
+ sellerIdentityExposed: Boolean!
8055
+
8056
+ """
8057
+ Per-agent request budget per minute. Overrides the mcp-server ADR-0009 default.
8058
+ """
8059
+ rateLimitPerAgent: Int!
8060
+
8061
+ """
8062
+ Optional MCP protocol version pin. Null means the server default is used.
8063
+ """
8064
+ protocolVersionPin: String
8065
+
8066
+ """
8067
+ Allowlist of pre-registered OAuth client ids (empty = open dynamic registration).
8068
+ """
8069
+ shoppingOauthClients: [String!]!
8070
+
8071
+ """Allowlist of product attribute slugs exposed to shopping agents."""
8072
+ exposedAttributes: [String!]!
8073
+ }
8074
+
8075
+ """Input for updating the hosted MCP configuration for a tenant."""
8076
+ input MCPConfigurationInput {
8077
+ shoppingEnabled: Boolean
8078
+ shoppingOauthClients: [String!]
8079
+ operatorEnabled: Boolean
8080
+ exposedAttributes: [String!]
8081
+ sellerIdentityExposed: Boolean
8082
+ rateLimitPerAgent: Int
8083
+ protocolVersionPin: String
8084
+ }
8085
+
8086
+ """Result of mcpConfigurationUpdate mutation."""
8087
+ type MCPConfigurationUpdate {
8088
+ """The updated MCP configuration."""
8089
+ mcpConfiguration: MCPConfiguration
8090
+
8091
+ """List of errors that occurred executing the mutation."""
8092
+ mcpConfigurationErrors: [TenantError!]!
8093
+ }
8094
+
8095
+ """One suggested header→field mapping with confidence."""
8096
+ type MappingSuggestionType {
8097
+ """CSV column header"""
8098
+ header: String!
8099
+
8100
+ """Canonical target field, 'attribute:<id>', or 'attribute:auto:<name>'"""
8101
+ target: String!
8102
+
8103
+ """0.0–1.0"""
8104
+ confidence: Float!
8105
+
8106
+ """Why the engine suggests this"""
8107
+ rationale: String!
8108
+ }
8109
+
7571
8110
  """Product or variant margin range"""
7572
8111
  type Margin {
7573
8112
  """Minimum margin percentage."""
@@ -9869,17 +10408,32 @@ type Mutation {
9869
10408
  productsExport(input: ExportProductsInput!): ProductsExport!
9870
10409
 
9871
10410
  """Upload CSV file for product import and parse its structure."""
9872
- createImportFile(file: Upload!): CreateImportFile!
10411
+ createImportFile(file: Upload!, sellerId: ID = null): CreateImportFile!
9873
10412
 
9874
10413
  """Start processing CSV product import with field mappings."""
9875
10414
  startCsvImport(input: ImportProductsInput!): StartCSVImport!
9876
10415
 
10416
+ """
10417
+ Confirm the header→field mapping for an import and start staging + validation (dry run). Requires MANAGE_PRODUCTS permission.
10418
+ """
10419
+ confirmImportMapping(importFileId: ID!, mappings: JSONString!, attributeStrategy: String! = "explicit_columns", defaultProductTypeId: ID = null, defaultCategoryId: ID = null, warehouseId: ID = null, saveProfileAs: String = null): ConfirmImportMapping!
10420
+
10421
+ """
10422
+ Start loading a staged+validated import into the catalog. Requires a completed dry run. Requires MANAGE_PRODUCTS permission.
10423
+ """
10424
+ startImportLoad(importFileId: ID!): StartImportLoad!
10425
+
9877
10426
  """Update a tenant."""
9878
10427
  tenantUpdate(id: ID!, input: TenantUpdateInput!): TenantUpdate!
9879
10428
 
9880
10429
  """Update tenant onboarding steps."""
9881
10430
  tenantOnboardingUpdate(input: TenantOnboardingUpdateInput!): TenantOnboardingUpdate!
9882
10431
 
10432
+ """
10433
+ Update the hosted MCP configuration for the current tenant. Requires MANAGE_MARKETPLACE_CONFIGURATION permission.
10434
+ """
10435
+ mcpConfigurationUpdate(input: MCPConfigurationInput!): MCPConfigurationUpdate!
10436
+
9883
10437
  """Upload and attach a document to an entity."""
9884
10438
  documentAdd(file: Upload!, relatedObjectId: ID!, description: String = null): DocumentAdd!
9885
10439
 
@@ -10330,6 +10884,11 @@ type NauticalOrder implements Node & ObjectWithMetadata {
10330
10884
  last: Int = null
10331
10885
  ): NauticalOrderAuditEventCountableConnection!
10332
10886
 
10887
+ """
10888
+ Unified change-history feed for this marketplace order. Combines pghistory events from NauticalOrder (status, totals, customer) and NauticalOrderLine (line additions/updates/removals) into a single TimelineEntry list ordered most-recent-first. Powers the dashboard Events page and mirrors the Agreement and seller-Order timeline pattern. Optional `kinds` filters server-side.
10889
+ """
10890
+ timeline(kinds: [TimelineEntryKind!] = null): [TimelineEntry!]!
10891
+
10333
10892
  """List of seller orders in this marketplace order"""
10334
10893
  subOrders: [Order!]
10335
10894
 
@@ -13833,6 +14392,28 @@ type Product implements Node & ObjectWithMetadata {
13833
14392
  """Date when the product becomes available for purchase"""
13834
14393
  availableForPurchase: Date
13835
14394
 
14395
+ """
14396
+ Database-level audit trail for this product (requires MANAGE_PRODUCTS).
14397
+ """
14398
+ auditEvents(
14399
+ """Returns the items in the list that come before the specified cursor."""
14400
+ before: String = null
14401
+
14402
+ """Returns the items in the list that come after the specified cursor."""
14403
+ after: String = null
14404
+
14405
+ """Returns the first n items from the list."""
14406
+ first: Int = null
14407
+
14408
+ """Returns the items in the list that come after the specified cursor."""
14409
+ last: Int = null
14410
+ ): ProductAuditEventCountableConnection!
14411
+
14412
+ """
14413
+ Unified change-history feed for this product. Projects pghistory ProductEvent (the product) + ProductVariantEvent (its variants) rows into a TimelineEntry list ordered most-recent-first. Powers the dashboard Events page and mirrors the Seller and Order timeline pattern. Requires MANAGE_PRODUCTS. Optional `kinds` argument filters server-side.
14414
+ """
14415
+ timeline(kinds: [TimelineEntryKind!] = null): [TimelineEntry!]!
14416
+
13836
14417
  """Sort order of the product"""
13837
14418
  sortOrder: Int
13838
14419
 
@@ -14001,6 +14582,63 @@ enum ProductAction {
14001
14582
  APPROVED
14002
14583
  }
14003
14584
 
14585
+ type ProductAuditEvent implements Node {
14586
+ """The Globally Unique ID of this object"""
14587
+ id: ID!
14588
+ pghCreatedAt: DateTime!
14589
+
14590
+ """
14591
+ Event label: 'product_created', 'product_updated', or 'product_deleted'.
14592
+ """
14593
+ pghLabel: String!
14594
+ pghContextId: NauticalUUID
14595
+ pghContext: JSONString
14596
+ name: String!
14597
+ status: String!
14598
+
14599
+ """Email of the user who made the change."""
14600
+ userEmail: String
14601
+
14602
+ """Global ID of the user who made the change."""
14603
+ userId: String
14604
+
14605
+ """Tenant ID where the change occurred."""
14606
+ tenantId: Int
14607
+
14608
+ """Tenant slug where the change occurred."""
14609
+ tenantSlug: String
14610
+
14611
+ """App name if the change was via an API token."""
14612
+ appName: String
14613
+
14614
+ """Global ID of the app if via an API token."""
14615
+ appId: String
14616
+
14617
+ """Celery task name if the change was async."""
14618
+ taskName: String
14619
+ }
14620
+
14621
+ """A connection to a list of items."""
14622
+ type ProductAuditEventCountableConnection {
14623
+ """Pagination data for this connection"""
14624
+ pageInfo: PageInfo!
14625
+
14626
+ """Contains the nodes in this connection"""
14627
+ edges: [ProductAuditEventCountableEdge!]!
14628
+
14629
+ """Total quantity of existing nodes."""
14630
+ totalCount: Int!
14631
+ }
14632
+
14633
+ """An edge in a connection."""
14634
+ type ProductAuditEventCountableEdge {
14635
+ """A cursor for use in pagination"""
14636
+ cursor: String!
14637
+
14638
+ """The item at the end of the edge"""
14639
+ node: ProductAuditEvent!
14640
+ }
14641
+
14004
14642
  """Result of product bulk category update mutation."""
14005
14643
  type ProductBulkCategoryUpdate {
14006
14644
  """Number of products updated."""
@@ -14464,25 +15102,95 @@ input ProductFilterInput {
14464
15102
  DISTINCT: Boolean
14465
15103
  }
14466
15104
 
14467
- """Represents a product image."""
14468
- type ProductImage implements Node {
14469
- """The Globally Unique ID of this object"""
14470
- id: ID!
15105
+ """Represents a product image."""
15106
+ type ProductImage implements Node {
15107
+ """The Globally Unique ID of this object"""
15108
+ id: ID!
15109
+
15110
+ """Alt text for the image"""
15111
+ alt: String
15112
+
15113
+ """Sort order of the image"""
15114
+ sortOrder: Int
15115
+
15116
+ """External system identifier"""
15117
+ externalId: String
15118
+
15119
+ """External system source"""
15120
+ externalSource: String
15121
+
15122
+ """
15123
+ Database-level audit trail for this product image (requires MANAGE_PRODUCTS).
15124
+ """
15125
+ auditEvents(
15126
+ """Returns the items in the list that come before the specified cursor."""
15127
+ before: String = null
15128
+
15129
+ """Returns the items in the list that come after the specified cursor."""
15130
+ after: String = null
15131
+
15132
+ """Returns the first n items from the list."""
15133
+ first: Int = null
15134
+
15135
+ """Returns the items in the list that come after the specified cursor."""
15136
+ last: Int = null
15137
+ ): ProductImageAuditEventCountableConnection!
15138
+
15139
+ """The URL of the image"""
15140
+ url(size: Int = null): String!
15141
+ }
15142
+
15143
+ type ProductImageAuditEvent implements Node {
15144
+ """The Globally Unique ID of this object"""
15145
+ id: ID!
15146
+ pghCreatedAt: DateTime!
15147
+
15148
+ """Event label: 'product_image_added', '..._updated', or '..._removed'."""
15149
+ pghLabel: String!
15150
+ pghContextId: NauticalUUID
15151
+ pghContext: JSONString
15152
+
15153
+ """Email of the user who made the change."""
15154
+ userEmail: String
15155
+
15156
+ """Global ID of the user who made the change."""
15157
+ userId: String
15158
+
15159
+ """Tenant ID where the change occurred."""
15160
+ tenantId: Int
15161
+
15162
+ """Tenant slug where the change occurred."""
15163
+ tenantSlug: String
15164
+
15165
+ """App name if the change was via an API token."""
15166
+ appName: String
14471
15167
 
14472
- """Alt text for the image"""
14473
- alt: String
15168
+ """Global ID of the app if via an API token."""
15169
+ appId: String
14474
15170
 
14475
- """Sort order of the image"""
14476
- sortOrder: Int
15171
+ """Celery task name if the change was async."""
15172
+ taskName: String
15173
+ }
14477
15174
 
14478
- """External system identifier"""
14479
- externalId: String
15175
+ """A connection to a list of items."""
15176
+ type ProductImageAuditEventCountableConnection {
15177
+ """Pagination data for this connection"""
15178
+ pageInfo: PageInfo!
14480
15179
 
14481
- """External system source"""
14482
- externalSource: String
15180
+ """Contains the nodes in this connection"""
15181
+ edges: [ProductImageAuditEventCountableEdge!]!
14483
15182
 
14484
- """The URL of the image"""
14485
- url(size: Int = null): String!
15183
+ """Total quantity of existing nodes."""
15184
+ totalCount: Int!
15185
+ }
15186
+
15187
+ """An edge in a connection."""
15188
+ type ProductImageAuditEventCountableEdge {
15189
+ """A cursor for use in pagination"""
15190
+ cursor: String!
15191
+
15192
+ """The item at the end of the edge"""
15193
+ node: ProductImageAuditEvent!
14486
15194
  }
14487
15195
 
14488
15196
  """Result of product image bulk create mutation."""
@@ -14926,6 +15634,23 @@ type ProductType implements Node & ObjectWithMetadata {
14926
15634
  """
14927
15635
  externallyManaged: Boolean!
14928
15636
 
15637
+ """
15638
+ Database-level audit trail for this product type (requires MANAGE_PRODUCTS).
15639
+ """
15640
+ auditEvents(
15641
+ """Returns the items in the list that come before the specified cursor."""
15642
+ before: String = null
15643
+
15644
+ """Returns the items in the list that come after the specified cursor."""
15645
+ after: String = null
15646
+
15647
+ """Returns the first n items from the list."""
15648
+ first: Int = null
15649
+
15650
+ """Returns the items in the list that come after the specified cursor."""
15651
+ last: Int = null
15652
+ ): ProductTypeAuditEventCountableConnection!
15653
+
14929
15654
  """Legacy indicator, always true"""
14930
15655
  hasVariants: Boolean!
14931
15656
 
@@ -14986,6 +15711,61 @@ type ProductType implements Node & ObjectWithMetadata {
14986
15711
  ): AttributeCountableConnection!
14987
15712
  }
14988
15713
 
15714
+ type ProductTypeAuditEvent implements Node {
15715
+ """The Globally Unique ID of this object"""
15716
+ id: ID!
15717
+ pghCreatedAt: DateTime!
15718
+
15719
+ """Event label: 'product_type_created', '..._updated', or '..._deleted'."""
15720
+ pghLabel: String!
15721
+ pghContextId: NauticalUUID
15722
+ pghContext: JSONString
15723
+ name: String!
15724
+ slug: String!
15725
+
15726
+ """Email of the user who made the change."""
15727
+ userEmail: String
15728
+
15729
+ """Global ID of the user who made the change."""
15730
+ userId: String
15731
+
15732
+ """Tenant ID where the change occurred."""
15733
+ tenantId: Int
15734
+
15735
+ """Tenant slug where the change occurred."""
15736
+ tenantSlug: String
15737
+
15738
+ """App name if the change was via an API token."""
15739
+ appName: String
15740
+
15741
+ """Global ID of the app if via an API token."""
15742
+ appId: String
15743
+
15744
+ """Celery task name if the change was async."""
15745
+ taskName: String
15746
+ }
15747
+
15748
+ """A connection to a list of items."""
15749
+ type ProductTypeAuditEventCountableConnection {
15750
+ """Pagination data for this connection"""
15751
+ pageInfo: PageInfo!
15752
+
15753
+ """Contains the nodes in this connection"""
15754
+ edges: [ProductTypeAuditEventCountableEdge!]!
15755
+
15756
+ """Total quantity of existing nodes."""
15757
+ totalCount: Int!
15758
+ }
15759
+
15760
+ """An edge in a connection."""
15761
+ type ProductTypeAuditEventCountableEdge {
15762
+ """A cursor for use in pagination"""
15763
+ cursor: String!
15764
+
15765
+ """The item at the end of the edge"""
15766
+ node: ProductTypeAuditEvent!
15767
+ }
15768
+
14989
15769
  """Result of product type bulk delete mutation."""
14990
15770
  type ProductTypeBulkDelete {
14991
15771
  """Number of product types deleted."""
@@ -15204,6 +15984,28 @@ type ProductVariant implements Node & ObjectWithMetadata {
15204
15984
  """Whether backorders are allowed"""
15205
15985
  allowBackorders: Boolean
15206
15986
 
15987
+ """
15988
+ Database-level audit trail for this variant (requires MANAGE_PRODUCTS).
15989
+ """
15990
+ auditEvents(
15991
+ """Returns the items in the list that come before the specified cursor."""
15992
+ before: String = null
15993
+
15994
+ """Returns the items in the list that come after the specified cursor."""
15995
+ after: String = null
15996
+
15997
+ """Returns the first n items from the list."""
15998
+ first: Int = null
15999
+
16000
+ """Returns the items in the list that come after the specified cursor."""
16001
+ last: Int = null
16002
+ ): ProductVariantAuditEventCountableConnection!
16003
+
16004
+ """
16005
+ Unified change-history feed for this variant. Projects pghistory ProductVariantEvent rows (SKU, price, status, inventory changes) into a TimelineEntry list ordered most-recent-first. Powers the dashboard Events page and mirrors the Seller and Order timeline pattern. Requires MANAGE_PRODUCTS. Optional `kinds` argument filters server-side.
16006
+ """
16007
+ timeline(kinds: [TimelineEntryKind!] = null): [TimelineEntry!]!
16008
+
15207
16009
  """Status of the variant"""
15208
16010
  status: ProductVariantStatus!
15209
16011
 
@@ -15313,6 +16115,62 @@ type ProductVariant implements Node & ObjectWithMetadata {
15313
16115
  ): ShopifyWebhookTransactionCountableConnection!
15314
16116
  }
15315
16117
 
16118
+ type ProductVariantAuditEvent implements Node {
16119
+ """The Globally Unique ID of this object"""
16120
+ id: ID!
16121
+ pghCreatedAt: DateTime!
16122
+
16123
+ """
16124
+ Event label: 'variant_created', 'variant_updated', or 'variant_deleted'.
16125
+ """
16126
+ pghLabel: String!
16127
+ pghContextId: NauticalUUID
16128
+ pghContext: JSONString
16129
+ sku: String
16130
+
16131
+ """Email of the user who made the change."""
16132
+ userEmail: String
16133
+
16134
+ """Global ID of the user who made the change."""
16135
+ userId: String
16136
+
16137
+ """Tenant ID where the change occurred."""
16138
+ tenantId: Int
16139
+
16140
+ """Tenant slug where the change occurred."""
16141
+ tenantSlug: String
16142
+
16143
+ """App name if the change was via an API token."""
16144
+ appName: String
16145
+
16146
+ """Global ID of the app if via an API token."""
16147
+ appId: String
16148
+
16149
+ """Celery task name if the change was async."""
16150
+ taskName: String
16151
+ }
16152
+
16153
+ """A connection to a list of items."""
16154
+ type ProductVariantAuditEventCountableConnection {
16155
+ """Pagination data for this connection"""
16156
+ pageInfo: PageInfo!
16157
+
16158
+ """Contains the nodes in this connection"""
16159
+ edges: [ProductVariantAuditEventCountableEdge!]!
16160
+
16161
+ """Total quantity of existing nodes."""
16162
+ totalCount: Int!
16163
+ }
16164
+
16165
+ """An edge in a connection."""
16166
+ type ProductVariantAuditEventCountableEdge {
16167
+ """A cursor for use in pagination"""
16168
+ cursor: String!
16169
+
16170
+ """The item at the end of the edge"""
16171
+ node: ProductVariantAuditEvent!
16172
+ }
16173
+
15316
16174
  """Result of product variant bulk create mutation."""
15317
16175
  type ProductVariantBulkCreate {
15318
16176
  """Number of variants created."""
@@ -15835,10 +16693,80 @@ type ProductVideo implements Node {
15835
16693
  """External system source"""
15836
16694
  externalSource: String
15837
16695
 
16696
+ """
16697
+ Database-level audit trail for this product video (requires MANAGE_PRODUCTS).
16698
+ """
16699
+ auditEvents(
16700
+ """Returns the items in the list that come before the specified cursor."""
16701
+ before: String = null
16702
+
16703
+ """Returns the items in the list that come after the specified cursor."""
16704
+ after: String = null
16705
+
16706
+ """Returns the first n items from the list."""
16707
+ first: Int = null
16708
+
16709
+ """Returns the items in the list that come after the specified cursor."""
16710
+ last: Int = null
16711
+ ): ProductVideoAuditEventCountableConnection!
16712
+
15838
16713
  """The URL of the video"""
15839
16714
  url: String!
15840
16715
  }
15841
16716
 
16717
+ type ProductVideoAuditEvent implements Node {
16718
+ """The Globally Unique ID of this object"""
16719
+ id: ID!
16720
+ pghCreatedAt: DateTime!
16721
+
16722
+ """Event label: 'product_video_added', '..._updated', or '..._removed'."""
16723
+ pghLabel: String!
16724
+ pghContextId: NauticalUUID
16725
+ pghContext: JSONString
16726
+
16727
+ """Email of the user who made the change."""
16728
+ userEmail: String
16729
+
16730
+ """Global ID of the user who made the change."""
16731
+ userId: String
16732
+
16733
+ """Tenant ID where the change occurred."""
16734
+ tenantId: Int
16735
+
16736
+ """Tenant slug where the change occurred."""
16737
+ tenantSlug: String
16738
+
16739
+ """App name if the change was via an API token."""
16740
+ appName: String
16741
+
16742
+ """Global ID of the app if via an API token."""
16743
+ appId: String
16744
+
16745
+ """Celery task name if the change was async."""
16746
+ taskName: String
16747
+ }
16748
+
16749
+ """A connection to a list of items."""
16750
+ type ProductVideoAuditEventCountableConnection {
16751
+ """Pagination data for this connection"""
16752
+ pageInfo: PageInfo!
16753
+
16754
+ """Contains the nodes in this connection"""
16755
+ edges: [ProductVideoAuditEventCountableEdge!]!
16756
+
16757
+ """Total quantity of existing nodes."""
16758
+ totalCount: Int!
16759
+ }
16760
+
16761
+ """An edge in a connection."""
16762
+ type ProductVideoAuditEventCountableEdge {
16763
+ """A cursor for use in pagination"""
16764
+ cursor: String!
16765
+
16766
+ """The item at the end of the edge"""
16767
+ node: ProductVideoAuditEvent!
16768
+ }
16769
+
15842
16770
  """Result of product video bulk create mutation."""
15843
16771
  type ProductVideoBulkCreate {
15844
16772
  """The product with the new videos."""
@@ -16937,6 +17865,11 @@ type Query {
16937
17865
  """List of available tax types."""
16938
17866
  taxTypes: [TaxType!]!
16939
17867
 
17868
+ """
17869
+ Return the hosted MCP configuration for the current tenant, or null if the tenant has not been configured. A null result means everything is off (fail-closed defaults).
17870
+ """
17871
+ mcpConfiguration: MCPConfiguration
17872
+
16940
17873
  """Look up a plugin by ID. Requires MANAGE_PLUGINS permission."""
16941
17874
  plugin(id: ID!, seller: ID = null): Plugin
16942
17875
 
@@ -17181,6 +18114,36 @@ type Query {
17181
18114
  last: Int = null
17182
18115
  ): ImportFileCountableConnection!
17183
18116
 
18117
+ """
18118
+ Parsed structure plus mapping suggestions for an import file. Requires MANAGE_PRODUCTS permission.
18119
+ """
18120
+ importFileMetadata(id: ID!): CSVImportMetadata
18121
+
18122
+ """
18123
+ Generate a CSV import template from live marketplace configuration (canonical columns + product-template attributes). Requires MANAGE_PRODUCTS.
18124
+ """
18125
+ importCsvTemplate(productTypeIds: [ID!] = null): CSVTemplateType!
18126
+
18127
+ """
18128
+ Staged rows for an import file, filterable by status. Requires MANAGE_PRODUCTS permission.
18129
+ """
18130
+ importRows(
18131
+ importFileId: ID!
18132
+ status: String = null
18133
+
18134
+ """Returns the items in the list that come before the specified cursor."""
18135
+ before: String = null
18136
+
18137
+ """Returns the items in the list that come after the specified cursor."""
18138
+ after: String = null
18139
+
18140
+ """Returns the first n items from the list."""
18141
+ first: Int = null
18142
+
18143
+ """Returns the items in the list that come after the specified cursor."""
18144
+ last: Int = null
18145
+ ): ImportRowCountableConnection!
18146
+
17184
18147
  """List journal entries. Requires MANAGE_PAYOUTS permission."""
17185
18148
  journalEntries(
17186
18149
  filter: JournalEntryFilterInput
@@ -18425,6 +19388,9 @@ type Seller implements Node & ObjectWithMetadata {
18425
19388
  """Store description (HTML)"""
18426
19389
  storeDescription: String!
18427
19390
 
19391
+ """Payout schedule interval (manual, daily, weekly, monthly)"""
19392
+ externalPayoutSchedule: String
19393
+
18428
19394
  """Primary key of the seller"""
18429
19395
  pk: Int!
18430
19396
 
@@ -18476,9 +19442,6 @@ type Seller implements Node & ObjectWithMetadata {
18476
19442
  """Whether payouts are enabled for this seller"""
18477
19443
  externalPayoutStatus: Boolean
18478
19444
 
18479
- """Payout schedule interval (manual, daily, weekly, monthly)"""
18480
- externalPayoutSchedule: String
18481
-
18482
19445
  """Seller onboarding checklists"""
18483
19446
  checklists: [SellerOnboardingChecklist!]!
18484
19447
 
@@ -18517,6 +19480,11 @@ type Seller implements Node & ObjectWithMetadata {
18517
19480
  last: Int = null
18518
19481
  ): SellerAuditEventCountableConnection!
18519
19482
 
19483
+ """
19484
+ Unified change-history feed for this seller. Projects pghistory SellerAuditEvent rows (status transitions, profile edits, payout-config changes) into a TimelineEntry list ordered most-recent-first. Powers the dashboard Events tab and mirrors the Agreement and Order timeline pattern. Optional `kinds` argument filters server-side.
19485
+ """
19486
+ timeline(kinds: [TimelineEntryKind!] = null): [TimelineEntry!]!
19487
+
18520
19488
  """Orders for this seller"""
18521
19489
  orders(
18522
19490
  """Returns the items in the list that come before the specified cursor."""
@@ -19075,7 +20043,7 @@ enum SellerExternalPayoutSource {
19075
20043
  }
19076
20044
 
19077
20045
  """
19078
- Seller(id, private_metadata, metadata, created_at, updated_at, tenant, external_payout_account_id, external_payout_source, external_payout_onboarding_url, company_name, slug, is_marketplace_seller, logo, identification, default_shipping_address, default_billing_address, owner, default_currency, fulfilled_by_marketplace, status, agreement_decision_reason, banner, store_description)
20046
+ Seller(id, private_metadata, metadata, created_at, updated_at, tenant, external_payout_account_id, external_payout_source, external_payout_onboarding_url, company_name, slug, is_marketplace_seller, logo, identification, default_shipping_address, default_billing_address, owner, default_currency, fulfilled_by_marketplace, status, agreement_decision_reason, banner, store_description, external_payouts_enabled, external_payout_schedule, external_payout_status_synced_at)
19079
20047
  """
19080
20048
  input SellerFilterInput {
19081
20049
  status: [SellerStatusFilter!]
@@ -20464,6 +21432,13 @@ type StartCSVImport {
20464
21432
  importErrors: [ImportError!]!
20465
21433
  }
20466
21434
 
21435
+ """Result of start import load mutation."""
21436
+ type StartImportLoad {
21437
+ importFile: ImportFile
21438
+ taskId: String
21439
+ importErrors: [ImportError!]!
21440
+ }
21441
+
20467
21442
  """Represents stock of a product variant at a warehouse."""
20468
21443
  type Stock implements Node {
20469
21444
  """The Globally Unique ID of this object"""
@@ -20850,6 +21825,9 @@ type Tenant implements Node {
20850
21825
 
20851
21826
  """Marketplace configuration for the tenant"""
20852
21827
  marketplaceConfiguration: MarketplaceConfiguration
21828
+
21829
+ """Hosted MCP configuration for the tenant"""
21830
+ mcpConfiguration: MCPConfiguration
20853
21831
  }
20854
21832
 
20855
21833
  """A connection to a list of items."""
@@ -21055,6 +22033,11 @@ enum TimelineEntryKind {
21055
22033
  ORDER
21056
22034
  ORDER_LINE
21057
22035
  FULFILLMENT
22036
+ SELLER
22037
+ NAUTICAL_ORDER
22038
+ NAUTICAL_ORDER_LINE
22039
+ PRODUCT
22040
+ PRODUCT_VARIANT
21058
22041
  }
21059
22042
 
21060
22043
  type TimelineTarget {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nautical-commerce/graphql-schema",
3
- "version": "3.22.0",
3
+ "version": "4.0.0",
4
4
  "description": "Traide API GraphQL Schema",
5
5
  "main": "./nautical/schema.graphql",
6
6
  "scripts": {