@nocobase/plugin-multi-portal 3.0.0-alpha.4 → 3.0.0-alpha.6

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.
@@ -8,19 +8,19 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/flow-engine": "3.0.0-alpha.4",
12
- "@nocobase/client": "3.0.0-alpha.4",
13
- "@nocobase/client-v2": "3.0.0-alpha.4",
11
+ "@nocobase/flow-engine": "3.0.0-alpha.6",
12
+ "@nocobase/client": "3.0.0-alpha.6",
13
+ "@nocobase/client-v2": "3.0.0-alpha.6",
14
14
  "react": "18.2.0",
15
15
  "react-router-dom": "6.30.1",
16
- "@nocobase/database": "3.0.0-alpha.4",
17
- "@nocobase/server": "3.0.0-alpha.4",
18
- "@nocobase/resourcer": "3.0.0-alpha.4",
19
- "@nocobase/utils": "3.0.0-alpha.4",
16
+ "@nocobase/database": "3.0.0-alpha.6",
17
+ "@nocobase/server": "3.0.0-alpha.6",
18
+ "@nocobase/resourcer": "3.0.0-alpha.6",
19
+ "@nocobase/utils": "3.0.0-alpha.6",
20
20
  "antd": "5.24.2",
21
21
  "ahooks": "3.7.8",
22
22
  "antd-style": "3.7.1",
23
- "@nocobase/plugin-ui-layout": "3.0.0-alpha.4",
23
+ "@nocobase/plugin-ui-layout": "3.0.0-alpha.6",
24
24
  "@ant-design/icons": "5.6.1",
25
25
  "sequelize": "6.35.2"
26
26
  };
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "Access path": "Access path",
3
3
  "Actions": "Actions",
4
- "Add Multi-portal": "Add portal",
5
- "Add portal": "Add portal",
4
+ "Add Multi-portal": "Add Portal",
5
+ "Add portal": "Add Portal",
6
6
  "Allow access": "Allow access",
7
7
  "Allow access to {{portal}}": "Allow access to {{portal}}",
8
8
  "Access path cannot be /": "Access path cannot be /",
@@ -11,7 +11,7 @@
11
11
  "Access path cannot contain wildcard": "Access path cannot contain wildcard",
12
12
  "Access path can only contain letters, numbers, hyphens, underscores, and slashes": "Access path can only contain letters, numbers, hyphens, underscores, and slashes",
13
13
  "Access path must start with /": "Access path must start with /",
14
- "AI portal": "AI portal",
14
+ "AI mode": "AI mode",
15
15
  "Are you sure you want to delete it?": "Are you sure you want to delete it?",
16
16
  "Are you sure you want to delete the selected Multi-portal records?": "Are you sure you want to delete the selected portal records?",
17
17
  "Cancel": "Cancel",
@@ -19,7 +19,7 @@
19
19
  "Delete Multi-portal": "Delete portal",
20
20
  "Delete portal": "Delete portal",
21
21
  "Desktop": "Desktop",
22
- "Portal type": "Portal type",
22
+ "Development mode": "Development mode",
23
23
  "Edit": "Edit",
24
24
  "Edit Multi-portal": "Edit portal",
25
25
  "Edit portal": "Edit portal",
@@ -43,19 +43,21 @@
43
43
  "No routes": "No routes",
44
44
  "Failed to load portals": "Failed to load portals",
45
45
  "Failed to save portal": "Failed to save portal",
46
- "Create with AI Agent and code. Users can request changes in natural language. Path: /x/<name>": "Create with AI Agent and code. Users can request changes in natural language. Path: /x/<name>",
47
- "Create with visual configuration. AI can help adjust the configuration. Path: /v/<name>": "Create with visual configuration. AI can help adjust the configuration. Path: /v/<name>",
46
+ "Build complete business systems with AI agents and code.": "Build complete business systems with AI agents and code.",
47
+ "Users describe requirements in natural language, and AI agents create and modify applications, including interfaces, data models, business logic, roles and permissions, and more.": "Users describe requirements in natural language, and AI agents create and modify applications, including interfaces, data models, business logic, roles and permissions, and more.",
48
+ "Build business systems through visual configuration.": "Build business systems through visual configuration.",
49
+ "Users create applications through drag-and-drop configuration. AI can assist with creating, adjusting, and optimizing configurations such as data models, interfaces, workflows, and more.": "Users create applications through drag-and-drop configuration. AI can assist with creating, adjusting, and optimizing configurations such as data models, interfaces, workflows, and more.",
48
50
  "Directory inside the Git repository for this portal. Leave empty for the root.": "Directory inside the Git repository for this portal. Leave empty for the root.",
49
51
  "Git": "Git",
50
52
  "Git branch": "Git branch",
51
53
  "Git path": "Git path",
52
54
  "Git repository URL": "Git repository URL",
53
55
  "Icon": "Icon",
54
- "Manage portal source code in a Git repository.": "Manage portal source code in a Git repository.",
55
- "Manage portal source code in NocoBase.": "Manage portal source code in NocoBase.",
56
+ "Store and manage application source code in a Git repository.": "Store and manage application source code in a Git repository.",
57
+ "Store and manage application source code in NocoBase.": "Store and manage application source code in NocoBase.",
56
58
  "NocoBase": "NocoBase",
57
59
  "Portal": "Portal",
58
- "No-code portal": "No-code portal",
60
+ "No-code mode": "No-code mode",
59
61
  "Portal manager": "Portal manager",
60
62
  "Portal name": "Portal name",
61
63
  "Portal name \"{{portalName}}\" already exists": "Portal name \"{{portalName}}\" already exists",
@@ -69,7 +71,8 @@
69
71
  "Saved successfully": "Saved successfully",
70
72
  "Search routes": "Search routes",
71
73
  "Select a role to configure permissions": "Select a role to configure permissions",
72
- "Source storage": "Source storage",
74
+ "Source management": "Source management",
75
+ "Select how the application source code is stored and managed.": "Select how the application source code is stored and managed.",
73
76
  "Submit": "Submit",
74
77
  "Target portal": "Target portal",
75
78
  "The default portal cannot be disabled": "The default portal cannot be disabled. Set another portal as default first.",
@@ -77,6 +80,7 @@
77
80
  "This entry is currently unavailable. Please check the application status.": "This entry is currently unavailable. Please check the application status.",
78
81
  "This entry is no longer available. Please remove this button.": "This entry is no longer available. Please remove this button.",
79
82
  "Title": "Title",
83
+ "Display name of the portal.": "Display name of the portal.",
80
84
  "Title field is required": "Title field is required",
81
85
  "The field value is required": "The field value is required",
82
86
  "UID": "UID",
@@ -130,7 +134,7 @@
130
134
  "filterByTk is required": "filterByTk is required",
131
135
  "Portal not found": "Portal not found",
132
136
  "Disabled Portal cannot be set as default": "Disabled Portal cannot be set as default",
133
- "Portal layout must be enabled before setting it as default": "Portal layout must be enabled before setting it as default",
137
+ "Portal device configuration is invalid": "Portal device configuration is invalid",
134
138
  "Unsupported Portal type cannot be set as default": "Unsupported Portal type cannot be set as default",
135
139
  "No portals yet": "No portals yet",
136
140
  "Each portal is a standalone front end with its own routes and menus.": "Each portal is a standalone front end with its own routes and menus.",
@@ -138,9 +142,9 @@
138
142
  "Upload cover": "Upload cover",
139
143
  "Replace cover": "Replace cover",
140
144
  "Used as the cover placeholder when no cover is uploaded.": "Used as the cover placeholder when no cover is uploaded.",
141
- "Used in the access path.": "Used in the access path.",
145
+ "Used to generate the portal URL.": "Used to generate the portal URL.",
146
+ "Example:": "Example:",
142
147
  "Shown on the portal card.": "Shown on the portal card.",
143
148
  "Device": "Device",
144
- "No-code portals render with the components of this device; AI portals use it for grouping.": "No-code portals render with the components of this device; AI portals use it for grouping.",
145
- "The title and name below are filled in from the repository name.": "The title and name below are filled in from the repository name."
149
+ "No-code portals render with the components of this device; AI portals use it for grouping.": "No-code portals render with the components of this device; AI portals use it for grouping."
146
150
  }
@@ -11,7 +11,7 @@
11
11
  "Access path cannot contain wildcard": "访问路径不能包含通配符",
12
12
  "Access path can only contain letters, numbers, hyphens, underscores, and slashes": "访问路径只能包含英文字母、数字、连字符、下划线和斜杠",
13
13
  "Access path must start with /": "访问路径必须以 / 开头",
14
- "AI portal": "AI 门户",
14
+ "AI mode": "AI 模式",
15
15
  "Are you sure you want to delete it?": "确定要删除吗?",
16
16
  "Are you sure you want to delete the selected Multi-portal records?": "确定要删除选中的门户记录吗?",
17
17
  "Cancel": "取消",
@@ -19,7 +19,7 @@
19
19
  "Delete Multi-portal": "删除门户",
20
20
  "Delete portal": "删除门户",
21
21
  "Desktop": "桌面端",
22
- "Portal type": "门户类型",
22
+ "Development mode": "开发模式",
23
23
  "Edit": "编辑",
24
24
  "Edit Multi-portal": "编辑门户",
25
25
  "Edit portal": "编辑门户",
@@ -43,19 +43,21 @@
43
43
  "No routes": "暂无路由",
44
44
  "Failed to load portals": "加载门户失败",
45
45
  "Failed to save portal": "保存门户失败",
46
- "Create with AI Agent and code. Users can request changes in natural language. Path: /x/<name>": "通过 AI Agent 和代码创建,可用自然语言提出修改要求。访问路径:/x/<name>",
47
- "Create with visual configuration. AI can help adjust the configuration. Path: /v/<name>": "通过可视化配置创建,AI 可以协助调整配置。访问路径:/v/<name>",
46
+ "Build complete business systems with AI agents and code.": "使用 AI Agent 和代码能力开发完整业务系统。",
47
+ "Users describe requirements in natural language, and AI agents create and modify applications, including interfaces, data models, business logic, roles and permissions, and more.": "用户通过自然语言描述需求,AI Agent 负责创建和修改应用,包括界面、数据模型、业务逻辑、角色权限等。",
48
+ "Build business systems through visual configuration.": "通过可视化界面配置开发业务系统。",
49
+ "Users create applications through drag-and-drop configuration. AI can assist with creating, adjusting, and optimizing configurations such as data models, interfaces, workflows, and more.": "用户通过拖拽和配置方式创建应用,AI 可以协助创建、调整和优化数据模型、界面、工作流等配置。",
48
50
  "Directory inside the Git repository for this portal. Leave empty for the root.": "该门户在 Git 仓库内的目录,留空表示仓库根目录。",
49
51
  "Git": "Git",
50
52
  "Git branch": "Git 分支",
51
53
  "Git path": "Git 路径",
52
54
  "Git repository URL": "Git 仓库 URL",
53
55
  "Icon": "图标",
54
- "Manage portal source code in a Git repository.": "在 Git 仓库中管理门户源码。",
55
- "Manage portal source code in NocoBase.": "在 NocoBase 中管理门户源码。",
56
+ "Store and manage application source code in a Git repository.": "在 Git 仓库中存储和管理应用源码。",
57
+ "Store and manage application source code in NocoBase.": "在 NocoBase 中存储和管理应用源码。",
56
58
  "NocoBase": "NocoBase",
57
59
  "Portal": "门户",
58
- "No-code portal": "无代码门户",
60
+ "No-code mode": "无代码模式",
59
61
  "Portal manager": "门户管理",
60
62
  "Portal name": "门户名称",
61
63
  "Portal name \"{{portalName}}\" already exists": "门户名称“{{portalName}}”已存在",
@@ -69,7 +71,8 @@
69
71
  "Saved successfully": "保存成功",
70
72
  "Search routes": "搜索路由",
71
73
  "Select a role to configure permissions": "请选择角色后配置权限",
72
- "Source storage": "源码存储",
74
+ "Source management": "源码管理",
75
+ "Select how the application source code is stored and managed.": "选择应用源码的存储和管理方式。",
73
76
  "Submit": "提交",
74
77
  "Target portal": "目标门户",
75
78
  "The default portal cannot be disabled": "默认门户不能停用,请先把默认设置给其他门户。",
@@ -77,6 +80,7 @@
77
80
  "This entry is currently unavailable. Please check the application status.": "当前不可用,请检查应用状态。",
78
81
  "This entry is no longer available. Please remove this button.": "该入口当前不可用,请移除此按钮。",
79
82
  "Title": "标题",
83
+ "Display name of the portal.": "门户显示名称。",
80
84
  "Title field is required": "标题字段为必填项",
81
85
  "The field value is required": "字段值为必填项",
82
86
  "UID": "UID",
@@ -130,7 +134,7 @@
130
134
  "filterByTk is required": "filterByTk 为必填项",
131
135
  "Portal not found": "门户不存在",
132
136
  "Disabled Portal cannot be set as default": "已禁用的门户不能设为默认",
133
- "Portal layout must be enabled before setting it as default": "设为默认门户前必须先启用该门户布局",
137
+ "Portal device configuration is invalid": "门户设备配置无效",
134
138
  "Unsupported Portal type cannot be set as default": "不支持的门户类型不能设为默认",
135
139
  "No portals yet": "还没有门户",
136
140
  "Each portal is a standalone front end with its own routes and menus.": "每个门户是一套独立的前台,有自己的路由和菜单。",
@@ -138,9 +142,9 @@
138
142
  "Upload cover": "上传封面",
139
143
  "Replace cover": "更换封面",
140
144
  "Used as the cover placeholder when no cover is uploaded.": "没有上传封面时,用它作为封面占位。",
141
- "Used in the access path.": "用于访问路径。",
145
+ "Used to generate the portal URL.": "用于生成门户访问地址。",
146
+ "Example:": "示例:",
142
147
  "Shown on the portal card.": "显示在门户卡片上。",
143
148
  "Device": "设备",
144
- "No-code portals render with the components of this device; AI portals use it for grouping.": "无代码门户按此选择组件形态;AI 门户用它做归类。",
145
- "The title and name below are filled in from the repository name.": "下面的标题和名称会按仓库名自动填写。"
149
+ "No-code portals render with the components of this device; AI portals use it for grouping.": "无代码门户按此选择组件形态;AI 门户用它做归类。"
146
150
  }
@@ -1 +1 @@
1
- {"author":"Isaac Z. Schlueter","name":"tar","description":"tar for node","version":"7.5.15","repository":{"type":"git","url":"https://github.com/isaacs/node-tar.git"},"scripts":{"genparse":"node scripts/generate-parse-fixtures.js","snap":"tap","test":"tap","pretest":"npm run prepare","presnap":"npm run prepare","prepare":"tshy && bash scripts/build.sh","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","format":"prettier --write . --log-level warn","typedoc":"typedoc --tsconfig .tshy/esm.json ./src/*.ts","lint":"oxlint --fix src test","postsnap":"npm run lint","postlint":"npm run format"},"dependencies":{"@isaacs/fs-minipass":"^4.0.0","chownr":"^3.0.0","minipass":"^7.1.2","minizlib":"^3.1.0","yallist":"^5.0.0"},"devDependencies":{"@types/node":"^25.5.0","chmodr":"^2.0.2","end-of-stream":"^1.4.3","esbuild":"^0.27.4","events-to-array":"^2.0.3","mutate-fs":"^2.1.1","nock":"^13.5.4","oxlint":"^1.57.0","oxlint-tsgolint":"^0.17.3","prettier":"^3.8.1","rimraf":"^6.1.2","tap":"^21.6.2","tshy":"^3.3.2","typedoc":"^0.28.18"},"license":"BlueOak-1.0.0","engines":{"node":">=18"},"files":["dist"],"tshy":{"exports":{"./package.json":"./package.json",".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}},"./raw":"./src/index.ts","./c":"./src/create.ts","./create":"./src/create.ts","./replace":"./src/create.ts","./r":"./src/create.ts","./list":"./src/list.ts","./t":"./src/list.ts","./update":"./src/update.ts","./u":"./src/update.ts","./extract":"./src/extract.ts","./x":"./src/extract.ts","./pack":"./src/pack.ts","./unpack":"./src/unpack.ts","./parse":"./src/parse.ts","./read-entry":"./src/read-entry.ts","./write-entry":"./src/write-entry.ts","./header":"./src/header.ts","./pax":"./src/pax.ts","./types":"./src/types.ts"}},"exports":{"./package.json":"./package.json",".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}},"./raw":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./c":{"import":{"types":"./dist/esm/create.d.ts","default":"./dist/esm/create.js"},"require":{"types":"./dist/commonjs/create.d.ts","default":"./dist/commonjs/create.js"}},"./create":{"import":{"types":"./dist/esm/create.d.ts","default":"./dist/esm/create.js"},"require":{"types":"./dist/commonjs/create.d.ts","default":"./dist/commonjs/create.js"}},"./replace":{"import":{"types":"./dist/esm/create.d.ts","default":"./dist/esm/create.js"},"require":{"types":"./dist/commonjs/create.d.ts","default":"./dist/commonjs/create.js"}},"./r":{"import":{"types":"./dist/esm/create.d.ts","default":"./dist/esm/create.js"},"require":{"types":"./dist/commonjs/create.d.ts","default":"./dist/commonjs/create.js"}},"./list":{"import":{"types":"./dist/esm/list.d.ts","default":"./dist/esm/list.js"},"require":{"types":"./dist/commonjs/list.d.ts","default":"./dist/commonjs/list.js"}},"./t":{"import":{"types":"./dist/esm/list.d.ts","default":"./dist/esm/list.js"},"require":{"types":"./dist/commonjs/list.d.ts","default":"./dist/commonjs/list.js"}},"./update":{"import":{"types":"./dist/esm/update.d.ts","default":"./dist/esm/update.js"},"require":{"types":"./dist/commonjs/update.d.ts","default":"./dist/commonjs/update.js"}},"./u":{"import":{"types":"./dist/esm/update.d.ts","default":"./dist/esm/update.js"},"require":{"types":"./dist/commonjs/update.d.ts","default":"./dist/commonjs/update.js"}},"./extract":{"import":{"types":"./dist/esm/extract.d.ts","default":"./dist/esm/extract.js"},"require":{"types":"./dist/commonjs/extract.d.ts","default":"./dist/commonjs/extract.js"}},"./x":{"import":{"types":"./dist/esm/extract.d.ts","default":"./dist/esm/extract.js"},"require":{"types":"./dist/commonjs/extract.d.ts","default":"./dist/commonjs/extract.js"}},"./pack":{"import":{"types":"./dist/esm/pack.d.ts","default":"./dist/esm/pack.js"},"require":{"types":"./dist/commonjs/pack.d.ts","default":"./dist/commonjs/pack.js"}},"./unpack":{"import":{"types":"./dist/esm/unpack.d.ts","default":"./dist/esm/unpack.js"},"require":{"types":"./dist/commonjs/unpack.d.ts","default":"./dist/commonjs/unpack.js"}},"./parse":{"import":{"types":"./dist/esm/parse.d.ts","default":"./dist/esm/parse.js"},"require":{"types":"./dist/commonjs/parse.d.ts","default":"./dist/commonjs/parse.js"}},"./read-entry":{"import":{"types":"./dist/esm/read-entry.d.ts","default":"./dist/esm/read-entry.js"},"require":{"types":"./dist/commonjs/read-entry.d.ts","default":"./dist/commonjs/read-entry.js"}},"./write-entry":{"import":{"types":"./dist/esm/write-entry.d.ts","default":"./dist/esm/write-entry.js"},"require":{"types":"./dist/commonjs/write-entry.d.ts","default":"./dist/commonjs/write-entry.js"}},"./header":{"import":{"types":"./dist/esm/header.d.ts","default":"./dist/esm/header.js"},"require":{"types":"./dist/commonjs/header.d.ts","default":"./dist/commonjs/header.js"}},"./pax":{"import":{"types":"./dist/esm/pax.d.ts","default":"./dist/esm/pax.js"},"require":{"types":"./dist/commonjs/pax.d.ts","default":"./dist/commonjs/pax.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}}},"type":"module","main":"./dist/commonjs/index.min.js","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.min.js","_lastModified":"2026-07-31T14:20:49.707Z"}
1
+ {"author":"Isaac Z. Schlueter","name":"tar","description":"tar for node","version":"7.5.15","repository":{"type":"git","url":"https://github.com/isaacs/node-tar.git"},"scripts":{"genparse":"node scripts/generate-parse-fixtures.js","snap":"tap","test":"tap","pretest":"npm run prepare","presnap":"npm run prepare","prepare":"tshy && bash scripts/build.sh","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","format":"prettier --write . --log-level warn","typedoc":"typedoc --tsconfig .tshy/esm.json ./src/*.ts","lint":"oxlint --fix src test","postsnap":"npm run lint","postlint":"npm run format"},"dependencies":{"@isaacs/fs-minipass":"^4.0.0","chownr":"^3.0.0","minipass":"^7.1.2","minizlib":"^3.1.0","yallist":"^5.0.0"},"devDependencies":{"@types/node":"^25.5.0","chmodr":"^2.0.2","end-of-stream":"^1.4.3","esbuild":"^0.27.4","events-to-array":"^2.0.3","mutate-fs":"^2.1.1","nock":"^13.5.4","oxlint":"^1.57.0","oxlint-tsgolint":"^0.17.3","prettier":"^3.8.1","rimraf":"^6.1.2","tap":"^21.6.2","tshy":"^3.3.2","typedoc":"^0.28.18"},"license":"BlueOak-1.0.0","engines":{"node":">=18"},"files":["dist"],"tshy":{"exports":{"./package.json":"./package.json",".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}},"./raw":"./src/index.ts","./c":"./src/create.ts","./create":"./src/create.ts","./replace":"./src/create.ts","./r":"./src/create.ts","./list":"./src/list.ts","./t":"./src/list.ts","./update":"./src/update.ts","./u":"./src/update.ts","./extract":"./src/extract.ts","./x":"./src/extract.ts","./pack":"./src/pack.ts","./unpack":"./src/unpack.ts","./parse":"./src/parse.ts","./read-entry":"./src/read-entry.ts","./write-entry":"./src/write-entry.ts","./header":"./src/header.ts","./pax":"./src/pax.ts","./types":"./src/types.ts"}},"exports":{"./package.json":"./package.json",".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}},"./raw":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./c":{"import":{"types":"./dist/esm/create.d.ts","default":"./dist/esm/create.js"},"require":{"types":"./dist/commonjs/create.d.ts","default":"./dist/commonjs/create.js"}},"./create":{"import":{"types":"./dist/esm/create.d.ts","default":"./dist/esm/create.js"},"require":{"types":"./dist/commonjs/create.d.ts","default":"./dist/commonjs/create.js"}},"./replace":{"import":{"types":"./dist/esm/create.d.ts","default":"./dist/esm/create.js"},"require":{"types":"./dist/commonjs/create.d.ts","default":"./dist/commonjs/create.js"}},"./r":{"import":{"types":"./dist/esm/create.d.ts","default":"./dist/esm/create.js"},"require":{"types":"./dist/commonjs/create.d.ts","default":"./dist/commonjs/create.js"}},"./list":{"import":{"types":"./dist/esm/list.d.ts","default":"./dist/esm/list.js"},"require":{"types":"./dist/commonjs/list.d.ts","default":"./dist/commonjs/list.js"}},"./t":{"import":{"types":"./dist/esm/list.d.ts","default":"./dist/esm/list.js"},"require":{"types":"./dist/commonjs/list.d.ts","default":"./dist/commonjs/list.js"}},"./update":{"import":{"types":"./dist/esm/update.d.ts","default":"./dist/esm/update.js"},"require":{"types":"./dist/commonjs/update.d.ts","default":"./dist/commonjs/update.js"}},"./u":{"import":{"types":"./dist/esm/update.d.ts","default":"./dist/esm/update.js"},"require":{"types":"./dist/commonjs/update.d.ts","default":"./dist/commonjs/update.js"}},"./extract":{"import":{"types":"./dist/esm/extract.d.ts","default":"./dist/esm/extract.js"},"require":{"types":"./dist/commonjs/extract.d.ts","default":"./dist/commonjs/extract.js"}},"./x":{"import":{"types":"./dist/esm/extract.d.ts","default":"./dist/esm/extract.js"},"require":{"types":"./dist/commonjs/extract.d.ts","default":"./dist/commonjs/extract.js"}},"./pack":{"import":{"types":"./dist/esm/pack.d.ts","default":"./dist/esm/pack.js"},"require":{"types":"./dist/commonjs/pack.d.ts","default":"./dist/commonjs/pack.js"}},"./unpack":{"import":{"types":"./dist/esm/unpack.d.ts","default":"./dist/esm/unpack.js"},"require":{"types":"./dist/commonjs/unpack.d.ts","default":"./dist/commonjs/unpack.js"}},"./parse":{"import":{"types":"./dist/esm/parse.d.ts","default":"./dist/esm/parse.js"},"require":{"types":"./dist/commonjs/parse.d.ts","default":"./dist/commonjs/parse.js"}},"./read-entry":{"import":{"types":"./dist/esm/read-entry.d.ts","default":"./dist/esm/read-entry.js"},"require":{"types":"./dist/commonjs/read-entry.d.ts","default":"./dist/commonjs/read-entry.js"}},"./write-entry":{"import":{"types":"./dist/esm/write-entry.d.ts","default":"./dist/esm/write-entry.js"},"require":{"types":"./dist/commonjs/write-entry.d.ts","default":"./dist/commonjs/write-entry.js"}},"./header":{"import":{"types":"./dist/esm/header.d.ts","default":"./dist/esm/header.js"},"require":{"types":"./dist/commonjs/header.d.ts","default":"./dist/commonjs/header.js"}},"./pax":{"import":{"types":"./dist/esm/pax.d.ts","default":"./dist/esm/pax.js"},"require":{"types":"./dist/commonjs/pax.d.ts","default":"./dist/commonjs/pax.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}}},"type":"module","main":"./dist/commonjs/index.min.js","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.min.js","_lastModified":"2026-08-03T08:00:41.876Z"}
@@ -39,7 +39,7 @@ var multiPortals_default = (0, import_database.defineCollection)({
39
39
  indexes: [
40
40
  {
41
41
  type: "UNIQUE",
42
- fields: ["portalName"]
42
+ fields: ["routeName"]
43
43
  },
44
44
  {
45
45
  type: "UNIQUE",
@@ -108,8 +108,7 @@ var multiPortals_default = (0, import_database.defineCollection)({
108
108
  {
109
109
  name: "uiLayoutUid",
110
110
  type: "string",
111
- allowNull: true,
112
- hidden: true
111
+ allowNull: true
113
112
  },
114
113
  {
115
114
  name: "createdAt",
@@ -124,14 +123,6 @@ var multiPortals_default = (0, import_database.defineCollection)({
124
123
  field: "updatedAt",
125
124
  interface: "updatedAt",
126
125
  allowNull: true
127
- },
128
- {
129
- type: "belongsTo",
130
- name: "uiLayout",
131
- target: "uiLayouts",
132
- targetKey: "uid",
133
- foreignKey: "uiLayoutUid",
134
- onDelete: "RESTRICT"
135
126
  }
136
127
  ],
137
128
  filterTargetKey: "uid"
@@ -9,6 +9,7 @@
9
9
  import { Plugin } from '@nocobase/server';
10
10
  import type { ResourcerContext } from '@nocobase/resourcer';
11
11
  import { type Transaction } from '@nocobase/database';
12
+ import { type MultiPortalLayoutType } from '../constants';
12
13
  type DatabaseHookOptions = {
13
14
  transaction?: Transaction;
14
15
  context?: ResourcerContext;
@@ -19,13 +20,14 @@ type AppPortalManifestItem = {
19
20
  icon?: string | null;
20
21
  portalType?: string | null;
21
22
  routePath: string;
22
- layout: string | null;
23
+ layout: MultiPortalLayoutType;
23
24
  };
24
25
  export declare class PluginMultiPortalServer extends Plugin {
25
26
  private portalStorageTaskKeys;
26
27
  private portalStorageTasks;
27
28
  afterAdd(): Promise<void>;
28
29
  private getAppName;
30
+ private getCurrentStorageAppName;
29
31
  private getMultiPortalStorageItem;
30
32
  private warnPortalStorageSyncFailed;
31
33
  private logPortalBuildHtml;
@@ -42,12 +44,10 @@ export declare class PluginMultiPortalServer extends Plugin {
42
44
  private pullPortalSource;
43
45
  private pushPortalSource;
44
46
  listAppPortalManifest(options?: DatabaseHookOptions): Promise<AppPortalManifestItem[]>;
45
- private getUiLayout;
46
47
  private toAppPortalManifestItem;
47
48
  private setAppManifestItem;
48
49
  private removeAppManifestItem;
49
50
  private publishAppManifestItem;
50
- private publishUiLayoutManifestItems;
51
51
  private reconcilePortalStorage;
52
52
  private reconcileAppManifest;
53
53
  private removeAppManifest;