@bolloon/bolloon-agent 0.1.10 → 0.1.11

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/cli-entry.js CHANGED
@@ -22,7 +22,7 @@ const YELLOW = '\x1b[33m';
22
22
  const GREEN = '\x1b[32m';
23
23
  const MAGENTA = '\x1b[35m';
24
24
  // 版本信息
25
- const VERSION = '0.1.1';
25
+ const VERSION = '0.1.11';
26
26
  function log(msg, color = RESET) {
27
27
  console.log(`${color}${msg}${RESET}`);
28
28
  }
@@ -36,19 +36,62 @@ function httpGet(url) {
36
36
  });
37
37
  });
38
38
  }
39
+ /**
40
+ * 获取 bolloon 全局安装目录
41
+ */
42
+ function getGlobalBolloonDir() {
43
+ const possiblePaths = [
44
+ path.join(process.env.HOME || '', '.npm-global/lib/node_modules/@bolloon/bolloon-agent'),
45
+ path.join(process.env.PREFIX || '/usr/local', 'lib/node_modules/@bolloon/bolloon-agent'),
46
+ ];
47
+ for (const p of possiblePaths) {
48
+ if (fs.existsSync(path.join(p, 'package.json'))) {
49
+ return p;
50
+ }
51
+ }
52
+ return null;
53
+ }
39
54
  /**
40
55
  * 获取当前安装的包版本
56
+ * 优先使用全局安装的版本(更准确反映实际运行的版本)
41
57
  */
42
58
  function getInstalledVersion(packageName) {
43
- try {
44
- const packageJsonPath = findPackageJson(packageName);
45
- if (packageJsonPath) {
59
+ // 对于 @bolloon/bolloon-agent,始终优先从全局安装位置读取版本
60
+ // 这样可以准确检测实际安装的版本,而不受 cwd 影响
61
+ if (packageName === '@bolloon/bolloon-agent') {
62
+ const globalDir = getGlobalBolloonDir();
63
+ if (globalDir) {
64
+ const pkgPath = path.join(globalDir, 'package.json');
65
+ try {
66
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
67
+ return pkg.version || null;
68
+ }
69
+ catch (e) {
70
+ // 忽略
71
+ }
72
+ }
73
+ // 回退到本地 package.json
74
+ const localPkgPath = path.join(process.cwd(), 'package.json');
75
+ if (fs.existsSync(localPkgPath)) {
76
+ try {
77
+ const pkg = JSON.parse(fs.readFileSync(localPkgPath, 'utf-8'));
78
+ return pkg.version || null;
79
+ }
80
+ catch (e) {
81
+ // 忽略
82
+ }
83
+ }
84
+ }
85
+ // 检查本地 node_modules
86
+ const packageJsonPath = findPackageJson(packageName);
87
+ if (packageJsonPath) {
88
+ try {
46
89
  const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
47
90
  return pkg.version || null;
48
91
  }
49
- }
50
- catch (e) {
51
- // 忽略错误
92
+ catch (e) {
93
+ // 忽略错误
94
+ }
52
95
  }
53
96
  return null;
54
97
  }
@@ -289,7 +332,7 @@ export async function performUpdate(packages) {
289
332
  return await updatePackages(packages);
290
333
  }
291
334
  // CLI 入口
292
- if (import.meta.url === `file://${process.argv[1]}`) {
335
+ if (process.argv[1]?.includes('auto-update')) {
293
336
  (async () => {
294
337
  const command = process.argv[2];
295
338
  switch (command) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bolloon/bolloon-agent",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "type": "module",
5
5
  "description": "P2P AI Document Agent - 全局安装后执行 `bolloon` 启动产品",
6
6
  "main": "dist/cli.js",
@@ -32,7 +32,7 @@
32
32
  "src/constraint-runtime"
33
33
  ],
34
34
  "dependencies": {
35
- "@bolloon/bolloon-agent": "^0.1.9",
35
+ "@bolloon/bolloon-agent": "^0.1.11",
36
36
  "@bolloon/constraint-runtime": "0.1.0",
37
37
  "@chainsafe/libp2p-noise": "^17.0.0",
38
38
  "@chainsafe/libp2p-yamux": "^8.0.1",
@@ -47,7 +47,7 @@ function initUserDirs() {
47
47
  const configPath = path.join(bolloonDir, 'config.json');
48
48
  if (!fs.existsSync(configPath)) {
49
49
  const defaultConfig = {
50
- version: '0.1.1',
50
+ version: '0.1.11',
51
51
  initializedAt: new Date().toISOString(),
52
52
  defaults: {
53
53
  port: 54188,
package/src/cli-entry.ts CHANGED
@@ -26,7 +26,7 @@ const GREEN = '\x1b[32m';
26
26
  const MAGENTA = '\x1b[35m';
27
27
 
28
28
  // 版本信息
29
- const VERSION = '0.1.1';
29
+ const VERSION = '0.1.11';
30
30
 
31
31
  function log(msg: string, color: string = RESET) {
32
32
  console.log(`${color}${msg}${RESET}`);
@@ -65,18 +65,62 @@ function httpGet(url: string): Promise<string> {
65
65
  });
66
66
  }
67
67
 
68
+ /**
69
+ * 获取 bolloon 全局安装目录
70
+ */
71
+ function getGlobalBolloonDir(): string | null {
72
+ const possiblePaths = [
73
+ path.join(process.env.HOME || '', '.npm-global/lib/node_modules/@bolloon/bolloon-agent'),
74
+ path.join(process.env.PREFIX || '/usr/local', 'lib/node_modules/@bolloon/bolloon-agent'),
75
+ ];
76
+ for (const p of possiblePaths) {
77
+ if (fs.existsSync(path.join(p, 'package.json'))) {
78
+ return p;
79
+ }
80
+ }
81
+ return null;
82
+ }
83
+
68
84
  /**
69
85
  * 获取当前安装的包版本
86
+ * 优先使用全局安装的版本(更准确反映实际运行的版本)
70
87
  */
71
88
  function getInstalledVersion(packageName: string): string | null {
72
- try {
73
- const packageJsonPath = findPackageJson(packageName);
74
- if (packageJsonPath) {
89
+ // 对于 @bolloon/bolloon-agent,始终优先从全局安装位置读取版本
90
+ // 这样可以准确检测实际安装的版本,而不受 cwd 影响
91
+ if (packageName === '@bolloon/bolloon-agent') {
92
+ const globalDir = getGlobalBolloonDir();
93
+ if (globalDir) {
94
+ const pkgPath = path.join(globalDir, 'package.json');
95
+ try {
96
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
97
+ return pkg.version || null;
98
+ } catch (e) {
99
+ // 忽略
100
+ }
101
+ }
102
+
103
+ // 回退到本地 package.json
104
+ const localPkgPath = path.join(process.cwd(), 'package.json');
105
+ if (fs.existsSync(localPkgPath)) {
106
+ try {
107
+ const pkg = JSON.parse(fs.readFileSync(localPkgPath, 'utf-8'));
108
+ return pkg.version || null;
109
+ } catch (e) {
110
+ // 忽略
111
+ }
112
+ }
113
+ }
114
+
115
+ // 检查本地 node_modules
116
+ const packageJsonPath = findPackageJson(packageName);
117
+ if (packageJsonPath) {
118
+ try {
75
119
  const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
76
120
  return pkg.version || null;
121
+ } catch (e) {
122
+ // 忽略错误
77
123
  }
78
- } catch (e) {
79
- // 忽略错误
80
124
  }
81
125
  return null;
82
126
  }