zero-ai 1.0.73 → 1.0.74
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/.r2mo/.obsidian/app.json +1 -0
- package/.r2mo/.obsidian/appearance.json +10 -0
- package/.r2mo/.obsidian/community-plugins.json +7 -0
- package/.r2mo/.obsidian/core-plugins.json +33 -0
- package/.r2mo/.obsidian/plugins/dataview/main.js +20876 -0
- package/.r2mo/.obsidian/plugins/dataview/manifest.json +11 -0
- package/.r2mo/.obsidian/plugins/dataview/styles.css +141 -0
- package/.r2mo/.obsidian/plugins/obsidian-excalidraw-plugin/data.json +815 -0
- package/.r2mo/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +10 -0
- package/.r2mo/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json +12 -0
- package/.r2mo/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css +1 -0
- package/.r2mo/.obsidian/plugins/obsidian-kanban/main.js +153 -0
- package/.r2mo/.obsidian/plugins/obsidian-kanban/manifest.json +11 -0
- package/.r2mo/.obsidian/plugins/obsidian-kanban/styles.css +1 -0
- package/.r2mo/.obsidian/plugins/obsidian-plantuml/main.js +7732 -0
- package/.r2mo/.obsidian/plugins/obsidian-plantuml/manifest.json +10 -0
- package/.r2mo/.obsidian/plugins/obsidian-plantuml/styles.css +38 -0
- package/.r2mo/.obsidian/plugins/obsidian-tasks-plugin/main.js +504 -0
- package/.r2mo/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +12 -0
- package/.r2mo/.obsidian/plugins/obsidian-tasks-plugin/styles.css +1 -0
- package/.r2mo/.obsidian/snippets/body-font.css +9 -0
- package/.r2mo/.obsidian/themes/Comfort/manifest.json +11 -0
- package/.r2mo/.obsidian/themes/Comfort/theme.css +218 -0
- package/.r2mo/.obsidian/themes/Primary/manifest.json +9 -0
- package/.r2mo/.obsidian/themes/Primary/theme.css +3878 -0
- package/.r2mo/.obsidian/themes/Retro Windows/manifest.json +7 -0
- package/.r2mo/.obsidian/themes/Retro Windows/theme.css +582 -0
- package/.r2mo/.obsidian/themes/RetroOS 98/manifest.json +9 -0
- package/.r2mo/.obsidian/themes/RetroOS 98/theme.css +2566 -0
- package/.r2mo/.obsidian/themes/Serenity/manifest.json +7 -0
- package/.r2mo/.obsidian/themes/Serenity/theme.css +7258 -0
- package/.r2mo/.obsidian/themes/W95/manifest.json +8 -0
- package/.r2mo/.obsidian/themes/W95/theme.css +768 -0
- package/.r2mo/.obsidian/types.json +28 -0
- package/.r2mo/task/task-001.md +12 -0
- package/.r2mo/task/thread +1 -0
- package/package.json +1 -1
- package/src/commander/{perm.json → ex-perm.json} +3 -3
- package/src/commander-ai/{fn.perm.js → fn.ex.perm.js} +7 -3
- package/src/commander-ai/fn.random.md5.js +9 -0
- package/src/commander-ai/fn.source.app.js +9 -0
- package/src/commander-ai/fn.source.front.js +9 -0
- package/src/commander-ai/fn.source.spring.js +9 -0
- package/src/commander-ai/fn.source.zero.js +9 -0
- package/src/commander-ai/index.js +2 -2
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"types": {
|
|
3
|
+
"aliases": "aliases",
|
|
4
|
+
"cssclasses": "multitext",
|
|
5
|
+
"tags": "tags",
|
|
6
|
+
"TQ_explain": "checkbox",
|
|
7
|
+
"TQ_extra_instructions": "text",
|
|
8
|
+
"TQ_short_mode": "checkbox",
|
|
9
|
+
"TQ_show_backlink": "checkbox",
|
|
10
|
+
"TQ_show_cancelled_date": "checkbox",
|
|
11
|
+
"TQ_show_created_date": "checkbox",
|
|
12
|
+
"TQ_show_depends_on": "checkbox",
|
|
13
|
+
"TQ_show_done_date": "checkbox",
|
|
14
|
+
"TQ_show_due_date": "checkbox",
|
|
15
|
+
"TQ_show_edit_button": "checkbox",
|
|
16
|
+
"TQ_show_id": "checkbox",
|
|
17
|
+
"TQ_show_on_completion": "checkbox",
|
|
18
|
+
"TQ_show_postpone_button": "checkbox",
|
|
19
|
+
"TQ_show_priority": "checkbox",
|
|
20
|
+
"TQ_show_recurrence_rule": "checkbox",
|
|
21
|
+
"TQ_show_scheduled_date": "checkbox",
|
|
22
|
+
"TQ_show_start_date": "checkbox",
|
|
23
|
+
"TQ_show_tags": "checkbox",
|
|
24
|
+
"TQ_show_task_count": "checkbox",
|
|
25
|
+
"TQ_show_tree": "checkbox",
|
|
26
|
+
"TQ_show_urgency": "checkbox"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"executor": "
|
|
2
|
+
"executor": "executeExPerm",
|
|
3
3
|
"description": "按参考角色复制权限到指定角色(-r 为角色 NAME 或 CODE)",
|
|
4
|
-
"command": "perm",
|
|
4
|
+
"command": "ex-perm",
|
|
5
5
|
"options": [
|
|
6
|
-
{"name": "role", "alias": "r", "description": "角色名或角色 code,对应 S_ROLE.NAME 或 S_ROLE.CODE"
|
|
6
|
+
{"name": "role", "alias": "r", "description": "角色名或角色 code,对应 S_ROLE.NAME 或 S_ROLE.CODE"}
|
|
7
7
|
]
|
|
8
8
|
}
|
|
@@ -64,12 +64,16 @@ module.exports = async (options) => {
|
|
|
64
64
|
const parsed = Ut.parseArgument(options);
|
|
65
65
|
const roleInput = parsed.role;
|
|
66
66
|
if (!roleInput || !String(roleInput).trim()) {
|
|
67
|
-
Ec.error("
|
|
68
|
-
Ec.info("
|
|
67
|
+
Ec.error("缺少必需参数:角色(NAME 或 CODE)");
|
|
68
|
+
Ec.info("参数格式:");
|
|
69
|
+
Ec.info(" -r <角色> 或 --role <角色>");
|
|
70
|
+
Ec.info("示例:");
|
|
71
|
+
Ec.info(" ai ex-perm -r 管理员");
|
|
72
|
+
Ec.info(" ai ex-perm --role ADMIN");
|
|
69
73
|
process.exit(1);
|
|
70
74
|
}
|
|
71
75
|
|
|
72
|
-
Ec.execute(`ai perm:目标角色(-r)= ${roleInput}`);
|
|
76
|
+
Ec.execute(`ai ex-perm:目标角色(-r / --role)= ${roleInput}`);
|
|
73
77
|
|
|
74
78
|
const cwd = process.cwd();
|
|
75
79
|
const appEnvPath = resolveAppEnvPath(cwd);
|
|
@@ -10,6 +10,15 @@ module.exports = (options) => {
|
|
|
10
10
|
* 基本信息
|
|
11
11
|
*/
|
|
12
12
|
const input = parsed.input;
|
|
13
|
+
if (!input || !String(input).trim()) {
|
|
14
|
+
Ec.error("缺少必需参数:加密输入字符串");
|
|
15
|
+
Ec.info("参数格式:");
|
|
16
|
+
Ec.info(" -i <字符串> 或 --input <字符串>");
|
|
17
|
+
Ec.info("示例:");
|
|
18
|
+
Ec.info(" ai md5 -i smaveapp");
|
|
19
|
+
Ec.info(" ai md5 --input smaveapp");
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
13
22
|
const platform = os.platform();
|
|
14
23
|
Ec.info(`当前操作系统:${platform}`);
|
|
15
24
|
|
|
@@ -9,6 +9,15 @@ module.exports = (options) => {
|
|
|
9
9
|
/*
|
|
10
10
|
* 基本信息验证
|
|
11
11
|
*/
|
|
12
|
+
if (!parsed.name || !String(parsed.name).trim()) {
|
|
13
|
+
Ec.error("缺少必需参数:应用名称");
|
|
14
|
+
Ec.info("参数格式:");
|
|
15
|
+
Ec.info(" -n <名称> 或 --name <名称>");
|
|
16
|
+
Ec.info("示例:");
|
|
17
|
+
Ec.info(" ai app -n my-app");
|
|
18
|
+
Ec.info(" ai app --name my-app");
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
12
21
|
if (!Ut.nameValid(parsed.name)) {
|
|
13
22
|
Ec.error("应用名称只能包含字母、数字、点(.)和短横线(-),且不能以数字、点(.)或短横线(-)开头!");
|
|
14
23
|
process.exit(1);
|
|
@@ -10,6 +10,15 @@ module.exports = (options) => {
|
|
|
10
10
|
}
|
|
11
11
|
// 第二步:检查 vertx-ui
|
|
12
12
|
const target = parsed.name;
|
|
13
|
+
if (!target || !String(target).trim()) {
|
|
14
|
+
Ec.error("缺少必需参数:前端项目名称");
|
|
15
|
+
Ec.info("参数格式:");
|
|
16
|
+
Ec.info(" -n <名称> 或 --name <名称>");
|
|
17
|
+
Ec.info("示例:");
|
|
18
|
+
Ec.info(" ai web -n my-web");
|
|
19
|
+
Ec.info(" ai web --name my-web");
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
13
22
|
Ec.info(`工程构建目录:${target}`);
|
|
14
23
|
const cmd = `git clone https://gitee.com/silentbalanceyh/scaffold-ui.git ${target}`;
|
|
15
24
|
child.execSync(cmd, {stdio: 'inherit'});
|
|
@@ -13,6 +13,15 @@ module.exports = async (options) => {
|
|
|
13
13
|
/*
|
|
14
14
|
* 基本信息验证
|
|
15
15
|
*/
|
|
16
|
+
if (!parsed.name || !String(parsed.name).trim()) {
|
|
17
|
+
Ec.error("缺少必需参数:应用名称");
|
|
18
|
+
Ec.info("参数格式:");
|
|
19
|
+
Ec.info(" -n <名称> 或 --name <名称>");
|
|
20
|
+
Ec.info("示例:");
|
|
21
|
+
Ec.info(" ai spring -n my-app");
|
|
22
|
+
Ec.info(" ai spring --name my-app");
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
16
25
|
if (!Ut.nameValid(parsed.name)) {
|
|
17
26
|
Ec.error("应用名称只能包含字母、数字、点(.)和短横线(-),且不能以数字、点(.)或短横线(-)开头!");
|
|
18
27
|
process.exit(1);
|
|
@@ -13,6 +13,15 @@ module.exports = async (options) => {
|
|
|
13
13
|
/*
|
|
14
14
|
* 基本信息验证
|
|
15
15
|
*/
|
|
16
|
+
if (!parsed.name || !String(parsed.name).trim()) {
|
|
17
|
+
Ec.error("缺少必需参数:应用名称");
|
|
18
|
+
Ec.info("参数格式:");
|
|
19
|
+
Ec.info(" -n <名称> 或 --name <名称>");
|
|
20
|
+
Ec.info("示例:");
|
|
21
|
+
Ec.info(" ai zero -n my-app");
|
|
22
|
+
Ec.info(" ai zero --name my-app");
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
16
25
|
if (!Ut.nameValid(parsed.name)) {
|
|
17
26
|
Ec.error("应用名称只能包含字母、数字、点(.)和短横线(-),且不能以数字、点(.)或短横线(-)开头!");
|
|
18
27
|
process.exit(1);
|
|
@@ -8,7 +8,7 @@ const executeWeb = require('./fn.source.front');
|
|
|
8
8
|
const executeSpring = require('./fn.source.spring');
|
|
9
9
|
const executeZero = require('./fn.source.zero');
|
|
10
10
|
const executeApply = require('./fn.source.apply');
|
|
11
|
-
const
|
|
11
|
+
const executeExPerm = require('./fn.ex.perm');
|
|
12
12
|
const exported = {
|
|
13
13
|
executeUuid, // ai uuid
|
|
14
14
|
executeString, // ai str
|
|
@@ -22,7 +22,7 @@ const exported = {
|
|
|
22
22
|
executeZero, // ai zero
|
|
23
23
|
// Cursor 规则安装
|
|
24
24
|
executeApply, // ai apply
|
|
25
|
-
|
|
25
|
+
executeExPerm, // ai ex-perm
|
|
26
26
|
};
|
|
27
27
|
module.exports = exported;
|
|
28
28
|
/**
|