@eide/uniformgen 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -923,14 +923,14 @@ export type BillingOverviewMetrics = {
923
923
  export type BillingPackageLimit = {
924
924
  __typename?: 'BillingPackageLimit';
925
925
  id: Scalars['ID']['output'];
926
- includedQuantity?: Maybe<Scalars['Float']['output']>;
927
- maxQuantity?: Maybe<Scalars['Float']['output']>;
926
+ includedQuantity?: Maybe<Scalars['Int']['output']>;
927
+ maxQuantity?: Maybe<Scalars['Int']['output']>;
928
928
  metric: BillingMetric;
929
929
  overagePriceCents?: Maybe<Scalars['Int']['output']>;
930
930
  };
931
931
  export type BillingPackageLimitInput = {
932
- includedQuantity?: InputMaybe<Scalars['Float']['input']>;
933
- maxQuantity?: InputMaybe<Scalars['Float']['input']>;
932
+ includedQuantity?: InputMaybe<Scalars['Int']['input']>;
933
+ maxQuantity?: InputMaybe<Scalars['Int']['input']>;
934
934
  metric: BillingMetric;
935
935
  overagePriceCents?: InputMaybe<Scalars['Int']['input']>;
936
936
  };
@@ -958,16 +958,16 @@ export type BillingPlan = {
958
958
  export type BillingPlanLimit = {
959
959
  __typename?: 'BillingPlanLimit';
960
960
  id: Scalars['ID']['output'];
961
- includedQuantity: Scalars['Float']['output'];
962
- maxQuantity?: Maybe<Scalars['Float']['output']>;
961
+ includedQuantity: Scalars['Int']['output'];
962
+ maxQuantity?: Maybe<Scalars['Int']['output']>;
963
963
  metric: BillingMetric;
964
964
  overagePriceCents?: Maybe<Scalars['Int']['output']>;
965
965
  overageUnitSize: Scalars['Int']['output'];
966
966
  stripePriceId?: Maybe<Scalars['String']['output']>;
967
967
  };
968
968
  export type BillingPlanLimitInput = {
969
- includedQuantity: Scalars['Float']['input'];
970
- maxQuantity?: InputMaybe<Scalars['Float']['input']>;
969
+ includedQuantity: Scalars['Int']['input'];
970
+ maxQuantity?: InputMaybe<Scalars['Int']['input']>;
971
971
  metric: BillingMetric;
972
972
  overagePriceCents?: InputMaybe<Scalars['Int']['input']>;
973
973
  overageUnitSize?: InputMaybe<Scalars['Int']['input']>;
@@ -2746,6 +2746,43 @@ export type EntityReferencesDebug = {
2746
2746
  pages: Array<Scalars['ID']['output']>;
2747
2747
  products: Array<Scalars['ID']['output']>;
2748
2748
  };
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
+ };
2749
2786
  /** Unified entity search result - works for any entity model */
2750
2787
  export type EntitySearchResult = {
2751
2788
  __typename?: 'EntitySearchResult';
@@ -3429,6 +3466,34 @@ export type GenerateShopifyInstallUrlInput = {
3429
3466
  redirectUri: Scalars['String']['input'];
3430
3467
  shopDomain: Scalars['String']['input'];
3431
3468
  };
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
+ };
3432
3497
  /** Unified global search results */
3433
3498
  export type GlobalSearchResult = {
3434
3499
  __typename?: 'GlobalSearchResult';
@@ -5394,8 +5459,8 @@ export type PublicBillingPlan = {
5394
5459
  };
5395
5460
  export type PublicBillingPlanLimit = {
5396
5461
  __typename?: 'PublicBillingPlanLimit';
5397
- includedQuantity: Scalars['Float']['output'];
5398
- maxQuantity?: Maybe<Scalars['Float']['output']>;
5462
+ includedQuantity: Scalars['Int']['output'];
5463
+ maxQuantity?: Maybe<Scalars['Int']['output']>;
5399
5464
  metric: BillingMetric;
5400
5465
  };
5401
5466
  /** A publish batch containing multiple versions to publish together */
@@ -5686,6 +5751,18 @@ export type Query = {
5686
5751
  /** Get frontend URL for sitemap generation */
5687
5752
  frontendUrl?: Maybe<Scalars['String']['output']>;
5688
5753
  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>;
5689
5766
  /**
5690
5767
  * Global search across all entity records and media.
5691
5768
  *
@@ -5825,6 +5902,12 @@ export type Query = {
5825
5902
  * Uses headers for project context.
5826
5903
  */
5827
5904
  resolutionDistribution: ResolutionDistribution;
5905
+ /**
5906
+ * Batch resolve entity content by natural key.
5907
+ * Returns full resolved content with variant selection.
5908
+ * Use when you need content with templates, zones, layouts.
5909
+ */
5910
+ resolveEntities: ResolveEntitiesResult;
5828
5911
  /**
5829
5912
  * Resolve entity by model key and natural key (CMS-enriched).
5830
5913
  * Returns full content with templates, zones, layouts, breadcrumbs, gridConfig.
@@ -6166,6 +6249,12 @@ export type QueryFilesArgs = {
6166
6249
  export type QueryGetApiKeyArgs = {
6167
6250
  id: Scalars['ID']['input'];
6168
6251
  };
6252
+ export type QueryGetEntitiesRoutesArgs = {
6253
+ input: GetEntitiesRoutesInput;
6254
+ };
6255
+ export type QueryGetEntityRoutesArgs = {
6256
+ input: GetEntityRoutesInput;
6257
+ };
6169
6258
  export type QueryGlobalSearchArgs = {
6170
6259
  includeMedia?: InputMaybe<Scalars['Boolean']['input']>;
6171
6260
  limit?: InputMaybe<Scalars['Int']['input']>;
@@ -6293,6 +6382,9 @@ export type QueryResolutionDistributionArgs = {
6293
6382
  dateRange: DateRangeInput;
6294
6383
  dimension: ResolutionDimension;
6295
6384
  };
6385
+ export type QueryResolveEntitiesArgs = {
6386
+ input: ResolveEntitiesInput;
6387
+ };
6296
6388
  export type QueryResolveEntityArgs = {
6297
6389
  contexts?: InputMaybe<Scalars['JSON']['input']>;
6298
6390
  includeTemplate?: InputMaybe<Scalars['Boolean']['input']>;
@@ -6699,6 +6791,31 @@ export type ResolutionEvent = {
6699
6791
  path: Scalars['String']['output'];
6700
6792
  timestamp: Scalars['String']['output'];
6701
6793
  };
6794
+ /** Input for batch entity content resolution */
6795
+ export type ResolveEntitiesInput = {
6796
+ /** Context dimensions for variant resolution */
6797
+ contexts?: InputMaybe<Scalars['JSON']['input']>;
6798
+ /** Include template/zone layout info */
6799
+ includeTemplate?: InputMaybe<Scalars['Boolean']['input']>;
6800
+ /** Locale for field translations */
6801
+ locale?: InputMaybe<Scalars['String']['input']>;
6802
+ /** Entity model key */
6803
+ modelKey: Scalars['String']['input'];
6804
+ /** Array of natural keys to resolve */
6805
+ naturalKeys: Array<Scalars['String']['input']>;
6806
+ /** Reference resolution options */
6807
+ referenceOptions?: InputMaybe<ReferenceResolutionOptionsInput>;
6808
+ };
6809
+ /** Result of batch entity resolution */
6810
+ export type ResolveEntitiesResult = {
6811
+ __typename?: 'ResolveEntitiesResult';
6812
+ /** Natural keys that were not found */
6813
+ notFound: Array<Scalars['String']['output']>;
6814
+ /** Resolution context used */
6815
+ resolvedWith: ResolutionContextOutput;
6816
+ /** Results in same order as input naturalKeys */
6817
+ results: Array<ResolvedEntityBatchResult>;
6818
+ };
6702
6819
  export type ResolveNoteInput = {
6703
6820
  noteId: Scalars['ID']['input'];
6704
6821
  resolutionNote?: InputMaybe<Scalars['String']['input']>;
@@ -6722,6 +6839,16 @@ export type ResolvedContent = {
6722
6839
  /** Template reference (null if no template assigned) */
6723
6840
  template?: Maybe<ResolvedTemplateRef>;
6724
6841
  };
6842
+ /** Single entity resolution result in batch */
6843
+ export type ResolvedEntityBatchResult = {
6844
+ __typename?: 'ResolvedEntityBatchResult';
6845
+ /** Whether the entity was found and resolved */
6846
+ found: Scalars['Boolean']['output'];
6847
+ /** The natural key that was requested */
6848
+ naturalKey: Scalars['String']['output'];
6849
+ /** Full resolution result (same structure as resolveEntity) */
6850
+ resolution?: Maybe<ResolvedEntityContent>;
6851
+ };
6725
6852
  /**
6726
6853
  * Resolved entity content (unified output format)
6727
6854
  * Works for ANY entity type - now uses the same structure as public resolveRoute
@@ -8006,9 +8133,9 @@ export type UsageLimitStatus = {
8006
8133
  };
8007
8134
  export type UsageMetricValue = {
8008
8135
  __typename?: 'UsageMetricValue';
8009
- current: Scalars['Float']['output'];
8010
- included: Scalars['Float']['output'];
8011
- max?: Maybe<Scalars['Float']['output']>;
8136
+ current: Scalars['Int']['output'];
8137
+ included: Scalars['Int']['output'];
8138
+ max?: Maybe<Scalars['Int']['output']>;
8012
8139
  metric: BillingMetric;
8013
8140
  percentUsed: Scalars['Float']['output'];
8014
8141
  };