@confighub/api 0.4.16 → 0.4.17

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.
package/dist/index.d.cts CHANGED
@@ -595,6 +595,26 @@ interface paths {
595
595
  patch?: never;
596
596
  trace?: never;
597
597
  };
598
+ "/promote": {
599
+ parameters: {
600
+ query?: never;
601
+ header?: never;
602
+ path?: never;
603
+ cookie?: never;
604
+ };
605
+ get?: never;
606
+ put?: never;
607
+ /**
608
+ * Promote changes into downstream variants
609
+ * @description Moves changes from upstream Spaces into the downstream variants selected by WhereSpace, SpaceFilterID, ChangeOrderID and TargetStage, and makes them match: Units are upgraded, emptied, revived and cloned, clones are placed in the variant's namespace, and their Links are copied. With a ChangeOrder only its range is promoted, and with a ChangeWorkflow the Stage's entry gates are enforced. Promoting again changes nothing.
610
+ */
611
+ post: operations["Promote"];
612
+ delete?: never;
613
+ options?: never;
614
+ head?: never;
615
+ patch?: never;
616
+ trace?: never;
617
+ };
598
618
  "/release": {
599
619
  parameters: {
600
620
  query?: never;
@@ -2953,6 +2973,7 @@ interface components {
2953
2973
  Parameters?: {
2954
2974
  [key: string]: unknown;
2955
2975
  };
2976
+ readonly PromotionOverrides?: components["schemas"]["ChangeOrderPromotionOverride"][];
2956
2977
  /** @description ReleasedRestoredSpaceIDs is where the undoing has been released: the Spaces in RestoredSpaceIDs whose Units are released at or past the Revision the restore Tag marks. Covering ReleasedSpaceIDs is what State reports as RestoreReleased. Derived when the ChangeOrder is read. */
2957
2978
  readonly ReleasedRestoredSpaceIDs?: components["schemas"]["UUID"][];
2958
2979
  /** @description ReleasedSpaceIDs is where the ChangeOrder has been released: the Spaces in scope whose Units in the Space's release are applied at or past the Revision the end Tag marks. Derived when the ChangeOrder is read. */
@@ -3015,6 +3036,21 @@ interface components {
3015
3036
  ChangeOrder?: components["schemas"]["ChangeOrder"];
3016
3037
  Error?: components["schemas"]["ResponseError"];
3017
3038
  };
3039
+ ChangeOrderPromotionOverride: {
3040
+ FailedGates?: string[];
3041
+ /**
3042
+ * Format: date-time
3043
+ * @example 2006-01-02T15:04:05Z07:00
3044
+ */
3045
+ OverriddenAt?: string;
3046
+ Reason?: string;
3047
+ Stage?: string;
3048
+ /**
3049
+ * Format: uuid
3050
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3051
+ */
3052
+ UserID?: string;
3053
+ };
3018
3054
  /** @description Defines an entity changeset. */
3019
3055
  ChangeSet: {
3020
3056
  /** @description An optional map of Annotation key/value pairs for tools to attach information to entities. */
@@ -4276,6 +4312,150 @@ interface components {
4276
4312
  Permissions: {
4277
4313
  [key: string]: components["schemas"]["Subjects"];
4278
4314
  };
4315
+ PromoteGateResult: {
4316
+ /** @description Why the gate does not hold. */
4317
+ Message?: string;
4318
+ /** @description Promoted, Released, Healthy, or a custom prerequisite's name. */
4319
+ Prerequisite?: string;
4320
+ Satisfied?: boolean;
4321
+ /**
4322
+ * Format: uuid
4323
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4324
+ */
4325
+ SpaceID?: string;
4326
+ SpaceSlug?: string;
4327
+ };
4328
+ PromoteLinkResult: {
4329
+ /** @description Create, Unchanged, Skip, or Orphaned. */
4330
+ Action?: string;
4331
+ Error?: components["schemas"]["ResponseError"];
4332
+ FromUnitSlug?: string;
4333
+ /**
4334
+ * Format: uuid
4335
+ * @description Absent for a Link a dry run would create.
4336
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4337
+ */
4338
+ LinkID?: string;
4339
+ Reason?: string;
4340
+ Slug?: string;
4341
+ ToSpaceSlug?: string;
4342
+ ToUnitSlug?: string;
4343
+ /**
4344
+ * Format: uuid
4345
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4346
+ */
4347
+ UpstreamLinkID?: string;
4348
+ };
4349
+ PromoteRequest: {
4350
+ /** @description Recorded on each Unit write. */
4351
+ ChangeDescription?: string;
4352
+ /**
4353
+ * Format: uuid
4354
+ * @description The ChangeOrder to promote. Without one, everything each upstream has reached is promoted. With one, only its range is, into the Spaces it is headed for.
4355
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4356
+ */
4357
+ ChangeOrderID?: string;
4358
+ /**
4359
+ * Format: uuid
4360
+ * @description An existing open ChangeSet to record every write in.
4361
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4362
+ */
4363
+ ChangeSetID?: string;
4364
+ /** @description The Plan a previous dry run returned. If the plan now differs, nothing is written and the request fails with 412. */
4365
+ ExpectedPlan?: string;
4366
+ /** @description Promote even though the Stage's entry gates do not hold. Requires ForceReason, and Edit permission on the ChangeOrder, where the override is recorded. */
4367
+ Force?: boolean;
4368
+ /** @description Why the gates were overridden. Required with Force. */
4369
+ ForceReason?: string;
4370
+ /**
4371
+ * Format: uuid
4372
+ * @description A Filter over Spaces selecting the Spaces to promote. Intersected with the other selectors.
4373
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4374
+ */
4375
+ SpaceFilterID?: string;
4376
+ /** @description Merge each Unit's range as one rebased Revision rather than replaying each upstream Revision. */
4377
+ Squash?: boolean;
4378
+ /** @description A Stage of the ChangeOrder's ChangeWorkflow to promote into. Requires a ChangeOrder with a ChangeWorkflow. When empty, and neither WhereSpace nor SpaceFilterID is given, the next Stage the change has not reached. */
4379
+ TargetStage?: string;
4380
+ /** @description A where expression selecting the Spaces to promote. Intersected with the other selectors. */
4381
+ WhereSpace?: string;
4382
+ };
4383
+ PromoteResult: {
4384
+ /**
4385
+ * Format: uuid
4386
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4387
+ */
4388
+ ChangeOrderID?: string;
4389
+ /** @description Every Stage of the ChangeWorkflow already has the change; nothing was promoted. */
4390
+ Complete?: boolean;
4391
+ /** @description True when nothing was written. */
4392
+ DryRun?: boolean;
4393
+ /** @description Digest of the planned actions. Send it as ExpectedPlan to apply exactly this plan. */
4394
+ Plan?: string;
4395
+ /** @description In the order they were, or would be, promoted: a Space after any selected Space it takes from. */
4396
+ Spaces?: components["schemas"]["PromoteSpaceResult"][];
4397
+ /** @description The Stages entered, each with every gate evaluated over the Stage before it. */
4398
+ Stages?: components["schemas"]["PromoteStageResult"][];
4399
+ };
4400
+ PromoteSpaceResult: {
4401
+ /** @description Promote, Unchanged, Skipped, Blocked, or Failed. */
4402
+ Action?: string;
4403
+ Error?: components["schemas"]["ResponseError"];
4404
+ Links?: components["schemas"]["PromoteLinkResult"][];
4405
+ /** @description A dry run previewed this Space against its upstream as it is now, although the same request promotes that upstream first. */
4406
+ PreviewedAgainstCurrentUpstream?: boolean;
4407
+ /** @description Why the Space was Skipped or Blocked. */
4408
+ Reason?: string;
4409
+ /**
4410
+ * Format: uuid
4411
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4412
+ */
4413
+ SpaceID?: string;
4414
+ SpaceSlug?: string;
4415
+ Stage?: string;
4416
+ Units?: components["schemas"]["PromoteUnitResult"][];
4417
+ /**
4418
+ * Format: uuid
4419
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4420
+ */
4421
+ UpstreamSpaceID?: string;
4422
+ UpstreamSpaceSlug?: string;
4423
+ };
4424
+ PromoteStageResult: {
4425
+ /** @description The Stage was the next one the change has not reached, rather than named. */
4426
+ Chosen?: boolean;
4427
+ /** @description The gates did not hold and the promotion was forced. */
4428
+ Forced?: boolean;
4429
+ Gates?: components["schemas"]["PromoteGateResult"][];
4430
+ Name?: string;
4431
+ /** @description The Stage whose Spaces the gates are evaluated over. Empty for the first Stage, which has no gates. */
4432
+ PreviousStage?: string;
4433
+ };
4434
+ PromoteUnitResult: {
4435
+ /** @description Upgrade, Mark, Empty, Revive, Clone, Invoke, Unchanged, or Skip. */
4436
+ Action?: string;
4437
+ Conflicts?: components["schemas"]["MutationConflictList"];
4438
+ Error?: components["schemas"]["ResponseError"];
4439
+ Mutations?: components["schemas"]["ResourceMutationList"];
4440
+ /** Format: int64 */
4441
+ PreviousHeadMutationNum?: number;
4442
+ /** Format: int64 */
4443
+ PreviousHeadRevisionNum?: number;
4444
+ /** @description For Skip and Unchanged: NotCovered, CreatedAfterChangeOrder, or AlreadyTaken. */
4445
+ Reason?: string;
4446
+ Slug?: string;
4447
+ /**
4448
+ * Format: uuid
4449
+ * @description Absent for a clone a dry run would create.
4450
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4451
+ */
4452
+ UnitID?: string;
4453
+ /**
4454
+ * Format: uuid
4455
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4456
+ */
4457
+ UpstreamUnitID?: string;
4458
+ };
4279
4459
  /** @description UnitAction is a record of an operation queued for a Worker, such as a function invocation on a unit. Operations are delivered to the worker in creation order; if the worker is disconnected, pending operations are delivered when it reconnects. One or more UnitEvents will correspond to each UnitAction. */
4280
4460
  QueuedOperation: {
4281
4461
  Action?: components["schemas"]["ActionType"];
@@ -8617,7 +8797,7 @@ interface operations {
8617
8797
  * An example conjunction is:
8618
8798
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
8619
8799
  *
8620
- * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
8800
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
8621
8801
  *
8622
8802
  * The whole string must be query-encoded.
8623
8803
  */
@@ -8785,7 +8965,7 @@ interface operations {
8785
8965
  * An example conjunction is:
8786
8966
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
8787
8967
  *
8788
- * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
8968
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
8789
8969
  *
8790
8970
  * The whole string must be query-encoded.
8791
8971
  */
@@ -9061,7 +9241,7 @@ interface operations {
9061
9241
  * An example conjunction is:
9062
9242
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
9063
9243
  *
9064
- * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
9244
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
9065
9245
  *
9066
9246
  * The whole string must be query-encoded.
9067
9247
  */
@@ -9245,7 +9425,7 @@ interface operations {
9245
9425
  * An example conjunction is:
9246
9426
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
9247
9427
  *
9248
- * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
9428
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
9249
9429
  *
9250
9430
  * The whole string must be query-encoded.
9251
9431
  */
@@ -15397,6 +15577,116 @@ interface operations {
15397
15577
  };
15398
15578
  };
15399
15579
  };
15580
+ Promote: {
15581
+ parameters: {
15582
+ query?: {
15583
+ /** @description Plan the promotion, evaluate its gates, and return the same response without writing anything. */
15584
+ dry_run?: boolean;
15585
+ /** @description Comma-separated parts of the result to return in addition to the actions: Mutations for what each Unit write changed, or on a dry run would change. On a dry run it runs the merges a plan otherwise skips, so it is returned only when named. */
15586
+ include?: string;
15587
+ };
15588
+ header?: never;
15589
+ path?: never;
15590
+ cookie?: never;
15591
+ };
15592
+ requestBody?: {
15593
+ content: {
15594
+ "application/json": components["schemas"]["PromoteRequest"];
15595
+ };
15596
+ };
15597
+ responses: {
15598
+ /** @description OK */
15599
+ 200: {
15600
+ headers: {
15601
+ [name: string]: unknown;
15602
+ };
15603
+ content: {
15604
+ "application/json": components["schemas"]["PromoteResult"];
15605
+ };
15606
+ };
15607
+ /** @description Multi-Status: some Unit or Link writes failed, each carrying its own error */
15608
+ 207: {
15609
+ headers: {
15610
+ [name: string]: unknown;
15611
+ };
15612
+ content: {
15613
+ "application/json": components["schemas"]["PromoteResult"];
15614
+ };
15615
+ };
15616
+ /** @description Promote request is invalid (Bad Request). */
15617
+ 400: {
15618
+ headers: {
15619
+ [name: string]: unknown;
15620
+ };
15621
+ content: {
15622
+ "application/json": components["schemas"]["StandardErrorResponse"];
15623
+ };
15624
+ };
15625
+ /** @description Unauthorized access. */
15626
+ 401: {
15627
+ headers: {
15628
+ [name: string]: unknown;
15629
+ };
15630
+ content: {
15631
+ "application/json": components["schemas"]["StandardErrorResponse"];
15632
+ };
15633
+ };
15634
+ /** @description Forbidden access. */
15635
+ 403: {
15636
+ headers: {
15637
+ [name: string]: unknown;
15638
+ };
15639
+ content: {
15640
+ "application/json": components["schemas"]["StandardErrorResponse"];
15641
+ };
15642
+ };
15643
+ /** @description Promote not found. */
15644
+ 404: {
15645
+ headers: {
15646
+ [name: string]: unknown;
15647
+ };
15648
+ content: {
15649
+ "application/json": components["schemas"]["StandardErrorResponse"];
15650
+ };
15651
+ };
15652
+ /** @description The Stage's entry gates do not hold; the result names each gate and whether it holds. Nothing was written. */
15653
+ 409: {
15654
+ headers: {
15655
+ [name: string]: unknown;
15656
+ };
15657
+ content: {
15658
+ "application/json": components["schemas"]["PromoteResult"];
15659
+ };
15660
+ };
15661
+ /** @description The plan differs from ExpectedPlan. Nothing was written. */
15662
+ 412: {
15663
+ headers: {
15664
+ [name: string]: unknown;
15665
+ };
15666
+ content: {
15667
+ "application/json": components["schemas"]["StandardErrorResponse"];
15668
+ };
15669
+ };
15670
+ /** @description Something went wrong while processing Promote. */
15671
+ 500: {
15672
+ headers: {
15673
+ [name: string]: unknown;
15674
+ };
15675
+ content: {
15676
+ "application/json": components["schemas"]["StandardErrorResponse"];
15677
+ };
15678
+ };
15679
+ /** @description Unexpected error. */
15680
+ default: {
15681
+ headers: {
15682
+ [name: string]: unknown;
15683
+ };
15684
+ content: {
15685
+ "application/json": components["schemas"]["StandardErrorResponse"];
15686
+ };
15687
+ };
15688
+ };
15689
+ };
15400
15690
  ListAllReleases: {
15401
15691
  parameters: {
15402
15692
  query?: {
@@ -18638,7 +18928,7 @@ interface operations {
18638
18928
  * An example conjunction is:
18639
18929
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
18640
18930
  *
18641
- * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
18931
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
18642
18932
  *
18643
18933
  * The whole string must be query-encoded.
18644
18934
  */
package/dist/index.d.ts CHANGED
@@ -595,6 +595,26 @@ interface paths {
595
595
  patch?: never;
596
596
  trace?: never;
597
597
  };
598
+ "/promote": {
599
+ parameters: {
600
+ query?: never;
601
+ header?: never;
602
+ path?: never;
603
+ cookie?: never;
604
+ };
605
+ get?: never;
606
+ put?: never;
607
+ /**
608
+ * Promote changes into downstream variants
609
+ * @description Moves changes from upstream Spaces into the downstream variants selected by WhereSpace, SpaceFilterID, ChangeOrderID and TargetStage, and makes them match: Units are upgraded, emptied, revived and cloned, clones are placed in the variant's namespace, and their Links are copied. With a ChangeOrder only its range is promoted, and with a ChangeWorkflow the Stage's entry gates are enforced. Promoting again changes nothing.
610
+ */
611
+ post: operations["Promote"];
612
+ delete?: never;
613
+ options?: never;
614
+ head?: never;
615
+ patch?: never;
616
+ trace?: never;
617
+ };
598
618
  "/release": {
599
619
  parameters: {
600
620
  query?: never;
@@ -2953,6 +2973,7 @@ interface components {
2953
2973
  Parameters?: {
2954
2974
  [key: string]: unknown;
2955
2975
  };
2976
+ readonly PromotionOverrides?: components["schemas"]["ChangeOrderPromotionOverride"][];
2956
2977
  /** @description ReleasedRestoredSpaceIDs is where the undoing has been released: the Spaces in RestoredSpaceIDs whose Units are released at or past the Revision the restore Tag marks. Covering ReleasedSpaceIDs is what State reports as RestoreReleased. Derived when the ChangeOrder is read. */
2957
2978
  readonly ReleasedRestoredSpaceIDs?: components["schemas"]["UUID"][];
2958
2979
  /** @description ReleasedSpaceIDs is where the ChangeOrder has been released: the Spaces in scope whose Units in the Space's release are applied at or past the Revision the end Tag marks. Derived when the ChangeOrder is read. */
@@ -3015,6 +3036,21 @@ interface components {
3015
3036
  ChangeOrder?: components["schemas"]["ChangeOrder"];
3016
3037
  Error?: components["schemas"]["ResponseError"];
3017
3038
  };
3039
+ ChangeOrderPromotionOverride: {
3040
+ FailedGates?: string[];
3041
+ /**
3042
+ * Format: date-time
3043
+ * @example 2006-01-02T15:04:05Z07:00
3044
+ */
3045
+ OverriddenAt?: string;
3046
+ Reason?: string;
3047
+ Stage?: string;
3048
+ /**
3049
+ * Format: uuid
3050
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3051
+ */
3052
+ UserID?: string;
3053
+ };
3018
3054
  /** @description Defines an entity changeset. */
3019
3055
  ChangeSet: {
3020
3056
  /** @description An optional map of Annotation key/value pairs for tools to attach information to entities. */
@@ -4276,6 +4312,150 @@ interface components {
4276
4312
  Permissions: {
4277
4313
  [key: string]: components["schemas"]["Subjects"];
4278
4314
  };
4315
+ PromoteGateResult: {
4316
+ /** @description Why the gate does not hold. */
4317
+ Message?: string;
4318
+ /** @description Promoted, Released, Healthy, or a custom prerequisite's name. */
4319
+ Prerequisite?: string;
4320
+ Satisfied?: boolean;
4321
+ /**
4322
+ * Format: uuid
4323
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4324
+ */
4325
+ SpaceID?: string;
4326
+ SpaceSlug?: string;
4327
+ };
4328
+ PromoteLinkResult: {
4329
+ /** @description Create, Unchanged, Skip, or Orphaned. */
4330
+ Action?: string;
4331
+ Error?: components["schemas"]["ResponseError"];
4332
+ FromUnitSlug?: string;
4333
+ /**
4334
+ * Format: uuid
4335
+ * @description Absent for a Link a dry run would create.
4336
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4337
+ */
4338
+ LinkID?: string;
4339
+ Reason?: string;
4340
+ Slug?: string;
4341
+ ToSpaceSlug?: string;
4342
+ ToUnitSlug?: string;
4343
+ /**
4344
+ * Format: uuid
4345
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4346
+ */
4347
+ UpstreamLinkID?: string;
4348
+ };
4349
+ PromoteRequest: {
4350
+ /** @description Recorded on each Unit write. */
4351
+ ChangeDescription?: string;
4352
+ /**
4353
+ * Format: uuid
4354
+ * @description The ChangeOrder to promote. Without one, everything each upstream has reached is promoted. With one, only its range is, into the Spaces it is headed for.
4355
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4356
+ */
4357
+ ChangeOrderID?: string;
4358
+ /**
4359
+ * Format: uuid
4360
+ * @description An existing open ChangeSet to record every write in.
4361
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4362
+ */
4363
+ ChangeSetID?: string;
4364
+ /** @description The Plan a previous dry run returned. If the plan now differs, nothing is written and the request fails with 412. */
4365
+ ExpectedPlan?: string;
4366
+ /** @description Promote even though the Stage's entry gates do not hold. Requires ForceReason, and Edit permission on the ChangeOrder, where the override is recorded. */
4367
+ Force?: boolean;
4368
+ /** @description Why the gates were overridden. Required with Force. */
4369
+ ForceReason?: string;
4370
+ /**
4371
+ * Format: uuid
4372
+ * @description A Filter over Spaces selecting the Spaces to promote. Intersected with the other selectors.
4373
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4374
+ */
4375
+ SpaceFilterID?: string;
4376
+ /** @description Merge each Unit's range as one rebased Revision rather than replaying each upstream Revision. */
4377
+ Squash?: boolean;
4378
+ /** @description A Stage of the ChangeOrder's ChangeWorkflow to promote into. Requires a ChangeOrder with a ChangeWorkflow. When empty, and neither WhereSpace nor SpaceFilterID is given, the next Stage the change has not reached. */
4379
+ TargetStage?: string;
4380
+ /** @description A where expression selecting the Spaces to promote. Intersected with the other selectors. */
4381
+ WhereSpace?: string;
4382
+ };
4383
+ PromoteResult: {
4384
+ /**
4385
+ * Format: uuid
4386
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4387
+ */
4388
+ ChangeOrderID?: string;
4389
+ /** @description Every Stage of the ChangeWorkflow already has the change; nothing was promoted. */
4390
+ Complete?: boolean;
4391
+ /** @description True when nothing was written. */
4392
+ DryRun?: boolean;
4393
+ /** @description Digest of the planned actions. Send it as ExpectedPlan to apply exactly this plan. */
4394
+ Plan?: string;
4395
+ /** @description In the order they were, or would be, promoted: a Space after any selected Space it takes from. */
4396
+ Spaces?: components["schemas"]["PromoteSpaceResult"][];
4397
+ /** @description The Stages entered, each with every gate evaluated over the Stage before it. */
4398
+ Stages?: components["schemas"]["PromoteStageResult"][];
4399
+ };
4400
+ PromoteSpaceResult: {
4401
+ /** @description Promote, Unchanged, Skipped, Blocked, or Failed. */
4402
+ Action?: string;
4403
+ Error?: components["schemas"]["ResponseError"];
4404
+ Links?: components["schemas"]["PromoteLinkResult"][];
4405
+ /** @description A dry run previewed this Space against its upstream as it is now, although the same request promotes that upstream first. */
4406
+ PreviewedAgainstCurrentUpstream?: boolean;
4407
+ /** @description Why the Space was Skipped or Blocked. */
4408
+ Reason?: string;
4409
+ /**
4410
+ * Format: uuid
4411
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4412
+ */
4413
+ SpaceID?: string;
4414
+ SpaceSlug?: string;
4415
+ Stage?: string;
4416
+ Units?: components["schemas"]["PromoteUnitResult"][];
4417
+ /**
4418
+ * Format: uuid
4419
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4420
+ */
4421
+ UpstreamSpaceID?: string;
4422
+ UpstreamSpaceSlug?: string;
4423
+ };
4424
+ PromoteStageResult: {
4425
+ /** @description The Stage was the next one the change has not reached, rather than named. */
4426
+ Chosen?: boolean;
4427
+ /** @description The gates did not hold and the promotion was forced. */
4428
+ Forced?: boolean;
4429
+ Gates?: components["schemas"]["PromoteGateResult"][];
4430
+ Name?: string;
4431
+ /** @description The Stage whose Spaces the gates are evaluated over. Empty for the first Stage, which has no gates. */
4432
+ PreviousStage?: string;
4433
+ };
4434
+ PromoteUnitResult: {
4435
+ /** @description Upgrade, Mark, Empty, Revive, Clone, Invoke, Unchanged, or Skip. */
4436
+ Action?: string;
4437
+ Conflicts?: components["schemas"]["MutationConflictList"];
4438
+ Error?: components["schemas"]["ResponseError"];
4439
+ Mutations?: components["schemas"]["ResourceMutationList"];
4440
+ /** Format: int64 */
4441
+ PreviousHeadMutationNum?: number;
4442
+ /** Format: int64 */
4443
+ PreviousHeadRevisionNum?: number;
4444
+ /** @description For Skip and Unchanged: NotCovered, CreatedAfterChangeOrder, or AlreadyTaken. */
4445
+ Reason?: string;
4446
+ Slug?: string;
4447
+ /**
4448
+ * Format: uuid
4449
+ * @description Absent for a clone a dry run would create.
4450
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4451
+ */
4452
+ UnitID?: string;
4453
+ /**
4454
+ * Format: uuid
4455
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4456
+ */
4457
+ UpstreamUnitID?: string;
4458
+ };
4279
4459
  /** @description UnitAction is a record of an operation queued for a Worker, such as a function invocation on a unit. Operations are delivered to the worker in creation order; if the worker is disconnected, pending operations are delivered when it reconnects. One or more UnitEvents will correspond to each UnitAction. */
4280
4460
  QueuedOperation: {
4281
4461
  Action?: components["schemas"]["ActionType"];
@@ -8617,7 +8797,7 @@ interface operations {
8617
8797
  * An example conjunction is:
8618
8798
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
8619
8799
  *
8620
- * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
8800
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
8621
8801
  *
8622
8802
  * The whole string must be query-encoded.
8623
8803
  */
@@ -8785,7 +8965,7 @@ interface operations {
8785
8965
  * An example conjunction is:
8786
8966
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
8787
8967
  *
8788
- * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
8968
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
8789
8969
  *
8790
8970
  * The whole string must be query-encoded.
8791
8971
  */
@@ -9061,7 +9241,7 @@ interface operations {
9061
9241
  * An example conjunction is:
9062
9242
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
9063
9243
  *
9064
- * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
9244
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
9065
9245
  *
9066
9246
  * The whole string must be query-encoded.
9067
9247
  */
@@ -9245,7 +9425,7 @@ interface operations {
9245
9425
  * An example conjunction is:
9246
9426
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
9247
9427
  *
9248
- * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
9428
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
9249
9429
  *
9250
9430
  * The whole string must be query-encoded.
9251
9431
  */
@@ -15397,6 +15577,116 @@ interface operations {
15397
15577
  };
15398
15578
  };
15399
15579
  };
15580
+ Promote: {
15581
+ parameters: {
15582
+ query?: {
15583
+ /** @description Plan the promotion, evaluate its gates, and return the same response without writing anything. */
15584
+ dry_run?: boolean;
15585
+ /** @description Comma-separated parts of the result to return in addition to the actions: Mutations for what each Unit write changed, or on a dry run would change. On a dry run it runs the merges a plan otherwise skips, so it is returned only when named. */
15586
+ include?: string;
15587
+ };
15588
+ header?: never;
15589
+ path?: never;
15590
+ cookie?: never;
15591
+ };
15592
+ requestBody?: {
15593
+ content: {
15594
+ "application/json": components["schemas"]["PromoteRequest"];
15595
+ };
15596
+ };
15597
+ responses: {
15598
+ /** @description OK */
15599
+ 200: {
15600
+ headers: {
15601
+ [name: string]: unknown;
15602
+ };
15603
+ content: {
15604
+ "application/json": components["schemas"]["PromoteResult"];
15605
+ };
15606
+ };
15607
+ /** @description Multi-Status: some Unit or Link writes failed, each carrying its own error */
15608
+ 207: {
15609
+ headers: {
15610
+ [name: string]: unknown;
15611
+ };
15612
+ content: {
15613
+ "application/json": components["schemas"]["PromoteResult"];
15614
+ };
15615
+ };
15616
+ /** @description Promote request is invalid (Bad Request). */
15617
+ 400: {
15618
+ headers: {
15619
+ [name: string]: unknown;
15620
+ };
15621
+ content: {
15622
+ "application/json": components["schemas"]["StandardErrorResponse"];
15623
+ };
15624
+ };
15625
+ /** @description Unauthorized access. */
15626
+ 401: {
15627
+ headers: {
15628
+ [name: string]: unknown;
15629
+ };
15630
+ content: {
15631
+ "application/json": components["schemas"]["StandardErrorResponse"];
15632
+ };
15633
+ };
15634
+ /** @description Forbidden access. */
15635
+ 403: {
15636
+ headers: {
15637
+ [name: string]: unknown;
15638
+ };
15639
+ content: {
15640
+ "application/json": components["schemas"]["StandardErrorResponse"];
15641
+ };
15642
+ };
15643
+ /** @description Promote not found. */
15644
+ 404: {
15645
+ headers: {
15646
+ [name: string]: unknown;
15647
+ };
15648
+ content: {
15649
+ "application/json": components["schemas"]["StandardErrorResponse"];
15650
+ };
15651
+ };
15652
+ /** @description The Stage's entry gates do not hold; the result names each gate and whether it holds. Nothing was written. */
15653
+ 409: {
15654
+ headers: {
15655
+ [name: string]: unknown;
15656
+ };
15657
+ content: {
15658
+ "application/json": components["schemas"]["PromoteResult"];
15659
+ };
15660
+ };
15661
+ /** @description The plan differs from ExpectedPlan. Nothing was written. */
15662
+ 412: {
15663
+ headers: {
15664
+ [name: string]: unknown;
15665
+ };
15666
+ content: {
15667
+ "application/json": components["schemas"]["StandardErrorResponse"];
15668
+ };
15669
+ };
15670
+ /** @description Something went wrong while processing Promote. */
15671
+ 500: {
15672
+ headers: {
15673
+ [name: string]: unknown;
15674
+ };
15675
+ content: {
15676
+ "application/json": components["schemas"]["StandardErrorResponse"];
15677
+ };
15678
+ };
15679
+ /** @description Unexpected error. */
15680
+ default: {
15681
+ headers: {
15682
+ [name: string]: unknown;
15683
+ };
15684
+ content: {
15685
+ "application/json": components["schemas"]["StandardErrorResponse"];
15686
+ };
15687
+ };
15688
+ };
15689
+ };
15400
15690
  ListAllReleases: {
15401
15691
  parameters: {
15402
15692
  query?: {
@@ -18638,7 +18928,7 @@ interface operations {
18638
18928
  * An example conjunction is:
18639
18929
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
18640
18930
  *
18641
- * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
18931
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceID, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereUnit.
18642
18932
  *
18643
18933
  * The whole string must be query-encoded.
18644
18934
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@confighub/api",
3
- "version": "0.4.16",
3
+ "version": "0.4.17",
4
4
  "description": "Typed, framework-agnostic client for the ConfigHub API",
5
5
  "license": "MIT",
6
6
  "repository": {