@eide/foir-cli 0.1.32 → 0.1.34

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.
@@ -760,6 +760,7 @@ export type CreateOperationInput = {
760
760
  models?: InputMaybe<Array<Scalars['String']['input']>>;
761
761
  name: Scalars['String']['input'];
762
762
  outputSchema?: InputMaybe<Scalars['JSON']['input']>;
763
+ quotas?: InputMaybe<Array<OperationQuotaInput>>;
763
764
  retryPolicy?: InputMaybe<Scalars['JSON']['input']>;
764
765
  streamConfig?: InputMaybe<OperationStreamConfigInput>;
765
766
  timeoutMs?: InputMaybe<Scalars['Int']['input']>;
@@ -1582,6 +1583,13 @@ export type FieldOperationInput = {
1582
1583
  path: Scalars['String']['input'];
1583
1584
  value?: InputMaybe<Scalars['JSON']['input']>;
1584
1585
  };
1586
+ /** Field selection for resolved content — pick or omit specific fields */
1587
+ export type FieldSelectionInput = {
1588
+ /** Exclude these field keys (mutually exclusive with omit) */
1589
+ omit?: InputMaybe<Array<Scalars['String']['input']>>;
1590
+ /** Include only these field keys (mutually exclusive with omit) */
1591
+ pick?: InputMaybe<Array<Scalars['String']['input']>>;
1592
+ };
1585
1593
  /** A file stored in the system (unified: images, videos, documents, etc.) */
1586
1594
  export type File = {
1587
1595
  /** Alt text for accessibility */
@@ -2162,6 +2170,11 @@ export type Mutation = {
2162
2170
  * Promotes winning content to the target variant and cleans up experiment artifacts.
2163
2171
  */
2164
2172
  applyExperimentWinner: ApplyWinnerResult;
2173
+ /**
2174
+ * Assign a custom package to a tenant's subscription. Platform admin only.
2175
+ * Creates a minimal subscription if the tenant doesn't have one (no Stripe required).
2176
+ */
2177
+ assignBillingCustomPackage: BillingSubscription;
2165
2178
  batchPublishVersions: BatchPublishResult;
2166
2179
  batchRecordOperations: BatchRecordOperationsResult;
2167
2180
  bulkUpdateRecords: BulkUpdateRecordsResult;
@@ -2614,6 +2627,10 @@ export type MutationApplyExperimentWinnerArgs = {
2614
2627
  experimentId: Scalars['ID']['input'];
2615
2628
  winnerId: Scalars['String']['input'];
2616
2629
  };
2630
+ export type MutationAssignBillingCustomPackageArgs = {
2631
+ customPackageId: Scalars['ID']['input'];
2632
+ tenantId: Scalars['ID']['input'];
2633
+ };
2617
2634
  export type MutationBatchPublishVersionsArgs = {
2618
2635
  batchId?: InputMaybe<Scalars['String']['input']>;
2619
2636
  versionIds: Array<Scalars['ID']['input']>;
@@ -3446,6 +3463,8 @@ export type Operation = {
3446
3463
  models?: Maybe<Array<Scalars['String']['output']>>;
3447
3464
  name: Scalars['String']['output'];
3448
3465
  outputSchema?: Maybe<Scalars['JSON']['output']>;
3466
+ /** Quota rules for rate-limiting operation executions per scope. */
3467
+ quotas?: Maybe<Array<Scalars['JSON']['output']>>;
3449
3468
  retryPolicy?: Maybe<Scalars['JSON']['output']>;
3450
3469
  /** Streaming configuration. Operations with this set support STREAM execution mode. */
3451
3470
  streamConfig?: Maybe<OperationStreamConfig>;
@@ -3495,6 +3514,27 @@ export type OperationList = {
3495
3514
  items: Array<Operation>;
3496
3515
  total: Scalars['Int']['output'];
3497
3516
  };
3517
+ /** Quota rule input for operation create/update */
3518
+ export type OperationQuotaInput = {
3519
+ /** Optional condition expression (RuleExpression as JSON) */
3520
+ condition?: InputMaybe<Scalars['JSON']['input']>;
3521
+ /** Duration window in seconds */
3522
+ duration: Scalars['Int']['input'];
3523
+ /** Max points per duration window (0 = unlimited) */
3524
+ points: Scalars['Int']['input'];
3525
+ /** Scope for quota tracking: customer, user, or tenant */
3526
+ scope: Scalars['String']['input'];
3527
+ /** Segment key to match (null = default/fallback rule) */
3528
+ segmentKey?: InputMaybe<Scalars['String']['input']>;
3529
+ };
3530
+ /** Operation quota usage for the current context */
3531
+ export type OperationQuotaUsage = {
3532
+ consumed: Scalars['Int']['output'];
3533
+ limit?: Maybe<Scalars['Int']['output']>;
3534
+ operationKey: Scalars['String']['output'];
3535
+ remaining?: Maybe<Scalars['Int']['output']>;
3536
+ resetsAt?: Maybe<Scalars['DateTime']['output']>;
3537
+ };
3498
3538
  /** Streaming configuration for an operation */
3499
3539
  export type OperationStreamConfig = {
3500
3540
  /** Max gap between callback chunks in ms (default: 30000) */
@@ -3995,6 +4035,8 @@ export type Query = {
3995
4035
  operationExecutionStats: OperationExecutionStats;
3996
4036
  /** List operation executions with filtering. */
3997
4037
  operationExecutions: OperationExecutionList;
4038
+ /** Get quota usage for an operation in the current context. */
4039
+ operationQuotaUsage?: Maybe<OperationQuotaUsage>;
3998
4040
  /** List operations for the current project. */
3999
4041
  operations: OperationList;
4000
4042
  /** Get the operations signing secret status (masked). */
@@ -4476,6 +4518,9 @@ export type QueryOperationExecutionsArgs = {
4476
4518
  operationKey?: InputMaybe<Scalars['String']['input']>;
4477
4519
  status?: InputMaybe<OperationExecutionStatus>;
4478
4520
  };
4521
+ export type QueryOperationQuotaUsageArgs = {
4522
+ operationKey: Scalars['String']['input'];
4523
+ };
4479
4524
  export type QueryOperationsArgs = {
4480
4525
  category?: InputMaybe<Scalars['String']['input']>;
4481
4526
  isActive?: InputMaybe<Scalars['Boolean']['input']>;
@@ -4754,6 +4799,7 @@ export type Record = {
4754
4799
  };
4755
4800
  export type RecordResolvedArgs = {
4756
4801
  contexts?: InputMaybe<Scalars['JSON']['input']>;
4802
+ fields?: InputMaybe<FieldSelectionInput>;
4757
4803
  locale?: InputMaybe<Scalars['String']['input']>;
4758
4804
  maxDepth?: InputMaybe<Scalars['Int']['input']>;
4759
4805
  preview?: InputMaybe<Scalars['Boolean']['input']>;
@@ -5714,6 +5760,7 @@ export type UpdateOperationInput = {
5714
5760
  models?: InputMaybe<Array<Scalars['String']['input']>>;
5715
5761
  name?: InputMaybe<Scalars['String']['input']>;
5716
5762
  outputSchema?: InputMaybe<Scalars['JSON']['input']>;
5763
+ quotas?: InputMaybe<Array<OperationQuotaInput>>;
5717
5764
  retryPolicy?: InputMaybe<Scalars['JSON']['input']>;
5718
5765
  streamConfig?: InputMaybe<OperationStreamConfigInput>;
5719
5766
  timeoutMs?: InputMaybe<Scalars['Int']['input']>;