@heroku/sdk 0.12.3 → 0.12.4

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.
@@ -5,17 +5,17 @@ import { formatPlanPriceLabel, priceForPlan } from './pricing.js';
5
5
  export { createAndWait } from './create-and-wait.js';
6
6
  export { describeAddon } from './describe.js';
7
7
  export { destroyAndWait } from './destroy-and-wait.js';
8
- export { AddonAmbiguousError, AddonConfirmationRequiredError, AddonNotFoundError, AddonProvisioningFailedError, } from './errors.js';
8
+ export { AddonAmbiguousError, AddonAppMismatchError, AddonConfirmationRequiredError, AddonDestroyFailedError, AddonNotFoundError, AddonProvisioningFailedError, } from './errors.js';
9
9
  export { listPlans, listPlansForAddon, type ListPlansForAddonOptions } from './list-plans.js';
10
10
  export { formatPlanPriceLabel, type FormatPlanPriceLabelOptions, type PlanPriceBreakdown, type PlanPriceKind, priceForPlan, } from './pricing.js';
11
11
  export { resolveAddon } from './resolve.js';
12
- export type { AddOnOptions, CreateAndWaitOptions, DescribedAddOn, DestroyAndWaitOptions, ResolveAddonOptions, ResolvedAddOn, UpgradeAddOnOptions, WaitForProvisioningOptions, } from './types.js';
12
+ export type { AddOnOptions, CreateAndWaitOptions, DeprovisioningAddOn, DescribedAddOn, DestroyAndWaitOptions, ResolveAddonOptions, ResolvedAddOn, UpgradeAddOnOptions, WaitForProvisioningOptions, } from './types.js';
13
13
  export { upgrade } from './upgrade.js';
14
14
  export { waitForProvisioning } from './wait-for-provisioning.js';
15
15
  export declare const addOnExtensions: import("../../../core/extend-resource.js").ResourceExtension<"platform", "addOn", {
16
16
  createAndWait: (appIdentity: string, body: AddOnCreateOpts, options?: CreateAndWaitOptions) => Promise<AddOn>;
17
17
  describe: (addonIdentity: string, options?: ResolveAddonOptions) => Promise<import("./types.js").DescribedAddOn>;
18
- destroyAndWait: (appIdentity: string, addonIdentity: string, options?: DestroyAndWaitOptions) => Promise<AddOn>;
18
+ destroyAndWait: (appIdentity: string, addonIdentity: string, options?: DestroyAndWaitOptions) => Promise<import("./types.js").DeprovisioningAddOn>;
19
19
  formatPlanPriceLabel: typeof formatPlanPriceLabel;
20
20
  listPlans: (serviceIdentity: string, options?: AddOnOptions) => Promise<import("@heroku/types/3.sdk").Plan[]>;
21
21
  listPlansForAddon: (addonIdentity: string, options?: ListPlansForAddonOptions) => Promise<import("@heroku/types/3.sdk").Plan[]>;
@@ -10,7 +10,7 @@ import { waitForProvisioning } from './wait-for-provisioning.js';
10
10
  export { createAndWait } from './create-and-wait.js';
11
11
  export { describeAddon } from './describe.js';
12
12
  export { destroyAndWait } from './destroy-and-wait.js';
13
- export { AddonAmbiguousError, AddonConfirmationRequiredError, AddonNotFoundError, AddonProvisioningFailedError, } from './errors.js';
13
+ export { AddonAmbiguousError, AddonAppMismatchError, AddonConfirmationRequiredError, AddonDestroyFailedError, AddonNotFoundError, AddonProvisioningFailedError, } from './errors.js';
14
14
  export { listPlans, listPlansForAddon } from './list-plans.js';
15
15
  export { formatPlanPriceLabel, priceForPlan, } from './pricing.js';
16
16
  export { resolveAddon } from './resolve.js';
@@ -25,6 +25,19 @@ export type ResolvedAddOn = AddOn & {
25
25
  export type DescribedAddOn = ResolvedAddOn & {
26
26
  attachments: AddOnAttachment[];
27
27
  };
28
+ /**
29
+ * An add-on that may still be deprovisioning. The platform returns
30
+ * `deprovisioning` as a transient `state` while a delete is in flight, but
31
+ * `@heroku/types` models only the terminal states. Methods that surface an
32
+ * in-flight delete response (e.g. `destroyAndWait` returning before the poll)
33
+ * return this so callers can branch on `deprovisioning` without casting `state`.
34
+ *
35
+ * Stopgap: once `@heroku/types`' `AddOn['state']` includes `deprovisioning`,
36
+ * this type collapses to `AddOn` and should be deleted.
37
+ */
38
+ export type DeprovisioningAddOn = Omit<AddOn, 'state'> & {
39
+ state: 'deprovisioning' | AddOn['state'];
40
+ };
28
41
  export type UpgradeAddOnOptions = ResolveAddonOptions & {
29
42
  onResolved?: (addon: ResolvedAddOn) => Promise<void> | void;
30
43
  };
@@ -43,7 +56,7 @@ export type DestroyAndWaitOptions = {
43
56
  * Only invoked when `wait: true` and the delete response state is
44
57
  * `deprovisioning`.
45
58
  */
46
- onDeprovisioning?: (addon: AddOn) => Promise<void> | void;
59
+ onDeprovisioning?: (addon: DeprovisioningAddOn) => Promise<void> | void;
47
60
  /**
48
61
  * If true, poll until the add-on leaves `deprovisioning`. If the
49
62
  * terminal state is not `deprovisioned`, throws `AddonProvisioningFailedError`.
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.12.3";
1
+ export declare const SDK_VERSION = "0.12.4";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated from package.json by scripts/write-version.mjs (build prebuild). Do not edit.
2
- export const SDK_VERSION = '0.12.3';
2
+ export const SDK_VERSION = '0.12.4';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heroku/sdk",
3
- "version": "0.12.3",
3
+ "version": "0.12.4",
4
4
  "description": "Heroku SDK",
5
5
  "author": "Heroku",
6
6
  "type": "module",