aws-runtime-bridge 1.9.65 → 1.9.70
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 +17 -1
- package/dist/routes/instance.js +1 -1
- package/dist/services/auto-register.d.ts +11 -1
- package/dist/services/auto-register.d.ts.map +1 -1
- package/dist/services/auto-register.js +28 -13
- package/dist/services/cli-commands.d.ts.map +1 -1
- package/dist/services/cli-commands.js +1 -0
- package/dist/services/startup-config-wizard.d.ts.map +1 -1
- package/dist/services/startup-config-wizard.js +10 -4
- package/package/acode/dist/sub-agent-manager.d.ts +6 -1
- package/package/acode/dist/sub-agent-manager.d.ts.map +1 -1
- package/package/acode/dist/sub-agent-manager.js +7 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -37,12 +37,26 @@ npm install -g .
|
|
|
37
37
|
"serverUrl": "http://127.0.0.1:8080",
|
|
38
38
|
"instanceName": "至强主机",
|
|
39
39
|
"userKey": "aws_live_crh_g0GGrg5IntODg1sFwnas7qf4yGrcwoisDWPBtd8",
|
|
40
|
-
"
|
|
40
|
+
"registerAddr": "127.0.0.1"
|
|
41
41
|
}
|
|
42
42
|
]
|
|
43
43
|
}
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
+
### `registerAddr` 字段说明
|
|
47
|
+
|
|
48
|
+
`registerAddr` 用于告知调度中心如何回连本机 Bridge,支持三种写法:
|
|
49
|
+
|
|
50
|
+
| 写法 | 示例 | 解析结果 | 适用场景 |
|
|
51
|
+
| --- | --- | --- | --- |
|
|
52
|
+
| 完整 URL(含协议) | `https://bridge.example.com` | 原样使用 | Bridge 在反代后面或启用 TLS |
|
|
53
|
+
| `host:port` | `127.0.0.1:18081` | 自动补 `http://` 前缀 | http 直连 + 自定义端口 |
|
|
54
|
+
| 纯 `host` | `10.0.0.8` | 自动补 `http://` 前缀和 `AWS_RUNTIME_BRIDGE_PORT`(默认 18081) | http 直连 + 默认端口 |
|
|
55
|
+
|
|
56
|
+
> **TLS / 反代场景**:当 Bridge 部署在 Nginx/Caddy/Cloudflare 后面走 https 时,必须用完整 URL 形式(如 `https://bridge.example.com`),此时环境变量 `AWS_RUNTIME_BRIDGE_PORT` 不再生效。
|
|
57
|
+
|
|
58
|
+
> **向后兼容**:旧字段 `registerIp`(仅接受纯 IP)仍可读取,但已废弃,推荐迁移到 `registerAddr`。配置引导会在重新配置时自动将 `registerIp` 迁移为 `registerAddr` 并剥离老字段。
|
|
59
|
+
|
|
46
60
|
如需在交互式终端中也强制跳过引导,可设置 `AWS_BRIDGE_SKIP_SETUP=true`;此时仍会生成随机 `connectionKey`。
|
|
47
61
|
|
|
48
62
|
```bash
|
|
@@ -90,6 +104,8 @@ sudo awsb service uninstall
|
|
|
90
104
|
| --- | --- | --- |
|
|
91
105
|
| `AWS_RUNTIME_BRIDGE_PORT` | Bridge HTTP 端口 | `18081` |
|
|
92
106
|
| `AWS_RUNTIME_SCHEDULER_BASE_URL` | aws-mcp-server 地址;显式配置优先级最高,未配置且只有一个 `autoRegisterTargets[].serverUrl` 时自动使用该地址 | 单目标自动注册地址;否则 `http://localhost:8080` |
|
|
107
|
+
| `AWS_REGISTER_ADDR` | Bridge 对外注册地址,覆盖配置文件中的 `registerAddr`;支持 `host:port` / 纯 `host` / 完整 URL(`http(s)://...`) | 未设置时读取配置文件 |
|
|
108
|
+
| `AWS_REGISTER_IP` | 已废弃,仅做向后兼容;等同 `registerAddr` 但只接受纯 IP,端口由 `AWS_RUNTIME_BRIDGE_PORT` 决定 | 未设置时读取配置文件 |
|
|
93
109
|
| `AWS_RUNTIME_HOME_DIR` | Bridge 管理配置与状态的主目录 | 当前用户 Home |
|
|
94
110
|
| `AWS_RUNTIME_CORS_ORIGINS` | 允许访问 bridge 的来源,逗号分隔 | 本地开发地址 |
|
|
95
111
|
|
package/dist/routes/instance.js
CHANGED
|
@@ -663,7 +663,7 @@ instanceRouter.post("/prepare-restart", validateToken, async (req, res) => {
|
|
|
663
663
|
*/
|
|
664
664
|
instanceRouter.post("/update-bridge", validateTokenOrPanelSession, async (req, res) => {
|
|
665
665
|
const command = resolveNpmExecutable();
|
|
666
|
-
const args = ["install", "-g", "aws-runtime-bridge@latest"];
|
|
666
|
+
const args = ["install", "-g", "aws-runtime-bridge@latest", "--omit=optional"];
|
|
667
667
|
const requestedByUserId = normalizeOptionalText(req.body?.requestedByUserId);
|
|
668
668
|
try {
|
|
669
669
|
if (!requestedByUserId) {
|
|
@@ -29,7 +29,17 @@ interface AutoRegisterConfig {
|
|
|
29
29
|
roleName?: string;
|
|
30
30
|
/** 工作空间路径 */
|
|
31
31
|
workspacePath?: string;
|
|
32
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* 注册地址(推荐)
|
|
34
|
+
* - 支持 `host:port`、纯 `host`(自动补 AWS_RUNTIME_BRIDGE_PORT)、完整 URL(`http://...` / `https://...`,原样使用)
|
|
35
|
+
* - 优先级高于 registerIp / virtualIp
|
|
36
|
+
*/
|
|
37
|
+
registerAddr?: string;
|
|
38
|
+
/**
|
|
39
|
+
* 注册 IP(已废弃,仅做向后兼容回退)
|
|
40
|
+
* - 仅接受纯 IP/host,端口由 AWS_RUNTIME_BRIDGE_PORT 决定
|
|
41
|
+
* - 推荐迁移到 registerAddr
|
|
42
|
+
*/
|
|
33
43
|
registerIp?: string;
|
|
34
44
|
/** 虚拟 IP(EasyTier,兼容旧配置) */
|
|
35
45
|
virtualIp?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-register.d.ts","sourceRoot":"","sources":["../../src/services/auto-register.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmDH;;GAEG;AACH,UAAU,kBAAkB;IAC1B,eAAe;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"auto-register.d.ts","sourceRoot":"","sources":["../../src/services/auto-register.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmDH;;GAEG;AACH,UAAU,kBAAkB;IAC1B,eAAe;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuBD,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAEtD;AAkED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,CAGtD;AA6JD;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,kBAAkB,CA4C/C;AAED,wBAAgB,WAAW,IAAI,kBAAkB,EAAE,CA2ClD;AA4QD;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACzC,OAAO,CAAC,OAAO,CAAC,CAalB;AAyHD;;GAEG;AACH,wBAAsB,gCAAgC,IAAI,OAAO,CAAC;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAkED;AAED,wBAAsB,yCAAyC,CAC7D,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAwED;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAgCnD;AAED;;GAEG;AACH,wBAAgB,oBAAoB;gBAp7BtB,OAAO;iBACN,MAAM;mBACJ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;kBACvB,IAAI;YACV,MAAM;EAk7Bf;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAElD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAwED"}
|
|
@@ -76,6 +76,7 @@ function normalizeTargetConfig(source) {
|
|
|
76
76
|
projectName: normalizeOptionalString(source.projectName),
|
|
77
77
|
roleName: normalizeOptionalString(source.roleName),
|
|
78
78
|
workspacePath: normalizeOptionalString(source.workspacePath),
|
|
79
|
+
registerAddr: normalizeOptionalString(source.registerAddr),
|
|
79
80
|
registerIp: normalizeOptionalString(source.registerIp),
|
|
80
81
|
virtualIp: normalizeOptionalString(source.virtualIp),
|
|
81
82
|
preferSameLanIp: normalizeOptionalBoolean(source.preferSameLanIp),
|
|
@@ -103,7 +104,7 @@ export function getAutoRegisterConfigFilePath() {
|
|
|
103
104
|
* "serverUrl": "http://scheduler-host:7380", // 必填,要主动注册的 server 地址
|
|
104
105
|
* "userKey": "aws_live_xxx", // 必填,用户 API Key
|
|
105
106
|
* "instanceName": "my-bridge", // 必填/可选,默认主机名
|
|
106
|
-
* "
|
|
107
|
+
* "registerAddr": "192.168.1.25:18081", // 可选,注册地址(推荐,支持 host:port / 纯 host / 完整 URL)
|
|
107
108
|
* "connectionKey": "bridge-password" // 可选,不填则使用顶层 connectionKey
|
|
108
109
|
* }
|
|
109
110
|
* ],
|
|
@@ -115,7 +116,8 @@ export function getAutoRegisterConfigFilePath() {
|
|
|
115
116
|
* "projectName": "default", // 可选
|
|
116
117
|
* "roleName": "Bridge", // 可选
|
|
117
118
|
* "workspacePath": "/path/to/workspace", // 可选
|
|
118
|
-
* "
|
|
119
|
+
* "registerAddr": "192.168.1.25:18081", // 可选,注册地址(推荐)
|
|
120
|
+
* "registerIp": "192.168.1.25", // 可选,已废弃(仅纯 IP,端口由 AWS_RUNTIME_BRIDGE_PORT 决定)
|
|
119
121
|
* "virtualIp": "10.144.144.1", // 可选,兼容 EasyTier 虚拟 IP
|
|
120
122
|
* "maxRetries": 5, // 可选
|
|
121
123
|
* "retryInterval": 5000 // 可选
|
|
@@ -203,6 +205,9 @@ function loadConfigFromEnv() {
|
|
|
203
205
|
if (process.env.AWS_WORKSPACE_PATH) {
|
|
204
206
|
envConfig.workspacePath = process.env.AWS_WORKSPACE_PATH;
|
|
205
207
|
}
|
|
208
|
+
if (process.env.AWS_REGISTER_ADDR) {
|
|
209
|
+
envConfig.registerAddr = process.env.AWS_REGISTER_ADDR;
|
|
210
|
+
}
|
|
206
211
|
if (process.env.AWS_REGISTER_IP) {
|
|
207
212
|
envConfig.registerIp = process.env.AWS_REGISTER_IP;
|
|
208
213
|
}
|
|
@@ -261,6 +266,7 @@ export function loadConfig() {
|
|
|
261
266
|
projectName: merged.projectName,
|
|
262
267
|
roleName: merged.roleName,
|
|
263
268
|
workspacePath: merged.workspacePath,
|
|
269
|
+
registerAddr: merged.registerAddr,
|
|
264
270
|
registerIp: merged.registerIp,
|
|
265
271
|
virtualIp: merged.virtualIp,
|
|
266
272
|
preferSameLanIp: merged.preferSameLanIp !== false,
|
|
@@ -295,6 +301,7 @@ export function loadConfigs() {
|
|
|
295
301
|
projectName: merged.projectName,
|
|
296
302
|
roleName: merged.roleName,
|
|
297
303
|
workspacePath: merged.workspacePath,
|
|
304
|
+
registerAddr: merged.registerAddr,
|
|
298
305
|
registerIp: merged.registerIp,
|
|
299
306
|
virtualIp: merged.virtualIp,
|
|
300
307
|
preferSameLanIp: merged.preferSameLanIp !== false,
|
|
@@ -419,7 +426,21 @@ function resolveRuntimeBridgeBaseUrl(config) {
|
|
|
419
426
|
const localIp = config.preferSameLanIp === false
|
|
420
427
|
? "127.0.0.1"
|
|
421
428
|
: getLocalIpAddress(config.serverUrl || schedulerBaseUrl);
|
|
422
|
-
|
|
429
|
+
// 优先级:registerAddr(推荐) > registerIp(已废弃,仅纯 host) > virtualIp > localIp
|
|
430
|
+
const raw = config.registerAddr || config.registerIp || config.virtualIp || localIp;
|
|
431
|
+
if (!raw) {
|
|
432
|
+
return `http://127.0.0.1:${port}`;
|
|
433
|
+
}
|
|
434
|
+
// 已带协议前缀(http:// / https://)→ 原样使用,支持反代/TLS/自定义端口场景
|
|
435
|
+
if (/^https?:\/\//i.test(raw)) {
|
|
436
|
+
return raw;
|
|
437
|
+
}
|
|
438
|
+
// 未带协议:统一补 http://;末尾无 :port 时补默认端口
|
|
439
|
+
// - IPv4/host:port → 原样使用
|
|
440
|
+
// - 纯 IPv4/host → 追加默认端口
|
|
441
|
+
// - IPv6 必须用完整 URL 形式(http://[::1]:port)才能正确解析
|
|
442
|
+
const hasTrailingPort = /:[0-9]+$/.test(raw);
|
|
443
|
+
return hasTrailingPort ? `http://${raw}` : `http://${raw}:${port}`;
|
|
423
444
|
}
|
|
424
445
|
function loadPrimaryLifecycleConfig() {
|
|
425
446
|
return loadConfigs()[0] || loadConfig();
|
|
@@ -460,7 +481,7 @@ async function doRegister(config) {
|
|
|
460
481
|
userKey: config.userKey,
|
|
461
482
|
instanceName,
|
|
462
483
|
hostname: os.hostname(),
|
|
463
|
-
virtualIp: config.registerIp || config.virtualIp,
|
|
484
|
+
virtualIp: config.registerAddr || config.registerIp || config.virtualIp,
|
|
464
485
|
runtimeBridgeBaseUrl: resolveRuntimeBridgeBaseUrl(config),
|
|
465
486
|
connectionKey: config.connectionKey,
|
|
466
487
|
workspacePath: config.workspacePath,
|
|
@@ -618,9 +639,7 @@ export async function requestRuntimeAccessTokenRefresh() {
|
|
|
618
639
|
}
|
|
619
640
|
const state = getRuntimeBindingPublicState();
|
|
620
641
|
const targetServerUrl = resolveLifecycleSchedulerBaseUrl(config);
|
|
621
|
-
const
|
|
622
|
-
const runtimeBridgePort = process.env.AWS_RUNTIME_BRIDGE_PORT || 18081;
|
|
623
|
-
const runtimeBridgeBaseUrl = `http://${config.registerIp || config.virtualIp || localIp}:${runtimeBridgePort}`;
|
|
642
|
+
const runtimeBridgeBaseUrl = resolveRuntimeBridgeBaseUrl(config);
|
|
624
643
|
try {
|
|
625
644
|
const response = await axios.post(`${targetServerUrl}/api/instances/runtime-tokens/refresh`, {
|
|
626
645
|
tenantId: config.tenantId,
|
|
@@ -676,9 +695,7 @@ export async function requestRuntimeAccessTokenRefreshForServer(serverBaseUrl) {
|
|
|
676
695
|
};
|
|
677
696
|
}
|
|
678
697
|
const state = getRuntimeBindingPublicState();
|
|
679
|
-
const
|
|
680
|
-
const runtimeBridgePort = process.env.AWS_RUNTIME_BRIDGE_PORT || 18081;
|
|
681
|
-
const runtimeBridgeBaseUrl = `http://${config.registerIp || config.virtualIp || localIp}:${runtimeBridgePort}`;
|
|
698
|
+
const runtimeBridgeBaseUrl = resolveRuntimeBridgeBaseUrl(config);
|
|
682
699
|
try {
|
|
683
700
|
const response = await axios.post(`${targetServerUrl}/api/instances/runtime-tokens/refresh`, {
|
|
684
701
|
tenantId: config.tenantId,
|
|
@@ -792,9 +809,7 @@ export async function bridgeRestartCleanup() {
|
|
|
792
809
|
}
|
|
793
810
|
// 如果有配置,也传入 runtimeBridgeBaseUrl
|
|
794
811
|
if (config.enabled) {
|
|
795
|
-
|
|
796
|
-
const port = process.env.AWS_RUNTIME_BRIDGE_PORT || 18081;
|
|
797
|
-
requestBody.runtimeBridgeBaseUrl = `http://${config.registerIp || config.virtualIp || localIp}:${port}`;
|
|
812
|
+
requestBody.runtimeBridgeBaseUrl = resolveRuntimeBridgeBaseUrl(config);
|
|
798
813
|
}
|
|
799
814
|
if (!requestBody.instanceId && !requestBody.runtimeBridgeBaseUrl) {
|
|
800
815
|
logger.info("[AutoRegister] Bridge 重启清理:没有 instanceId 或 runtimeBridgeBaseUrl,跳过清理");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-commands.d.ts","sourceRoot":"","sources":["../../src/services/cli-commands.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAM5E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,gBAAgB,CAAC;IACnE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAYD,wBAAgB,kBAAkB,CAAC,WAAW,SAA0B,GAAG,MAAM,CAMhF;AAgCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAsBvE;AAwOD,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"cli-commands.d.ts","sourceRoot":"","sources":["../../src/services/cli-commands.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAM5E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,gBAAgB,CAAC;IACnE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAYD,wBAAgB,kBAAkB,CAAC,WAAW,SAA0B,GAAG,MAAM,CAMhF;AAgCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAsBvE;AAwOD,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAgD3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup-config-wizard.d.ts","sourceRoot":"","sources":["../../src/services/startup-config-wizard.ts"],"names":[],"mappings":"AAuBA,UAAU,QAAQ;IAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,IAAI,IAAI,CAAC;CACf;AAED,UAAU,0BAA0B;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC;CACtC;AAED,MAAM,MAAM,yBAAyB,GACjC,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,SAAS,GACT,iBAAiB,GACjB,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"startup-config-wizard.d.ts","sourceRoot":"","sources":["../../src/services/startup-config-wizard.ts"],"names":[],"mappings":"AAuBA,UAAU,QAAQ;IAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,IAAI,IAAI,CAAC;CACf;AAED,UAAU,0BAA0B;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC;CACtC;AAED,MAAM,MAAM,yBAAyB,GACjC,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,SAAS,GACT,iBAAiB,GACjB,QAAQ,CAAC;AAgLb,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,yBAAyB,CAAC,CAiDpC;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,yBAAyB,CAAC,CA0BpC"}
|
|
@@ -80,22 +80,28 @@ async function collectStartupConfig(prompt, existingConfig = {}) {
|
|
|
80
80
|
const existingTarget = existingConfig.autoRegisterTargets?.[0] || {};
|
|
81
81
|
const defaultServerUrl = "http://127.0.0.1:8080";
|
|
82
82
|
const defaultInstanceName = os.hostname() || "AgentsWork Runtime Bridge";
|
|
83
|
-
const
|
|
83
|
+
const defaultRegisterAddr = "127.0.0.1";
|
|
84
|
+
// 读取已有 registerAddr;若老配置只有 registerIp 则迁移过来
|
|
85
|
+
const existingRegisterAddr = existingTarget.registerAddr ||
|
|
86
|
+
existingTarget.registerIp ||
|
|
87
|
+
defaultRegisterAddr;
|
|
84
88
|
const connectionKey = await askRequired(prompt, "connectionKey(面板连接 Bridge 的密钥)", existingConfig.connectionKey);
|
|
85
89
|
const serverUrl = await askOptional(prompt, "serverUrl(调度中心地址)", existingTarget.serverUrl || defaultServerUrl);
|
|
86
90
|
const instanceName = await askOptional(prompt, "instanceName(实例名称)", existingTarget.instanceName || defaultInstanceName);
|
|
87
91
|
const userKey = await askRequired(prompt, "userKey(用户 API Key)", existingTarget.userKey);
|
|
88
|
-
const
|
|
92
|
+
const registerAddr = await askOptional(prompt, "registerAddr(Bridge 对外访问地址,支持 host:port / 纯 host / 完整 URL)", existingRegisterAddr);
|
|
93
|
+
// 显式剥离老 registerIp 字段,避免输出中两字段共存
|
|
94
|
+
const { registerIp: _legacyRegisterIp, ...targetWithoutRegisterIp } = existingTarget;
|
|
89
95
|
return {
|
|
90
96
|
...existingConfig,
|
|
91
97
|
connectionKey,
|
|
92
98
|
autoRegisterTargets: [
|
|
93
99
|
{
|
|
94
|
-
...
|
|
100
|
+
...targetWithoutRegisterIp,
|
|
95
101
|
serverUrl,
|
|
96
102
|
instanceName,
|
|
97
103
|
userKey,
|
|
98
|
-
|
|
104
|
+
registerAddr,
|
|
99
105
|
},
|
|
100
106
|
],
|
|
101
107
|
};
|
|
@@ -216,10 +216,15 @@ export declare class SubAgentManager {
|
|
|
216
216
|
/** 列出某 agent 的全部内存中 sub-agent(含运行中和已完成未清理) */
|
|
217
217
|
listByParent(parentAgentId: string): SubAgentEntry[];
|
|
218
218
|
/**
|
|
219
|
-
* 列出某父 agent 下处于活跃状态(pending / running
|
|
219
|
+
* 列出某父 agent 下处于活跃状态(pending / running)且对用户可见的 sub-agent。
|
|
220
220
|
*
|
|
221
221
|
* 已完成/失败/取消的 entry 在内存中仍保留 TTL=30min 供查询,但不应计入
|
|
222
222
|
* "进行中" 列表。前端 "进行中" tab 与 SSE snapshot 都应使用此方法。
|
|
223
|
+
*
|
|
224
|
+
* silent 子 agent(如 memory 自动整理的后台 explore 子代理)属于系统级后台任务,
|
|
225
|
+
* 不应展示给用户,否则会导致 tag 数量多于用户实际可见的子 agent,故此处一并过滤,
|
|
226
|
+
* 与 enqueueCompletion 对 silent 的语义保持一致。并发计数 countByParent 不受影响,
|
|
227
|
+
* 仍会统计 silent 子 agent 占用的并发槽位。
|
|
223
228
|
*/
|
|
224
229
|
listActiveByParent(parentAgentId: string): SubAgentEntry[];
|
|
225
230
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-agent-manager.d.ts","sourceRoot":"","sources":["../src/sub-agent-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sub-agent-manager.d.ts","sourceRoot":"","sources":["../src/sub-agent-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -690,13 +690,18 @@ export class SubAgentManager {
|
|
|
690
690
|
.filter((e) => e !== undefined);
|
|
691
691
|
}
|
|
692
692
|
/**
|
|
693
|
-
* 列出某父 agent 下处于活跃状态(pending / running
|
|
693
|
+
* 列出某父 agent 下处于活跃状态(pending / running)且对用户可见的 sub-agent。
|
|
694
694
|
*
|
|
695
695
|
* 已完成/失败/取消的 entry 在内存中仍保留 TTL=30min 供查询,但不应计入
|
|
696
696
|
* "进行中" 列表。前端 "进行中" tab 与 SSE snapshot 都应使用此方法。
|
|
697
|
+
*
|
|
698
|
+
* silent 子 agent(如 memory 自动整理的后台 explore 子代理)属于系统级后台任务,
|
|
699
|
+
* 不应展示给用户,否则会导致 tag 数量多于用户实际可见的子 agent,故此处一并过滤,
|
|
700
|
+
* 与 enqueueCompletion 对 silent 的语义保持一致。并发计数 countByParent 不受影响,
|
|
701
|
+
* 仍会统计 silent 子 agent 占用的并发槽位。
|
|
697
702
|
*/
|
|
698
703
|
listActiveByParent(parentAgentId) {
|
|
699
|
-
return this.listByParent(parentAgentId).filter((e) => e.status === "pending" || e.status === "running");
|
|
704
|
+
return this.listByParent(parentAgentId).filter((e) => (e.status === "pending" || e.status === "running") && !e.silent);
|
|
700
705
|
}
|
|
701
706
|
/**
|
|
702
707
|
* 取走并清空终态通知队列。
|