aws-runtime-bridge 1.9.75 → 1.9.78

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 CHANGED
@@ -31,12 +31,12 @@ npm install -g .
31
31
 
32
32
  ```json
33
33
  {
34
- "connectionKey": "gkmzjaznX55..",
34
+ "connectionKey": "awsb_xxxxxxxxxxxxxxxxxxxxxxxx",
35
35
  "autoRegisterTargets": [
36
36
  {
37
- "serverUrl": "http://127.0.0.1:8080",
38
- "instanceName": "至强主机",
39
- "userKey": "aws_live_crh_g0GGrg5IntODg1sFwnas7qf4yGrcwoisDWPBtd8",
37
+ "serverUrl": "http://203.0.113.10:8080",
38
+ "instanceName": "my-instance",
39
+ "userKey": "aws_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
40
40
  "registerAddr": "127.0.0.1"
41
41
  }
42
42
  ]
@@ -1,4 +1,5 @@
1
1
  import type { StartupConfigWizardResult } from "./startup-config-wizard.js";
2
+ import { type WindowsServiceManager } from "./windows-service-manager.js";
2
3
  export interface CliCommandResult {
3
4
  handled: boolean;
4
5
  exitCode: number;
@@ -14,11 +15,15 @@ export interface CliCommandOptions {
14
15
  stderr?: (message: string) => void;
15
16
  runCommand?: (command: string, args: string[]) => CommandRunResult;
16
17
  configure?: () => Promise<StartupConfigWizardResult>;
18
+ /** awsb config example:打印最小配置示例并把占位符模板写入配置文件。 */
19
+ configureExample?: () => Promise<StartupConfigWizardResult>;
17
20
  platform?: NodeJS.Platform;
18
21
  serviceUnitPath?: string;
19
22
  executablePath?: string;
20
- /** Windows 服务日志文件路径(默认 ProgramData 下的 awsb-service.log),供 install 重定向与 log 读取。 */
23
+ /** Windows 服务日志文件路径(默认 ProgramData 下的 awsb.out.log),供 install 重定向与 log 读取。 */
21
24
  windowsServiceLogPath?: string;
25
+ /** Windows 服务管理器(基于 node-windows),用于 install 操作;测试时可注入 mock。 */
26
+ windowsServiceManager?: WindowsServiceManager;
22
27
  /** 检测正在运行的 bridge 进程 PID 列表(默认按平台用 pgrep / powershell)。 */
23
28
  findRunningBridgeProcesses?: (platform: NodeJS.Platform) => number[];
24
29
  /** 关闭指定 PID 的进程(默认按平台用 kill -9 / taskkill)。 */
@@ -1 +1 @@
1
- {"version":3,"file":"cli-commands.d.ts","sourceRoot":"","sources":["../../src/services/cli-commands.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAsB5E,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;IACxB,kFAAkF;IAClF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,0BAA0B,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;IACrE,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;IACrE,oCAAoC;IACpC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD;AAYD,wBAAgB,kBAAkB,CAAC,WAAW,SAA0B,GAAG,MAAM,CAMhF;AAgCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAsBvE;AA+rBD,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CA8B3B"}
1
+ {"version":3,"file":"cli-commands.d.ts","sourceRoot":"","sources":["../../src/services/cli-commands.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAK5E,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAkBtC,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,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,2DAA2D;IAC3D,0BAA0B,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;IACrE,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;IACrE,oCAAoC;IACpC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD;AAYD,wBAAgB,kBAAkB,CAAC,WAAW,SAA0B,GAAG,MAAM,CAMhF;AAgCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAsBvE;AA8sBD,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CA8C3B"}
@@ -3,15 +3,16 @@ import { createInterface } from "node:readline/promises";
3
3
  import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync, } from "node:fs";
4
4
  import path from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
- import { configureStartupConfig } from "./startup-config-wizard.js";
6
+ import { configureStartupConfig, printConfigExampleCommand, } from "./startup-config-wizard.js";
7
+ import { createWindowsServiceManager, isNodeWindowsAvailable, } from "./windows-service-manager.js";
7
8
  const SYSTEMD_SERVICE_NAME = "awsb.service";
8
9
  const DEFAULT_SYSTEMD_UNIT_PATH = `/etc/systemd/system/${SYSTEMD_SERVICE_NAME}`;
9
10
  const WINDOWS_SERVICE_NAME = "awsb";
10
- // Windows 服务日志:install 时用 cmd 包装脚本把 node 输出重定向到此文件,
11
- // `awsb log` 再读取它。路径放在 ProgramData 下,保证安装用户与服务运行账户(LocalSystem)都能访问。
11
+ // Windows 服务日志:node-windows (WinSW) logpath 配置项将日志输出到此目录,
12
+ // 生成 awsb.out.log(stdout)和 awsb.err.log(stderr)。
13
+ // 路径放在 ProgramData 下,保证安装用户与服务运行账户(LocalSystem)都能访问。
12
14
  const WINDOWS_SERVICE_LOG_DIR = path.join(process.env.ProgramData || "C:\\ProgramData", "aws-runtime-bridge", "logs");
13
- const WINDOWS_SERVICE_LOG_PATH = path.join(WINDOWS_SERVICE_LOG_DIR, "awsb-service.log");
14
- const WINDOWS_SERVICE_WRAPPER_PATH = path.join(WINDOWS_SERVICE_LOG_DIR, "awsb-service.cmd");
15
+ const WINDOWS_SERVICE_LOG_PATH = path.join(WINDOWS_SERVICE_LOG_DIR, "awsb.out.log");
15
16
  function getDefaultPackageRoot() {
16
17
  const currentFile = fileURLToPath(import.meta.url);
17
18
  return path.resolve(path.dirname(currentFile), "..", "..");
@@ -275,79 +276,96 @@ function stopSystemdService(options) {
275
276
  return { handled: true, exitCode: 0 };
276
277
  }
277
278
  /**
278
- * 安装并启动 Windows 服务(通过 PowerShell New-Service / Start-Service)。
279
- * 服务以 `cmd /c wrapper.cmd` 运行,wrapper node 的 stdout/stderr 重定向到日志文件,
280
- * 等价于 systemd 的 ExecStart + 日志采集,供 `awsb log` 读取。
281
- * 日志重定向为尽力而为:若日志目录/包装脚本创建失败,则回退为直接运行 node
282
- * 此时 `awsb log` 会提示无日志文件,但服务仍可正常安装。
279
+ * Windows 服务通过 node-windows(内置 WinSW 包装器)实现 SCM 协议适配。
280
+ * 用户 `npm install -g aws-runtime-bridge` 时自动获得 node-windows,无需额外安装 nssm。
281
+ *
282
+ * - install: 用 node-windows 注册服务(WinSW 包装器处理 SCM 协议);
283
+ * - uninstall/start/stop/restart: sc.exe(Windows 原生命令)直接操作 SCM。
283
284
  */
284
- function installWindowsService(options) {
285
+ function nodeWindowsMissingError(stderr) {
286
+ stderr("[runtime-bridge] 未检测到 node-windows 模块。请重新安装 aws-runtime-bridge:\n" +
287
+ " npm install -g aws-runtime-bridge");
288
+ return { handled: true, exitCode: 1 };
289
+ }
290
+ /**
291
+ * 用 node-windows 安装并启动 Windows 服务。
292
+ * - node-windows 在 script 所在目录下创建 daemon/ 子目录(含 WinSW 包装器和 XML 配置);
293
+ * - logpath 配置项将日志输出到 ProgramData 下的指定目录,供 `awsb log` 读取;
294
+ * - 安装后用 sc.exe start 启动服务。
295
+ */
296
+ async function installWindowsService(options) {
297
+ // 测试时可注入 mock manager;生产环境用 node-windows 默认实现
298
+ const manager = options.windowsServiceManager;
299
+ if (!manager && !isNodeWindowsAvailable()) {
300
+ return nodeWindowsMissingError(options.stderr);
301
+ }
285
302
  const logPath = options.windowsServiceLogPath || WINDOWS_SERVICE_LOG_PATH;
286
- let binPath = `"${process.execPath}" "${options.executablePath}"`;
303
+ const execDir = path.dirname(options.executablePath);
287
304
  try {
288
- mkdirSync(WINDOWS_SERVICE_LOG_DIR, { recursive: true });
289
- const wrapperContent = `@echo off\r\n` +
290
- `"${process.execPath}" "${options.executablePath}" >> "${logPath}" 2>&1\r\n`;
291
- writeFileSync(WINDOWS_SERVICE_WRAPPER_PATH, wrapperContent, {
292
- encoding: "utf-8",
305
+ const actualManager = manager || createWindowsServiceManager();
306
+ await actualManager.install({
307
+ name: WINDOWS_SERVICE_NAME,
308
+ description: "awsb runtime bridge",
309
+ script: options.executablePath,
310
+ workingDirectory: execDir,
311
+ env: [{ name: "AWS_BRIDGE_SKIP_SETUP", value: "true" }],
312
+ logpath: WINDOWS_SERVICE_LOG_DIR,
293
313
  });
294
- const cmdExe = path.join(process.env.SystemRoot || "C:\\Windows", "System32", "cmd.exe");
295
- binPath = `"${cmdExe}" /c "${WINDOWS_SERVICE_WRAPPER_PATH}"`;
296
314
  }
297
315
  catch (error) {
298
316
  const err = error instanceof Error ? error : new Error(String(error));
299
- options.stderr(`[runtime-bridge] 无法配置日志重定向(将直接运行,awsb log 可能无文件可读): ${err.message}`);
317
+ options.stderr(`[runtime-bridge] 安装 Windows 服务失败: ${err.message}`);
318
+ return { handled: true, exitCode: 1 };
300
319
  }
301
- const script = `if (Get-Service -Name ${WINDOWS_SERVICE_NAME} -ErrorAction SilentlyContinue) { ` +
302
- `Set-Service -Name ${WINDOWS_SERVICE_NAME} -StartupType Automatic -BinaryPathName '${binPath}' } ` +
303
- `else { New-Service -Name ${WINDOWS_SERVICE_NAME} -BinaryPathName '${binPath}' -StartupType Automatic }; ` +
304
- `Start-Service -Name ${WINDOWS_SERVICE_NAME}`;
305
- const result = options.runCommand("powershell", ["-NoProfile", "-Command", script]);
306
- if (!commandSucceeded(result)) {
307
- options.stderr(`[runtime-bridge] 安装/启动 Windows 服务失败: ${result.error?.message ?? `退出码 ${result.status ?? "unknown"}`}`);
308
- return { handled: true, exitCode: result.status ?? 1 };
320
+ // 安装成功后启动服务
321
+ const startResult = options.runCommand("sc.exe", [
322
+ "start",
323
+ WINDOWS_SERVICE_NAME,
324
+ ]);
325
+ if (!commandSucceeded(startResult)) {
326
+ options.stderr(`[runtime-bridge] 启动 Windows 服务失败: ${startResult.error?.message ?? `退出码 ${startResult.status ?? "unknown"}`}`);
327
+ return { handled: true, exitCode: startResult.status ?? 1 };
309
328
  }
310
329
  options.stdout(`[runtime-bridge] awsb Windows 服务已安装并已启动(日志: ${logPath})。`);
311
330
  return { handled: true, exitCode: 0 };
312
331
  }
313
332
  /**
314
- * 卸载 Windows 服务(Stop-Service + Remove-Service)。
333
+ * 卸载 Windows 服务(sc.exe stop + sc.exe delete)。
315
334
  */
316
335
  function uninstallWindowsService(options) {
317
- const script = `Stop-Service -Name ${WINDOWS_SERVICE_NAME} -Force -ErrorAction SilentlyContinue; ` +
318
- `Remove-Service -Name ${WINDOWS_SERVICE_NAME} -ErrorAction SilentlyContinue`;
319
- const result = options.runCommand("powershell", ["-NoProfile", "-Command", script]);
320
- if (!commandSucceeded(result)) {
321
- options.stderr(`[runtime-bridge] 卸载 Windows 服务失败: ${result.error?.message ?? `退出码 ${result.status ?? "unknown"}`}`);
322
- return { handled: true, exitCode: result.status ?? 1 };
336
+ const run = (args) => options.runCommand("sc.exe", args);
337
+ // 先尝试停止(服务可能未运行,忽略失败)
338
+ run(["stop", WINDOWS_SERVICE_NAME]);
339
+ const deleteResult = run(["delete", WINDOWS_SERVICE_NAME]);
340
+ if (!commandSucceeded(deleteResult)) {
341
+ options.stderr(`[runtime-bridge] 卸载 Windows 服务失败: ${deleteResult.error?.message ?? `退出码 ${deleteResult.status ?? "unknown"}`}`);
342
+ return { handled: true, exitCode: deleteResult.status ?? 1 };
323
343
  }
324
344
  options.stdout("[runtime-bridge] awsb Windows 服务已卸载。");
325
345
  return { handled: true, exitCode: 0 };
326
346
  }
327
347
  /**
328
- * 重启 Windows 服务(Restart-Service,未运行时会被启动)。
348
+ * 重启 Windows 服务(sc.exe stop + sc.exe start,未运行会被启动)。
329
349
  */
330
350
  function restartWindowsService(options) {
331
- const result = options.runCommand("powershell", [
332
- "-NoProfile",
333
- "-Command",
334
- `Restart-Service -Name ${WINDOWS_SERVICE_NAME}`,
335
- ]);
336
- if (!commandSucceeded(result)) {
337
- options.stderr(`[runtime-bridge] 重启 Windows 服务失败: ${result.error?.message ?? `退出码 ${result.status ?? "unknown"}`}`);
338
- return { handled: true, exitCode: result.status ?? 1 };
351
+ const run = (args) => options.runCommand("sc.exe", args);
352
+ // 先停止(可能未运行,忽略失败)
353
+ run(["stop", WINDOWS_SERVICE_NAME]);
354
+ const startResult = run(["start", WINDOWS_SERVICE_NAME]);
355
+ if (!commandSucceeded(startResult)) {
356
+ options.stderr(`[runtime-bridge] 重启 Windows 服务失败: ${startResult.error?.message ?? `退出码 ${startResult.status ?? "unknown"}`}`);
357
+ return { handled: true, exitCode: startResult.status ?? 1 };
339
358
  }
340
359
  options.stdout("[runtime-bridge] awsb Windows 服务已重启。");
341
360
  return { handled: true, exitCode: 0 };
342
361
  }
343
362
  /**
344
- * 启动 Windows 服务(Start-Service)。
363
+ * 启动 Windows 服务(sc.exe start)。
345
364
  */
346
365
  function startWindowsService(options) {
347
- const result = options.runCommand("powershell", [
348
- "-NoProfile",
349
- "-Command",
350
- `Start-Service -Name ${WINDOWS_SERVICE_NAME}`,
366
+ const result = options.runCommand("sc.exe", [
367
+ "start",
368
+ WINDOWS_SERVICE_NAME,
351
369
  ]);
352
370
  if (!commandSucceeded(result)) {
353
371
  options.stderr(`[runtime-bridge] 启动 Windows 服务失败: ${result.error?.message ?? `退出码 ${result.status ?? "unknown"}`}`);
@@ -357,13 +375,12 @@ function startWindowsService(options) {
357
375
  return { handled: true, exitCode: 0 };
358
376
  }
359
377
  /**
360
- * 停止 Windows 服务(Stop-Service -Force)。
378
+ * 停止 Windows 服务(sc.exe stop)。
361
379
  */
362
380
  function stopWindowsService(options) {
363
- const result = options.runCommand("powershell", [
364
- "-NoProfile",
365
- "-Command",
366
- `Stop-Service -Name ${WINDOWS_SERVICE_NAME} -Force`,
381
+ const result = options.runCommand("sc.exe", [
382
+ "stop",
383
+ WINDOWS_SERVICE_NAME,
367
384
  ]);
368
385
  if (!commandSucceeded(result)) {
369
386
  options.stderr(`[runtime-bridge] 停止 Windows 服务失败: ${result.error?.message ?? `退出码 ${result.status ?? "unknown"}`}`);
@@ -372,7 +389,7 @@ function stopWindowsService(options) {
372
389
  options.stdout("[runtime-bridge] awsb Windows 服务已停止。");
373
390
  return { handled: true, exitCode: 0 };
374
391
  }
375
- function handleServiceCommand(argv, options, stdout, stderr) {
392
+ async function handleServiceCommand(argv, options, stdout, stderr) {
376
393
  const subcommand = argv[1];
377
394
  if (!subcommand ||
378
395
  subcommand === "-h" ||
@@ -388,6 +405,7 @@ function handleServiceCommand(argv, options, stdout, stderr) {
388
405
  platform: options.platform || process.platform,
389
406
  serviceUnitPath: options.serviceUnitPath || DEFAULT_SYSTEMD_UNIT_PATH,
390
407
  executablePath: options.executablePath || getDefaultExecutablePath(),
408
+ windowsServiceManager: options.windowsServiceManager,
391
409
  };
392
410
  // 仅 Linux systemd 与 Windows 服务支持 install/uninstall/restart
393
411
  if (serviceOptions.platform !== "linux" &&
@@ -397,7 +415,7 @@ function handleServiceCommand(argv, options, stdout, stderr) {
397
415
  }
398
416
  if (subcommand === "install") {
399
417
  return serviceOptions.platform === "win32"
400
- ? installWindowsService(serviceOptions)
418
+ ? await installWindowsService(serviceOptions)
401
419
  : installSystemdService(serviceOptions);
402
420
  }
403
421
  if (subcommand === "uninstall") {
@@ -601,12 +619,24 @@ export async function handleCliCommand(options = {}) {
601
619
  return await handleUpdateCommand(options, stdout, stderr);
602
620
  }
603
621
  if (command === "config") {
622
+ const sub = argv[1];
623
+ if (sub === "example" ||
624
+ sub === "minimal" ||
625
+ sub === "--minimal" ||
626
+ sub === "-m") {
627
+ const configureExample = options.configureExample || printConfigExampleCommand;
628
+ const result = await configureExample();
629
+ return { handled: true, exitCode: result === "created" ? 0 : 1 };
630
+ }
604
631
  const configure = options.configure || configureStartupConfig;
605
632
  const result = await configure();
606
- return { handled: true, exitCode: result === "configured" ? 0 : 1 };
633
+ return {
634
+ handled: true,
635
+ exitCode: result === "configured" || result === "created" ? 0 : 1,
636
+ };
607
637
  }
608
638
  if (command === "service") {
609
- return handleServiceCommand(argv, options, stdout, stderr);
639
+ return await handleServiceCommand(argv, options, stdout, stderr);
610
640
  }
611
641
  if (command === "log") {
612
642
  return handleLogCommand(options, stdout, stderr);
@@ -1,3 +1,23 @@
1
+ interface AutoRegisterTargetConfig {
2
+ serverUrl: string;
3
+ instanceName: string;
4
+ userKey: string;
5
+ registerAddr?: string;
6
+ [key: string]: unknown;
7
+ }
8
+ interface StartupConfigFile {
9
+ connectionKey?: string;
10
+ autoRegisterTargets?: AutoRegisterTargetConfig[];
11
+ [key: string]: unknown;
12
+ }
13
+ /**
14
+ * 最小配置示例模板(占位符,不含任何真实密钥)。
15
+ * `awsb config example` 与向导中的「最小配置」选项都会基于它生成示例。
16
+ * 注意:模板内的 value 均为 <占位符>,切勿写入真实凭据——真实值应由用户手填。
17
+ */
18
+ export declare const MINIMAL_CONFIG_TEMPLATE: StartupConfigFile;
19
+ /** 将最小配置模板格式化为可读的示例文本(占位符版)。 */
20
+ export declare function formatConfigExample(template?: object): string;
1
21
  interface PromptIO {
2
22
  question(prompt: string): Promise<string>;
3
23
  close(): void;
@@ -12,5 +32,10 @@ interface EnsureStartupConfigOptions {
12
32
  export type StartupConfigWizardResult = "exists" | "created" | "configured" | "skipped" | "non-interactive" | "failed";
13
33
  export declare function ensureStartupConfig(options?: EnsureStartupConfigOptions): Promise<StartupConfigWizardResult>;
14
34
  export declare function configureStartupConfig(options?: EnsureStartupConfigOptions): Promise<StartupConfigWizardResult>;
35
+ /**
36
+ * `awsb config example`:直接打印最小配置示例(占位符版),
37
+ * 并把模板写入 config.json 供用户稍后手动填值。非交互环境也能用。
38
+ */
39
+ export declare function printConfigExampleCommand(options?: EnsureStartupConfigOptions): Promise<StartupConfigWizardResult>;
15
40
  export {};
16
41
  //# sourceMappingURL=startup-config-wizard.d.ts.map
@@ -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;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"}
1
+ {"version":3,"file":"startup-config-wizard.d.ts","sourceRoot":"","sources":["../../src/services/startup-config-wizard.ts"],"names":[],"mappings":"AASA,UAAU,wBAAwB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,iBAAiB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,iBAYrC,CAAC;AAEF,gCAAgC;AAChC,wBAAgB,mBAAmB,CACjC,QAAQ,GAAE,MAAgC,GACzC,MAAM,CAOR;AAED,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;AAwMb,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,CA0CpC;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,yBAAyB,CAAC,CAepC"}
@@ -6,6 +6,31 @@ import { createInterface } from "node:readline/promises";
6
6
  import { atomicWriteJsonFile } from "../utils/file-utils.js";
7
7
  import { logger } from "../utils/logger.js";
8
8
  import { getAutoRegisterConfigFilePath } from "./auto-register.js";
9
+ /**
10
+ * 最小配置示例模板(占位符,不含任何真实密钥)。
11
+ * `awsb config example` 与向导中的「最小配置」选项都会基于它生成示例。
12
+ * 注意:模板内的 value 均为 <占位符>,切勿写入真实凭据——真实值应由用户手填。
13
+ */
14
+ export const MINIMAL_CONFIG_TEMPLATE = {
15
+ autoRegisterTargets: [
16
+ {
17
+ instanceName: "<实例名称,例如 我的主机>",
18
+ serverUrl: "http://<调度中心IP>:<端口>",
19
+ userKey: "<你的 userKey>",
20
+ instanceId: "<实例ID,首次可留空由服务端生成>",
21
+ },
22
+ ],
23
+ connectionKey: "<面板连接 Bridge 的密钥>",
24
+ panelUsername: "<面板用户名>",
25
+ panelPassword: "<面板密码>",
26
+ };
27
+ /** 将最小配置模板格式化为可读的示例文本(占位符版)。 */
28
+ export function formatConfigExample(template = MINIMAL_CONFIG_TEMPLATE) {
29
+ const json = JSON.stringify(template, null, 2);
30
+ return ("[runtime-bridge] 最小配置示例(请将 <占位符> 替换为真实值后保存):\n" +
31
+ `${json}\n` +
32
+ "[runtime-bridge] 说明:autoRegisterTargets 可包含多个目标;instanceId 首次可省略,由服务端生成;panelUsername / panelPassword 为可选面板认证。");
33
+ }
9
34
  function normalizeAnswer(answer) {
10
35
  return answer.trim().toLowerCase();
11
36
  }
@@ -50,7 +75,9 @@ async function askOptional(prompt, label, defaultValue) {
50
75
  const answer = await prompt.question(`${label}(默认使用当前值 ${defaultValue},直接回车保留): `);
51
76
  return answer.trim() || defaultValue;
52
77
  }
78
+ const ASK_REQUIRED_MAX_RETRIES = 10;
53
79
  async function askRequired(prompt, label, currentValue) {
80
+ let retries = 0;
54
81
  for (;;) {
55
82
  const answer = (await prompt.question(currentValue
56
83
  ? `${label}(默认使用当前值 ${currentValue},直接回车保留): `
@@ -61,6 +88,10 @@ async function askRequired(prompt, label, currentValue) {
61
88
  if (currentValue) {
62
89
  return currentValue;
63
90
  }
91
+ retries++;
92
+ if (retries >= ASK_REQUIRED_MAX_RETRIES) {
93
+ throw new Error(`${label} 输入超过最大重试次数(${ASK_REQUIRED_MAX_RETRIES}),退出配置引导`);
94
+ }
64
95
  output.write(`${label} 不能为空,请重新输入。\n`);
65
96
  }
66
97
  }
@@ -76,6 +107,20 @@ async function askShouldConfigure(prompt) {
76
107
  output.write("请输入 Y 继续配置,或输入 n 跳过。\n");
77
108
  }
78
109
  }
110
+ /** 无配置文件时,询问用户走「完整逐步引导」还是「最小配置示例」。 */
111
+ async function askConfigMode(prompt) {
112
+ for (;;) {
113
+ const answer = await prompt.question("未检测到配置文件,请选择配置方式:[1] 完整逐步引导 [2] 最小配置示例(生成占位符模板,稍后手动填写) (默认 1): ");
114
+ const n = normalizeAnswer(answer);
115
+ if (n === "" || n === "1" || n === "full" || n === "完整" || n === "引导") {
116
+ return "full";
117
+ }
118
+ if (n === "2" || n === "minimal" || n === "最小" || n === "示例") {
119
+ return "minimal";
120
+ }
121
+ output.write("请输入 1(完整引导)或 2(最小配置示例)。\n");
122
+ }
123
+ }
79
124
  async function collectStartupConfig(prompt, existingConfig = {}) {
80
125
  const existingTarget = existingConfig.autoRegisterTargets?.[0] || {};
81
126
  const defaultServerUrl = "http://127.0.0.1:8080";
@@ -164,6 +209,18 @@ export async function configureStartupConfig(options = {}) {
164
209
  const { prompt, shouldClosePrompt } = await createPrompt(options);
165
210
  try {
166
211
  const existingConfig = readExistingConfig(configPath);
212
+ const noExistingConfig = !existsSync(configPath);
213
+ // 无配置文件时,先让用户选择「完整引导」或「最小配置示例」
214
+ if (noExistingConfig) {
215
+ const mode = await askConfigMode(prompt);
216
+ if (mode === "minimal") {
217
+ output.write(formatConfigExample());
218
+ await writeConfigFile(configPath, MINIMAL_CONFIG_TEMPLATE);
219
+ output.write(`[runtime-bridge] 已将最小配置示例模板写入: ${configPath}\n`);
220
+ output.write("[runtime-bridge] 请将 <占位符> 替换为真实值后保存。\n");
221
+ return "created";
222
+ }
223
+ }
167
224
  const config = await collectStartupConfig(prompt, existingConfig);
168
225
  await writeConfigFile(configPath, config);
169
226
  logger.info(`[runtime-bridge] 已更新配置文件: ${configPath}`);
@@ -180,3 +237,22 @@ export async function configureStartupConfig(options = {}) {
180
237
  }
181
238
  }
182
239
  }
240
+ /**
241
+ * `awsb config example`:直接打印最小配置示例(占位符版),
242
+ * 并把模板写入 config.json 供用户稍后手动填值。非交互环境也能用。
243
+ */
244
+ export async function printConfigExampleCommand(options = {}) {
245
+ const configPath = options.configPath || getAutoRegisterConfigFilePath();
246
+ output.write(formatConfigExample());
247
+ try {
248
+ await writeConfigFile(configPath, MINIMAL_CONFIG_TEMPLATE);
249
+ output.write(`[runtime-bridge] 已将最小配置示例模板写入: ${configPath}\n`);
250
+ output.write("[runtime-bridge] 请将 <占位符> 替换为真实值后保存。\n");
251
+ return "created";
252
+ }
253
+ catch (error) {
254
+ const err = error;
255
+ logger.warn(`[runtime-bridge] 写入示例模板失败: ${err.message}`);
256
+ return "failed";
257
+ }
258
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * node-windows 封装模块。
3
+ *
4
+ * node-windows 内部使用 WinSW(.NET 服务包装器)实现 SCM 协议适配,
5
+ * 用户 `npm install -g aws-runtime-bridge` 时自动获得,无需额外安装 nssm。
6
+ *
7
+ * 关键行为:
8
+ * - install 时在 `path.dirname(script)/daemon/` 下创建 winsw.exe + XML 配置;
9
+ * - `logpath` 配置项控制日志输出目录(WinSW 生成 `<id>.out.log` / `<id>.err.log`);
10
+ * - `id` = `name.replace(/[^\w]/gi,'').toLowerCase()`,对 "awsb" → "awsb"。
11
+ */
12
+ export interface WindowsServiceConfig {
13
+ name: string;
14
+ description: string;
15
+ script: string;
16
+ workingDirectory?: string;
17
+ env?: {
18
+ name: string;
19
+ value: string;
20
+ }[];
21
+ logpath?: string;
22
+ }
23
+ export interface WindowsServiceManager {
24
+ install(config: WindowsServiceConfig): Promise<void>;
25
+ }
26
+ export declare function isNodeWindowsAvailable(): boolean;
27
+ export declare function createWindowsServiceManager(): WindowsServiceManager;
28
+ //# sourceMappingURL=windows-service-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-service-manager.d.ts","sourceRoot":"","sources":["../../src/services/windows-service-manager.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAiBD,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED,wBAAgB,2BAA2B,IAAI,qBAAqB,CAkCnE"}
@@ -0,0 +1,54 @@
1
+ import { createRequire } from "node:module";
2
+ import { mkdirSync } from "node:fs";
3
+ // node-windows 是 CommonJS 包,在 ESM 中通过 createRequire 懒加载。
4
+ // 非Windows 平台或包未安装时返回 null。
5
+ let cachedServiceCtor;
6
+ function getNodeWindowsServiceCtor() {
7
+ if (cachedServiceCtor !== undefined)
8
+ return cachedServiceCtor;
9
+ try {
10
+ const require = createRequire(import.meta.url);
11
+ cachedServiceCtor = require("node-windows").Service;
12
+ }
13
+ catch {
14
+ cachedServiceCtor = null;
15
+ }
16
+ return cachedServiceCtor;
17
+ }
18
+ export function isNodeWindowsAvailable() {
19
+ return getNodeWindowsServiceCtor() !== null;
20
+ }
21
+ export function createWindowsServiceManager() {
22
+ return {
23
+ async install(config) {
24
+ const ServiceCtor = getNodeWindowsServiceCtor();
25
+ if (!ServiceCtor) {
26
+ throw new Error("node-windows 未安装。请重新安装 aws-runtime-bridge:npm install -g aws-runtime-bridge");
27
+ }
28
+ // 确保日志目录存在
29
+ if (config.logpath) {
30
+ try {
31
+ mkdirSync(config.logpath, { recursive: true });
32
+ }
33
+ catch {
34
+ // 日志目录创建失败不阻断安装
35
+ }
36
+ }
37
+ const svc = new ServiceCtor({
38
+ name: config.name,
39
+ description: config.description,
40
+ script: config.script,
41
+ workingDirectory: config.workingDirectory,
42
+ env: config.env,
43
+ logpath: config.logpath,
44
+ logmode: "rotate",
45
+ });
46
+ await new Promise((resolve, reject) => {
47
+ svc.on("install", () => resolve());
48
+ svc.on("alreadyinstalled", () => resolve());
49
+ svc.on("error", (err) => reject(err));
50
+ svc.install();
51
+ });
52
+ },
53
+ };
54
+ }
@@ -122,7 +122,7 @@ export function extractAgentConfigOrTemplate(yamlContent, targetRelativePath) {
122
122
  name: '',
123
123
  path: normalizedTarget,
124
124
  project: projectValue || '',
125
- description: '',
125
+ describe: '',
126
126
  prompt: '',
127
127
  },
128
128
  ],
@@ -156,7 +156,7 @@ export function generateEmptyTemplate(_targetRelativePath) {
156
156
  name: '',
157
157
  path: normalizedTargetPath,
158
158
  project: '',
159
- description: '',
159
+ describe: '',
160
160
  prompt: '',
161
161
  },
162
162
  ],
@@ -86,7 +86,7 @@ export interface YmlAgentProfileTemplate {
86
86
  name: string;
87
87
  path: string;
88
88
  project: string;
89
- description: string;
89
+ describe: string;
90
90
  prompt: string;
91
91
  mcp?: {
92
92
  "wait-reply-timeout-ms"?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aws-runtime-bridge",
3
- "version": "1.9.75",
3
+ "version": "1.9.78",
4
4
  "description": "AgentsWorkStudio runtime bridge service for machine-level agent runtime integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -25,6 +25,9 @@
25
25
  "bundleDependencies": [
26
26
  "@cc-switch/sdk"
27
27
  ],
28
+ "optionalDependencies": {
29
+ "node-windows": "^1.0.0-beta.8"
30
+ },
28
31
  "engines": {
29
32
  "node": ">=20.0.0 <25"
30
33
  },