@confighub/api 0.6.5 → 0.6.7

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
@@ -434,6 +434,26 @@ interface paths {
434
434
  patch: operations["PatchComponent"];
435
435
  trace?: never;
436
436
  };
437
+ "/demote": {
438
+ parameters: {
439
+ query?: never;
440
+ header?: never;
441
+ path?: never;
442
+ cookie?: never;
443
+ };
444
+ get?: never;
445
+ put?: never;
446
+ /**
447
+ * Undo an aborted ChangeOrder in the Spaces it reached
448
+ * @description Restores each Unit the ChangeOrder's start Tag marks to the Revision it was at before the change, in every Space the ChangeOrder reached, or those WhereSpace, SpaceFilterID and TargetStage select. The ChangeOrder must have an AbortedReason. A Unit already restored is passed over, and a Unit the ChangeOrder carried nothing for is marked without a Revision being made. Revisions made after the change that restoring drops are reported. Demoting again changes nothing.
449
+ */
450
+ post: operations["Demote"];
451
+ delete?: never;
452
+ options?: never;
453
+ head?: never;
454
+ patch?: never;
455
+ trace?: never;
456
+ };
437
457
  "/filter": {
438
458
  parameters: {
439
459
  query?: never;
@@ -3473,6 +3493,7 @@ interface components {
3473
3493
  Parameters?: {
3474
3494
  [key: string]: unknown;
3475
3495
  };
3496
+ readonly PromotionFailures?: components["schemas"]["ChangeOrderPromotionFailure"][];
3476
3497
  readonly PromotionOverrides?: components["schemas"]["ChangeOrderPromotionOverride"][];
3477
3498
  /** @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. */
3478
3499
  readonly ReleasedRestoredSpaceIDs?: components["schemas"]["UUID"][];
@@ -3524,7 +3545,7 @@ interface components {
3524
3545
  * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3525
3546
  */
3526
3547
  UnitFilterID?: string;
3527
- /** @description UpdateType is how this ChangeOrder propagates. UpgradeUnit, the clone lineage, is the default, and MergeUnits is the other Link type it follows; both take the change from Revisions the source Unit already has. Invoke is the third: the change is one Invocation run in each Space in scope, and the ChangeOrder is created before any of it has happened. */
3548
+ /** @description UpdateType is how this ChangeOrder propagates. UpgradeUnit, the clone lineage, is the default, and MergeUnits is the other Link type it follows; both take the change from Revisions the source Unit already has. Invoke is the third: the change is one Invocation run in each Space in scope, and the ChangeOrder is created before any of it has happened. Insert, Upsert, and TransformPaths carry a change to Units outside the ChangeOrder's component into it: every Space in scope resolves its Links of that type to those Units at the Revision each was at when the ChangeOrder was created. Those Links must not be AutoUpdate, and InScopeSpaceIDs, or a selection that fills it in, is required. */
3528
3549
  UpdateType?: string;
3529
3550
  /**
3530
3551
  * Format: date-time
@@ -3584,6 +3605,42 @@ interface components {
3584
3605
  ChangeOrder?: components["schemas"]["ChangeOrder"];
3585
3606
  Error?: components["schemas"]["ResponseError"];
3586
3607
  };
3608
+ ChangeOrderPromotionFailure: {
3609
+ /**
3610
+ * Format: date-time
3611
+ * @example 2006-01-02T15:04:05Z07:00
3612
+ */
3613
+ FailedAt?: string;
3614
+ Spaces?: components["schemas"]["ChangeOrderPromotionFailureSpace"][];
3615
+ TargetStage?: string;
3616
+ /**
3617
+ * Format: uuid
3618
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3619
+ */
3620
+ UserID?: string;
3621
+ };
3622
+ ChangeOrderPromotionFailureSpace: {
3623
+ Action?: string;
3624
+ Error?: string;
3625
+ Reason?: string;
3626
+ /**
3627
+ * Format: uuid
3628
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3629
+ */
3630
+ SpaceID?: string;
3631
+ SpaceSlug?: string;
3632
+ Stage?: string;
3633
+ Units?: components["schemas"]["ChangeOrderPromotionFailureUnit"][];
3634
+ };
3635
+ ChangeOrderPromotionFailureUnit: {
3636
+ Error?: string;
3637
+ Slug?: string;
3638
+ /**
3639
+ * Format: uuid
3640
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3641
+ */
3642
+ UnitID?: string;
3643
+ };
3587
3644
  ChangeOrderPromotionOverride: {
3588
3645
  FailedGates?: string[];
3589
3646
  /**
@@ -3893,6 +3950,101 @@ interface components {
3893
3950
  /** @description Response message. */
3894
3951
  Message?: string;
3895
3952
  };
3953
+ DemoteRequest: {
3954
+ /** @description Recorded on each restored Revision. Defaults to naming the ChangeOrder undone. */
3955
+ ChangeDescription?: string;
3956
+ /**
3957
+ * Format: uuid
3958
+ * @description The ChangeOrder to undo. It must have an AbortedReason. Which Units are restored is the Units its start Tag marks.
3959
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3960
+ */
3961
+ ChangeOrderID: string;
3962
+ /**
3963
+ * Format: uuid
3964
+ * @description An existing open ChangeSet to record every write in.
3965
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3966
+ */
3967
+ ChangeSetID?: string;
3968
+ /** @description The Plan a previous dry run returned. If the plan now differs, nothing is written and the request fails with 412. */
3969
+ ExpectedPlan?: string;
3970
+ /**
3971
+ * Format: uuid
3972
+ * @description A Filter over Spaces narrowing the Spaces to demote.
3973
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3974
+ */
3975
+ SpaceFilterID?: string;
3976
+ /** @description A Stage of the ChangeOrder's ChangeWorkflow whose Spaces to demote. */
3977
+ TargetStage?: string;
3978
+ /** @description A where expression narrowing the Spaces to demote. Without any selector, every Space the ChangeOrder marked is demoted. */
3979
+ WhereSpace?: string;
3980
+ };
3981
+ DemoteResult: {
3982
+ /**
3983
+ * Format: uuid
3984
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3985
+ */
3986
+ ChangeOrderID?: string;
3987
+ /** @description True when nothing was written. */
3988
+ DryRun?: boolean;
3989
+ /** @description Digest of the planned actions. Send it as ExpectedPlan to apply exactly this plan. */
3990
+ Plan?: string;
3991
+ /** @description Downstream Spaces first. */
3992
+ Spaces?: components["schemas"]["DemoteSpaceResult"][];
3993
+ };
3994
+ DemoteSpaceResult: {
3995
+ /** @description Demote, Unchanged, Skipped, or Failed. */
3996
+ Action?: string;
3997
+ Error?: components["schemas"]["ResponseError"];
3998
+ /** @description Why the Space was Skipped. */
3999
+ Reason?: string;
4000
+ /**
4001
+ * Format: uuid
4002
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4003
+ */
4004
+ SpaceID?: string;
4005
+ SpaceSlug?: string;
4006
+ Stage?: string;
4007
+ /** @description The Units the ChangeOrder's start Tag marks in the Space. */
4008
+ Units?: components["schemas"]["DemoteUnitResult"][];
4009
+ };
4010
+ DemoteUnitResult: {
4011
+ /** @description Restore, Mark, or Unchanged. */
4012
+ Action?: string;
4013
+ /**
4014
+ * Format: int64
4015
+ * @description The first Revision after the change that restoring drops, when the head had moved past where the change arrived.
4016
+ */
4017
+ DropsFromRevisionNum?: number;
4018
+ /**
4019
+ * Format: int64
4020
+ * @description The last Revision that restoring drops.
4021
+ */
4022
+ DropsToRevisionNum?: number;
4023
+ /**
4024
+ * Format: int64
4025
+ * @description The Revision the change arrived at.
4026
+ */
4027
+ EndRevisionNum?: number;
4028
+ Error?: components["schemas"]["ResponseError"];
4029
+ Mutations?: components["schemas"]["ResourceMutationList"];
4030
+ /** Format: int64 */
4031
+ PreviousHeadMutationNum?: number;
4032
+ /** Format: int64 */
4033
+ PreviousHeadRevisionNum?: number;
4034
+ /** @description For Unchanged: AlreadyRestored. */
4035
+ Reason?: string;
4036
+ Slug?: string;
4037
+ /**
4038
+ * Format: int64
4039
+ * @description The Revision the change started from, which the Unit is restored to.
4040
+ */
4041
+ StartRevisionNum?: number;
4042
+ /**
4043
+ * Format: uuid
4044
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4045
+ */
4046
+ UnitID?: string;
4047
+ };
3896
4048
  ErrorItem: {
3897
4049
  /** @description A clear explanation of what went wrong */
3898
4050
  Description?: string;
@@ -5030,6 +5182,11 @@ interface components {
5030
5182
  Force?: boolean;
5031
5183
  /** @description Why the gates were overridden. Required with Force. */
5032
5184
  ForceReason?: string;
5185
+ /**
5186
+ * @description With a ChangeOrder, what to do for a Unit whose last merged upstream Revision is before the ChangeOrder's start there -- typically because a Link in the upstream Space, such as a TransformPaths Link, wrote Revisions after the Unit last merged. Include (the default) merges those Revisions first, as Revisions of their own that do not carry the ChangeOrder, and then the ChangeOrder's range; Skip merges only the ChangeOrder's range, as though the Unit had already merged as far as its start; Error refuses, naming the Revisions. A Unit that has merged past the ChangeOrder's start is an error whatever this says. Refused with an Insert, Upsert, or TransformPaths ChangeOrder, whose Links read their sources as they are at its end rather than merging a range.
5187
+ * @enum {string}
5188
+ */
5189
+ PriorRevisions?: PromoteRequestPriorRevisions;
5033
5190
  /**
5034
5191
  * Format: uuid
5035
5192
  * @description A Filter over Spaces selecting the Spaces to promote. Intersected with the other selectors.
@@ -5095,16 +5252,20 @@ interface components {
5095
5252
  PreviousStage?: string;
5096
5253
  };
5097
5254
  PromoteUnitResult: {
5098
- /** @description Upgrade, Mark, Empty, Revive, Clone, Invoke, Unchanged, or Skip. */
5255
+ /** @description Upgrade, Resolve, Mark, Empty, Revive, Clone, Invoke, Unchanged, or Skip. */
5099
5256
  Action?: string;
5100
5257
  Conflicts?: components["schemas"]["MutationConflictList"];
5101
5258
  Error?: components["schemas"]["ResponseError"];
5259
+ /** Format: int64 */
5260
+ HeadRevisionNum?: number;
5261
+ /** @description For a Resolve, and a Mark made by one, the Links resolved. */
5262
+ LinkIDs?: components["schemas"]["UUID"][];
5102
5263
  Mutations?: components["schemas"]["ResourceMutationList"];
5103
5264
  /** Format: int64 */
5104
5265
  PreviousHeadMutationNum?: number;
5105
5266
  /** Format: int64 */
5106
5267
  PreviousHeadRevisionNum?: number;
5107
- /** @description For Skip and Unchanged: NotCovered, CreatedAfterChangeOrder, AlreadyTaken, or, for a Unit created in this Space, why the ChangeOrder does not cover it. For Mark: CreatedInSpace, when the Unit was created in this Space and the ChangeOrder is scoped over it. */
5268
+ /** @description For Skip and Unchanged: NotCovered, CreatedAfterChangeOrder, AlreadyTaken, or, for a Unit created in this Space, why the ChangeOrder does not cover it. For Mark: CreatedInSpace, when the Unit was created in this Space and the ChangeOrder is scoped over it. For an applied Upgrade or Resolve: NoChange, when the Unit already held the change, so no Revision was made and the ChangeOrder's Tags mark its head. */
5108
5269
  Reason?: string;
5109
5270
  Slug?: string;
5110
5271
  /**
@@ -5115,7 +5276,7 @@ interface components {
5115
5276
  UnitID?: string;
5116
5277
  /**
5117
5278
  * Format: uuid
5118
- * @description Absent for a Unit created in this Space.
5279
+ * @description Absent for a Unit created in this Space, and for a Resolve over Links to more than one Unit.
5119
5280
  * @example 248df4b7-aa70-47b8-a036-33ac447e668d
5120
5281
  */
5121
5282
  UpstreamUnitID?: string;
@@ -10362,7 +10523,7 @@ interface operations {
10362
10523
  * An example conjunction is:
10363
10524
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
10364
10525
  *
10365
- * 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, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10526
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionFailures, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10366
10527
  *
10367
10528
  * The whole string must be query-encoded.
10368
10529
  */
@@ -10530,7 +10691,7 @@ interface operations {
10530
10691
  * An example conjunction is:
10531
10692
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
10532
10693
  *
10533
- * 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, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10694
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionFailures, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10534
10695
  *
10535
10696
  * The whole string must be query-encoded.
10536
10697
  */
@@ -10809,7 +10970,7 @@ interface operations {
10809
10970
  * An example conjunction is:
10810
10971
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
10811
10972
  *
10812
- * 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, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10973
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionFailures, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10813
10974
  *
10814
10975
  * The whole string must be query-encoded.
10815
10976
  */
@@ -10995,7 +11156,7 @@ interface operations {
10995
11156
  * An example conjunction is:
10996
11157
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
10997
11158
  *
10998
- * 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, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
11159
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionFailures, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10999
11160
  *
11000
11161
  * The whole string must be query-encoded.
11001
11162
  */
@@ -13836,6 +13997,116 @@ interface operations {
13836
13997
  };
13837
13998
  };
13838
13999
  };
14000
+ Demote: {
14001
+ parameters: {
14002
+ query?: {
14003
+ /** @description Plan the demotion and return the same response without writing anything. */
14004
+ dry_run?: boolean;
14005
+ /** @description Comma-separated parts of the result to return in addition to the actions: Mutations for what each restore changed, or on a dry run would change. */
14006
+ include?: string;
14007
+ };
14008
+ header?: never;
14009
+ path?: never;
14010
+ cookie?: never;
14011
+ };
14012
+ requestBody?: {
14013
+ content: {
14014
+ "application/json": components["schemas"]["DemoteRequest"];
14015
+ };
14016
+ };
14017
+ responses: {
14018
+ /** @description OK */
14019
+ 200: {
14020
+ headers: {
14021
+ [name: string]: unknown;
14022
+ };
14023
+ content: {
14024
+ "application/json": components["schemas"]["DemoteResult"];
14025
+ };
14026
+ };
14027
+ /** @description Multi-Status: some Unit writes failed, each carrying its own error */
14028
+ 207: {
14029
+ headers: {
14030
+ [name: string]: unknown;
14031
+ };
14032
+ content: {
14033
+ "application/json": components["schemas"]["DemoteResult"];
14034
+ };
14035
+ };
14036
+ /** @description Demote request is invalid (Bad Request). */
14037
+ 400: {
14038
+ headers: {
14039
+ [name: string]: unknown;
14040
+ };
14041
+ content: {
14042
+ "application/json": components["schemas"]["StandardErrorResponse"];
14043
+ };
14044
+ };
14045
+ /** @description Unauthorized access. */
14046
+ 401: {
14047
+ headers: {
14048
+ [name: string]: unknown;
14049
+ };
14050
+ content: {
14051
+ "application/json": components["schemas"]["StandardErrorResponse"];
14052
+ };
14053
+ };
14054
+ /** @description Forbidden access. */
14055
+ 403: {
14056
+ headers: {
14057
+ [name: string]: unknown;
14058
+ };
14059
+ content: {
14060
+ "application/json": components["schemas"]["StandardErrorResponse"];
14061
+ };
14062
+ };
14063
+ /** @description Demote not found. */
14064
+ 404: {
14065
+ headers: {
14066
+ [name: string]: unknown;
14067
+ };
14068
+ content: {
14069
+ "application/json": components["schemas"]["StandardErrorResponse"];
14070
+ };
14071
+ };
14072
+ /** @description Demote data conflict. Data has changed since last read. */
14073
+ 409: {
14074
+ headers: {
14075
+ [name: string]: unknown;
14076
+ };
14077
+ content: {
14078
+ "application/json": components["schemas"]["StandardErrorResponse"];
14079
+ };
14080
+ };
14081
+ /** @description The plan differs from ExpectedPlan. Nothing was written. */
14082
+ 412: {
14083
+ headers: {
14084
+ [name: string]: unknown;
14085
+ };
14086
+ content: {
14087
+ "application/json": components["schemas"]["StandardErrorResponse"];
14088
+ };
14089
+ };
14090
+ /** @description Something went wrong while processing Demote. */
14091
+ 500: {
14092
+ headers: {
14093
+ [name: string]: unknown;
14094
+ };
14095
+ content: {
14096
+ "application/json": components["schemas"]["StandardErrorResponse"];
14097
+ };
14098
+ };
14099
+ /** @description Unexpected error. */
14100
+ default: {
14101
+ headers: {
14102
+ [name: string]: unknown;
14103
+ };
14104
+ content: {
14105
+ "application/json": components["schemas"]["StandardErrorResponse"];
14106
+ };
14107
+ };
14108
+ };
14109
+ };
13839
14110
  ListAllFilters: {
13840
14111
  parameters: {
13841
14112
  query?: {
@@ -22261,7 +22532,7 @@ interface operations {
22261
22532
  * An example conjunction is:
22262
22533
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
22263
22534
  *
22264
- * 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, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
22535
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionFailures, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
22265
22536
  *
22266
22537
  * The whole string must be query-encoded.
22267
22538
  */
@@ -30093,8 +30364,10 @@ interface operations {
30093
30364
  tag?: string;
30094
30365
  /** @description Must match ChangeSetID of affected Units if config Data is changed unless in dry run mode */
30095
30366
  change_set_id?: string;
30096
- /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is not where the change order starts is an error, since merging anyway would replay what it already has or skip what it does not, and with resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
30367
+ /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is past where the change order starts is an error, since merging anyway would replay what it already has; one that is short of it is handled as prior_revisions says. With resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
30097
30368
  change_order?: string;
30369
+ /** @description With change_order, when promoting it by upgrade or resolve: what to do for a Unit whose last merged revision of its source is before the revision the change order starts at there -- typically because a Link in the source's Space, such as a TransformPaths Link, wrote revisions after the Unit last merged, and those revisions are not the change order's. Include (the default) merges them first, walking them one source revision at a time even with squash, as revisions that do not carry the change order, and places the change order's start Tag on the revision they leave, so 'restore Before:ChangeOrder:uuid' keeps them. Skip merges only the change order's range, as though the Unit's merge pointer had already been advanced to the change order's start, so what those revisions changed does not reach the Unit. Error refuses, naming the Unit, the Link, and each of those revisions with the operation and Link that made it. A Unit that has already merged past the change order's start is an error whatever this says. */
30370
+ prior_revisions?: string;
30098
30371
  /** @description User-defined category for the Mutation. Must be alphanumeric, at most 64 characters. The prefix 'ConfigHub' is reserved. */
30099
30372
  subgroup?: string;
30100
30373
  /** @description Comma-separated parts of the result to return in addition to the Unit: ConfigData for the configuration the operation produced, and MutationSources for what set each value in it. Neither is a field of a Unit, and both cost something to return, so they are returned only when named. A dry run stores nothing, so this is the only way to see what it would have produced. */
@@ -30398,8 +30671,10 @@ interface operations {
30398
30671
  tag?: string;
30399
30672
  /** @description Must match ChangeSetID of affected Units if config Data is changed unless in dry run mode */
30400
30673
  change_set_id?: string;
30401
- /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is not where the change order starts is an error, since merging anyway would replay what it already has or skip what it does not, and with resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
30674
+ /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is past where the change order starts is an error, since merging anyway would replay what it already has; one that is short of it is handled as prior_revisions says. With resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
30402
30675
  change_order?: string;
30676
+ /** @description With change_order, when promoting it by upgrade or resolve: what to do for a Unit whose last merged revision of its source is before the revision the change order starts at there -- typically because a Link in the source's Space, such as a TransformPaths Link, wrote revisions after the Unit last merged, and those revisions are not the change order's. Include (the default) merges them first, walking them one source revision at a time even with squash, as revisions that do not carry the change order, and places the change order's start Tag on the revision they leave, so 'restore Before:ChangeOrder:uuid' keeps them. Skip merges only the change order's range, as though the Unit's merge pointer had already been advanced to the change order's start, so what those revisions changed does not reach the Unit. Error refuses, naming the Unit, the Link, and each of those revisions with the operation and Link that made it. A Unit that has already merged past the change order's start is an error whatever this says. */
30677
+ prior_revisions?: string;
30403
30678
  /** @description User-defined category for the Mutation. Must be alphanumeric, at most 64 characters. The prefix 'ConfigHub' is reserved. */
30404
30679
  subgroup?: string;
30405
30680
  /** @description Comma-separated parts of the result to return in addition to the Unit: ConfigData for the configuration the operation produced, and MutationSources for what set each value in it. Neither is a field of a Unit, and both cost something to return, so they are returned only when named. A dry run stores nothing, so this is the only way to see what it would have produced. */
@@ -36873,8 +37148,10 @@ interface operations {
36873
37148
  tag?: string;
36874
37149
  /** @description Must match ChangeSetID of affected Units if config Data is changed unless in dry run mode */
36875
37150
  change_set_id?: string;
36876
- /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is not where the change order starts is an error, since merging anyway would replay what it already has or skip what it does not, and with resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
37151
+ /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is past where the change order starts is an error, since merging anyway would replay what it already has; one that is short of it is handled as prior_revisions says. With resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
36877
37152
  change_order?: string;
37153
+ /** @description With change_order, when promoting it by upgrade or resolve: what to do for a Unit whose last merged revision of its source is before the revision the change order starts at there -- typically because a Link in the source's Space, such as a TransformPaths Link, wrote revisions after the Unit last merged, and those revisions are not the change order's. Include (the default) merges them first, walking them one source revision at a time even with squash, as revisions that do not carry the change order, and places the change order's start Tag on the revision they leave, so 'restore Before:ChangeOrder:uuid' keeps them. Skip merges only the change order's range, as though the Unit's merge pointer had already been advanced to the change order's start, so what those revisions changed does not reach the Unit. Error refuses, naming the Unit, the Link, and each of those revisions with the operation and Link that made it. A Unit that has already merged past the change order's start is an error whatever this says. */
37154
+ prior_revisions?: string;
36878
37155
  /** @description User-defined category for the Mutation. Must be alphanumeric, at most 64 characters. The prefix 'ConfigHub' is reserved. */
36879
37156
  subgroup?: string;
36880
37157
  };
@@ -39926,6 +40203,11 @@ declare enum MutationType {
39926
40203
  Replace = "Replace",
39927
40204
  None = "None"
39928
40205
  }
40206
+ declare enum PromoteRequestPriorRevisions {
40207
+ Include = "Include",
40208
+ Skip = "Skip",
40209
+ Error = "Error"
40210
+ }
39929
40211
  declare enum QueuedOperationStatus {
39930
40212
  Initializing = "Initializing",
39931
40213
  Pending = "Pending",
package/dist/index.d.ts CHANGED
@@ -434,6 +434,26 @@ interface paths {
434
434
  patch: operations["PatchComponent"];
435
435
  trace?: never;
436
436
  };
437
+ "/demote": {
438
+ parameters: {
439
+ query?: never;
440
+ header?: never;
441
+ path?: never;
442
+ cookie?: never;
443
+ };
444
+ get?: never;
445
+ put?: never;
446
+ /**
447
+ * Undo an aborted ChangeOrder in the Spaces it reached
448
+ * @description Restores each Unit the ChangeOrder's start Tag marks to the Revision it was at before the change, in every Space the ChangeOrder reached, or those WhereSpace, SpaceFilterID and TargetStage select. The ChangeOrder must have an AbortedReason. A Unit already restored is passed over, and a Unit the ChangeOrder carried nothing for is marked without a Revision being made. Revisions made after the change that restoring drops are reported. Demoting again changes nothing.
449
+ */
450
+ post: operations["Demote"];
451
+ delete?: never;
452
+ options?: never;
453
+ head?: never;
454
+ patch?: never;
455
+ trace?: never;
456
+ };
437
457
  "/filter": {
438
458
  parameters: {
439
459
  query?: never;
@@ -3473,6 +3493,7 @@ interface components {
3473
3493
  Parameters?: {
3474
3494
  [key: string]: unknown;
3475
3495
  };
3496
+ readonly PromotionFailures?: components["schemas"]["ChangeOrderPromotionFailure"][];
3476
3497
  readonly PromotionOverrides?: components["schemas"]["ChangeOrderPromotionOverride"][];
3477
3498
  /** @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. */
3478
3499
  readonly ReleasedRestoredSpaceIDs?: components["schemas"]["UUID"][];
@@ -3524,7 +3545,7 @@ interface components {
3524
3545
  * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3525
3546
  */
3526
3547
  UnitFilterID?: string;
3527
- /** @description UpdateType is how this ChangeOrder propagates. UpgradeUnit, the clone lineage, is the default, and MergeUnits is the other Link type it follows; both take the change from Revisions the source Unit already has. Invoke is the third: the change is one Invocation run in each Space in scope, and the ChangeOrder is created before any of it has happened. */
3548
+ /** @description UpdateType is how this ChangeOrder propagates. UpgradeUnit, the clone lineage, is the default, and MergeUnits is the other Link type it follows; both take the change from Revisions the source Unit already has. Invoke is the third: the change is one Invocation run in each Space in scope, and the ChangeOrder is created before any of it has happened. Insert, Upsert, and TransformPaths carry a change to Units outside the ChangeOrder's component into it: every Space in scope resolves its Links of that type to those Units at the Revision each was at when the ChangeOrder was created. Those Links must not be AutoUpdate, and InScopeSpaceIDs, or a selection that fills it in, is required. */
3528
3549
  UpdateType?: string;
3529
3550
  /**
3530
3551
  * Format: date-time
@@ -3584,6 +3605,42 @@ interface components {
3584
3605
  ChangeOrder?: components["schemas"]["ChangeOrder"];
3585
3606
  Error?: components["schemas"]["ResponseError"];
3586
3607
  };
3608
+ ChangeOrderPromotionFailure: {
3609
+ /**
3610
+ * Format: date-time
3611
+ * @example 2006-01-02T15:04:05Z07:00
3612
+ */
3613
+ FailedAt?: string;
3614
+ Spaces?: components["schemas"]["ChangeOrderPromotionFailureSpace"][];
3615
+ TargetStage?: string;
3616
+ /**
3617
+ * Format: uuid
3618
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3619
+ */
3620
+ UserID?: string;
3621
+ };
3622
+ ChangeOrderPromotionFailureSpace: {
3623
+ Action?: string;
3624
+ Error?: string;
3625
+ Reason?: string;
3626
+ /**
3627
+ * Format: uuid
3628
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3629
+ */
3630
+ SpaceID?: string;
3631
+ SpaceSlug?: string;
3632
+ Stage?: string;
3633
+ Units?: components["schemas"]["ChangeOrderPromotionFailureUnit"][];
3634
+ };
3635
+ ChangeOrderPromotionFailureUnit: {
3636
+ Error?: string;
3637
+ Slug?: string;
3638
+ /**
3639
+ * Format: uuid
3640
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3641
+ */
3642
+ UnitID?: string;
3643
+ };
3587
3644
  ChangeOrderPromotionOverride: {
3588
3645
  FailedGates?: string[];
3589
3646
  /**
@@ -3893,6 +3950,101 @@ interface components {
3893
3950
  /** @description Response message. */
3894
3951
  Message?: string;
3895
3952
  };
3953
+ DemoteRequest: {
3954
+ /** @description Recorded on each restored Revision. Defaults to naming the ChangeOrder undone. */
3955
+ ChangeDescription?: string;
3956
+ /**
3957
+ * Format: uuid
3958
+ * @description The ChangeOrder to undo. It must have an AbortedReason. Which Units are restored is the Units its start Tag marks.
3959
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3960
+ */
3961
+ ChangeOrderID: string;
3962
+ /**
3963
+ * Format: uuid
3964
+ * @description An existing open ChangeSet to record every write in.
3965
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3966
+ */
3967
+ ChangeSetID?: string;
3968
+ /** @description The Plan a previous dry run returned. If the plan now differs, nothing is written and the request fails with 412. */
3969
+ ExpectedPlan?: string;
3970
+ /**
3971
+ * Format: uuid
3972
+ * @description A Filter over Spaces narrowing the Spaces to demote.
3973
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3974
+ */
3975
+ SpaceFilterID?: string;
3976
+ /** @description A Stage of the ChangeOrder's ChangeWorkflow whose Spaces to demote. */
3977
+ TargetStage?: string;
3978
+ /** @description A where expression narrowing the Spaces to demote. Without any selector, every Space the ChangeOrder marked is demoted. */
3979
+ WhereSpace?: string;
3980
+ };
3981
+ DemoteResult: {
3982
+ /**
3983
+ * Format: uuid
3984
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
3985
+ */
3986
+ ChangeOrderID?: string;
3987
+ /** @description True when nothing was written. */
3988
+ DryRun?: boolean;
3989
+ /** @description Digest of the planned actions. Send it as ExpectedPlan to apply exactly this plan. */
3990
+ Plan?: string;
3991
+ /** @description Downstream Spaces first. */
3992
+ Spaces?: components["schemas"]["DemoteSpaceResult"][];
3993
+ };
3994
+ DemoteSpaceResult: {
3995
+ /** @description Demote, Unchanged, Skipped, or Failed. */
3996
+ Action?: string;
3997
+ Error?: components["schemas"]["ResponseError"];
3998
+ /** @description Why the Space was Skipped. */
3999
+ Reason?: string;
4000
+ /**
4001
+ * Format: uuid
4002
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4003
+ */
4004
+ SpaceID?: string;
4005
+ SpaceSlug?: string;
4006
+ Stage?: string;
4007
+ /** @description The Units the ChangeOrder's start Tag marks in the Space. */
4008
+ Units?: components["schemas"]["DemoteUnitResult"][];
4009
+ };
4010
+ DemoteUnitResult: {
4011
+ /** @description Restore, Mark, or Unchanged. */
4012
+ Action?: string;
4013
+ /**
4014
+ * Format: int64
4015
+ * @description The first Revision after the change that restoring drops, when the head had moved past where the change arrived.
4016
+ */
4017
+ DropsFromRevisionNum?: number;
4018
+ /**
4019
+ * Format: int64
4020
+ * @description The last Revision that restoring drops.
4021
+ */
4022
+ DropsToRevisionNum?: number;
4023
+ /**
4024
+ * Format: int64
4025
+ * @description The Revision the change arrived at.
4026
+ */
4027
+ EndRevisionNum?: number;
4028
+ Error?: components["schemas"]["ResponseError"];
4029
+ Mutations?: components["schemas"]["ResourceMutationList"];
4030
+ /** Format: int64 */
4031
+ PreviousHeadMutationNum?: number;
4032
+ /** Format: int64 */
4033
+ PreviousHeadRevisionNum?: number;
4034
+ /** @description For Unchanged: AlreadyRestored. */
4035
+ Reason?: string;
4036
+ Slug?: string;
4037
+ /**
4038
+ * Format: int64
4039
+ * @description The Revision the change started from, which the Unit is restored to.
4040
+ */
4041
+ StartRevisionNum?: number;
4042
+ /**
4043
+ * Format: uuid
4044
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
4045
+ */
4046
+ UnitID?: string;
4047
+ };
3896
4048
  ErrorItem: {
3897
4049
  /** @description A clear explanation of what went wrong */
3898
4050
  Description?: string;
@@ -5030,6 +5182,11 @@ interface components {
5030
5182
  Force?: boolean;
5031
5183
  /** @description Why the gates were overridden. Required with Force. */
5032
5184
  ForceReason?: string;
5185
+ /**
5186
+ * @description With a ChangeOrder, what to do for a Unit whose last merged upstream Revision is before the ChangeOrder's start there -- typically because a Link in the upstream Space, such as a TransformPaths Link, wrote Revisions after the Unit last merged. Include (the default) merges those Revisions first, as Revisions of their own that do not carry the ChangeOrder, and then the ChangeOrder's range; Skip merges only the ChangeOrder's range, as though the Unit had already merged as far as its start; Error refuses, naming the Revisions. A Unit that has merged past the ChangeOrder's start is an error whatever this says. Refused with an Insert, Upsert, or TransformPaths ChangeOrder, whose Links read their sources as they are at its end rather than merging a range.
5187
+ * @enum {string}
5188
+ */
5189
+ PriorRevisions?: PromoteRequestPriorRevisions;
5033
5190
  /**
5034
5191
  * Format: uuid
5035
5192
  * @description A Filter over Spaces selecting the Spaces to promote. Intersected with the other selectors.
@@ -5095,16 +5252,20 @@ interface components {
5095
5252
  PreviousStage?: string;
5096
5253
  };
5097
5254
  PromoteUnitResult: {
5098
- /** @description Upgrade, Mark, Empty, Revive, Clone, Invoke, Unchanged, or Skip. */
5255
+ /** @description Upgrade, Resolve, Mark, Empty, Revive, Clone, Invoke, Unchanged, or Skip. */
5099
5256
  Action?: string;
5100
5257
  Conflicts?: components["schemas"]["MutationConflictList"];
5101
5258
  Error?: components["schemas"]["ResponseError"];
5259
+ /** Format: int64 */
5260
+ HeadRevisionNum?: number;
5261
+ /** @description For a Resolve, and a Mark made by one, the Links resolved. */
5262
+ LinkIDs?: components["schemas"]["UUID"][];
5102
5263
  Mutations?: components["schemas"]["ResourceMutationList"];
5103
5264
  /** Format: int64 */
5104
5265
  PreviousHeadMutationNum?: number;
5105
5266
  /** Format: int64 */
5106
5267
  PreviousHeadRevisionNum?: number;
5107
- /** @description For Skip and Unchanged: NotCovered, CreatedAfterChangeOrder, AlreadyTaken, or, for a Unit created in this Space, why the ChangeOrder does not cover it. For Mark: CreatedInSpace, when the Unit was created in this Space and the ChangeOrder is scoped over it. */
5268
+ /** @description For Skip and Unchanged: NotCovered, CreatedAfterChangeOrder, AlreadyTaken, or, for a Unit created in this Space, why the ChangeOrder does not cover it. For Mark: CreatedInSpace, when the Unit was created in this Space and the ChangeOrder is scoped over it. For an applied Upgrade or Resolve: NoChange, when the Unit already held the change, so no Revision was made and the ChangeOrder's Tags mark its head. */
5108
5269
  Reason?: string;
5109
5270
  Slug?: string;
5110
5271
  /**
@@ -5115,7 +5276,7 @@ interface components {
5115
5276
  UnitID?: string;
5116
5277
  /**
5117
5278
  * Format: uuid
5118
- * @description Absent for a Unit created in this Space.
5279
+ * @description Absent for a Unit created in this Space, and for a Resolve over Links to more than one Unit.
5119
5280
  * @example 248df4b7-aa70-47b8-a036-33ac447e668d
5120
5281
  */
5121
5282
  UpstreamUnitID?: string;
@@ -10362,7 +10523,7 @@ interface operations {
10362
10523
  * An example conjunction is:
10363
10524
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
10364
10525
  *
10365
- * 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, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10526
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionFailures, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10366
10527
  *
10367
10528
  * The whole string must be query-encoded.
10368
10529
  */
@@ -10530,7 +10691,7 @@ interface operations {
10530
10691
  * An example conjunction is:
10531
10692
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
10532
10693
  *
10533
- * 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, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10694
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionFailures, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10534
10695
  *
10535
10696
  * The whole string must be query-encoded.
10536
10697
  */
@@ -10809,7 +10970,7 @@ interface operations {
10809
10970
  * An example conjunction is:
10810
10971
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
10811
10972
  *
10812
- * 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, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10973
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionFailures, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10813
10974
  *
10814
10975
  * The whole string must be query-encoded.
10815
10976
  */
@@ -10995,7 +11156,7 @@ interface operations {
10995
11156
  * An example conjunction is:
10996
11157
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
10997
11158
  *
10998
- * 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, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
11159
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionFailures, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
10999
11160
  *
11000
11161
  * The whole string must be query-encoded.
11001
11162
  */
@@ -13836,6 +13997,116 @@ interface operations {
13836
13997
  };
13837
13998
  };
13838
13999
  };
14000
+ Demote: {
14001
+ parameters: {
14002
+ query?: {
14003
+ /** @description Plan the demotion and return the same response without writing anything. */
14004
+ dry_run?: boolean;
14005
+ /** @description Comma-separated parts of the result to return in addition to the actions: Mutations for what each restore changed, or on a dry run would change. */
14006
+ include?: string;
14007
+ };
14008
+ header?: never;
14009
+ path?: never;
14010
+ cookie?: never;
14011
+ };
14012
+ requestBody?: {
14013
+ content: {
14014
+ "application/json": components["schemas"]["DemoteRequest"];
14015
+ };
14016
+ };
14017
+ responses: {
14018
+ /** @description OK */
14019
+ 200: {
14020
+ headers: {
14021
+ [name: string]: unknown;
14022
+ };
14023
+ content: {
14024
+ "application/json": components["schemas"]["DemoteResult"];
14025
+ };
14026
+ };
14027
+ /** @description Multi-Status: some Unit writes failed, each carrying its own error */
14028
+ 207: {
14029
+ headers: {
14030
+ [name: string]: unknown;
14031
+ };
14032
+ content: {
14033
+ "application/json": components["schemas"]["DemoteResult"];
14034
+ };
14035
+ };
14036
+ /** @description Demote request is invalid (Bad Request). */
14037
+ 400: {
14038
+ headers: {
14039
+ [name: string]: unknown;
14040
+ };
14041
+ content: {
14042
+ "application/json": components["schemas"]["StandardErrorResponse"];
14043
+ };
14044
+ };
14045
+ /** @description Unauthorized access. */
14046
+ 401: {
14047
+ headers: {
14048
+ [name: string]: unknown;
14049
+ };
14050
+ content: {
14051
+ "application/json": components["schemas"]["StandardErrorResponse"];
14052
+ };
14053
+ };
14054
+ /** @description Forbidden access. */
14055
+ 403: {
14056
+ headers: {
14057
+ [name: string]: unknown;
14058
+ };
14059
+ content: {
14060
+ "application/json": components["schemas"]["StandardErrorResponse"];
14061
+ };
14062
+ };
14063
+ /** @description Demote not found. */
14064
+ 404: {
14065
+ headers: {
14066
+ [name: string]: unknown;
14067
+ };
14068
+ content: {
14069
+ "application/json": components["schemas"]["StandardErrorResponse"];
14070
+ };
14071
+ };
14072
+ /** @description Demote data conflict. Data has changed since last read. */
14073
+ 409: {
14074
+ headers: {
14075
+ [name: string]: unknown;
14076
+ };
14077
+ content: {
14078
+ "application/json": components["schemas"]["StandardErrorResponse"];
14079
+ };
14080
+ };
14081
+ /** @description The plan differs from ExpectedPlan. Nothing was written. */
14082
+ 412: {
14083
+ headers: {
14084
+ [name: string]: unknown;
14085
+ };
14086
+ content: {
14087
+ "application/json": components["schemas"]["StandardErrorResponse"];
14088
+ };
14089
+ };
14090
+ /** @description Something went wrong while processing Demote. */
14091
+ 500: {
14092
+ headers: {
14093
+ [name: string]: unknown;
14094
+ };
14095
+ content: {
14096
+ "application/json": components["schemas"]["StandardErrorResponse"];
14097
+ };
14098
+ };
14099
+ /** @description Unexpected error. */
14100
+ default: {
14101
+ headers: {
14102
+ [name: string]: unknown;
14103
+ };
14104
+ content: {
14105
+ "application/json": components["schemas"]["StandardErrorResponse"];
14106
+ };
14107
+ };
14108
+ };
14109
+ };
13839
14110
  ListAllFilters: {
13840
14111
  parameters: {
13841
14112
  query?: {
@@ -22261,7 +22532,7 @@ interface operations {
22261
22532
  * An example conjunction is:
22262
22533
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
22263
22534
  *
22264
- * 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, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
22535
+ * Supported attributes for filtering on ChangeOrder: AbortedReason, AdoptedEndTagID, Annotations, ChangeOrderID, ChangeWorkflow, ChangeWorkflowID, CreatedAt, DeleteGates, Description, DisplayName, EndTagID, InScopeSpaceIDs, InvocationID, Labels, OrganizationID, Parameters, PromotionFailures, PromotionOverrides, ReleasedRestoredSpaceIDs, ReleasedSpaceIDs, ResolvedSpaceIDs, RestoreTagID, RestoredSpaceIDs, SkippedUnits, Slug, SpaceFilterID, SpaceID, Stage, StartTagID, State, UnitFilterID, UpdateType, UpdatedAt, WhereSpace, WhereUnit.
22265
22536
  *
22266
22537
  * The whole string must be query-encoded.
22267
22538
  */
@@ -30093,8 +30364,10 @@ interface operations {
30093
30364
  tag?: string;
30094
30365
  /** @description Must match ChangeSetID of affected Units if config Data is changed unless in dry run mode */
30095
30366
  change_set_id?: string;
30096
- /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is not where the change order starts is an error, since merging anyway would replay what it already has or skip what it does not, and with resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
30367
+ /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is past where the change order starts is an error, since merging anyway would replay what it already has; one that is short of it is handled as prior_revisions says. With resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
30097
30368
  change_order?: string;
30369
+ /** @description With change_order, when promoting it by upgrade or resolve: what to do for a Unit whose last merged revision of its source is before the revision the change order starts at there -- typically because a Link in the source's Space, such as a TransformPaths Link, wrote revisions after the Unit last merged, and those revisions are not the change order's. Include (the default) merges them first, walking them one source revision at a time even with squash, as revisions that do not carry the change order, and places the change order's start Tag on the revision they leave, so 'restore Before:ChangeOrder:uuid' keeps them. Skip merges only the change order's range, as though the Unit's merge pointer had already been advanced to the change order's start, so what those revisions changed does not reach the Unit. Error refuses, naming the Unit, the Link, and each of those revisions with the operation and Link that made it. A Unit that has already merged past the change order's start is an error whatever this says. */
30370
+ prior_revisions?: string;
30098
30371
  /** @description User-defined category for the Mutation. Must be alphanumeric, at most 64 characters. The prefix 'ConfigHub' is reserved. */
30099
30372
  subgroup?: string;
30100
30373
  /** @description Comma-separated parts of the result to return in addition to the Unit: ConfigData for the configuration the operation produced, and MutationSources for what set each value in it. Neither is a field of a Unit, and both cost something to return, so they are returned only when named. A dry run stores nothing, so this is the only way to see what it would have produced. */
@@ -30398,8 +30671,10 @@ interface operations {
30398
30671
  tag?: string;
30399
30672
  /** @description Must match ChangeSetID of affected Units if config Data is changed unless in dry run mode */
30400
30673
  change_set_id?: string;
30401
- /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is not where the change order starts is an error, since merging anyway would replay what it already has or skip what it does not, and with resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
30674
+ /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is past where the change order starts is an error, since merging anyway would replay what it already has; one that is short of it is handled as prior_revisions says. With resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
30402
30675
  change_order?: string;
30676
+ /** @description With change_order, when promoting it by upgrade or resolve: what to do for a Unit whose last merged revision of its source is before the revision the change order starts at there -- typically because a Link in the source's Space, such as a TransformPaths Link, wrote revisions after the Unit last merged, and those revisions are not the change order's. Include (the default) merges them first, walking them one source revision at a time even with squash, as revisions that do not carry the change order, and places the change order's start Tag on the revision they leave, so 'restore Before:ChangeOrder:uuid' keeps them. Skip merges only the change order's range, as though the Unit's merge pointer had already been advanced to the change order's start, so what those revisions changed does not reach the Unit. Error refuses, naming the Unit, the Link, and each of those revisions with the operation and Link that made it. A Unit that has already merged past the change order's start is an error whatever this says. */
30677
+ prior_revisions?: string;
30403
30678
  /** @description User-defined category for the Mutation. Must be alphanumeric, at most 64 characters. The prefix 'ConfigHub' is reserved. */
30404
30679
  subgroup?: string;
30405
30680
  /** @description Comma-separated parts of the result to return in addition to the Unit: ConfigData for the configuration the operation produced, and MutationSources for what set each value in it. Neither is a field of a Unit, and both cost something to return, so they are returned only when named. A dry run stores nothing, so this is the only way to see what it would have produced. */
@@ -36873,8 +37148,10 @@ interface operations {
36873
37148
  tag?: string;
36874
37149
  /** @description Must match ChangeSetID of affected Units if config Data is changed unless in dry run mode */
36875
37150
  change_set_id?: string;
36876
- /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is not where the change order starts is an error, since merging anyway would replay what it already has or skip what it does not, and with resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
37151
+ /** @description ChangeOrder to promote, with upgrade or resolve, or to undo, with restore. The change order fixed the range when it was created -- the interval on each source Unit, marked with its Tags -- so it supplies both ends of the merge and merge_end is refused alongside it. A Unit whose source the change order does not cover is passed over rather than failed, which is what lets a bulk upgrade name a whole Space and take only the Units the change is in. A Unit whose last merged revision is past where the change order starts is an error, since merging anyway would replay what it already has; one that is short of it is handled as prior_revisions says. With resolve a selected Link whose UpdateType the change order does not follow is an error too. The revisions the promotion creates carry the ChangeOrder, and its start Tag is placed on the revision before them and its end Tag on the one it arrives at, so 'restore Before:ChangeOrder:uuid' undoes it whether it landed as one revision or as one per source revision. With restore the change order is being undone rather than promoted: the restore must be 'Before:ChangeOrder:' the same change order, the change order must have an AbortedReason -- undoing a change nobody has said is not coming is a race with whoever is still promoting it -- and a Unit the change order never marked is an error rather than passed over, since naming it says the Unit is part of the undoing. The first restore mints the change order's restore Tag and records it as RestoreTagID; every restore after that marks with the same Tag, which is what RestoredSpaceIDs is read off. A Unit the change order carried nothing for takes the restore Tag on the revision its start and end Tags are already on, and no revision is made. A Unit already carrying the restore Tag has had the change order taken back out of it and is passed over, since undoing one in a Unit happens once as promoting it into one does -- so the revisions a Unit has taken since it was undone are its own work rather than this undoing's to drop. Restoring also advances the merge pointers of the Links of the change order's UpdateType that follow the restored Unit onto the revision the restore made, so a later upgrade does not replay the change that was just taken out; the downstream Units are not restored with it, since each has to be restored and released on its own account. */
36877
37152
  change_order?: string;
37153
+ /** @description With change_order, when promoting it by upgrade or resolve: what to do for a Unit whose last merged revision of its source is before the revision the change order starts at there -- typically because a Link in the source's Space, such as a TransformPaths Link, wrote revisions after the Unit last merged, and those revisions are not the change order's. Include (the default) merges them first, walking them one source revision at a time even with squash, as revisions that do not carry the change order, and places the change order's start Tag on the revision they leave, so 'restore Before:ChangeOrder:uuid' keeps them. Skip merges only the change order's range, as though the Unit's merge pointer had already been advanced to the change order's start, so what those revisions changed does not reach the Unit. Error refuses, naming the Unit, the Link, and each of those revisions with the operation and Link that made it. A Unit that has already merged past the change order's start is an error whatever this says. */
37154
+ prior_revisions?: string;
36878
37155
  /** @description User-defined category for the Mutation. Must be alphanumeric, at most 64 characters. The prefix 'ConfigHub' is reserved. */
36879
37156
  subgroup?: string;
36880
37157
  };
@@ -39926,6 +40203,11 @@ declare enum MutationType {
39926
40203
  Replace = "Replace",
39927
40204
  None = "None"
39928
40205
  }
40206
+ declare enum PromoteRequestPriorRevisions {
40207
+ Include = "Include",
40208
+ Skip = "Skip",
40209
+ Error = "Error"
40210
+ }
39929
40211
  declare enum QueuedOperationStatus {
39930
40212
  Initializing = "Initializing",
39931
40213
  Pending = "Pending",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@confighub/api",
3
- "version": "0.6.5",
3
+ "version": "0.6.7",
4
4
  "description": "Typed, framework-agnostic client for the ConfigHub API",
5
5
  "license": "MIT",
6
6
  "repository": {