antlink 0.0.5 → 0.0.7
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/README.md +10 -7
- package/bin/ant +14 -2
- package/lib/json/cmds.json +1 -1
- package/lib/order/backup.js +12 -0
- package/lib/order/nest.js +58 -0
- package/lib/order/reset.js +6 -5
- package/lib/order/restore.js +13 -0
- package/lib/order/unlink.js +4 -0
- package/lib/utils/format.js +16 -0
- package/lib/utils/scode.js +2 -2
- package/package.json +2 -2
- package/bin/plain.md +0 -29
- package/lib/comm.js +0 -19
- package/lib/order/init.js +0 -45
- package/lib/order/nest/index.js +0 -15
- package/lib/order/nest/start.js +0 -4
- /package/lib/order/{nest/restart.js → info.js} +0 -0
- /package/lib/order/{nest/status.js → link.js} +0 -0
- /package/lib/order/{nest/stop.js → relink.js} +0 -0
package/README.md
CHANGED
|
@@ -17,17 +17,19 @@ $ npm install antlink -g # 全局安装
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
```shell
|
|
20
|
-
cd E:\antwork
|
|
21
|
-
ant
|
|
22
|
-
ant reset [code]
|
|
20
|
+
$ cd E:\antwork # 蚁巢路径 (必须空目录)
|
|
21
|
+
$ ant nest [name] # 添加蚁巢(获得安全码)
|
|
22
|
+
$ ant reset [code] # 重置蚁巢(需要安全码)
|
|
23
|
+
$ ant unlink [code] # 停止蚁巢(需要安全码)
|
|
24
|
+
$ ant relink [code] # 重启蚁巢(需要安全码)
|
|
23
25
|
```
|
|
24
26
|
|
|
25
27
|
|
|
26
28
|
```shell
|
|
27
|
-
ant
|
|
28
|
-
ant
|
|
29
|
-
ant
|
|
30
|
-
ant
|
|
29
|
+
$ ant link # 启动蚁巢
|
|
30
|
+
$ ant info # 运行状态
|
|
31
|
+
$ ant backup [name] # 备份蚁巢
|
|
32
|
+
$ ant restore [name] # 恢复蚁巢
|
|
31
33
|
```
|
|
32
34
|
|
|
33
35
|
|
|
@@ -36,6 +38,7 @@ ant nest status # 运行状态
|
|
|
36
38
|
|
|
37
39
|
|
|
38
40
|
|
|
41
|
+
|
|
39
42
|
[npm-v-1]: https://badgen.net/npm/v/antlink
|
|
40
43
|
[npm-v-2]: https://img.shields.io/npm/v/antlink
|
|
41
44
|
[npm-url]: https://www.npmjs.com/package/antlink
|
package/bin/ant
CHANGED
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const arg = process.argv;
|
|
3
|
+
const {version} = require('../package.json');
|
|
4
|
+
const versionFunt = ()=>{console.log('v'+version);}
|
|
5
|
+
if (arg.length < 3) versionFunt();
|
|
6
|
+
if (arg.length > 2) {
|
|
7
|
+
const arr = require('../lib/json/cmds.json');
|
|
8
|
+
const name = arg[2].toLowerCase(); // 字母转小写
|
|
9
|
+
if(arr.includes(name)){
|
|
10
|
+
require('../lib/order/'+name)(arg.slice(3));
|
|
11
|
+
}else {
|
|
12
|
+
console.log(`Command '${name}' doesn't exist!`);
|
|
13
|
+
}
|
|
14
|
+
}
|
package/lib/json/cmds.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
["
|
|
1
|
+
["nest","reset","link","unlink","relink","info","backup","restore"]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const oss = require('oss-sdk');
|
|
3
|
+
const log = require('../utils/logs');
|
|
4
|
+
module.exports = async(arg)=>{
|
|
5
|
+
const name = arg[0]||'antlink';
|
|
6
|
+
try{
|
|
7
|
+
await oss.tgz.min(process.cwd(),name+'.tgz');
|
|
8
|
+
log.g('Backup successful');
|
|
9
|
+
}catch(err){
|
|
10
|
+
log.r('Backup failed:'+err.message)
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const oss = require('oss-sdk');
|
|
3
|
+
const log = require('../utils/logs');
|
|
4
|
+
module.exports = async(arg)=>{
|
|
5
|
+
// 判断蚁巢是否初始化
|
|
6
|
+
const name = 'nest.ant';
|
|
7
|
+
const urls = process.cwd();
|
|
8
|
+
const dir = oss.dir(urls);
|
|
9
|
+
const resDir = await dir.list();
|
|
10
|
+
if(resDir?.length>0){
|
|
11
|
+
// 当前文件夹存在文件,需要清空
|
|
12
|
+
const file = oss.file(urls);
|
|
13
|
+
if(await file.ok(name)){
|
|
14
|
+
// 判断是不是蚁巢
|
|
15
|
+
try{
|
|
16
|
+
let fileRes = await file.get(name);
|
|
17
|
+
fileRes = JSON.parse(fileRes);
|
|
18
|
+
log.y('Ant Nest Name: '+fileRes.name);
|
|
19
|
+
const format = require('../utils/format');
|
|
20
|
+
log.y('Creation Time: '+format(fileRes.addTime,'YYYY-MM-DD HH:mm'));
|
|
21
|
+
}catch(err){
|
|
22
|
+
log.r(err)
|
|
23
|
+
}
|
|
24
|
+
}else{
|
|
25
|
+
// 当前文件夹存在文件,需要清空
|
|
26
|
+
log.r('The current folder is not empty')
|
|
27
|
+
log.r('Cannot be used to raise ants!')
|
|
28
|
+
}
|
|
29
|
+
}else{
|
|
30
|
+
// 开始初始化
|
|
31
|
+
const dirAdd = await dir.add('data','evolve','cache','logs');
|
|
32
|
+
if(dirAdd){
|
|
33
|
+
// 新建配置文件
|
|
34
|
+
let obj = {name:arg[0]||'queen'};
|
|
35
|
+
const {version} = require('../../package.json');
|
|
36
|
+
obj.version = version;
|
|
37
|
+
obj.addTime = new Date().getTime();
|
|
38
|
+
const rrid = require('rrid');
|
|
39
|
+
obj.appId = rrid.key(32);
|
|
40
|
+
const scode = rrid.key(32);
|
|
41
|
+
obj.appKey = rrid.ekey(obj.appId+obj.addTime+scode,obj.appId+obj.addTime+scode);
|
|
42
|
+
const file = oss.file(process.cwd());
|
|
43
|
+
const fileAdd = await file.add(name,JSON.stringify(obj));
|
|
44
|
+
if(fileAdd){
|
|
45
|
+
// 初始化成功
|
|
46
|
+
log.g('Initialization successful!');
|
|
47
|
+
log.y('Security Code:'+scode);
|
|
48
|
+
log.y('Keep the security code safe')
|
|
49
|
+
}else{
|
|
50
|
+
log.r('Initialization failed!');
|
|
51
|
+
await dir.clear();
|
|
52
|
+
}
|
|
53
|
+
}else{
|
|
54
|
+
//初始化失败:无法创建目录
|
|
55
|
+
log.r('Initialization failed: unable to create directory')
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
package/lib/order/reset.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
const oss = require('oss-sdk');
|
|
2
|
+
const oss = require('oss-sdk');
|
|
3
|
+
const log = require('../utils/logs');
|
|
3
4
|
const scode = require('../utils/scode');
|
|
4
|
-
const log = require('../utils/logs');
|
|
5
5
|
module.exports = async(arg)=>{
|
|
6
|
-
const
|
|
7
|
-
if(
|
|
6
|
+
const obj = await scode(arg[0]);
|
|
7
|
+
if(obj){
|
|
8
8
|
// 安全码验证通过
|
|
9
9
|
const dir = oss.dir(process.cwd());
|
|
10
10
|
const clear = await dir.clear();
|
|
11
11
|
if(clear){
|
|
12
|
-
|
|
12
|
+
const nest = require('./nest');
|
|
13
|
+
await nest(obj.name);
|
|
13
14
|
}else{
|
|
14
15
|
log.r('Reset failure!');
|
|
15
16
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const oss = require('oss-sdk');
|
|
3
|
+
const log = require('../utils/logs');
|
|
4
|
+
module.exports = async(arg)=>{
|
|
5
|
+
const name = arg[0]||'antlink';
|
|
6
|
+
const paths = oss.path(process.cwd(),name+'.tgz');
|
|
7
|
+
try{
|
|
8
|
+
await oss.tgz.max(paths,process.cwd());
|
|
9
|
+
log.g('Restore successful!');
|
|
10
|
+
}catch(err){
|
|
11
|
+
log.r('Restore failed:'+err.message);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
module.exports = (timestamp,formatStr = 'YYYY-MM-DD HH:mm:ss') => {
|
|
3
|
+
const date = new Date(timestamp);
|
|
4
|
+
const padZero = (num)=> {
|
|
5
|
+
return num.toString().padStart(2, '0');
|
|
6
|
+
}
|
|
7
|
+
const map = {
|
|
8
|
+
YYYY: date.getFullYear(),
|
|
9
|
+
MM: padZero(date.getMonth() + 1),
|
|
10
|
+
DD: padZero(date.getDate()),
|
|
11
|
+
HH: padZero(date.getHours()),
|
|
12
|
+
mm: padZero(date.getMinutes()),
|
|
13
|
+
ss: padZero(date.getSeconds())
|
|
14
|
+
};
|
|
15
|
+
return formatStr.replace(/YYYY|MM|DD|HH|mm|ss/g, matched => map[matched]);
|
|
16
|
+
}
|
package/lib/utils/scode.js
CHANGED
|
@@ -11,12 +11,12 @@ module.exports = async(scode)=>{
|
|
|
11
11
|
if(scode) {
|
|
12
12
|
// 验证安全码
|
|
13
13
|
const file = oss.file(process.cwd());
|
|
14
|
-
let conf = await file.get('
|
|
14
|
+
let conf = await file.get('nest.ant');
|
|
15
15
|
if(conf){
|
|
16
16
|
try {
|
|
17
17
|
conf = JSON.parse(conf);
|
|
18
18
|
const rrid = require('rrid');
|
|
19
|
-
const key = rrid.ekey(conf.appId+conf.
|
|
19
|
+
const key = rrid.ekey(conf.appId+conf.addTime+scode,conf.appId+conf.addTime+scode);
|
|
20
20
|
if(key===conf.appKey){
|
|
21
21
|
// 验证码通过
|
|
22
22
|
ok = conf;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antlink",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "Ant Nest AI Framework.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "weduu",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"README.md"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"oss-sdk": "^1.0.
|
|
24
|
+
"oss-sdk": "^1.0.8",
|
|
25
25
|
"rrid": "^1.0.7"
|
|
26
26
|
}
|
|
27
27
|
}
|
package/bin/plain.md
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
AntLink
|
|
2
|
-
├── bin
|
|
3
|
-
│ └── ant
|
|
4
|
-
├── lib
|
|
5
|
-
│ ├── ants
|
|
6
|
-
│ │ ├── models
|
|
7
|
-
│ │ ├── plugins
|
|
8
|
-
│ │ ├── skills
|
|
9
|
-
│ │ └── tools
|
|
10
|
-
│ ├── json
|
|
11
|
-
│ │ └── cmds.json
|
|
12
|
-
│ ├── order
|
|
13
|
-
│ │ ├── nest
|
|
14
|
-
│ │ │ └── index.js
|
|
15
|
-
│ │ ├── init.js
|
|
16
|
-
│ │ └── reset.js
|
|
17
|
-
│ ├── utils
|
|
18
|
-
│ │ ├── input.js
|
|
19
|
-
│ │ ├── logs.js
|
|
20
|
-
│ │ ├── plain.js
|
|
21
|
-
│ │ └── scode.js
|
|
22
|
-
│ ├── web
|
|
23
|
-
│ │ ├── api
|
|
24
|
-
│ │ └── h5
|
|
25
|
-
│ └── comm.js
|
|
26
|
-
├── index.js
|
|
27
|
-
├── package.json
|
|
28
|
-
├── plain.md
|
|
29
|
-
└── README.md
|
package/lib/comm.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
fkgConmm();
|
|
3
|
-
async function fkgConmm() {
|
|
4
|
-
const arg = process.argv;
|
|
5
|
-
const {version} = require('../package.json');
|
|
6
|
-
const versionFunt = ()=>{console.log('v'+version);}
|
|
7
|
-
if (arg.length < 3) versionFunt();
|
|
8
|
-
if (arg.length > 2) {
|
|
9
|
-
const arr = require('./json/cmds.json');
|
|
10
|
-
const name = arg[2].toLowerCase(); // 字母转小写
|
|
11
|
-
if (name=='-v') {
|
|
12
|
-
versionFunt();
|
|
13
|
-
} else if(arr.includes(name)){
|
|
14
|
-
await require('./order/'+name)(arg.slice(3));
|
|
15
|
-
}else {
|
|
16
|
-
console.log(`Command '${name}' doesn't exist!`);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
package/lib/order/init.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
const oss = require('oss-sdk');
|
|
3
|
-
const log = require('../utils/logs');
|
|
4
|
-
module.exports = async()=>{
|
|
5
|
-
// 判断是否初始化
|
|
6
|
-
const dir = oss.dir(process.cwd());
|
|
7
|
-
const res = await dir.list();
|
|
8
|
-
if(res){
|
|
9
|
-
if(res.length>0){
|
|
10
|
-
// 当前文件夹存在文件,需要清空
|
|
11
|
-
log.r('The current folder is not empty')
|
|
12
|
-
log.r('This folder must be cleared!')
|
|
13
|
-
}else{
|
|
14
|
-
// 开始初始化
|
|
15
|
-
const dirAdd = await dir.add('nest','data','skills','scripts');
|
|
16
|
-
if(dirAdd){
|
|
17
|
-
// 新建配置文件
|
|
18
|
-
let obj = {};
|
|
19
|
-
const {version} = require('../../package.json');
|
|
20
|
-
obj.version = version;
|
|
21
|
-
obj.initTime = new Date().getTime();
|
|
22
|
-
const rrid = require('rrid');
|
|
23
|
-
obj.appId = rrid.key(32);
|
|
24
|
-
const scode = rrid.key(16);
|
|
25
|
-
obj.appKey = rrid.ekey(obj.appId+obj.initTime+scode,obj.appId+obj.initTime+scode);
|
|
26
|
-
const file = oss.file(process.cwd());
|
|
27
|
-
const fileAdd = await file.add('config.ant',JSON.stringify(obj));
|
|
28
|
-
if(fileAdd){
|
|
29
|
-
// 初始化成功
|
|
30
|
-
log.g('Initialization successful!');
|
|
31
|
-
log.y('Security Code:'+scode);
|
|
32
|
-
log.y('Keep the security code safe')
|
|
33
|
-
}else{
|
|
34
|
-
log.r('Initialization failed!');
|
|
35
|
-
await dir.clear();
|
|
36
|
-
}
|
|
37
|
-
}else{
|
|
38
|
-
//初始化失败:无法创建目录
|
|
39
|
-
log.r('Initialization failed: unable to create directory')
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}else{
|
|
43
|
-
log.r('Unknown error!')
|
|
44
|
-
}
|
|
45
|
-
}
|
package/lib/order/nest/index.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
const log = require('../../utils/logs');
|
|
3
|
-
module.exports = async(arg)=>{
|
|
4
|
-
if(arg.length===0){
|
|
5
|
-
log.r('Missing parameter')
|
|
6
|
-
}else{
|
|
7
|
-
const cmd = arg[0];
|
|
8
|
-
const arr = ['start','stop','restart','status'];
|
|
9
|
-
if(arr.includes(cmd)) {
|
|
10
|
-
await require('./'+cmd)(arg.slice(1));
|
|
11
|
-
}else{
|
|
12
|
-
log.y('Command not found:ant nest '+cmd)
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
package/lib/order/nest/start.js
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|