@eide/uniformgen 0.1.3 → 0.1.5

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.
@@ -42,6 +42,11 @@ export type Scalars = {
42
42
  input: number;
43
43
  output: number;
44
44
  };
45
+ /** The `BigInt` scalar type represents non-fractional signed whole numeric values. */
46
+ BigInt: {
47
+ input: number;
48
+ output: number;
49
+ };
45
50
  DateTime: {
46
51
  input: string;
47
52
  output: string;
@@ -750,12 +755,6 @@ export type AvailableContext = {
750
755
  /** Human-readable name */
751
756
  name: Scalars['String']['output'];
752
757
  };
753
- /** Available routes result with pagination info */
754
- export type AvailableRoutesResult = {
755
- __typename?: 'AvailableRoutesResult';
756
- routes: Array<ResolvedRoute>;
757
- total: Scalars['Int']['output'];
758
- };
759
758
  /**
760
759
  * Available upgrade options for a tenant.
761
760
  * If a custom package is assigned, only that is shown (hides standard paid plans).
@@ -923,14 +922,14 @@ export type BillingOverviewMetrics = {
923
922
  export type BillingPackageLimit = {
924
923
  __typename?: 'BillingPackageLimit';
925
924
  id: Scalars['ID']['output'];
926
- includedQuantity?: Maybe<Scalars['Int']['output']>;
927
- maxQuantity?: Maybe<Scalars['Int']['output']>;
925
+ includedQuantity?: Maybe<Scalars['BigInt']['output']>;
926
+ maxQuantity?: Maybe<Scalars['BigInt']['output']>;
928
927
  metric: BillingMetric;
929
928
  overagePriceCents?: Maybe<Scalars['Int']['output']>;
930
929
  };
931
930
  export type BillingPackageLimitInput = {
932
- includedQuantity?: InputMaybe<Scalars['Int']['input']>;
933
- maxQuantity?: InputMaybe<Scalars['Int']['input']>;
931
+ includedQuantity?: InputMaybe<Scalars['BigInt']['input']>;
932
+ maxQuantity?: InputMaybe<Scalars['BigInt']['input']>;
934
933
  metric: BillingMetric;
935
934
  overagePriceCents?: InputMaybe<Scalars['Int']['input']>;
936
935
  };
@@ -958,16 +957,16 @@ export type BillingPlan = {
958
957
  export type BillingPlanLimit = {
959
958
  __typename?: 'BillingPlanLimit';
960
959
  id: Scalars['ID']['output'];
961
- includedQuantity: Scalars['Int']['output'];
962
- maxQuantity?: Maybe<Scalars['Int']['output']>;
960
+ includedQuantity: Scalars['BigInt']['output'];
961
+ maxQuantity?: Maybe<Scalars['BigInt']['output']>;
963
962
  metric: BillingMetric;
964
963
  overagePriceCents?: Maybe<Scalars['Int']['output']>;
965
964
  overageUnitSize: Scalars['Int']['output'];
966
965
  stripePriceId?: Maybe<Scalars['String']['output']>;
967
966
  };
968
967
  export type BillingPlanLimitInput = {
969
- includedQuantity: Scalars['Int']['input'];
970
- maxQuantity?: InputMaybe<Scalars['Int']['input']>;
968
+ includedQuantity: Scalars['BigInt']['input'];
969
+ maxQuantity?: InputMaybe<Scalars['BigInt']['input']>;
971
970
  metric: BillingMetric;
972
971
  overagePriceCents?: InputMaybe<Scalars['Int']['input']>;
973
972
  overageUnitSize?: InputMaybe<Scalars['Int']['input']>;
@@ -1586,16 +1585,6 @@ export type CreatePublishBatchResult = {
1586
1585
  batch: PublishBatch;
1587
1586
  scheduledJobId: Scalars['String']['output'];
1588
1587
  };
1589
- /** Input for creating a redirect */
1590
- export type CreateRedirectInput = {
1591
- activeFrom?: InputMaybe<Scalars['DateTime']['input']>;
1592
- activeTo?: InputMaybe<Scalars['DateTime']['input']>;
1593
- priority?: InputMaybe<Scalars['Int']['input']>;
1594
- reason?: InputMaybe<Scalars['String']['input']>;
1595
- sourcePattern: Scalars['String']['input'];
1596
- statusCode?: InputMaybe<Scalars['Int']['input']>;
1597
- targetPattern: Scalars['String']['input'];
1598
- };
1599
1588
  export type CreateSignupSessionInput = {
1600
1589
  userId: Scalars['ID']['input'];
1601
1590
  };
@@ -2746,43 +2735,6 @@ export type EntityReferencesDebug = {
2746
2735
  pages: Array<Scalars['ID']['output']>;
2747
2736
  products: Array<Scalars['ID']['output']>;
2748
2737
  };
2749
- /** Route information for a single entity */
2750
- export type EntityRouteInfo = {
2751
- __typename?: 'EntityRouteInfo';
2752
- /**
2753
- * Child entity routes (only on getEntityRoutes with includeChildren: true).
2754
- * E.g., products under a collection, pages under a parent page.
2755
- */
2756
- children?: Maybe<Array<EntityRouteInfo>>;
2757
- /** Entity record ID (if found) */
2758
- entityId?: Maybe<Scalars['ID']['output']>;
2759
- /** Whether the entity was found */
2760
- found: Scalars['Boolean']['output'];
2761
- /** Entity record metadata (badges, labels, flags, etc.) */
2762
- metadata?: Maybe<Scalars['JSON']['output']>;
2763
- /** The natural key that was requested */
2764
- naturalKey: Scalars['String']['output'];
2765
- /** All routes for this entity across all contexts */
2766
- routes: Array<EntityRouteWithContext>;
2767
- };
2768
- /** Route with context dimensions */
2769
- export type EntityRouteWithContext = {
2770
- __typename?: 'EntityRouteWithContext';
2771
- /** Alias handling strategy if not canonical ('redirect' or 'canonical-tag') */
2772
- aliasStrategy?: Maybe<Scalars['String']['output']>;
2773
- /** Canonical path (if this is an alias) */
2774
- canonicalPath?: Maybe<Scalars['String']['output']>;
2775
- /**
2776
- * Context dimensions for this route.
2777
- * Generic key-value pairs (market, locale, brand, region, etc.)
2778
- * Empty object means default/global route.
2779
- */
2780
- contexts: Scalars['JSON']['output'];
2781
- /** Whether this is the canonical route for this context */
2782
- isCanonical: Scalars['Boolean']['output'];
2783
- /** The full URL path */
2784
- path: Scalars['String']['output'];
2785
- };
2786
2738
  /** Unified entity search result - works for any entity model */
2787
2739
  export type EntitySearchResult = {
2788
2740
  __typename?: 'EntitySearchResult';
@@ -2803,13 +2755,22 @@ export type EntitySearchResult = {
2803
2755
  /** Last updated timestamp */
2804
2756
  updatedAt: Scalars['DateTime']['output'];
2805
2757
  };
2806
- /** Entity URL (resolved route path) */
2807
- export type EntityUrl = {
2808
- __typename?: 'EntityUrl';
2809
- isCanonical: Scalars['Boolean']['output'];
2810
- path: Scalars['String']['output'];
2811
- /** Market/locale context for this URL (empty object = default/global) */
2812
- subfolders?: Maybe<Scalars['JSON']['output']>;
2758
+ /** Result of batch entity URL resolution */
2759
+ export type EntityUrlBatchResult = {
2760
+ __typename?: 'EntityUrlBatchResult';
2761
+ /** Entity model key */
2762
+ modelKey: Scalars['String']['output'];
2763
+ /** Natural key */
2764
+ naturalKey: Scalars['String']['output'];
2765
+ /** Resolved URL (null if not routable) */
2766
+ url?: Maybe<ResolvedEntityUrl>;
2767
+ };
2768
+ /** Input for batch entity URL resolution */
2769
+ export type EntityUrlInput = {
2770
+ /** Entity model key (e.g., 'shopify-product', 'page') */
2771
+ modelKey: Scalars['String']['input'];
2772
+ /** Natural key of the entity */
2773
+ naturalKey: Scalars['String']['input'];
2813
2774
  };
2814
2775
  /**
2815
2776
  * Variant data optimized for editor use.
@@ -3466,34 +3427,6 @@ export type GenerateShopifyInstallUrlInput = {
3466
3427
  redirectUri: Scalars['String']['input'];
3467
3428
  shopDomain: Scalars['String']['input'];
3468
3429
  };
3469
- /** Input for batch route lookup */
3470
- export type GetEntitiesRoutesInput = {
3471
- /** Entity model key */
3472
- modelKey: Scalars['String']['input'];
3473
- /** Array of natural keys to look up */
3474
- naturalKeys: Array<Scalars['String']['input']>;
3475
- };
3476
- /** Result of batch route lookup */
3477
- export type GetEntitiesRoutesResult = {
3478
- __typename?: 'GetEntitiesRoutesResult';
3479
- /** Natural keys that were not found */
3480
- notFound: Array<Scalars['String']['output']>;
3481
- /** Results in same order as input naturalKeys */
3482
- results: Array<EntityRouteInfo>;
3483
- };
3484
- /** Input for getting routes for a single entity */
3485
- export type GetEntityRoutesInput = {
3486
- /** Filter children routes to specific contexts */
3487
- childContexts?: InputMaybe<Scalars['JSON']['input']>;
3488
- /** Filter children to specific model key */
3489
- childModelKey?: InputMaybe<Scalars['String']['input']>;
3490
- /** Include child entity routes (e.g., products under a collection) */
3491
- includeChildren?: InputMaybe<Scalars['Boolean']['input']>;
3492
- /** Entity model key (e.g., 'shopify-product', 'page') */
3493
- modelKey: Scalars['String']['input'];
3494
- /** Entity natural key (e.g., product handle, page slug) */
3495
- naturalKey: Scalars['String']['input'];
3496
- };
3497
3430
  /** Unified global search results */
3498
3431
  export type GlobalSearchResult = {
3499
3432
  __typename?: 'GlobalSearchResult';
@@ -4068,8 +4001,6 @@ export type Mutation = {
4068
4001
  * All versions will be published at the scheduled time
4069
4002
  */
4070
4003
  createPublishBatch: CreatePublishBatchResult;
4071
- /** Create a manual redirect */
4072
- createRedirect: Redirect;
4073
4004
  createSignupSession: CreateSignupSessionResult;
4074
4005
  createTenant: Tenant;
4075
4006
  /** Create a new workflow */
@@ -4104,8 +4035,6 @@ export type Mutation = {
4104
4035
  /** Delete a notification */
4105
4036
  deleteNotification: Scalars['Boolean']['output'];
4106
4037
  deleteProject: Scalars['Boolean']['output'];
4107
- /** Delete a redirect */
4108
- deleteRedirect: Scalars['Boolean']['output'];
4109
4038
  deleteSetting: Scalars['Boolean']['output'];
4110
4039
  deleteSettingsByCategory: Scalars['Int']['output'];
4111
4040
  deleteTenant: Scalars['Boolean']['output'];
@@ -4230,8 +4159,6 @@ export type Mutation = {
4230
4159
  /** Reactivate a suspended or cancelled tenant (SUSPENDED/CANCELLED → ACTIVE) */
4231
4160
  reactivateTenant: Tenant;
4232
4161
  refreshToken: TokenResponse;
4233
- /** Manually trigger route regeneration for the current project */
4234
- regenerateRoutes: Scalars['Boolean']['output'];
4235
4162
  register: RegistrationResponse;
4236
4163
  /** Remove a customer's experiment assignment */
4237
4164
  removeExperimentAssignment?: Maybe<Scalars['Boolean']['output']>;
@@ -4451,8 +4378,6 @@ export type Mutation = {
4451
4378
  * Only allowed when batch is in 'scheduled' status
4452
4379
  */
4453
4380
  updatePublishBatch: PublishBatch;
4454
- /** Update an existing redirect */
4455
- updateRedirect: Redirect;
4456
4381
  updateTenant: Tenant;
4457
4382
  /** Update a workflow */
4458
4383
  updateWorkflow: UpdateWorkflowResult;
@@ -4609,9 +4534,6 @@ export type MutationCreateProjectArgs = {
4609
4534
  export type MutationCreatePublishBatchArgs = {
4610
4535
  input: CreatePublishBatchInput;
4611
4536
  };
4612
- export type MutationCreateRedirectArgs = {
4613
- input: CreateRedirectInput;
4614
- };
4615
4537
  export type MutationCreateSignupSessionArgs = {
4616
4538
  input: CreateSignupSessionInput;
4617
4539
  };
@@ -4666,9 +4588,6 @@ export type MutationDeleteNotificationArgs = {
4666
4588
  export type MutationDeleteProjectArgs = {
4667
4589
  id: Scalars['ID']['input'];
4668
4590
  };
4669
- export type MutationDeleteRedirectArgs = {
4670
- id: Scalars['ID']['input'];
4671
- };
4672
4591
  export type MutationDeleteSettingArgs = {
4673
4592
  key: Scalars['String']['input'];
4674
4593
  };
@@ -5095,10 +5014,6 @@ export type MutationUpdatePublishBatchArgs = {
5095
5014
  id: Scalars['ID']['input'];
5096
5015
  input: UpdatePublishBatchInput;
5097
5016
  };
5098
- export type MutationUpdateRedirectArgs = {
5099
- id: Scalars['ID']['input'];
5100
- input: UpdateRedirectInput;
5101
- };
5102
5017
  export type MutationUpdateTenantArgs = {
5103
5018
  id: Scalars['ID']['input'];
5104
5019
  input: UpdateTenantInput;
@@ -5311,21 +5226,6 @@ export type ParentModelConfigInput = {
5311
5226
  /** The model key of the parent entity (e.g., 'page', 'shopify-collection') */
5312
5227
  modelKey: Scalars['String']['input'];
5313
5228
  };
5314
- /**
5315
- * Parent route for menu linking (deduplicated across markets)
5316
- * Used by admin UI route selector in menu editor
5317
- */
5318
- export type ParentRoute = {
5319
- __typename?: 'ParentRoute';
5320
- /** Entity ID */
5321
- entityId: Scalars['String']['output'];
5322
- /** Entity type (page, shopify_collection, shopify_product) */
5323
- entityType: Scalars['String']['output'];
5324
- /** Whether this is the canonical URL structure for the entity */
5325
- isCanonical: Scalars['Boolean']['output'];
5326
- /** The canonical route identifier (e.g., /collections/new-arrivals) */
5327
- parentRoute: Scalars['String']['output'];
5328
- };
5329
5229
  export type PasswordPolicy = {
5330
5230
  __typename?: 'PasswordPolicy';
5331
5231
  minLength: Scalars['Int']['output'];
@@ -5459,8 +5359,8 @@ export type PublicBillingPlan = {
5459
5359
  };
5460
5360
  export type PublicBillingPlanLimit = {
5461
5361
  __typename?: 'PublicBillingPlanLimit';
5462
- includedQuantity: Scalars['Int']['output'];
5463
- maxQuantity?: Maybe<Scalars['Int']['output']>;
5362
+ includedQuantity: Scalars['BigInt']['output'];
5363
+ maxQuantity?: Maybe<Scalars['BigInt']['output']>;
5464
5364
  metric: BillingMetric;
5465
5365
  };
5466
5366
  /** A publish batch containing multiple versions to publish together */
@@ -5574,11 +5474,6 @@ export type Query = {
5574
5474
  * System contexts (device, platform, auth-status, locale) are always included.
5575
5475
  */
5576
5476
  availableContexts: Array<AvailableContext>;
5577
- /**
5578
- * Get all available routes for menu linking
5579
- * Returns enumerated routes with entity info
5580
- */
5581
- availableRoutes: AvailableRoutesResult;
5582
5477
  availableUpgrades: AvailableUpgrades;
5583
5478
  billingCustomPackage?: Maybe<BillingCustomPackage>;
5584
5479
  billingCustomPackages: Array<BillingCustomPackage>;
@@ -5724,11 +5619,6 @@ export type Query = {
5724
5619
  * Example: filters: [{ field: "metadata.synced.shopId", operator: eq, value: "shop_123" }]
5725
5620
  */
5726
5621
  entityRecords: EntityRecordList;
5727
- /**
5728
- * Get all URLs where an entity appears in routing (generic version)
5729
- * Works for any entity type with routing enabled
5730
- */
5731
- entityUrls: Array<EntityUrl>;
5732
5622
  /** Get experiment statistics (assignment counts by variant) */
5733
5623
  experimentStats?: Maybe<ExperimentStats>;
5734
5624
  /**
@@ -5751,18 +5641,6 @@ export type Query = {
5751
5641
  /** Get frontend URL for sitemap generation */
5752
5642
  frontendUrl?: Maybe<Scalars['String']['output']>;
5753
5643
  getApiKey?: Maybe<ApiKey>;
5754
- /**
5755
- * Get routes for multiple entities (batch).
5756
- * No children - use getEntityRoutes for that.
5757
- * Optimized for product cards, search results, recommendations.
5758
- */
5759
- getEntitiesRoutes: GetEntitiesRoutesResult;
5760
- /**
5761
- * Get routes for a single entity with optional children.
5762
- * Use for collection pages, parent pages, etc.
5763
- * Children are determined by route tree structure (parentRoute prefix matching).
5764
- */
5765
- getEntityRoutes?: Maybe<EntityRouteInfo>;
5766
5644
  /**
5767
5645
  * Global search across all entity records and media.
5768
5646
  *
@@ -5833,13 +5711,6 @@ export type Query = {
5833
5711
  * Uses headers for project context.
5834
5712
  */
5835
5713
  overallResolutionTrend: Array<TrendDataPoint>;
5836
- /**
5837
- * Get distinct parent routes for menu linking
5838
- * Returns unique parentRoute values (deduplicated across markets)
5839
- * Shows all route structures (canonical + aliases)
5840
- * Used by admin UI route selector in menu editor
5841
- */
5842
- parentRoutes: Array<ParentRoute>;
5843
5714
  passwordPolicy: PasswordPolicy;
5844
5715
  /**
5845
5716
  * Get all available platform features.
@@ -5888,10 +5759,6 @@ export type Query = {
5888
5759
  recentAccountLockouts: Array<AccountLockout>;
5889
5760
  /** Get recently opened items for current user */
5890
5761
  recentlyOpened: Array<RecentlyOpenedItem>;
5891
- /** Get a single redirect by ID */
5892
- redirect?: Maybe<Redirect>;
5893
- /** List all redirects for the project with pagination */
5894
- redirects: RedirectsConnection;
5895
5762
  /**
5896
5763
  * Get all repeatable (cron) jobs across all queues.
5897
5764
  * Platform admin only.
@@ -5926,19 +5793,24 @@ export type Query = {
5926
5793
  * Same as resolveRoute but with different parameter style.
5927
5794
  */
5928
5795
  resolveEntityByPath?: Maybe<ResolvedEntityContent>;
5929
- revenueByPlan: Array<RevenueByPlan>;
5930
5796
  /**
5931
- * Get route aliases (non-canonical routes with redirect strategy)
5932
- * These are auto-generated from the route tree and synced to edge
5797
+ * Resolve an entity reference to a URL path.
5798
+ *
5799
+ * Takes an entity reference (modelKey + naturalKey) and returns the URL path
5800
+ * for the current request context (country, locale).
5801
+ *
5802
+ * Example:
5803
+ * - Input: modelKey: "shopify-product", naturalKey: "parka"
5804
+ * - With context: country: "uk", locale: "en"
5805
+ * - Returns: { href: "/uk/en/products/parka", isCanonical: true }
5933
5806
  */
5934
- routeAliases: Array<RouteAlias>;
5807
+ resolveEntityUrl?: Maybe<ResolvedEntityUrl>;
5935
5808
  /**
5936
- * Get route conflicts detected during last route generation
5937
- * Shows where multiple entities compete for the same URL path
5809
+ * Batch resolve multiple entity references to URLs.
5810
+ * More efficient than individual calls when resolving many links.
5938
5811
  */
5939
- routeConflicts: Array<RouteConflict>;
5940
- /** Get route regeneration job status */
5941
- routeRegenerationStatus: RouteRegenerationStatus;
5812
+ resolveEntityUrlBatch: Array<EntityUrlBatchResult>;
5813
+ revenueByPlan: Array<RevenueByPlan>;
5942
5814
  /** Get a single scheduled publish by version ID */
5943
5815
  scheduledPublish?: Maybe<ScheduledPublish>;
5944
5816
  /** List scheduled publishes with optional filtering */
@@ -5971,6 +5843,8 @@ export type Query = {
5971
5843
  * Each project has at most one shop
5972
5844
  */
5973
5845
  shopifyShops: Array<ShopifyShop>;
5846
+ /** Get sitemap info including URL count and split status */
5847
+ sitemapInfo?: Maybe<SitemapInfo>;
5974
5848
  /** Get sitemap URL (CDN location) */
5975
5849
  sitemapUrl?: Maybe<Scalars['String']['output']>;
5976
5850
  /** Get suspicious activity - users with logins from multiple IPs. */
@@ -5979,8 +5853,6 @@ export type Query = {
5979
5853
  tenant?: Maybe<Tenant>;
5980
5854
  tenantBillingStatus: TenantBillingStatusResult;
5981
5855
  tenants: TenantList;
5982
- /** List unified redirects (manual + route aliases) with pagination */
5983
- unifiedRedirects: UnifiedRedirectsConnection;
5984
5856
  /**
5985
5857
  * Get unread notification count for badge.
5986
5858
  * Uses headers for user context.
@@ -5988,11 +5860,6 @@ export type Query = {
5988
5860
  unreadNotificationCount: Scalars['Int']['output'];
5989
5861
  /** Validate an invitation token (unauthenticated, public) */
5990
5862
  validateInvitation: ValidateInvitationResult;
5991
- /**
5992
- * Validate if a path exists in resolved routes
5993
- * Used by menu editor to validate internal links
5994
- */
5995
- validateRoutePath: Scalars['Boolean']['output'];
5996
5863
  /**
5997
5864
  * Get variant performance metrics.
5998
5865
  * Uses headers for project context.
@@ -6053,13 +5920,6 @@ export type QueryApplicableWorkflowsArgs = {
6053
5920
  export type QueryAuthConfigArgs = {
6054
5921
  tenantId?: InputMaybe<Scalars['ID']['input']>;
6055
5922
  };
6056
- export type QueryAvailableRoutesArgs = {
6057
- entityType?: InputMaybe<Scalars['String']['input']>;
6058
- isCanonical?: InputMaybe<Scalars['Boolean']['input']>;
6059
- limit?: InputMaybe<Scalars['Int']['input']>;
6060
- offset?: InputMaybe<Scalars['Int']['input']>;
6061
- search?: InputMaybe<Scalars['String']['input']>;
6062
- };
6063
5923
  export type QueryBillingCustomPackageArgs = {
6064
5924
  id: Scalars['ID']['input'];
6065
5925
  };
@@ -6216,10 +6076,6 @@ export type QueryEntityRecordsArgs = {
6216
6076
  modelKey: Scalars['String']['input'];
6217
6077
  offset?: InputMaybe<Scalars['Int']['input']>;
6218
6078
  };
6219
- export type QueryEntityUrlsArgs = {
6220
- entityId: Scalars['ID']['input'];
6221
- entityType: Scalars['String']['input'];
6222
- };
6223
6079
  export type QueryExperimentStatsArgs = {
6224
6080
  experimentId: Scalars['ID']['input'];
6225
6081
  };
@@ -6249,12 +6105,6 @@ export type QueryFilesArgs = {
6249
6105
  export type QueryGetApiKeyArgs = {
6250
6106
  id: Scalars['ID']['input'];
6251
6107
  };
6252
- export type QueryGetEntitiesRoutesArgs = {
6253
- input: GetEntitiesRoutesInput;
6254
- };
6255
- export type QueryGetEntityRoutesArgs = {
6256
- input: GetEntityRoutesInput;
6257
- };
6258
6108
  export type QueryGlobalSearchArgs = {
6259
6109
  includeMedia?: InputMaybe<Scalars['Boolean']['input']>;
6260
6110
  limit?: InputMaybe<Scalars['Int']['input']>;
@@ -6325,12 +6175,6 @@ export type QueryOverallResolutionTrendArgs = {
6325
6175
  dateRange: DateRangeInput;
6326
6176
  granularity?: InputMaybe<TrendGranularity>;
6327
6177
  };
6328
- export type QueryParentRoutesArgs = {
6329
- entityType?: InputMaybe<Scalars['String']['input']>;
6330
- limit?: InputMaybe<Scalars['Int']['input']>;
6331
- offset?: InputMaybe<Scalars['Int']['input']>;
6332
- search?: InputMaybe<Scalars['String']['input']>;
6333
- };
6334
6178
  export type QueryPreviewRollbackBatchArgs = {
6335
6179
  batchId: Scalars['ID']['input'];
6336
6180
  };
@@ -6369,15 +6213,6 @@ export type QueryQueueStatusArgs = {
6369
6213
  export type QueryRecentAccountLockoutsArgs = {
6370
6214
  limit?: InputMaybe<Scalars['Int']['input']>;
6371
6215
  };
6372
- export type QueryRedirectArgs = {
6373
- id: Scalars['ID']['input'];
6374
- };
6375
- export type QueryRedirectsArgs = {
6376
- activeOnly?: InputMaybe<Scalars['Boolean']['input']>;
6377
- limit?: InputMaybe<Scalars['Int']['input']>;
6378
- offset?: InputMaybe<Scalars['Int']['input']>;
6379
- search?: InputMaybe<Scalars['String']['input']>;
6380
- };
6381
6216
  export type QueryResolutionDistributionArgs = {
6382
6217
  dateRange: DateRangeInput;
6383
6218
  dimension: ResolutionDimension;
@@ -6407,9 +6242,16 @@ export type QueryResolveEntityByPathArgs = {
6407
6242
  path: Scalars['String']['input'];
6408
6243
  referenceOptions?: InputMaybe<ReferenceResolutionOptionsInput>;
6409
6244
  };
6410
- export type QueryRouteAliasesArgs = {
6411
- limit?: InputMaybe<Scalars['Int']['input']>;
6412
- offset?: InputMaybe<Scalars['Int']['input']>;
6245
+ export type QueryResolveEntityUrlArgs = {
6246
+ country?: InputMaybe<Scalars['String']['input']>;
6247
+ locale?: InputMaybe<Scalars['String']['input']>;
6248
+ modelKey: Scalars['String']['input'];
6249
+ naturalKey: Scalars['String']['input'];
6250
+ };
6251
+ export type QueryResolveEntityUrlBatchArgs = {
6252
+ country?: InputMaybe<Scalars['String']['input']>;
6253
+ entities: Array<EntityUrlInput>;
6254
+ locale?: InputMaybe<Scalars['String']['input']>;
6413
6255
  };
6414
6256
  export type QueryScheduledPublishArgs = {
6415
6257
  versionId: Scalars['ID']['input'];
@@ -6469,18 +6311,9 @@ export type QueryTenantsArgs = {
6469
6311
  offset?: InputMaybe<Scalars['Int']['input']>;
6470
6312
  search?: InputMaybe<Scalars['String']['input']>;
6471
6313
  };
6472
- export type QueryUnifiedRedirectsArgs = {
6473
- limit?: InputMaybe<Scalars['Int']['input']>;
6474
- offset?: InputMaybe<Scalars['Int']['input']>;
6475
- search?: InputMaybe<Scalars['String']['input']>;
6476
- type?: InputMaybe<UnifiedRedirectType>;
6477
- };
6478
6314
  export type QueryValidateInvitationArgs = {
6479
6315
  token: Scalars['String']['input'];
6480
6316
  };
6481
- export type QueryValidateRoutePathArgs = {
6482
- path: Scalars['String']['input'];
6483
- };
6484
6317
  export type QueryVariantPerformanceArgs = {
6485
6318
  dateRange: DateRangeInput;
6486
6319
  device?: InputMaybe<Scalars['String']['input']>;
@@ -6628,42 +6461,6 @@ export type RecentlyOpenedItemInput = {
6628
6461
  path: Scalars['String']['input'];
6629
6462
  type: Scalars['String']['input'];
6630
6463
  };
6631
- /** Manual redirect rule */
6632
- export type Redirect = {
6633
- __typename?: 'Redirect';
6634
- /** When the redirect becomes active */
6635
- activeFrom?: Maybe<Scalars['DateTime']['output']>;
6636
- /** When the redirect expires */
6637
- activeTo?: Maybe<Scalars['DateTime']['output']>;
6638
- createdAt: Scalars['DateTime']['output'];
6639
- createdBy?: Maybe<Scalars['String']['output']>;
6640
- /** Number of times this redirect has been used */
6641
- hitCount: Scalars['Int']['output'];
6642
- id: Scalars['ID']['output'];
6643
- /** Last time this redirect was matched */
6644
- lastHitAt?: Maybe<Scalars['DateTime']['output']>;
6645
- /** Higher priority redirects are matched first */
6646
- priority: Scalars['Int']['output'];
6647
- /** Optional reason/note for this redirect */
6648
- reason?: Maybe<Scalars['String']['output']>;
6649
- /** Source URL pattern (e.g., /old-path or /category/*) */
6650
- sourcePattern: Scalars['String']['output'];
6651
- /** HTTP status code (301, 302, 307, 308) */
6652
- statusCode: Scalars['Int']['output'];
6653
- /** Target URL pattern (e.g., /new-path or https://example.com) */
6654
- targetPattern: Scalars['String']['output'];
6655
- updatedAt: Scalars['DateTime']['output'];
6656
- };
6657
- /** Connection type for paginated redirects */
6658
- export type RedirectsConnection = {
6659
- __typename?: 'RedirectsConnection';
6660
- /** Whether there are more items to fetch */
6661
- hasMore: Scalars['Boolean']['output'];
6662
- /** List of redirects */
6663
- items: Array<Redirect>;
6664
- /** Total count of redirects matching the filter */
6665
- total: Scalars['Int']['output'];
6666
- };
6667
6464
  /** Reference resolution options */
6668
6465
  export type ReferenceResolutionOptionsInput = {
6669
6466
  /** Maximum depth for nested resolution (null = unlimited with cycle detection) */
@@ -6876,6 +6673,14 @@ export type ResolvedEntityRecord = {
6876
6673
  modelKey: Scalars['String']['output'];
6877
6674
  naturalKey?: Maybe<Scalars['String']['output']>;
6878
6675
  };
6676
+ /** Resolved entity URL result */
6677
+ export type ResolvedEntityUrl = {
6678
+ __typename?: 'ResolvedEntityUrl';
6679
+ /** The resolved URL path */
6680
+ href: Scalars['String']['output'];
6681
+ /** Whether this is the canonical URL */
6682
+ isCanonical: Scalars['Boolean']['output'];
6683
+ };
6879
6684
  /** Entity variant in resolution result */
6880
6685
  export type ResolvedEntityVariant = {
6881
6686
  __typename?: 'ResolvedEntityVariant';
@@ -6902,7 +6707,7 @@ export type ResolvedField = {
6902
6707
  /** Fully resolved value (can be ZoneValue when type is 'zone') */
6903
6708
  value?: Maybe<Scalars['JSON']['output']>;
6904
6709
  };
6905
- /** Resolved route (pre-computed) */
6710
+ /** Resolved route (used in sitemap and internal APIs) */
6906
6711
  export type ResolvedRoute = {
6907
6712
  __typename?: 'ResolvedRoute';
6908
6713
  /** How to handle non-canonical routes: 'redirect' or 'canonical-tag' */
@@ -7028,44 +6833,6 @@ export type RollbackPublishBatchResult = {
7028
6833
  /** Scheduled time if not immediate */
7029
6834
  scheduledAt?: Maybe<Scalars['DateTime']['output']>;
7030
6835
  };
7031
- /** A route alias that redirects to a canonical route */
7032
- export type RouteAlias = {
7033
- __typename?: 'RouteAlias';
7034
- /** Canonical path this redirects to */
7035
- canonicalPath: Scalars['String']['output'];
7036
- /** Entity type (shopify_collection, shopify_product, page) */
7037
- entityType: Scalars['String']['output'];
7038
- /** Path of the alias route */
7039
- path: Scalars['String']['output'];
7040
- /** Market/locale subfolders */
7041
- subfolders?: Maybe<Scalars['JSON']['output']>;
7042
- };
7043
- /** Route conflict - multiple entities competing for the same URL path */
7044
- export type RouteConflict = {
7045
- __typename?: 'RouteConflict';
7046
- /** Entities that match this path */
7047
- entities: Array<RouteConflictEntity>;
7048
- /** Human-readable conflict message */
7049
- message: Scalars['String']['output'];
7050
- /** The conflicting URL path */
7051
- path: Scalars['String']['output'];
7052
- /** Severity level */
7053
- severity: Scalars['String']['output'];
7054
- };
7055
- /** Entity involved in a route conflict */
7056
- export type RouteConflictEntity = {
7057
- __typename?: 'RouteConflictEntity';
7058
- /** Entity record ID */
7059
- entityId: Scalars['String']['output'];
7060
- /** Entity model key (e.g., 'page', 'shopify-product') */
7061
- entityType: Scalars['String']['output'];
7062
- /** Entity natural key */
7063
- naturalKey: Scalars['String']['output'];
7064
- /** Priority (lower = higher priority, which one would actually match) */
7065
- priority: Scalars['Int']['output'];
7066
- /** Whether this is a canonical route or alias */
7067
- routeType: Scalars['String']['output'];
7068
- };
7069
6836
  /** Input for context configuration */
7070
6837
  export type RouteContextConfigInput = {
7071
6838
  /** Context key (e.g., 'market', 'locale', 'brand') */
@@ -7131,14 +6898,6 @@ export declare enum RouteNodeType {
7131
6898
  /** Container path for organizing child routes (e.g., /shop, /blog) */
7132
6899
  Static = "STATIC"
7133
6900
  }
7134
- /** Route regeneration job status */
7135
- export type RouteRegenerationStatus = {
7136
- __typename?: 'RouteRegenerationStatus';
7137
- isRunning: Scalars['Boolean']['output'];
7138
- jobCount: Scalars['Int']['output'];
7139
- lastCompletedAt?: Maybe<Scalars['DateTime']['output']>;
7140
- lastJobState?: Maybe<Scalars['String']['output']>;
7141
- };
7142
6901
  /** Variant rule */
7143
6902
  export type RuleDebug = {
7144
6903
  __typename?: 'RuleDebug';
@@ -7548,6 +7307,22 @@ export type SignupUser = {
7548
7307
  id: Scalars['ID']['output'];
7549
7308
  lastName?: Maybe<Scalars['String']['output']>;
7550
7309
  };
7310
+ /** Sitemap information including URL count and split status */
7311
+ export type SitemapInfo = {
7312
+ __typename?: 'SitemapInfo';
7313
+ /** Individual sitemap file URLs (if split) */
7314
+ childSitemaps?: Maybe<Array<Scalars['String']['output']>>;
7315
+ /** Number of sitemap files (1 if not split) */
7316
+ fileCount: Scalars['Int']['output'];
7317
+ /** Whether the sitemap is split into multiple files */
7318
+ isSplit: Scalars['Boolean']['output'];
7319
+ /** Last generation timestamp */
7320
+ lastGenerated?: Maybe<Scalars['DateTime']['output']>;
7321
+ /** Primary sitemap URL (index if split, single file otherwise) */
7322
+ url?: Maybe<Scalars['String']['output']>;
7323
+ /** Total number of URLs across all sitemap files */
7324
+ urlCount?: Maybe<Scalars['Int']['output']>;
7325
+ };
7551
7326
  export declare enum SubscriptionStatus {
7552
7327
  Active = "ACTIVE",
7553
7328
  Canceled = "CANCELED",
@@ -7824,55 +7599,6 @@ export type TypographyVariantInput = {
7824
7599
  name: Scalars['String']['input'];
7825
7600
  textTransform?: InputMaybe<Scalars['String']['input']>;
7826
7601
  };
7827
- /** Unified redirect record combining manual redirects and route aliases */
7828
- export type UnifiedRedirect = {
7829
- __typename?: 'UnifiedRedirect';
7830
- /** Entity type (route alias only) */
7831
- entityType?: Maybe<Scalars['String']['output']>;
7832
- /** Number of times this redirect has been used (manual only) */
7833
- hitCount?: Maybe<Scalars['Int']['output']>;
7834
- /** Unique identifier */
7835
- id: Scalars['ID']['output'];
7836
- /** Last time this redirect was matched (manual only) */
7837
- lastHitAt?: Maybe<Scalars['DateTime']['output']>;
7838
- /** Priority for matching (manual only) */
7839
- priority?: Maybe<Scalars['Int']['output']>;
7840
- /** Optional reason/note (manual only) */
7841
- reason?: Maybe<Scalars['String']['output']>;
7842
- /** Source URL pattern */
7843
- source: Scalars['String']['output'];
7844
- /** HTTP status code */
7845
- statusCode: Scalars['Int']['output'];
7846
- /** Target URL pattern */
7847
- target: Scalars['String']['output'];
7848
- /** Type of redirect */
7849
- type: UnifiedRedirectType;
7850
- };
7851
- /** Counts of redirects by type */
7852
- export type UnifiedRedirectCounts = {
7853
- __typename?: 'UnifiedRedirectCounts';
7854
- /** Number of manual redirects */
7855
- manual: Scalars['Int']['output'];
7856
- /** Number of route aliases */
7857
- routeAlias: Scalars['Int']['output'];
7858
- };
7859
- /** Type of redirect */
7860
- export declare enum UnifiedRedirectType {
7861
- Manual = "MANUAL",
7862
- RouteAlias = "ROUTE_ALIAS"
7863
- }
7864
- /** Connection type for unified redirects with pagination */
7865
- export type UnifiedRedirectsConnection = {
7866
- __typename?: 'UnifiedRedirectsConnection';
7867
- /** Counts by type */
7868
- counts: UnifiedRedirectCounts;
7869
- /** Whether there are more items */
7870
- hasMore: Scalars['Boolean']['output'];
7871
- /** List of unified redirects */
7872
- items: Array<UnifiedRedirect>;
7873
- /** Total count matching the filter */
7874
- total: Scalars['Int']['output'];
7875
- };
7876
7602
  /** Input for unpublishing an entity record variant */
7877
7603
  export type UnpublishEntityRecordVariantInput = {
7878
7604
  variantId: Scalars['ID']['input'];
@@ -8033,16 +7759,6 @@ export type UpdatePublishBatchInput = {
8033
7759
  /** New scheduled time (must be in the future) */
8034
7760
  scheduledAt?: InputMaybe<Scalars['DateTime']['input']>;
8035
7761
  };
8036
- /** Input for updating a redirect */
8037
- export type UpdateRedirectInput = {
8038
- activeFrom?: InputMaybe<Scalars['DateTime']['input']>;
8039
- activeTo?: InputMaybe<Scalars['DateTime']['input']>;
8040
- priority?: InputMaybe<Scalars['Int']['input']>;
8041
- reason?: InputMaybe<Scalars['String']['input']>;
8042
- sourcePattern?: InputMaybe<Scalars['String']['input']>;
8043
- statusCode?: InputMaybe<Scalars['Int']['input']>;
8044
- targetPattern?: InputMaybe<Scalars['String']['input']>;
8045
- };
8046
7762
  export type UpdateTenantInput = {
8047
7763
  name?: InputMaybe<Scalars['String']['input']>;
8048
7764
  };
@@ -8125,17 +7841,17 @@ export type UpsertEmailTemplateInput = {
8125
7841
  };
8126
7842
  export type UsageLimitStatus = {
8127
7843
  __typename?: 'UsageLimitStatus';
8128
- current: Scalars['Int']['output'];
8129
- limit: Scalars['Int']['output'];
7844
+ current: Scalars['BigInt']['output'];
7845
+ limit: Scalars['BigInt']['output'];
8130
7846
  metric: BillingMetric;
8131
7847
  percentUsed: Scalars['Float']['output'];
8132
7848
  status: LimitStatus;
8133
7849
  };
8134
7850
  export type UsageMetricValue = {
8135
7851
  __typename?: 'UsageMetricValue';
8136
- current: Scalars['Int']['output'];
8137
- included: Scalars['Int']['output'];
8138
- max?: Maybe<Scalars['Int']['output']>;
7852
+ current: Scalars['BigInt']['output'];
7853
+ included: Scalars['BigInt']['output'];
7854
+ max?: Maybe<Scalars['BigInt']['output']>;
8139
7855
  metric: BillingMetric;
8140
7856
  percentUsed: Scalars['Float']['output'];
8141
7857
  };