@objectstack/account 9.2.0 → 9.4.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/dist/index.d.mts +51 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +41 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +41 -54
- package/dist/assets/en-QM3gmMOi.js +0 -2
- package/dist/assets/index-CBDXyBbU.js +0 -154
- package/dist/assets/index-DEF2FCrM.css +0 -2
- package/dist/assets/zh-CN-B0Jn4kQl.js +0 -2
- package/dist/index.html +0 -64
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export { ACCOUNT_APP } from '@objectstack/platform-objects/apps';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `@objectstack/account` — the end-user Account self-service app as its own
|
|
5
|
+
* ObjectStack package (ADR-0048: one app per package).
|
|
6
|
+
*
|
|
7
|
+
* Account is a console navigation-shell app (`AppSchema`) given a distinct
|
|
8
|
+
* package id (`com.objectstack.account`) so `/apps/<packageId>` (alias
|
|
9
|
+
* `/apps/account`) resolves to exactly this app. It navigates auth/identity
|
|
10
|
+
* objects owned by `@objectstack/plugin-auth`, hence the dependency.
|
|
11
|
+
*
|
|
12
|
+
* (The package name `@objectstack/account` was previously held by a deprecated
|
|
13
|
+
* standalone account-portal SPA, now removed; this reclaims it for the console
|
|
14
|
+
* account app.)
|
|
15
|
+
*
|
|
16
|
+
* NOTE (transitional): `ACCOUNT_APP` is still imported from
|
|
17
|
+
* `@objectstack/platform-objects/apps`, and this package is NOT yet wired into
|
|
18
|
+
* the dev/serve plugin set — that boot-path switch lands separately so it can
|
|
19
|
+
* be verified against a live `os dev` boot.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
declare const ACCOUNT_APP_PACKAGE_ID = "com.objectstack.account";
|
|
23
|
+
declare const ACCOUNT_APP_NAMESPACE = "account";
|
|
24
|
+
declare const ACCOUNT_APP_VERSION = "9.3.0";
|
|
25
|
+
/** Manifest header for the Account app package. */
|
|
26
|
+
declare const accountAppManifestHeader: {
|
|
27
|
+
id: string;
|
|
28
|
+
namespace: string;
|
|
29
|
+
version: string;
|
|
30
|
+
type: "plugin";
|
|
31
|
+
scope: "system";
|
|
32
|
+
name: string;
|
|
33
|
+
description: string;
|
|
34
|
+
dependencies: string[];
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Thin plugin that registers the Account app manifest. Structurally typed
|
|
38
|
+
* against the kernel `Plugin` contract.
|
|
39
|
+
*/
|
|
40
|
+
declare class AccountAppPlugin {
|
|
41
|
+
readonly name = "com.objectstack.account";
|
|
42
|
+
readonly type = "standard";
|
|
43
|
+
readonly version = "9.3.0";
|
|
44
|
+
readonly dependencies: string[];
|
|
45
|
+
init(_ctx: any): Promise<void>;
|
|
46
|
+
start(ctx: any): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
/** Convenience factory mirroring the rest of the plugin ecosystem. */
|
|
49
|
+
declare function createAccountAppPlugin(): AccountAppPlugin;
|
|
50
|
+
|
|
51
|
+
export { ACCOUNT_APP_NAMESPACE, ACCOUNT_APP_PACKAGE_ID, ACCOUNT_APP_VERSION, AccountAppPlugin, accountAppManifestHeader, createAccountAppPlugin };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export { ACCOUNT_APP } from '@objectstack/platform-objects/apps';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `@objectstack/account` — the end-user Account self-service app as its own
|
|
5
|
+
* ObjectStack package (ADR-0048: one app per package).
|
|
6
|
+
*
|
|
7
|
+
* Account is a console navigation-shell app (`AppSchema`) given a distinct
|
|
8
|
+
* package id (`com.objectstack.account`) so `/apps/<packageId>` (alias
|
|
9
|
+
* `/apps/account`) resolves to exactly this app. It navigates auth/identity
|
|
10
|
+
* objects owned by `@objectstack/plugin-auth`, hence the dependency.
|
|
11
|
+
*
|
|
12
|
+
* (The package name `@objectstack/account` was previously held by a deprecated
|
|
13
|
+
* standalone account-portal SPA, now removed; this reclaims it for the console
|
|
14
|
+
* account app.)
|
|
15
|
+
*
|
|
16
|
+
* NOTE (transitional): `ACCOUNT_APP` is still imported from
|
|
17
|
+
* `@objectstack/platform-objects/apps`, and this package is NOT yet wired into
|
|
18
|
+
* the dev/serve plugin set — that boot-path switch lands separately so it can
|
|
19
|
+
* be verified against a live `os dev` boot.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
declare const ACCOUNT_APP_PACKAGE_ID = "com.objectstack.account";
|
|
23
|
+
declare const ACCOUNT_APP_NAMESPACE = "account";
|
|
24
|
+
declare const ACCOUNT_APP_VERSION = "9.3.0";
|
|
25
|
+
/** Manifest header for the Account app package. */
|
|
26
|
+
declare const accountAppManifestHeader: {
|
|
27
|
+
id: string;
|
|
28
|
+
namespace: string;
|
|
29
|
+
version: string;
|
|
30
|
+
type: "plugin";
|
|
31
|
+
scope: "system";
|
|
32
|
+
name: string;
|
|
33
|
+
description: string;
|
|
34
|
+
dependencies: string[];
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Thin plugin that registers the Account app manifest. Structurally typed
|
|
38
|
+
* against the kernel `Plugin` contract.
|
|
39
|
+
*/
|
|
40
|
+
declare class AccountAppPlugin {
|
|
41
|
+
readonly name = "com.objectstack.account";
|
|
42
|
+
readonly type = "standard";
|
|
43
|
+
readonly version = "9.3.0";
|
|
44
|
+
readonly dependencies: string[];
|
|
45
|
+
init(_ctx: any): Promise<void>;
|
|
46
|
+
start(ctx: any): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
/** Convenience factory mirroring the rest of the plugin ecosystem. */
|
|
49
|
+
declare function createAccountAppPlugin(): AccountAppPlugin;
|
|
50
|
+
|
|
51
|
+
export { ACCOUNT_APP_NAMESPACE, ACCOUNT_APP_PACKAGE_ID, ACCOUNT_APP_VERSION, AccountAppPlugin, accountAppManifestHeader, createAccountAppPlugin };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var apps = require('@objectstack/platform-objects/apps');
|
|
4
|
+
|
|
5
|
+
// src/index.ts
|
|
6
|
+
var ACCOUNT_APP_PACKAGE_ID = "com.objectstack.account";
|
|
7
|
+
var ACCOUNT_APP_NAMESPACE = "account";
|
|
8
|
+
var ACCOUNT_APP_VERSION = "9.3.0";
|
|
9
|
+
var accountAppManifestHeader = {
|
|
10
|
+
id: ACCOUNT_APP_PACKAGE_ID,
|
|
11
|
+
namespace: ACCOUNT_APP_NAMESPACE,
|
|
12
|
+
version: ACCOUNT_APP_VERSION,
|
|
13
|
+
type: "plugin",
|
|
14
|
+
scope: "system",
|
|
15
|
+
name: "Account",
|
|
16
|
+
description: "ObjectStack Account \u2014 end-user account & self-service app.",
|
|
17
|
+
dependencies: ["com.objectstack.plugin-auth"]
|
|
18
|
+
};
|
|
19
|
+
var AccountAppPlugin = class {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.name = ACCOUNT_APP_PACKAGE_ID;
|
|
22
|
+
this.type = "standard";
|
|
23
|
+
this.version = ACCOUNT_APP_VERSION;
|
|
24
|
+
// Kernel plugin dependency is matched by plugin NAME (AuthPlugin.name =
|
|
25
|
+
// 'com.objectstack.auth'), not by package id.
|
|
26
|
+
this.dependencies = ["com.objectstack.auth"];
|
|
27
|
+
}
|
|
28
|
+
async init(_ctx) {
|
|
29
|
+
}
|
|
30
|
+
async start(ctx) {
|
|
31
|
+
const manifest = ctx?.getService?.("manifest");
|
|
32
|
+
if (!manifest || typeof manifest.register !== "function") return;
|
|
33
|
+
manifest.register({ ...accountAppManifestHeader, apps: [apps.ACCOUNT_APP] });
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
function createAccountAppPlugin() {
|
|
37
|
+
return new AccountAppPlugin();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
Object.defineProperty(exports, "ACCOUNT_APP", {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function () { return apps.ACCOUNT_APP; }
|
|
43
|
+
});
|
|
44
|
+
exports.ACCOUNT_APP_NAMESPACE = ACCOUNT_APP_NAMESPACE;
|
|
45
|
+
exports.ACCOUNT_APP_PACKAGE_ID = ACCOUNT_APP_PACKAGE_ID;
|
|
46
|
+
exports.ACCOUNT_APP_VERSION = ACCOUNT_APP_VERSION;
|
|
47
|
+
exports.AccountAppPlugin = AccountAppPlugin;
|
|
48
|
+
exports.accountAppManifestHeader = accountAppManifestHeader;
|
|
49
|
+
exports.createAccountAppPlugin = createAccountAppPlugin;
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
51
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["ACCOUNT_APP"],"mappings":";;;;;AAuBO,IAAM,sBAAA,GAAyB;AAC/B,IAAM,qBAAA,GAAwB;AAC9B,IAAM,mBAAA,GAAsB;AAG5B,IAAM,wBAAA,GAA2B;AAAA,EACtC,EAAA,EAAI,sBAAA;AAAA,EACJ,SAAA,EAAW,qBAAA;AAAA,EACX,OAAA,EAAS,mBAAA;AAAA,EACT,IAAA,EAAM,QAAA;AAAA,EACN,KAAA,EAAO,QAAA;AAAA,EACP,IAAA,EAAM,SAAA;AAAA,EACN,WAAA,EAAa,iEAAA;AAAA,EACb,YAAA,EAAc,CAAC,6BAA6B;AAC9C;AAMO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACL,IAAA,IAAA,CAAS,IAAA,GAAO,sBAAA;AAChB,IAAA,IAAA,CAAS,IAAA,GAAO,UAAA;AAChB,IAAA,IAAA,CAAS,OAAA,GAAU,mBAAA;AAGnB;AAAA;AAAA,IAAA,IAAA,CAAS,YAAA,GAAyB,CAAC,sBAAsB,CAAA;AAAA,EAAA;AAAA,EAEzD,MAAM,KAAK,IAAA,EAA0B;AAAA,EAErC;AAAA,EAEA,MAAM,MAAM,GAAA,EAAyB;AACnC,IAAA,MAAM,QAAA,GAAW,GAAA,EAAK,UAAA,GAAa,UAAU,CAAA;AAC7C,IAAA,IAAI,CAAC,QAAA,IAAY,OAAO,QAAA,CAAS,aAAa,UAAA,EAAY;AAC1D,IAAA,QAAA,CAAS,QAAA,CAAS,EAAE,GAAG,wBAAA,EAA0B,MAAM,CAACA,gBAAW,GAAG,CAAA;AAAA,EACxE;AACF;AAGO,SAAS,sBAAA,GAA2C;AACzD,EAAA,OAAO,IAAI,gBAAA,EAAiB;AAC9B","file":"index.js","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * `@objectstack/account` — the end-user Account self-service app as its own\n * ObjectStack package (ADR-0048: one app per package).\n *\n * Account is a console navigation-shell app (`AppSchema`) given a distinct\n * package id (`com.objectstack.account`) so `/apps/<packageId>` (alias\n * `/apps/account`) resolves to exactly this app. It navigates auth/identity\n * objects owned by `@objectstack/plugin-auth`, hence the dependency.\n *\n * (The package name `@objectstack/account` was previously held by a deprecated\n * standalone account-portal SPA, now removed; this reclaims it for the console\n * account app.)\n *\n * NOTE (transitional): `ACCOUNT_APP` is still imported from\n * `@objectstack/platform-objects/apps`, and this package is NOT yet wired into\n * the dev/serve plugin set — that boot-path switch lands separately so it can\n * be verified against a live `os dev` boot.\n */\n\nimport { ACCOUNT_APP } from '@objectstack/platform-objects/apps';\n\nexport const ACCOUNT_APP_PACKAGE_ID = 'com.objectstack.account';\nexport const ACCOUNT_APP_NAMESPACE = 'account';\nexport const ACCOUNT_APP_VERSION = '9.3.0';\n\n/** Manifest header for the Account app package. */\nexport const accountAppManifestHeader = {\n id: ACCOUNT_APP_PACKAGE_ID,\n namespace: ACCOUNT_APP_NAMESPACE,\n version: ACCOUNT_APP_VERSION,\n type: 'plugin' as const,\n scope: 'system' as const,\n name: 'Account',\n description: 'ObjectStack Account — end-user account & self-service app.',\n dependencies: ['com.objectstack.plugin-auth'],\n};\n\n/**\n * Thin plugin that registers the Account app manifest. Structurally typed\n * against the kernel `Plugin` contract.\n */\nexport class AccountAppPlugin {\n readonly name = ACCOUNT_APP_PACKAGE_ID;\n readonly type = 'standard';\n readonly version = ACCOUNT_APP_VERSION;\n // Kernel plugin dependency is matched by plugin NAME (AuthPlugin.name =\n // 'com.objectstack.auth'), not by package id.\n readonly dependencies: string[] = ['com.objectstack.auth'];\n\n async init(_ctx: any): Promise<void> {\n // No-op: registration happens in start() once the manifest service exists.\n }\n\n async start(ctx: any): Promise<void> {\n const manifest = ctx?.getService?.('manifest');\n if (!manifest || typeof manifest.register !== 'function') return;\n manifest.register({ ...accountAppManifestHeader, apps: [ACCOUNT_APP] });\n }\n}\n\n/** Convenience factory mirroring the rest of the plugin ecosystem. */\nexport function createAccountAppPlugin(): AccountAppPlugin {\n return new AccountAppPlugin();\n}\n\nexport { ACCOUNT_APP };\n"]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ACCOUNT_APP } from '@objectstack/platform-objects/apps';
|
|
2
|
+
export { ACCOUNT_APP } from '@objectstack/platform-objects/apps';
|
|
3
|
+
|
|
4
|
+
// src/index.ts
|
|
5
|
+
var ACCOUNT_APP_PACKAGE_ID = "com.objectstack.account";
|
|
6
|
+
var ACCOUNT_APP_NAMESPACE = "account";
|
|
7
|
+
var ACCOUNT_APP_VERSION = "9.3.0";
|
|
8
|
+
var accountAppManifestHeader = {
|
|
9
|
+
id: ACCOUNT_APP_PACKAGE_ID,
|
|
10
|
+
namespace: ACCOUNT_APP_NAMESPACE,
|
|
11
|
+
version: ACCOUNT_APP_VERSION,
|
|
12
|
+
type: "plugin",
|
|
13
|
+
scope: "system",
|
|
14
|
+
name: "Account",
|
|
15
|
+
description: "ObjectStack Account \u2014 end-user account & self-service app.",
|
|
16
|
+
dependencies: ["com.objectstack.plugin-auth"]
|
|
17
|
+
};
|
|
18
|
+
var AccountAppPlugin = class {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.name = ACCOUNT_APP_PACKAGE_ID;
|
|
21
|
+
this.type = "standard";
|
|
22
|
+
this.version = ACCOUNT_APP_VERSION;
|
|
23
|
+
// Kernel plugin dependency is matched by plugin NAME (AuthPlugin.name =
|
|
24
|
+
// 'com.objectstack.auth'), not by package id.
|
|
25
|
+
this.dependencies = ["com.objectstack.auth"];
|
|
26
|
+
}
|
|
27
|
+
async init(_ctx) {
|
|
28
|
+
}
|
|
29
|
+
async start(ctx) {
|
|
30
|
+
const manifest = ctx?.getService?.("manifest");
|
|
31
|
+
if (!manifest || typeof manifest.register !== "function") return;
|
|
32
|
+
manifest.register({ ...accountAppManifestHeader, apps: [ACCOUNT_APP] });
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
function createAccountAppPlugin() {
|
|
36
|
+
return new AccountAppPlugin();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { ACCOUNT_APP_NAMESPACE, ACCOUNT_APP_PACKAGE_ID, ACCOUNT_APP_VERSION, AccountAppPlugin, accountAppManifestHeader, createAccountAppPlugin };
|
|
40
|
+
//# sourceMappingURL=index.mjs.map
|
|
41
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;AAuBO,IAAM,sBAAA,GAAyB;AAC/B,IAAM,qBAAA,GAAwB;AAC9B,IAAM,mBAAA,GAAsB;AAG5B,IAAM,wBAAA,GAA2B;AAAA,EACtC,EAAA,EAAI,sBAAA;AAAA,EACJ,SAAA,EAAW,qBAAA;AAAA,EACX,OAAA,EAAS,mBAAA;AAAA,EACT,IAAA,EAAM,QAAA;AAAA,EACN,KAAA,EAAO,QAAA;AAAA,EACP,IAAA,EAAM,SAAA;AAAA,EACN,WAAA,EAAa,iEAAA;AAAA,EACb,YAAA,EAAc,CAAC,6BAA6B;AAC9C;AAMO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACL,IAAA,IAAA,CAAS,IAAA,GAAO,sBAAA;AAChB,IAAA,IAAA,CAAS,IAAA,GAAO,UAAA;AAChB,IAAA,IAAA,CAAS,OAAA,GAAU,mBAAA;AAGnB;AAAA;AAAA,IAAA,IAAA,CAAS,YAAA,GAAyB,CAAC,sBAAsB,CAAA;AAAA,EAAA;AAAA,EAEzD,MAAM,KAAK,IAAA,EAA0B;AAAA,EAErC;AAAA,EAEA,MAAM,MAAM,GAAA,EAAyB;AACnC,IAAA,MAAM,QAAA,GAAW,GAAA,EAAK,UAAA,GAAa,UAAU,CAAA;AAC7C,IAAA,IAAI,CAAC,QAAA,IAAY,OAAO,QAAA,CAAS,aAAa,UAAA,EAAY;AAC1D,IAAA,QAAA,CAAS,QAAA,CAAS,EAAE,GAAG,wBAAA,EAA0B,MAAM,CAAC,WAAW,GAAG,CAAA;AAAA,EACxE;AACF;AAGO,SAAS,sBAAA,GAA2C;AACzD,EAAA,OAAO,IAAI,gBAAA,EAAiB;AAC9B","file":"index.mjs","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * `@objectstack/account` — the end-user Account self-service app as its own\n * ObjectStack package (ADR-0048: one app per package).\n *\n * Account is a console navigation-shell app (`AppSchema`) given a distinct\n * package id (`com.objectstack.account`) so `/apps/<packageId>` (alias\n * `/apps/account`) resolves to exactly this app. It navigates auth/identity\n * objects owned by `@objectstack/plugin-auth`, hence the dependency.\n *\n * (The package name `@objectstack/account` was previously held by a deprecated\n * standalone account-portal SPA, now removed; this reclaims it for the console\n * account app.)\n *\n * NOTE (transitional): `ACCOUNT_APP` is still imported from\n * `@objectstack/platform-objects/apps`, and this package is NOT yet wired into\n * the dev/serve plugin set — that boot-path switch lands separately so it can\n * be verified against a live `os dev` boot.\n */\n\nimport { ACCOUNT_APP } from '@objectstack/platform-objects/apps';\n\nexport const ACCOUNT_APP_PACKAGE_ID = 'com.objectstack.account';\nexport const ACCOUNT_APP_NAMESPACE = 'account';\nexport const ACCOUNT_APP_VERSION = '9.3.0';\n\n/** Manifest header for the Account app package. */\nexport const accountAppManifestHeader = {\n id: ACCOUNT_APP_PACKAGE_ID,\n namespace: ACCOUNT_APP_NAMESPACE,\n version: ACCOUNT_APP_VERSION,\n type: 'plugin' as const,\n scope: 'system' as const,\n name: 'Account',\n description: 'ObjectStack Account — end-user account & self-service app.',\n dependencies: ['com.objectstack.plugin-auth'],\n};\n\n/**\n * Thin plugin that registers the Account app manifest. Structurally typed\n * against the kernel `Plugin` contract.\n */\nexport class AccountAppPlugin {\n readonly name = ACCOUNT_APP_PACKAGE_ID;\n readonly type = 'standard';\n readonly version = ACCOUNT_APP_VERSION;\n // Kernel plugin dependency is matched by plugin NAME (AuthPlugin.name =\n // 'com.objectstack.auth'), not by package id.\n readonly dependencies: string[] = ['com.objectstack.auth'];\n\n async init(_ctx: any): Promise<void> {\n // No-op: registration happens in start() once the manifest service exists.\n }\n\n async start(ctx: any): Promise<void> {\n const manifest = ctx?.getService?.('manifest');\n if (!manifest || typeof manifest.register !== 'function') return;\n manifest.register({ ...accountAppManifestHeader, apps: [ACCOUNT_APP] });\n }\n}\n\n/** Convenience factory mirroring the rest of the plugin ecosystem. */\nexport function createAccountAppPlugin(): AccountAppPlugin {\n return new AccountAppPlugin();\n}\n\nexport { ACCOUNT_APP };\n"]}
|
package/package.json
CHANGED
|
@@ -1,65 +1,52 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectstack/account",
|
|
3
|
-
"version": "9.
|
|
4
|
-
"description": "ObjectStack Account - End-user account & organization self-service portal",
|
|
3
|
+
"version": "9.4.0",
|
|
5
4
|
"license": "Apache-2.0",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
5
|
+
"description": "ObjectStack Account — the end-user account/self-service console app, packaged as its own ObjectStack app package (ADR-0048: one app per package).",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.mjs",
|
|
12
|
+
"require": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@objectstack/platform-objects": "9.4.0",
|
|
17
|
+
"@objectstack/spec": "9.4.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/node": "^25.9.2",
|
|
21
|
+
"tsup": "^8.5.1",
|
|
22
|
+
"typescript": "^6.0.3",
|
|
23
|
+
"vitest": "^4.1.8"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [
|
|
26
|
+
"objectstack",
|
|
27
|
+
"app",
|
|
28
|
+
"account"
|
|
9
29
|
],
|
|
30
|
+
"author": "ObjectStack",
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "https://github.com/objectstack-ai/framework.git",
|
|
34
|
+
"directory": "packages/apps/account"
|
|
35
|
+
},
|
|
36
|
+
"homepage": "https://objectstack.ai/docs",
|
|
37
|
+
"bugs": "https://github.com/objectstack-ai/framework/issues",
|
|
10
38
|
"publishConfig": {
|
|
11
39
|
"access": "public"
|
|
12
40
|
},
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
"@radix-ui/react-dropdown-menu": "^2.1.17",
|
|
20
|
-
"@radix-ui/react-label": "^2.1.9",
|
|
21
|
-
"@radix-ui/react-scroll-area": "^1.2.11",
|
|
22
|
-
"@radix-ui/react-select": "^2.3.0",
|
|
23
|
-
"@radix-ui/react-separator": "^1.1.9",
|
|
24
|
-
"@radix-ui/react-slot": "^1.2.5",
|
|
25
|
-
"@radix-ui/react-switch": "^1.3.0",
|
|
26
|
-
"@radix-ui/react-tabs": "^1.1.14",
|
|
27
|
-
"@radix-ui/react-toast": "^1.2.16",
|
|
28
|
-
"@radix-ui/react-tooltip": "^1.2.9",
|
|
29
|
-
"@tailwindcss/postcss": "^4.3.0",
|
|
30
|
-
"@tanstack/react-router": "^1.170.15",
|
|
31
|
-
"@tanstack/router-plugin": "^1.168.18",
|
|
32
|
-
"@testing-library/jest-dom": "^6.9.1",
|
|
33
|
-
"@testing-library/react": "^16.3.2",
|
|
34
|
-
"@testing-library/user-event": "^14.6.1",
|
|
35
|
-
"@types/react": "^19.2.17",
|
|
36
|
-
"@types/react-dom": "^19.2.3",
|
|
37
|
-
"@vitejs/plugin-react": "^6.0.2",
|
|
38
|
-
"@vitest/coverage-v8": "^4.1.8",
|
|
39
|
-
"autoprefixer": "^10.5.0",
|
|
40
|
-
"class-variance-authority": "^0.7.1",
|
|
41
|
-
"clsx": "^2.1.1",
|
|
42
|
-
"happy-dom": "^20.10.2",
|
|
43
|
-
"lucide-react": "^1.17.0",
|
|
44
|
-
"postcss": "^8.5.15",
|
|
45
|
-
"react": "^19.2.7",
|
|
46
|
-
"react-dom": "^19.2.7",
|
|
47
|
-
"react-resizable-panels": "^4.11.2",
|
|
48
|
-
"tailwind-merge": "^3.6.0",
|
|
49
|
-
"tailwindcss": "^4.3.0",
|
|
50
|
-
"typescript": "^6.0.3",
|
|
51
|
-
"vite": "^8.0.16",
|
|
52
|
-
"vitest": "^4.1.8",
|
|
53
|
-
"@objectstack/client": "9.2.0",
|
|
54
|
-
"@objectstack/client-react": "9.2.0",
|
|
55
|
-
"@objectstack/spec": "9.2.0"
|
|
41
|
+
"files": [
|
|
42
|
+
"dist",
|
|
43
|
+
"README.md"
|
|
44
|
+
],
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=18.0.0"
|
|
56
47
|
},
|
|
57
48
|
"scripts": {
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"typecheck": "tsc --noEmit",
|
|
61
|
-
"test": "vitest run --passWithNoTests",
|
|
62
|
-
"test:watch": "vitest",
|
|
63
|
-
"preview": "vite preview"
|
|
49
|
+
"build": "tsup",
|
|
50
|
+
"test": "vitest run --passWithNoTests"
|
|
64
51
|
}
|
|
65
52
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={save:`Save`,cancel:`Cancel`,delete:`Delete`,edit:`Edit`,create:`Create`,loading:`Loading...`,submit:`Submit`,confirm:`Confirm`,back:`Back`,next:`Next`,yes:`Yes`,no:`No`,english:`English`,chinese:`中文`,language:`Language`,theme:`Theme`,light:`Light`,dark:`Dark`,system:`System`,toggleTheme:`Toggle theme`,saving:`Saving…`,roles:{owner:`Owner`,admin:`Admin`,member:`Member`}},t={accountHome:`Account home`,brand:`ObjectOS Account`,breadcrumb:{account:`Account`,profile:`Profile`,security:`Security`,sessions:`Sessions`,twoFactor:`Two-Factor`,organizations:`Organizations`,oauthApps:`OAuth Apps`,new:`New`,general:`General`,members:`Members`,settings:`Settings`,acceptInvitation:`Accept invitation`,deviceAuthorization:`Device authorization`}},n={groups:{account:`Account`,organization:`Organization`,developer:`Developer`},items:{home:`Home`,profile:`Profile`,security:`Security`,sessions:`Sessions`,twoFactor:`Two-Factor`,overview:`Overview`,general:`General`,members:`Members`,oauthApps:`OAuth Apps`,invitations:`Invitations`,linkedAccounts:`Linked Accounts`,teams:`Teams`},expand:`Expand sidebar`,collapse:`Collapse sidebar`},r={select:`Select organization`,new:`New organization…`,manage:`Manage organizations`},i={user:`User`,signIn:`Sign in`,account:`Account`,organizations:`Organizations`,signOut:`Sign out`},a={welcome:`Welcome back`,verified:`Verified`,quickAccess:`Quick access`,stats:{score:`Security score`,orgs:`Organizations`,twoFactor:`Two-factor auth`,enabled:`Enabled`,disabled:`Disabled`,manage:`Manage`,review:`Review`,enable:`Enable now`},tiles:{profile:{title:`Profile`,description:`Display name, avatar and contact info.`},security:{title:`Security`,description:`Change your password and review activity.`},twoFactor:{title:`Two-factor auth`,description:`Add an authenticator app for stronger sign-in.`},sessions:{title:`Active sessions`,description:`See and revoke devices that are signed in.`},linked:{title:`Linked accounts`,description:`Manage your social and SSO providers.`},oauth:{title:`OAuth applications`,description:`Apps you have authorised to access your account.`}}},o={title:`Profile`,description:`Update your display name.`,email:`Email`,name:`Name`,namePlaceholder:`Your name`,save:`Save changes`,updated:`Profile updated`,updateFailed:`Failed to update profile`,changeAvatar:`Change avatar`,avatarUploading:`Uploading…`,avatarHint:`JPG, PNG or GIF. Max 2 MB.`,avatarUpdated:`Avatar updated`,avatarUploadFailed:`Failed to upload avatar`,avatarStorageUnavailable:`Storage service unavailable`},s={title:`Change password`,description:`Update your account password.`,currentPassword:`Current password`,newPassword:`New password`,confirmPassword:`Confirm new password`,submit:`Change password`,passwordsMismatch:`Passwords do not match`,changed:`Password changed`,changeFailed:`Failed to change password`,revokeOtherSessions:`Also revoke all other sessions`,email:{title:`Change email`,description:`Update the email address associated with your account.`,current:`Current email`,new:`New email address`,placeholder:`new@example.com`,submit:`Change email`,requested:`Verification email sent to your new address`,requestFailed:`Failed to change email`},delete:{title:`Delete account`,description:`Permanently delete your account and all associated data. This action cannot be undone.`,dialogTitle:`Are you absolutely sure?`,confirm:`Type your email to confirm: {{email}}`,confirmationMismatch:`Email does not match`,password:`Enter your password to confirm`,cta:`Delete my account`,success:`Account deleted`,failed:`Failed to delete account`}},c={title:`Active sessions`,description:`Manage devices that are signed in to your account.`,revokeOthers:`Revoke all others`,revokingOthers:`Revoking…`,loading:`Loading sessions…`,empty:`No active sessions found.`,unknownDevice:`Unknown device`,expires:`Expires {{date}}`,loadFailed:`Failed to load sessions`,revoked:`Session revoked`,revokeFailed:`Failed to revoke session`,othersRevoked:`Other sessions revoked`,revokeOthersFailed:`Failed to revoke sessions`,current:`Current session`},l={title:`Two-factor authentication`,loadingStatus:`Loading status…`,setupTitle:`Set up two-factor authentication`,setupDescription:`Scan the QR code with your authenticator app, then enter the verification code.`,qrAlt:`TOTP QR code`,uriHint:`Copy this URI into your authenticator app if you cannot scan the QR code.`,verificationCode:`Verification code`,verify:`Verify and enable`,verifying:`Verifying…`,cancel:`Cancel`,enabled:`Enabled`,notEnabled:`Not enabled`,enabledDescription:`Your account is protected with 2FA. Enter your password to disable it.`,notEnabledDescription:`Add an extra layer of security to your account using a TOTP authenticator app.`,password:`Password`,passwordPlaceholder:`Confirm with your account password`,enable:`Enable 2FA`,loading:`Loading…`,disable:`Disable 2FA`,disabling:`Disabling…`,enableSuccess:`Two-factor authentication enabled`,disableSuccess:`Two-factor authentication disabled`,enableFailed:`Failed to enable 2FA`,disableFailed:`Failed to disable 2FA`,invalidCode:`Invalid code`,trustDevice:`Trust this device`,backupCodes:{title:`Backup codes`,description:`Use backup codes to sign in if you lose access to your authenticator app.`,savedTitle:`Save these backup codes`,savedHint:`Store these codes in a safe place. Each code can only be used once.`,newTitle:`New backup codes generated`,regenerate:`Regenerate backup codes`,regenerated:`Backup codes regenerated`,regenerateFailed:`Failed to regenerate backup codes`,copy:`Copy`,copied:`Backup codes copied to clipboard`,copyFailed:`Failed to copy to clipboard`}},u={emailLabel:`Email`,passwordLabel:`Password`,nameLabel:`Name`,emailPlaceholder:`m@example.com`,social:{continueWith:`Continue with`,signUpWith:`Sign up with`,orContinueEmail:`or continue with email`,redirectingTo:`Redirecting to {{provider}}…`},login:{title:`Welcome back`,description:`Sign in to your account.`,forgotPassword:`Forgot your password?`,submit:`Login`,submitting:`Signing in…`,noAccount:`Don't have an account?`,signUp:`Sign up`,welcomeToast:`Welcome back`,failed:`Sign in failed`,signingIn:`Signing you in…`,ssoHandoff:`Continue to {{target}}`,brandHeadline:`The AI-native backend for business software.`,brandSubline:`One identity, every workspace. Sign in to manage your account, organizations and connected apps.`},register:{title:`Create an account`,description:`Create your account.`,submit:`Create account`,submitting:`Creating…`,haveAccount:`Already have an account?`,signIn:`Sign in`,successToast:`Account created`,failed:`Sign up failed`},forgotPassword:{checkEmailTitle:`Check your email`,checkEmailDescription:`If an account exists for {{email}}, you'll receive a password reset link shortly.`,backToSignIn:`Back to sign in`,title:`Forgot password`,description:`Enter your email and we'll send you a reset link.`,submit:`Send reset link`,submitting:`Sending…`,rememberPassword:`Remember your password?`,signIn:`Sign in`,failed:`Failed to send reset email`},resetPassword:{title:`Reset password`,description:`Choose a new password for your account.`,newPassword:`New password`,confirmPassword:`Confirm password`,submit:`Reset password`,submitting:`Resetting…`,passwordsMismatch:`Passwords do not match`,missingToken:`Missing reset token`,invalidToken:`Invalid or missing reset token.`,requestNewLink:`Request a new link`,success:`Password reset successfully`,failed:`Failed to reset password`},verifyEmail:{missingToken:`Missing verification token.`,verificationFailed:`Verification failed ({{status}})`,verifyingTitle:`Verifying email…`,verifyingDescription:`Please wait while we verify your email address.`,successTitle:`Email verified`,successDescription:`Your email has been verified successfully.`,signInLink:`Sign in to your account`,errorTitle:`Verification failed`,errorDescription:`The verification link is invalid or has expired.`,backToSignIn:`Back to sign in`},setup:{welcomeTitle:`Set up your workspace`,successDescription:`Your owner account has been created.`,failed:`Setup failed`,description:`Create the first owner account.`,yourName:`Your name`,passwordHint:`At least 8 characters`,orgName:`Organization name`,orgNamePlaceholder:`Acme Corp`,orgNameHint:`You can rename or add more organizations later.`,submit:`Create account`,submitting:`Creating owner account…`,footerNote:`This screen only appears on first launch. After setup, all users sign in normally.`,orgSlug:`Organization slug`,orgSlugHint:`URL-friendly identifier (auto-generated from name).`,inviteTeammates:`Invite teammates`,inviteTeammatesHint:`Optional. You can always invite people later.`,addInvite:`Add`,inviteEmpty:`No invitations yet — add teammates above.`,invitePartialFailure:`Some invitations failed`,invitePartialFailureDescription:`{{failed}} of {{total}} invitations could not be sent.`,invitesSent:`{{count}} invitation(s) sent`},device:{invalidTitle:`Invalid Request`,invalidDescription:`No user code provided. Please use the link from the CLI.`,loading:`Loading…`,approvedTitle:`CLI Authorized`,approvedDescription:`You can close this tab.`,deniedTitle:`Request Denied`,deniedDescription:`The CLI login request has been denied.`,approveSuccess:`CLI login approved`,approveSuccessDescription:`The CLI has been authenticated.`,approveFailed:`Approval failed`,denyFailed:`Deny failed`,title:`CLI Login Request`,subtitle:`Approve CLI access for {{email}}`,userCodeLabel:`User Code`,loggedInAs:`Logged in as {{email}}`,approve:`Approve CLI Access`,approving:`Approving…`,deny:`Deny`,denying:`Denying…`,cancel:`Cancel`},shell:{tenantHostHint:`You are signing in to this workspace`},userMenu:{signingOut:`Signing you out…`}},d={title:`Organization invitation`,description:`You have been invited to join an organization. Accept or decline below.`,accept:`Accept invitation`,accepting:`Accepting…`,decline:`Decline`,declining:`Declining…`,accepted:`Invitation accepted`,acceptFailed:`Failed to accept invitation`,declined:`Invitation declined`,declineFailed:`Failed to decline invitation`},f={consent:{title:`Authorize {{appName}}`,request:`{{appName}} is requesting access to your account{{suffix}}.`,willAllow:`This will allow it to:`,deny:`Deny`,authorize:`Authorize`,submitting:`Submitting…`,granted:`Consent granted`,denied:`Consent denied`,noRedirect:`No redirect URL returned by the server.`,failed:`Failed to submit consent`,unknownApp:`an application`,footer:`You can revoke access any time from your account settings.`,scope:{openid:`Verify your identity`,profile:`Access your basic profile information`,email:`Access your email address`,offlineAccess:`Maintain access while you are offline`}},applications:{title:`OAuth Applications`,description:`Register applications to authenticate users through this server's OpenID Connect identity provider.`,new:`New application`,register:`Register application`,registering:`Registering…`,registered:`Application registered`,registeredTitle:`Application registered`,registeredDescription:`Copy the client secret now — it cannot be displayed again.`,registerFailed:`Failed to register application`,deleted:`OAuth application deleted`,deleteFailed:`Failed to delete application`,deleteDialogTitle:`Delete OAuth application?`,deleteDialogDescription:`This will permanently delete {{name}}. All access tokens and consents associated with this client will also be revoked. This action cannot be undone.`,deleting:`Deleting…`,disabled:`Disabled`,emptyTitle:`No OAuth applications yet`,emptyDescription:`Register an application to start integrating SSO.`,credentials:`Credentials`,credentialsDescription:`Use these values to configure the OAuth/OIDC client in your application.`,credentialsDescriptionDetail:`The client secret was shown only once at registration. To rotate it, delete this application and register a new one.`,clientId:`Client ID`,clientSecret:`Client Secret`,clientSecretWarning:`Save this secret now — it cannot be retrieved later.`,copied:`{{label}} copied to clipboard`,copyFailed:`Failed to copy {{label}}`,backToList:`Back to list`,viewApplication:`View application`,notFoundTitle:`Application not found`,notFoundDescription:`We couldn't find an OAuth application with that client ID.`,redirectUris:`Redirect URIs`,noRedirectUris:`None configured.`,dangerTitle:`Danger zone`,dangerDescription:`Deleting this application revokes all access tokens issued to it and removes any recorded user consents.`,delete:`Delete application`,form:{title:`Register OAuth application`,description:`Create credentials so an external app can authenticate users via this server.`,details:`Application details`,name:`Application name`,namePlaceholder:`My Awesome App`,nameRequired:`Name is required`,redirectUris:`Redirect URIs`,redirectPlaceholder:`https://app.example.com/callback`,redirectHint:`One per line, or comma-separated. Must exactly match the URI the client uses during the authorization flow.`,redirectRequired:`At least one redirect URI is required`,authMethod:`Token endpoint auth method`,authMethodBasic:`client_secret_basic (recommended)`,authMethodPost:`client_secret_post`,authMethodNone:`none (public client / PKCE only)`,clientUri:`Application URL (optional)`,clientUriPlaceholder:`https://app.example.com`,logoUri:`Logo URL (optional)`,logoUriPlaceholder:`https://app.example.com/logo.png`,logoHint:`Shown to users on the consent screen.`,registering:`Registering…`}}},p={title:`Organizations`,description:`Select an organization to work with, or create a new one.`,newOrganization:`New organization`,loading:`Loading…`,emptyTitle:`No organizations yet`,emptyDescription:`Create your first organization to start collaborating with your team.`,createOrganization:`Create organization`,active:`Active`,switchFailed:`Failed to switch organization`,new:{title:`New organization`,description:`Organizations group projects, metadata, members, and resources together.`,name:`Name`,namePlaceholder:`Acme Corp`,slug:`Slug`,slugPlaceholder:`acme-corp`,slugHint:`Lowercase, dashes only. Used in URLs and APIs.`,cancel:`Cancel`,submit:`Create organization`,submitting:`Creating…`,successToast:`Organization created`,failed:`Failed to create organization`},general:{switched:`Organization switched`,switchFailed:`Failed to switch organization`,nameRequired:`Name is required`,updated:`Organization updated`,updateFailed:`Failed to update organization`,confirmationMismatch:`Confirmation does not match`,confirmationHint:`Type "{{name}}" to confirm deletion.`,deleted:`Organization deleted`,deletedWithWarnings:`Removed {{deletedProjects}} project(s). Warning: {{warning}}`,deletedDescription:`{{name}} and {{deletedProjects}} project(s) (with their databases) have been removed.`,deleteFailed:`Failed to delete organization`,setActive:`Set as active`,detailsTitle:`Details`,detailsDescription:`Update your organization's display name, URL slug, and logo.`,detailsReadOnly:`Only owners and admins can edit these details.`,namePlaceholder:`Acme Inc.`,slugPlaceholder:`acme`,slugHint:`Lowercase, dash-separated. Used in URLs and invitations.`,logo:`Logo URL`,logoPlaceholder:`https://…`,organizationId:`Organization ID`,reset:`Reset`,save:`Save changes`,overviewTitle:`At a glance`,members:`Members`,pendingInvitations:`Pending invitations`,dangerTitle:`Danger zone`,dangerDescription:`Permanently delete this organization, all of its projects, and every project's underlying database. This action cannot be undone.`,delete:`Delete organization`,deleteDialogTitle:`Delete organization`,deleteDialogDescription:`This will permanently delete {{name}}, all of its projects, and every project's underlying database. Members and pending invitations will be removed. This action cannot be undone.`,deleteDialogLabel:`Type {{name}} to confirm`,deleting:`Deleting…`},members:{title:`Members ({{count}})`,description:`People with access to this organization`,invite:`Invite`,loadingMembers:`Loading members...`,empty:`No members yet. Invite someone to get started.`,inviteMember:`Invite member`,removeMember:`Remove member`,pendingTitle:`Pending invitations ({{count}})`,pendingDescription:`Invitations sent to join this organization`,sendInvitation:`Send invitation`,loadingInvitations:`Loading invitations...`,noPending:`No pending invitations`,pendingHint:`Invitations will appear here once sent`,expires:`Expires {{date}}`,inviteDialogTitle:`Invite member`,inviteDialogDescription:`Send an invitation to join {{organization}}`,email:`Email address`,emailPlaceholder:`colleague@example.com`,role:`Role`,roleHints:{owner:`Full access to manage the organization`,admin:`Can manage members and settings, but cannot delete the organization`,member:`Can view and use organization resources`},emailRequired:`Email required`,emailRequiredDescription:`Please enter an email address`,invitationSent:`Invitation sent successfully`,inviteFailed:`Failed to send invitation`,removeConfirm:`Are you sure you want to remove {{name}} from this organization?`,memberRemoved:`Member removed successfully`,removeFailed:`Failed to remove member`,cancelConfirm:`Cancel invitation for {{email}}?`,invitationCanceled:`Invitation canceled`,cancelFailed:`Failed to cancel invitation`,sending:`Sending...`,you:`You`,leave:`Leave`,leaveConfirm:`Leave "{{org}}"? You will lose access to this organization.`,leftOrg:`You have left the organization`,leaveFailed:`Failed to leave organization`,roleUpdated:`Role updated`,roleUpdateFailed:`Failed to update role`,singleInvite:`Single`,bulkInvite:`Bulk`,bulkEmails:`Email addresses`,bulkEmailsPlaceholder:`one@example.com
|
|
2
|
-
two@example.com`,bulkEmailsHint:`One email per line, or separated by commas.`,invitationResent:`Invitation resent`,resend:`Resend`,resendFailed:`Failed to resend invitation`,copyLink:`Copy invite link`,linkCopied:`Invite link copied`,linkCopyFailed:`Failed to copy link`,cancel:`Cancel invitation`,invitePartialSuccess:`{{sent}} sent, {{failed}} failed`}},m={agreementPrefix:`By clicking continue, you agree to our`,termsOfService:`Terms of Service`,and:`and`,privacyPolicy:`Privacy Policy`},h={title:`Invitations`,description:`Pending organization invitations sent to you.`,empty:`No pending invitations.`,accept:`Accept`,accepted:`Invitation accepted`,acceptFailed:`Failed to accept invitation`,reject:`Reject`,rejected:`Invitation rejected`,rejectFailed:`Failed to reject invitation`,expires:`Expires {{date}}`},g={title:`Linked accounts`,description:`Social and OAuth accounts connected to your profile.`,empty:`No linked accounts.`,unlink:`Unlink`,unlinkConfirm:`Unlink {{provider}}?`,unlinked:`Account unlinked`,unlinkFailed:`Failed to unlink account`,linkedOn:`Linked on {{date}}`,addTitle:`Link a new account`,addDescription:`Connect additional providers for quick sign-in.`,linkFailed:`Failed to initiate linking`},_={title:`Teams ({{count}})`,description:`Organize members into teams within this organization.`,empty:`No teams yet.`,create:`Create team`,createTitle:`Create a new team`,createDescription:`Teams let you group members for easier management.`,created:`Team created`,createFailed:`Failed to create team`,nameLabel:`Team name`,namePlaceholder:`e.g. Engineering`,delete:`Delete team`,deleteConfirm:`Delete team "{{name}}"? This cannot be undone.`,deleted:`Team deleted`,deleteFailed:`Failed to delete team`,members:`Members ({{count}})`,noMembers:`No members in this team.`,addMember:`Add member`,addMemberTitle:`Add member to team`,addMemberDescription:`Select an organization member to add to this team.`,selectMember:`Member`,selectMemberPlaceholder:`Select a member…`,memberAdded:`Member added to team`,addMemberFailed:`Failed to add member`,memberRemoved:`Member removed from team`,removeMemberFailed:`Failed to remove member`},v={common:e,topBar:t,sidebar:n,organizationSwitcher:r,userMenu:i,home:a,profile:o,security:s,sessions:c,twoFactor:l,auth:u,acceptInvitation:d,oauth:f,organizations:p,legal:m,invitations:h,linkedAccounts:g,teams:_};export{d as acceptInvitation,u as auth,e as common,v as default,a as home,h as invitations,m as legal,g as linkedAccounts,f as oauth,r as organizationSwitcher,p as organizations,o as profile,s as security,c as sessions,n as sidebar,_ as teams,t as topBar,l as twoFactor,i as userMenu};
|