@todesktop/shared 7.190.0 → 7.191.0
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/.prettierignore +0 -2
- package/CHANGELOG.md +13 -0
- package/README.md +42 -15
- package/eslint.config.mjs +8 -55
- package/lib/base.d.ts +81 -75
- package/lib/base.js +9 -12
- package/lib/desktopify.d.ts +74 -74
- package/lib/desktopify.js +28 -35
- package/lib/desktopify2.d.ts +223 -223
- package/lib/desktopify2.js +2 -5
- package/lib/getSiteInfo.d.ts +6 -6
- package/lib/getSiteInfo.js +1 -2
- package/lib/hsm.d.ts +1 -1
- package/lib/hsm.js +5 -12
- package/lib/index.d.ts +12 -13
- package/lib/index.js +13 -31
- package/lib/invitePermissionLabels.d.ts +4 -2
- package/lib/invitePermissionLabels.js +14 -11
- package/lib/personalAccessTokens.d.ts +12 -12
- package/lib/personalAccessTokens.js +1 -2
- package/lib/plans.d.ts +27 -27
- package/lib/plans.js +181 -185
- package/lib/plugin.d.ts +18 -18
- package/lib/plugin.js +1 -2
- package/lib/toDesktop.d.ts +66 -66
- package/lib/toDesktop.js +1 -2
- package/lib/translation.d.ts +1 -1
- package/lib/translation.js +1 -2
- package/lib/validations.d.ts +66 -66
- package/lib/validations.js +54 -56
- package/package.json +11 -17
- package/src/base.ts +89 -82
- package/src/desktopify.ts +82 -80
- package/src/desktopify2.ts +240 -240
- package/src/getSiteInfo.ts +6 -6
- package/src/hsm.ts +7 -7
- package/src/index.ts +13 -14
- package/src/invitePermissionLabels.ts +20 -6
- package/src/personalAccessTokens.ts +12 -12
- package/src/plans.ts +191 -191
- package/src/plugin.ts +19 -19
- package/src/toDesktop.ts +70 -70
- package/src/translation.ts +2 -2
- package/src/validations.ts +51 -49
- package/tsconfig.json +6 -3
- package/.prettierrc +0 -5
package/lib/desktopify2.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.allowedWebPreferencesOptions = exports.allowedBrowserWindowConstructorOptions = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Whitelist of allowed DesktopifyWindow Options.
|
|
6
3
|
* These attrs (if set) are passed to the `BrowserWindow` constructor
|
|
7
4
|
* when the window is created
|
|
8
5
|
*/
|
|
9
|
-
|
|
6
|
+
export const allowedBrowserWindowConstructorOptions = [
|
|
10
7
|
'width',
|
|
11
8
|
'height',
|
|
12
9
|
// "x",
|
|
@@ -58,7 +55,7 @@ exports.allowedBrowserWindowConstructorOptions = [
|
|
|
58
55
|
* These attrs (if set) are passed to the webPreferences object in the `BrowserWindow` constructor
|
|
59
56
|
* when the window is created
|
|
60
57
|
*/
|
|
61
|
-
|
|
58
|
+
export const allowedWebPreferencesOptions = [
|
|
62
59
|
'devTools',
|
|
63
60
|
'zoomFactor',
|
|
64
61
|
'textAreasAreResizable',
|
package/lib/getSiteInfo.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
export interface IAppFromServerProps {
|
|
2
|
-
id: string;
|
|
3
|
-
name: string;
|
|
4
2
|
appModelId: string;
|
|
5
|
-
|
|
6
|
-
meta: IAppFromServerPropsMeta;
|
|
3
|
+
appType: 'app' | 'electron' | 'menubar' | 'tabbed';
|
|
7
4
|
html?: string;
|
|
8
5
|
iconUrl?: string;
|
|
6
|
+
id: string;
|
|
7
|
+
meta: IAppFromServerPropsMeta;
|
|
8
|
+
name: string;
|
|
9
9
|
secret: string;
|
|
10
|
-
|
|
10
|
+
url: string;
|
|
11
11
|
}
|
|
12
12
|
interface IAppFromServerPropsMeta {
|
|
13
13
|
isFrameBlocked: boolean;
|
|
14
14
|
isHttps?: boolean;
|
|
15
15
|
}
|
|
16
16
|
export interface IAppFromServerPropsDimension {
|
|
17
|
-
width: number;
|
|
18
17
|
height: number;
|
|
19
18
|
type: string;
|
|
19
|
+
width: number;
|
|
20
20
|
}
|
|
21
21
|
export interface IAppFromServerPropsS3PutsEntity {
|
|
22
22
|
ETag: string;
|
package/lib/getSiteInfo.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/lib/hsm.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* - mas-installer = Mac Installer Distribution (for Mac App Store)
|
|
6
6
|
* - mas-dev = Apple Development
|
|
7
7
|
*/
|
|
8
|
-
export type MacTarget = 'mac' | 'mac
|
|
8
|
+
export type MacTarget = 'mac-installer' | 'mac' | 'mas-dev' | 'mas-installer' | 'mas';
|
|
9
9
|
export type WindowsTarget = 'windows';
|
|
10
10
|
export declare function isMacTarget(type: string): type is MacTarget;
|
|
11
11
|
export declare function isWindowsTarget(type: string): type is MacTarget;
|
package/lib/hsm.js
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.getAPIKeyNameFromHSM = exports.getCertificateNameFromHSM = void 0;
|
|
4
|
-
exports.isMacTarget = isMacTarget;
|
|
5
|
-
exports.isWindowsTarget = isWindowsTarget;
|
|
6
|
-
function isMacTarget(type) {
|
|
7
|
-
return ['mac', 'mac-installer', 'mas', 'mas-installer', 'mas-dev'].includes(type);
|
|
1
|
+
export function isMacTarget(type) {
|
|
2
|
+
return ['mac', 'mac-installer', 'mas', 'mas-dev', 'mas-installer'].includes(type);
|
|
8
3
|
}
|
|
9
|
-
function isWindowsTarget(type) {
|
|
4
|
+
export function isWindowsTarget(type) {
|
|
10
5
|
return ['windows'].includes(type);
|
|
11
6
|
}
|
|
12
7
|
/**
|
|
@@ -17,13 +12,12 @@ function isWindowsTarget(type) {
|
|
|
17
12
|
* @param target the target type
|
|
18
13
|
* @returns the name of the secret that is required for downloading the cert from HSM.
|
|
19
14
|
*/
|
|
20
|
-
const getCertificateNameFromHSM = (appId, target) => {
|
|
15
|
+
export const getCertificateNameFromHSM = (appId, target) => {
|
|
21
16
|
if (!isMacTarget(target) && !isWindowsTarget(target)) {
|
|
22
17
|
throw new Error(`Invalid target '${target}'. Only windows or mac certs are supported`);
|
|
23
18
|
}
|
|
24
19
|
return `todesktop-${appId}-${target}-cert`;
|
|
25
20
|
};
|
|
26
|
-
exports.getCertificateNameFromHSM = getCertificateNameFromHSM;
|
|
27
21
|
/**
|
|
28
22
|
* Files that are uploaded to HSM have a unique secretName that depends on the appId and target.
|
|
29
23
|
* This function returns the key name that is used for key files that have a `.p8` postfix.
|
|
@@ -33,10 +27,9 @@ exports.getCertificateNameFromHSM = getCertificateNameFromHSM;
|
|
|
33
27
|
* @param target the target type
|
|
34
28
|
* @returns the name of the secret that is required for downloading the cert from HSM.
|
|
35
29
|
*/
|
|
36
|
-
const getAPIKeyNameFromHSM = (appId, target) => {
|
|
30
|
+
export const getAPIKeyNameFromHSM = (appId, target) => {
|
|
37
31
|
if (!isMacTarget(target)) {
|
|
38
32
|
throw new Error(`Invalid target '${target}'. Only mac certs are supported`);
|
|
39
33
|
}
|
|
40
34
|
return `todesktop-${appId}-${target}-api-key`;
|
|
41
35
|
};
|
|
42
|
-
exports.getAPIKeyNameFromHSM = getAPIKeyNameFromHSM;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './desktopify';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './getSiteInfo';
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './
|
|
8
|
-
export * from './
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
12
|
-
declare const schemaVersion: string;
|
|
13
|
-
export { schemaVersion };
|
|
1
|
+
export * from './base.js';
|
|
2
|
+
export * from './desktopify.js';
|
|
3
|
+
export * from './desktopify2.js';
|
|
4
|
+
export * from './getSiteInfo.js';
|
|
5
|
+
export * from './hsm.js';
|
|
6
|
+
export * from './invitePermissionLabels.js';
|
|
7
|
+
export * from './personalAccessTokens.js';
|
|
8
|
+
export * from './plans.js';
|
|
9
|
+
export * from './plugin.js';
|
|
10
|
+
export * from './toDesktop.js';
|
|
11
|
+
export * from './validations.js';
|
|
12
|
+
export declare const schemaVersion: string;
|
package/lib/index.js
CHANGED
|
@@ -1,31 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.schemaVersion = void 0;
|
|
18
|
-
const package_json_1 = require("../package.json");
|
|
19
|
-
__exportStar(require("./toDesktop"), exports);
|
|
20
|
-
__exportStar(require("./desktopify"), exports);
|
|
21
|
-
__exportStar(require("./validations"), exports);
|
|
22
|
-
__exportStar(require("./getSiteInfo"), exports);
|
|
23
|
-
__exportStar(require("./plans"), exports);
|
|
24
|
-
__exportStar(require("./base"), exports);
|
|
25
|
-
__exportStar(require("./plugin"), exports);
|
|
26
|
-
__exportStar(require("./hsm"), exports);
|
|
27
|
-
__exportStar(require("./invitePermissionLabels"), exports);
|
|
28
|
-
__exportStar(require("./personalAccessTokens"), exports);
|
|
29
|
-
__exportStar(require("./desktopify2"), exports);
|
|
30
|
-
const schemaVersion = package_json_1.version;
|
|
31
|
-
exports.schemaVersion = schemaVersion;
|
|
1
|
+
import packageJson from '../package.json' with { type: 'json' };
|
|
2
|
+
export * from './base.js';
|
|
3
|
+
export * from './desktopify.js';
|
|
4
|
+
export * from './desktopify2.js';
|
|
5
|
+
export * from './getSiteInfo.js';
|
|
6
|
+
export * from './hsm.js';
|
|
7
|
+
export * from './invitePermissionLabels.js';
|
|
8
|
+
export * from './personalAccessTokens.js';
|
|
9
|
+
export * from './plans.js';
|
|
10
|
+
export * from './plugin.js';
|
|
11
|
+
export * from './toDesktop.js';
|
|
12
|
+
export * from './validations.js';
|
|
13
|
+
export const schemaVersion = packageJson.version;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { UserIHaveSentInviteTo } from './toDesktop';
|
|
2
|
-
export type InvitePermissionKey = 'canBuild' | '
|
|
2
|
+
export type InvitePermissionKey = 'canBuild' | 'canManageBilling' | 'canManageUsers' | 'canRelease';
|
|
3
3
|
export type InvitePermissionFlags = Record<InvitePermissionKey, boolean>;
|
|
4
4
|
export declare const INVITE_PERMISSION_LABELS: Record<InvitePermissionKey, string>;
|
|
5
5
|
export declare const formatInvitePermissionSummary: (permissions: Partial<InvitePermissionFlags>) => string;
|
|
6
6
|
export type NormalizedInvitePermissions = {
|
|
7
7
|
canBuild: boolean;
|
|
8
|
-
|
|
8
|
+
canManageBilling: boolean;
|
|
9
9
|
canManageUsers: boolean;
|
|
10
|
+
canRelease: boolean;
|
|
10
11
|
};
|
|
12
|
+
export declare const FULL_OWNER_PERMISSIONS: NormalizedInvitePermissions;
|
|
11
13
|
export declare const normalizeInvitePermissions: (permissions?: UserIHaveSentInviteTo["permissions"]) => NormalizedInvitePermissions;
|
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeInvitePermissions = exports.formatInvitePermissionSummary = exports.INVITE_PERMISSION_LABELS = void 0;
|
|
4
|
-
exports.INVITE_PERMISSION_LABELS = {
|
|
1
|
+
export const INVITE_PERMISSION_LABELS = {
|
|
5
2
|
canBuild: 'Can build',
|
|
6
|
-
|
|
3
|
+
canManageBilling: 'Can manage billing',
|
|
7
4
|
canManageUsers: 'Can manage users',
|
|
5
|
+
canRelease: 'Can release',
|
|
8
6
|
};
|
|
9
|
-
const formatInvitePermissionSummary = (permissions) => {
|
|
7
|
+
export const formatInvitePermissionSummary = (permissions) => {
|
|
10
8
|
const enabled = Object.entries(permissions)
|
|
11
9
|
.filter(([, value]) => value === true)
|
|
12
|
-
.map(([key]) =>
|
|
10
|
+
.map(([key]) => INVITE_PERMISSION_LABELS[key]);
|
|
13
11
|
return enabled.join(', ');
|
|
14
12
|
};
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
export const FULL_OWNER_PERMISSIONS = {
|
|
14
|
+
canBuild: true,
|
|
15
|
+
canManageBilling: true,
|
|
16
|
+
canManageUsers: true,
|
|
17
|
+
canRelease: true,
|
|
18
|
+
};
|
|
19
|
+
export const normalizeInvitePermissions = (permissions) => ({
|
|
17
20
|
canBuild: (permissions === null || permissions === void 0 ? void 0 : permissions.canBuild) === true,
|
|
18
|
-
|
|
21
|
+
canManageBilling: (permissions === null || permissions === void 0 ? void 0 : permissions.canManageBilling) === true,
|
|
19
22
|
canManageUsers: (permissions === null || permissions === void 0 ? void 0 : permissions.canManageUsers) === true,
|
|
23
|
+
canRelease: (permissions === null || permissions === void 0 ? void 0 : permissions.canRelease) === true,
|
|
20
24
|
});
|
|
21
|
-
exports.normalizeInvitePermissions = normalizeInvitePermissions;
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export type PatStatus = 'active' | '
|
|
2
|
-
export type PatPermissionSource = '
|
|
1
|
+
export type PatStatus = 'active' | 'expired' | 'revoked';
|
|
2
|
+
export type PatPermissionSource = 'delegate' | 'owner';
|
|
3
3
|
export interface PatAppScope {
|
|
4
|
-
ownerUserId: string;
|
|
5
4
|
applicationId: string;
|
|
5
|
+
ownerUserId: string;
|
|
6
6
|
permissionSource: PatPermissionSource;
|
|
7
7
|
}
|
|
8
8
|
export interface PatUsageApp {
|
|
9
|
-
ownerUserId: string;
|
|
10
9
|
applicationId: string;
|
|
10
|
+
ownerUserId: string;
|
|
11
11
|
}
|
|
12
12
|
export interface PatSummary {
|
|
13
|
-
tokenId: string;
|
|
14
|
-
tokenPrefix: string;
|
|
15
|
-
description: string;
|
|
16
|
-
createdAt: string | null;
|
|
17
|
-
expiresAt: string | null;
|
|
18
|
-
revokedAt: string | null;
|
|
19
|
-
lastUsedAt: string | null;
|
|
20
|
-
lastUsedByApp: PatUsageApp | null;
|
|
21
13
|
appScopes: PatAppScope[];
|
|
14
|
+
createdAt: null | string;
|
|
15
|
+
description: string;
|
|
16
|
+
expiresAt: null | string;
|
|
17
|
+
lastUsedAt: null | string;
|
|
18
|
+
lastUsedByApp: null | PatUsageApp;
|
|
19
|
+
revokedAt: null | string;
|
|
22
20
|
status: PatStatus;
|
|
21
|
+
tokenId: string;
|
|
22
|
+
tokenPrefix: string;
|
|
23
23
|
}
|
|
24
24
|
export type PatListItem = PatSummary;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/lib/plans.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Subscription } from './base';
|
|
2
2
|
export type PriceKey = `${'monthly' | 'yearly'}_${string}`;
|
|
3
3
|
export type Price = {
|
|
4
|
+
amount: number;
|
|
4
5
|
id: string;
|
|
5
|
-
status: 'active' | 'inactive';
|
|
6
6
|
period: 'monthly' | 'yearly';
|
|
7
|
-
|
|
7
|
+
status: 'active' | 'inactive';
|
|
8
8
|
};
|
|
9
9
|
export type Product<T extends PriceKey = any> = {
|
|
10
10
|
id: string;
|
|
@@ -12,88 +12,88 @@ export type Product<T extends PriceKey = any> = {
|
|
|
12
12
|
};
|
|
13
13
|
export type PlanTier = 'basic' | 'legacy_pro' | 'pro' | 'scale';
|
|
14
14
|
export type Plan = {
|
|
15
|
-
tier: PlanTier;
|
|
16
|
-
label: string;
|
|
17
15
|
eligiblePlanTiers: PlanTier[];
|
|
16
|
+
label: string;
|
|
18
17
|
products: Record<'dev' | 'prod', Product[]>;
|
|
18
|
+
tier: PlanTier;
|
|
19
19
|
};
|
|
20
20
|
export type Configuration = {
|
|
21
|
-
default_return_url: string;
|
|
22
21
|
business_profile: {
|
|
23
22
|
headline: string;
|
|
24
23
|
privacy_policy_url: string;
|
|
25
24
|
terms_of_service_url: string;
|
|
26
25
|
};
|
|
27
|
-
|
|
28
|
-
[name: string]: string | number | null;
|
|
29
|
-
};
|
|
26
|
+
default_return_url: string;
|
|
30
27
|
features: {
|
|
31
28
|
payment_method_update: {
|
|
32
29
|
enabled: boolean;
|
|
33
30
|
};
|
|
34
31
|
subscription_update: {
|
|
35
|
-
enabled: boolean;
|
|
36
32
|
default_allowed_updates: ('price' | 'promotion_code' | 'quantity')[];
|
|
33
|
+
enabled: boolean;
|
|
37
34
|
products: {
|
|
38
|
-
product: string;
|
|
39
35
|
prices: string[];
|
|
36
|
+
product: string;
|
|
40
37
|
}[];
|
|
41
38
|
};
|
|
42
39
|
};
|
|
40
|
+
metadata: {
|
|
41
|
+
[name: string]: null | number | string;
|
|
42
|
+
};
|
|
43
43
|
};
|
|
44
44
|
export declare enum PortalConfigKey {
|
|
45
|
-
CLIUpdateDev = "cli_update_dev",
|
|
46
|
-
CLIUpdateProd = "cli_update_prod",
|
|
47
|
-
CLIUpgradeDev = "cli_upgrade_dev",
|
|
48
|
-
CLIUpgradeProd = "cli_upgrade_prod",
|
|
49
45
|
BuilderUpdateDev = "builder_update_dev",
|
|
50
46
|
BuilderUpdateProd = "builder_update_prod",
|
|
51
47
|
BuilderUpgradeDev = "builder_upgrade_dev",
|
|
52
|
-
BuilderUpgradeProd = "builder_upgrade_prod"
|
|
48
|
+
BuilderUpgradeProd = "builder_upgrade_prod",
|
|
49
|
+
CLIUpdateDev = "cli_update_dev",
|
|
50
|
+
CLIUpdateProd = "cli_update_prod",
|
|
51
|
+
CLIUpgradeDev = "cli_upgrade_dev",
|
|
52
|
+
CLIUpgradeProd = "cli_upgrade_prod"
|
|
53
53
|
}
|
|
54
54
|
export declare const products: {
|
|
55
55
|
readonly dev: {
|
|
56
56
|
readonly builder: {
|
|
57
|
-
readonly essential: Product<"
|
|
57
|
+
readonly essential: Product<"monthly_125" | "monthly_99" | "yearly_1200">;
|
|
58
58
|
readonly professional: Product<"monthly_199" | "monthly_240" | "monthly_300" | "yearly_2880">;
|
|
59
59
|
};
|
|
60
60
|
readonly cli: {
|
|
61
|
+
readonly founder: Product<"monthly_125" | "yearly_1200" | "monthly_100">;
|
|
61
62
|
readonly founder30: Product<"monthly_30">;
|
|
62
63
|
readonly founder50: Product<"monthly_50" | "monthly_90">;
|
|
63
|
-
readonly founder: Product<"monthly_125" | "yearly_1200" | "monthly_100">;
|
|
64
64
|
readonly performance: Product<"monthly_300" | "monthly_375" | "yearly_3600">;
|
|
65
65
|
readonly scale: Product<"monthly_1200" | "monthly_1500" | "yearly_14400">;
|
|
66
66
|
};
|
|
67
67
|
readonly legacy: {
|
|
68
|
+
readonly business: Product<"monthly_199">;
|
|
69
|
+
readonly enterprise: Product<"monthly_700">;
|
|
68
70
|
readonly essential: Product<"monthly_58">;
|
|
69
71
|
readonly essentialNew: Product<"monthly_58" | "yearly_580">;
|
|
72
|
+
readonly growth: Product<"monthly_199">;
|
|
70
73
|
readonly professional: Product<"monthly_199" | "yearly_1990" | "yearly_2388">;
|
|
71
74
|
readonly startup: Product<"monthly_49" | "yearly_200">;
|
|
72
|
-
readonly growth: Product<"monthly_199">;
|
|
73
|
-
readonly business: Product<"monthly_199">;
|
|
74
|
-
readonly enterprise: Product<"monthly_700">;
|
|
75
75
|
};
|
|
76
76
|
};
|
|
77
77
|
readonly prod: {
|
|
78
78
|
readonly builder: {
|
|
79
|
-
readonly essential: Product<"
|
|
79
|
+
readonly essential: Product<"monthly_125" | "monthly_99" | "yearly_1200">;
|
|
80
80
|
readonly professional: Product<"monthly_199" | "monthly_240" | "monthly_300" | "yearly_2880">;
|
|
81
81
|
};
|
|
82
82
|
readonly cli: {
|
|
83
|
+
readonly founder: Product<"monthly_125" | "yearly_1200" | "monthly_100">;
|
|
83
84
|
readonly founder30: Product<"monthly_30">;
|
|
84
85
|
readonly founder50: Product<"monthly_50" | "monthly_90">;
|
|
85
|
-
readonly founder: Product<"monthly_125" | "yearly_1200" | "monthly_100">;
|
|
86
86
|
readonly performance: Product<"monthly_300" | "monthly_375" | "yearly_3600">;
|
|
87
87
|
readonly scale: Product<"monthly_1200" | "monthly_1500" | "yearly_14400">;
|
|
88
88
|
};
|
|
89
89
|
readonly legacy: {
|
|
90
|
+
readonly business: Product<"monthly_199">;
|
|
91
|
+
readonly enterprise: Product<"monthly_700">;
|
|
90
92
|
readonly essential: Product<"monthly_58">;
|
|
91
93
|
readonly essentialNew: Product<"monthly_58" | "yearly_580">;
|
|
94
|
+
readonly growth: Product<"monthly_199">;
|
|
92
95
|
readonly professional: Product<"monthly_199" | "yearly_1990" | "yearly_2388">;
|
|
93
96
|
readonly startup: Product<"monthly_49" | "yearly_200">;
|
|
94
|
-
readonly growth: Product<"monthly_199">;
|
|
95
|
-
readonly business: Product<"monthly_199">;
|
|
96
|
-
readonly enterprise: Product<"monthly_700">;
|
|
97
97
|
};
|
|
98
98
|
};
|
|
99
99
|
};
|
|
@@ -125,6 +125,6 @@ export declare const configurations: {
|
|
|
125
125
|
};
|
|
126
126
|
export declare const hasActiveSub: (sub?: Subscription) => boolean;
|
|
127
127
|
export declare const hasPlan: (plan: Plan, sub?: Subscription) => boolean;
|
|
128
|
-
export declare const getPlan: (sub?: Pick<Subscription, "
|
|
129
|
-
export type LegacyProductKey = '
|
|
128
|
+
export declare const getPlan: (sub?: Pick<Subscription, "planId" | "productId">) => null | Plan;
|
|
129
|
+
export type LegacyProductKey = 'builder_essential' | 'builder_professional' | 'business' | 'cli_founder_30' | 'cli_founder_50' | 'cli_founder' | 'cli_performance' | 'cli_scale' | 'enterprise' | 'essential_new' | 'essential' | 'growth' | 'professional_annual_full_price' | 'professional_annual' | 'professional' | 'startup';
|
|
130
130
|
export declare const LegacyProductRecord: Record<LegacyProductKey, Record<'dev' | 'prod', Product>>;
|