@bitseek/claw 1.2.5 → 1.2.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.
Files changed (34) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/dist/{command-registry-KxdBw74g.js → command-registry-Ce2f2xlT.js} +5 -5
  4. package/dist/{completion-cli-DU3T8Tur.js → completion-cli-9Y73fGUi.js} +1 -1
  5. package/dist/{completion-cli-Cfp2m1Sy.js → completion-cli-BmyLEw45.js} +2 -2
  6. package/dist/{doctor-completion-AraQfpv2.js → doctor-completion-CWm9ZwKY.js} +1 -1
  7. package/dist/{doctor-completion-B6_JtN22.js → doctor-completion-_GRkzsCa.js} +1 -1
  8. package/dist/entry.js +2 -2
  9. package/dist/{gateway-cli-CX2HA_sy.js → gateway-cli-CSL5V3uF.js} +63 -9
  10. package/dist/{gateway-cli-C6G3qMkR.js → gateway-cli-DRM2vzxA.js} +63 -9
  11. package/dist/index.js +1 -1
  12. package/dist/{onboard-DcI-IxL0.js → onboard-ATkjPZXm.js} +1 -1
  13. package/dist/{onboard-D66uwNCb.js → onboard-BuGv9f2N.js} +1 -1
  14. package/dist/{onboarding-CZCgESNI.js → onboarding-BAaREMfO.js} +1 -1
  15. package/dist/{onboarding-Dae6N665.js → onboarding-BvdtFAPe.js} +1 -1
  16. package/dist/{onboarding.finalize-B8nYvA0i.js → onboarding.finalize-CV7n10lP.js} +4 -4
  17. package/dist/{onboarding.finalize-ANKeWCQe.js → onboarding.finalize-dkwktLJD.js} +3 -3
  18. package/dist/{program-DSOHn27G.js → program-Br-upXE-.js} +2 -2
  19. package/dist/{program-context-DfYJPL5N.js → program-context-B7eOpdoF.js} +7 -7
  20. package/dist/{prompt-select-styled-DG7woZ0E.js → prompt-select-styled-BpKwjfWa.js} +1 -1
  21. package/dist/{prompt-select-styled-B2izefsj.js → prompt-select-styled-CPPwmToI.js} +1 -1
  22. package/dist/{register.init-BiLKNwSu.js → register.init-B1pIa3ys.js} +5 -88
  23. package/dist/{register.init-DWQDniBg.js → register.init-BrturXsS.js} +5 -88
  24. package/dist/{register.maintenance-CQivhR8Y.js → register.maintenance-D3hGsmW7.js} +5 -5
  25. package/dist/{register.maintenance-DyTduYA4.js → register.maintenance-DlVX7oGZ.js} +4 -4
  26. package/dist/{register.onboard-BRBPNENF.js → register.onboard-BLl4Er9V.js} +2 -2
  27. package/dist/{register.onboard-CWX2zarB.js → register.onboard-BSOSCu5a.js} +2 -2
  28. package/dist/{register.setup-DwZL0RXc.js → register.setup-CvAXGVEU.js} +2 -2
  29. package/dist/{register.setup-YcxKWN94.js → register.setup-NLg11E_9.js} +2 -2
  30. package/dist/{register.subclis-CEq4Db2Q.js → register.subclis-Zhshg_9Y.js} +3 -3
  31. package/dist/{run-main-BoenTqTz.js → run-main-CiC7Az8U.js} +3 -3
  32. package/dist/{update-cli-D1B0Vytl.js → update-cli-B9F4MIMw.js} +5 -5
  33. package/dist/{update-cli-CuKW0N9W.js → update-cli-mCVWiI6K.js} +4 -4
  34. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.2.5",
2
+ "version": "1.2.7",
3
3
  "upstreamVersion": "2026.3.2",
4
- "commit": "92617385ef8399fded9e705ee6bd98fbf49f8f00",
5
- "builtAt": "2026-03-13T11:17:05.847Z"
4
+ "commit": "13e4a66101aed338f675e5613d46f97ddd636c51",
5
+ "builtAt": "2026-03-13T12:19:03.280Z"
6
6
  }
@@ -1 +1 @@
1
- 512da9df9d08b77b08c6359ccfdf8026a6f49e86b764426adca6ee4e507f5e59
1
+ 37a2569feb658a9d8a6f9b57659560754f186ed77f6609e2722103e8dc2e71a0
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { F as getPrimaryCommand, R as hasHelpOrVersion } from "./globals-B68W7uN8.js";
3
- import { i as registerSubCliCommands, o as removeCommandByName, s as reparseProgramFromActionArgs } from "./register.subclis-CEq4Db2Q.js";
3
+ import { i as registerSubCliCommands, o as removeCommandByName, s as reparseProgramFromActionArgs } from "./register.subclis-Zhshg_9Y.js";
4
4
 
5
5
  //#region src/cli/program/command-registry.ts
6
6
  var command_registry_exports = /* @__PURE__ */ __exportAll({
@@ -22,7 +22,7 @@ const coreEntries = [
22
22
  hasSubcommands: false
23
23
  }],
24
24
  register: async ({ program }) => {
25
- (await import("./register.init-BiLKNwSu.js")).registerInitCommand(program);
25
+ (await import("./register.init-B1pIa3ys.js")).registerInitCommand(program);
26
26
  }
27
27
  },
28
28
  {
@@ -42,7 +42,7 @@ const coreEntries = [
42
42
  hasSubcommands: false
43
43
  }],
44
44
  register: async ({ program }) => {
45
- (await import("./register.setup-YcxKWN94.js")).registerSetupCommand(program);
45
+ (await import("./register.setup-NLg11E_9.js")).registerSetupCommand(program);
46
46
  }
47
47
  },
48
48
  {
@@ -52,7 +52,7 @@ const coreEntries = [
52
52
  hasSubcommands: false
53
53
  }],
54
54
  register: async ({ program }) => {
55
- (await import("./register.onboard-BRBPNENF.js")).registerOnboardCommand(program);
55
+ (await import("./register.onboard-BLl4Er9V.js")).registerOnboardCommand(program);
56
56
  }
57
57
  },
58
58
  {
@@ -99,7 +99,7 @@ const coreEntries = [
99
99
  }
100
100
  ],
101
101
  register: async ({ program }) => {
102
- (await import("./register.maintenance-CQivhR8Y.js")).registerMaintenanceCommands(program);
102
+ (await import("./register.maintenance-D3hGsmW7.js")).registerMaintenanceCommands(program);
103
103
  }
104
104
  },
105
105
  {
@@ -4,7 +4,7 @@ import { p as theme } from "./globals-uLeGcRW1.js";
4
4
  import { h as pathExists } from "./utils-CP51tiAi.js";
5
5
  import { i as routeLogsToStderr } from "./subsystem-BT74-yyS.js";
6
6
  import { t as formatDocsLink } from "./links-CM7pO4C5.js";
7
- import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-DfYJPL5N.js";
7
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-B7eOpdoF.js";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
10
  import fs from "node:fs/promises";
@@ -4,8 +4,8 @@ import { g as resolveStateDir } from "./paths-BnKiOk2S.js";
4
4
  import { i as routeLogsToStderr } from "./subsystem-DjdBljTA.js";
5
5
  import { m as pathExists } from "./utils-DIzy5B5o.js";
6
6
  import { t as formatDocsLink } from "./links-BDNlbZvM.js";
7
- import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-CEq4Db2Q.js";
8
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-KxdBw74g.js";
7
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-Zhshg_9Y.js";
8
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-Ce2f2xlT.js";
9
9
  import { t as getProgramContext } from "./program-context-Cy6hM1zR.js";
10
10
  import path from "node:path";
11
11
  import os from "node:os";
@@ -1,7 +1,7 @@
1
1
  import { S as resolveCliName } from "./paths-BYr-iJJ9.js";
2
2
  import { y as resolveOpenClawPackageRoot } from "./workspace-CRdln__H.js";
3
3
  import { t as note } from "./note-CLcV1fjx.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DU3T8Tur.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-9Y73fGUi.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { S as resolveCliName } from "./paths-BnKiOk2S.js";
2
2
  import { y as resolveOpenClawPackageRoot } from "./workspace-BHfqkuYN.js";
3
3
  import { t as note } from "./note-BuhsMSuP.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Cfp2m1Sy.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BmyLEw45.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
7
7
 
package/dist/entry.js CHANGED
@@ -384,7 +384,7 @@ if (!isMainModule({
384
384
  }
385
385
  function tryHandleRootHelpFastPath(argv) {
386
386
  if (!isRootHelpInvocation(argv)) return false;
387
- import("./program-DSOHn27G.js").then(({ buildProgram }) => {
387
+ import("./program-Br-upXE-.js").then(({ buildProgram }) => {
388
388
  buildProgram().outputHelp();
389
389
  }).catch((error) => {
390
390
  console.error("[openclaw] Failed to display help:", error instanceof Error ? error.stack ?? error.message : error);
@@ -403,7 +403,7 @@ if (!isMainModule({
403
403
  applyCliProfileEnv({ profile: parsed.profile });
404
404
  process$1.argv = parsed.argv;
405
405
  }
406
- if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-BoenTqTz.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
406
+ if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-CiC7Az8U.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
407
407
  console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
408
408
  process$1.exitCode = 1;
409
409
  });
@@ -162,7 +162,7 @@ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t
162
162
  import { o as isBitseekBuild } from "./status.update-YC9VNJxl.js";
163
163
  import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-BV3Q0XnD.js";
164
164
  import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-D4y0Gdfj.js";
165
- import { t as runOnboardingWizard } from "./onboarding-CZCgESNI.js";
165
+ import { t as runOnboardingWizard } from "./onboarding-BAaREMfO.js";
166
166
  import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-BSlKJa83.js";
167
167
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CtjSNa9d.js";
168
168
  import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-pJ6IPNBA.js";
@@ -14302,6 +14302,12 @@ function isCommandNotFoundResult(result) {
14302
14302
  const output = `${result.stderr}\n${result.stdout}`.toLowerCase();
14303
14303
  return output.includes("enoent") || output.includes("command not found") || output.includes("not recognized as an internal or external command");
14304
14304
  }
14305
+ function isAlreadyInstalledResult(result) {
14306
+ return `${result.stderr}\n${result.stdout}`.toLowerCase().includes("already installed");
14307
+ }
14308
+ function requiresForceForSuspiciousSkill(result) {
14309
+ return `${result.stderr}\n${result.stdout}`.toLowerCase().includes("use --force to install suspicious skills in non-interactive mode");
14310
+ }
14305
14311
  async function runMarketInstallCommand(runCommand, argv, options) {
14306
14312
  try {
14307
14313
  return await runCommand(argv, options);
@@ -14381,18 +14387,43 @@ async function installClawhubMarketSkill(params, deps) {
14381
14387
  const workspaceDir = resolveUserPath(params.workspaceDir);
14382
14388
  const timeoutMs = Math.min(Math.max(params.timeoutMs ?? 3e5, 1e3), 9e5);
14383
14389
  const runCommand = deps?.runCommand ?? runCommandWithTimeout;
14390
+ const installOptions = {
14391
+ cwd: workspaceDir,
14392
+ timeoutMs
14393
+ };
14384
14394
  const first = await runMarketInstallCommand(runCommand, [
14385
14395
  "clawhub",
14386
14396
  "install",
14387
14397
  slug
14388
- ], {
14389
- cwd: workspaceDir,
14390
- timeoutMs
14391
- });
14398
+ ], installOptions);
14392
14399
  if (first.code === 0) return {
14393
14400
  ok: true,
14394
14401
  message: `Installed "${slug}" via clawhub.`
14395
14402
  };
14403
+ if (isAlreadyInstalledResult(first)) return {
14404
+ ok: true,
14405
+ message: `Already installed "${slug}" via clawhub.`
14406
+ };
14407
+ if (requiresForceForSuspiciousSkill(first)) {
14408
+ const forced = await runMarketInstallCommand(runCommand, [
14409
+ "clawhub",
14410
+ "install",
14411
+ slug,
14412
+ "--force"
14413
+ ], installOptions);
14414
+ if (forced.code === 0) return {
14415
+ ok: true,
14416
+ message: `Installed "${slug}" via clawhub --force.`
14417
+ };
14418
+ if (isAlreadyInstalledResult(forced)) return {
14419
+ ok: true,
14420
+ message: `Already installed "${slug}" via clawhub --force.`
14421
+ };
14422
+ return {
14423
+ ok: false,
14424
+ message: `ClawHub install failed: ${formatInstallFailureMessage(forced)}`
14425
+ };
14426
+ }
14396
14427
  if (!isCommandNotFoundResult(first)) return {
14397
14428
  ok: false,
14398
14429
  message: `ClawHub install failed: ${formatInstallFailureMessage(first)}`
@@ -14403,14 +14434,37 @@ async function installClawhubMarketSkill(params, deps) {
14403
14434
  "clawhub",
14404
14435
  "install",
14405
14436
  slug
14406
- ], {
14407
- cwd: workspaceDir,
14408
- timeoutMs
14409
- });
14437
+ ], installOptions);
14410
14438
  if (fallback.code === 0) return {
14411
14439
  ok: true,
14412
14440
  message: `Installed "${slug}" via npx clawhub.`
14413
14441
  };
14442
+ if (isAlreadyInstalledResult(fallback)) return {
14443
+ ok: true,
14444
+ message: `Already installed "${slug}" via npx clawhub.`
14445
+ };
14446
+ if (requiresForceForSuspiciousSkill(fallback)) {
14447
+ const forcedFallback = await runMarketInstallCommand(runCommand, [
14448
+ "npx",
14449
+ "-y",
14450
+ "clawhub",
14451
+ "install",
14452
+ slug,
14453
+ "--force"
14454
+ ], installOptions);
14455
+ if (forcedFallback.code === 0) return {
14456
+ ok: true,
14457
+ message: `Installed "${slug}" via npx clawhub --force.`
14458
+ };
14459
+ if (isAlreadyInstalledResult(forcedFallback)) return {
14460
+ ok: true,
14461
+ message: `Already installed "${slug}" via npx clawhub --force.`
14462
+ };
14463
+ return {
14464
+ ok: false,
14465
+ message: `ClawHub install failed: ${formatInstallFailureMessage(forcedFallback)}`
14466
+ };
14467
+ }
14414
14468
  return {
14415
14469
  ok: false,
14416
14470
  message: `ClawHub install failed: ${formatInstallFailureMessage(fallback)}`
@@ -161,7 +161,7 @@ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t
161
161
  import { o as isBitseekBuild } from "./status.update-HwSPC5ZX.js";
162
162
  import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-C6rIxLzo.js";
163
163
  import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-Rd7ooKB0.js";
164
- import { t as runOnboardingWizard } from "./onboarding-Dae6N665.js";
164
+ import { t as runOnboardingWizard } from "./onboarding-BvdtFAPe.js";
165
165
  import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-DvNRo3EQ.js";
166
166
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-mNwdQcKy.js";
167
167
  import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-BKUs_pS2.js";
@@ -14300,6 +14300,12 @@ function isCommandNotFoundResult(result) {
14300
14300
  const output = `${result.stderr}\n${result.stdout}`.toLowerCase();
14301
14301
  return output.includes("enoent") || output.includes("command not found") || output.includes("not recognized as an internal or external command");
14302
14302
  }
14303
+ function isAlreadyInstalledResult(result) {
14304
+ return `${result.stderr}\n${result.stdout}`.toLowerCase().includes("already installed");
14305
+ }
14306
+ function requiresForceForSuspiciousSkill(result) {
14307
+ return `${result.stderr}\n${result.stdout}`.toLowerCase().includes("use --force to install suspicious skills in non-interactive mode");
14308
+ }
14303
14309
  async function runMarketInstallCommand(runCommand, argv, options) {
14304
14310
  try {
14305
14311
  return await runCommand(argv, options);
@@ -14379,18 +14385,43 @@ async function installClawhubMarketSkill(params, deps) {
14379
14385
  const workspaceDir = resolveUserPath(params.workspaceDir);
14380
14386
  const timeoutMs = Math.min(Math.max(params.timeoutMs ?? 3e5, 1e3), 9e5);
14381
14387
  const runCommand = deps?.runCommand ?? runCommandWithTimeout;
14388
+ const installOptions = {
14389
+ cwd: workspaceDir,
14390
+ timeoutMs
14391
+ };
14382
14392
  const first = await runMarketInstallCommand(runCommand, [
14383
14393
  "clawhub",
14384
14394
  "install",
14385
14395
  slug
14386
- ], {
14387
- cwd: workspaceDir,
14388
- timeoutMs
14389
- });
14396
+ ], installOptions);
14390
14397
  if (first.code === 0) return {
14391
14398
  ok: true,
14392
14399
  message: `Installed "${slug}" via clawhub.`
14393
14400
  };
14401
+ if (isAlreadyInstalledResult(first)) return {
14402
+ ok: true,
14403
+ message: `Already installed "${slug}" via clawhub.`
14404
+ };
14405
+ if (requiresForceForSuspiciousSkill(first)) {
14406
+ const forced = await runMarketInstallCommand(runCommand, [
14407
+ "clawhub",
14408
+ "install",
14409
+ slug,
14410
+ "--force"
14411
+ ], installOptions);
14412
+ if (forced.code === 0) return {
14413
+ ok: true,
14414
+ message: `Installed "${slug}" via clawhub --force.`
14415
+ };
14416
+ if (isAlreadyInstalledResult(forced)) return {
14417
+ ok: true,
14418
+ message: `Already installed "${slug}" via clawhub --force.`
14419
+ };
14420
+ return {
14421
+ ok: false,
14422
+ message: `ClawHub install failed: ${formatInstallFailureMessage(forced)}`
14423
+ };
14424
+ }
14394
14425
  if (!isCommandNotFoundResult(first)) return {
14395
14426
  ok: false,
14396
14427
  message: `ClawHub install failed: ${formatInstallFailureMessage(first)}`
@@ -14401,14 +14432,37 @@ async function installClawhubMarketSkill(params, deps) {
14401
14432
  "clawhub",
14402
14433
  "install",
14403
14434
  slug
14404
- ], {
14405
- cwd: workspaceDir,
14406
- timeoutMs
14407
- });
14435
+ ], installOptions);
14408
14436
  if (fallback.code === 0) return {
14409
14437
  ok: true,
14410
14438
  message: `Installed "${slug}" via npx clawhub.`
14411
14439
  };
14440
+ if (isAlreadyInstalledResult(fallback)) return {
14441
+ ok: true,
14442
+ message: `Already installed "${slug}" via npx clawhub.`
14443
+ };
14444
+ if (requiresForceForSuspiciousSkill(fallback)) {
14445
+ const forcedFallback = await runMarketInstallCommand(runCommand, [
14446
+ "npx",
14447
+ "-y",
14448
+ "clawhub",
14449
+ "install",
14450
+ slug,
14451
+ "--force"
14452
+ ], installOptions);
14453
+ if (forcedFallback.code === 0) return {
14454
+ ok: true,
14455
+ message: `Installed "${slug}" via npx clawhub --force.`
14456
+ };
14457
+ if (isAlreadyInstalledResult(forcedFallback)) return {
14458
+ ok: true,
14459
+ message: `Already installed "${slug}" via npx clawhub --force.`
14460
+ };
14461
+ return {
14462
+ ok: false,
14463
+ message: `ClawHub install failed: ${formatInstallFailureMessage(forcedFallback)}`
14464
+ };
14465
+ }
14412
14466
  return {
14413
14467
  ok: false,
14414
14468
  message: `ClawHub install failed: ${formatInstallFailureMessage(fallback)}`
package/dist/index.js CHANGED
@@ -127,7 +127,7 @@ import { t as isMainModule } from "./is-main-Dha5s7-d.js";
127
127
  import { t as ensureOpenClawCliOnPath } from "./path-env-DzEqwLCq.js";
128
128
  import { t as assertSupportedRuntime } from "./runtime-guard-p6l4jDOj.js";
129
129
  import "./ports-BL-FP2jP.js";
130
- import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-DfYJPL5N.js";
130
+ import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-B7eOpdoF.js";
131
131
  import "./plugin-registry-TOEmbMc4.js";
132
132
  import { n as resolveCliChannelOptions } from "./channel-options-Bnnem_wD.js";
133
133
  import process$1 from "node:process";
@@ -8,7 +8,7 @@ import { t as assertSupportedRuntime } from "./runtime-guard-p6l4jDOj.js";
8
8
  import { t as WizardCancelledError } from "./prompts-iXdBMk3j.js";
9
9
  import { t as createClackPrompter } from "./clack-prompter-CgCD3NZ8.js";
10
10
  import { t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-D8xmnSd2.js";
11
- import { t as runOnboardingWizard } from "./onboarding-Dae6N665.js";
11
+ import { t as runOnboardingWizard } from "./onboarding-BvdtFAPe.js";
12
12
  import { n as logConfigUpdated } from "./logging-yFV4aFrN.js";
13
13
  import { i as normalizeLegacyOnboardAuthChoice, r as isDeprecatedAuthChoice, t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-Dqir0v9m.js";
14
14
  import { t as applyOnboardingLocalWorkspaceConfig } from "./onboard-config-3n3w_Lvm.js";
@@ -8,7 +8,7 @@ import { t as WizardCancelledError } from "./prompts-CbZZ91V9.js";
8
8
  import { t as createClackPrompter } from "./clack-prompter-B2lC_BWr.js";
9
9
  import { t as assertSupportedRuntime } from "./runtime-guard-lQH3Hjre.js";
10
10
  import { t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BPrEIqYI.js";
11
- import { t as runOnboardingWizard } from "./onboarding-CZCgESNI.js";
11
+ import { t as runOnboardingWizard } from "./onboarding-BAaREMfO.js";
12
12
  import { n as logConfigUpdated } from "./logging-DsLC1iR-.js";
13
13
  import { i as normalizeLegacyOnboardAuthChoice, r as isDeprecatedAuthChoice, t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-AoFLWxQT.js";
14
14
  import { t as applyOnboardingLocalWorkspaceConfig } from "./onboard-config-D6N2g-IY.js";
@@ -311,7 +311,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
311
311
  mode
312
312
  });
313
313
  await writeConfigFile(nextConfig);
314
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-B8nYvA0i.js");
314
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-CV7n10lP.js");
315
315
  const { launchedTui } = await finalizeOnboardingWizard({
316
316
  flow,
317
317
  opts,
@@ -311,7 +311,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
311
311
  mode
312
312
  });
313
313
  await writeConfigFile(nextConfig);
314
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-ANKeWCQe.js");
314
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-dkwktLJD.js");
315
315
  const { launchedTui } = await finalizeOnboardingWizard({
316
316
  flow,
317
317
  opts,
@@ -121,9 +121,9 @@ import "./progress-CwQKn0ae.js";
121
121
  import "./constants-SKxh9Cou.js";
122
122
  import "./context-window-guard-ejUBbmnW.js";
123
123
  import "./note-BuhsMSuP.js";
124
- import { r as installCompletion } from "./completion-cli-Cfp2m1Sy.js";
125
- import "./register.subclis-CEq4Db2Q.js";
126
- import "./command-registry-KxdBw74g.js";
124
+ import { r as installCompletion } from "./completion-cli-BmyLEw45.js";
125
+ import "./register.subclis-Zhshg_9Y.js";
126
+ import "./command-registry-Ce2f2xlT.js";
127
127
  import "./program-context-Cy6hM1zR.js";
128
128
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-D28keNLu.js";
129
129
  import "./runtime-guard-lQH3Hjre.js";
@@ -133,7 +133,7 @@ import { t as resolveGatewayService } from "./service-Bjqlh_fF.js";
133
133
  import { r as healthCommand } from "./health-CDEXWvnu.js";
134
134
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Dx8wiZQ_.js";
135
135
  import { t as formatHealthCheckFailure } from "./health-format-NGoowTz5.js";
136
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-B6_JtN22.js";
136
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-_GRkzsCa.js";
137
137
  import { t as runTui } from "./tui-CLK0s6TM.js";
138
138
  import path from "node:path";
139
139
  import os from "node:os";
@@ -120,9 +120,9 @@ import "./stagger-C-R8Eo-4.js";
120
120
  import "./constants-BJiQF5Ae.js";
121
121
  import "./context-window-guard-BNuaId5E.js";
122
122
  import "./runtime-guard-p6l4jDOj.js";
123
- import "./program-context-DfYJPL5N.js";
123
+ import "./program-context-B7eOpdoF.js";
124
124
  import "./note-CLcV1fjx.js";
125
- import { r as installCompletion } from "./completion-cli-DU3T8Tur.js";
125
+ import { r as installCompletion } from "./completion-cli-9Y73fGUi.js";
126
126
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-CMWYg4_W.js";
127
127
  import { n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-D8xmnSd2.js";
128
128
  import { r as isSystemdUserServiceAvailable } from "./systemd-DJ5Red-Q.js";
@@ -130,7 +130,7 @@ import { t as resolveGatewayService } from "./service-DqxfCr8y.js";
130
130
  import { r as healthCommand } from "./health-Du8dO3vn.js";
131
131
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B_3g_YF0.js";
132
132
  import { t as formatHealthCheckFailure } from "./health-format-CEAJLEPm.js";
133
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-AraQfpv2.js";
133
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CWm9ZwKY.js";
134
134
  import { t as runTui } from "./tui-Dd6DhgjX.js";
135
135
  import os from "node:os";
136
136
  import path from "node:path";
@@ -122,8 +122,8 @@ import "./constants-SKxh9Cou.js";
122
122
  import "./context-window-guard-ejUBbmnW.js";
123
123
  import "./plugin-registry-CxFikiLF.js";
124
124
  import { n as resolveCliChannelOptions } from "./channel-options-Dsjb-V1F.js";
125
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-CEq4Db2Q.js";
126
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-KxdBw74g.js";
125
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-Zhshg_9Y.js";
126
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-Ce2f2xlT.js";
127
127
  import { r as setProgramContext } from "./program-context-Cy6hM1zR.js";
128
128
  import { t as forceFreePort } from "./ports-zWusnrvP.js";
129
129
  import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-V_1v329B.js";
@@ -58,7 +58,7 @@ const entries = [
58
58
  description: "Run, inspect, and query the WebSocket Gateway",
59
59
  hasSubcommands: true,
60
60
  register: async (program) => {
61
- (await import("./gateway-cli-C6G3qMkR.js")).registerGatewayCli(program);
61
+ (await import("./gateway-cli-DRM2vzxA.js")).registerGatewayCli(program);
62
62
  }
63
63
  },
64
64
  {
@@ -262,7 +262,7 @@ const entries = [
262
262
  description: "Update OpenClaw and inspect update channel status",
263
263
  hasSubcommands: true,
264
264
  register: async (program) => {
265
- (await import("./update-cli-CuKW0N9W.js")).registerUpdateCli(program);
265
+ (await import("./update-cli-mCVWiI6K.js")).registerUpdateCli(program);
266
266
  }
267
267
  },
268
268
  {
@@ -270,7 +270,7 @@ const entries = [
270
270
  description: "Generate shell completion script",
271
271
  hasSubcommands: false,
272
272
  register: async (program) => {
273
- (await import("./completion-cli-DU3T8Tur.js").then((n) => n.n)).registerCompletionCli(program);
273
+ (await import("./completion-cli-9Y73fGUi.js").then((n) => n.n)).registerCompletionCli(program);
274
274
  }
275
275
  }
276
276
  ];
@@ -327,7 +327,7 @@ const coreEntries = [
327
327
  hasSubcommands: false
328
328
  }],
329
329
  register: async ({ program }) => {
330
- (await import("./register.init-DWQDniBg.js")).registerInitCommand(program);
330
+ (await import("./register.init-BrturXsS.js")).registerInitCommand(program);
331
331
  }
332
332
  },
333
333
  {
@@ -347,7 +347,7 @@ const coreEntries = [
347
347
  hasSubcommands: false
348
348
  }],
349
349
  register: async ({ program }) => {
350
- (await import("./register.setup-DwZL0RXc.js")).registerSetupCommand(program);
350
+ (await import("./register.setup-CvAXGVEU.js")).registerSetupCommand(program);
351
351
  }
352
352
  },
353
353
  {
@@ -357,7 +357,7 @@ const coreEntries = [
357
357
  hasSubcommands: false
358
358
  }],
359
359
  register: async ({ program }) => {
360
- (await import("./register.onboard-CWX2zarB.js")).registerOnboardCommand(program);
360
+ (await import("./register.onboard-BSOSCu5a.js")).registerOnboardCommand(program);
361
361
  }
362
362
  },
363
363
  {
@@ -404,7 +404,7 @@ const coreEntries = [
404
404
  }
405
405
  ],
406
406
  register: async ({ program }) => {
407
- (await import("./register.maintenance-DyTduYA4.js")).registerMaintenanceCommands(program);
407
+ (await import("./register.maintenance-DlVX7oGZ.js")).registerMaintenanceCommands(program);
408
408
  }
409
409
  },
410
410
  {
@@ -45,7 +45,7 @@ import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as l
45
45
  import { n as noteOpenAIOAuthTlsPrerequisites } from "./oauth-tls-preflight-B31t_Wn7.js";
46
46
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DfrE-63p.js";
47
47
  import { t as formatHealthCheckFailure } from "./health-format-NGoowTz5.js";
48
- import { n as doctorShellCompletion } from "./doctor-completion-B6_JtN22.js";
48
+ import { n as doctorShellCompletion } from "./doctor-completion-_GRkzsCa.js";
49
49
  import { execFile } from "node:child_process";
50
50
  import path from "node:path";
51
51
  import os from "node:os";
@@ -45,7 +45,7 @@ import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as l
45
45
  import { n as noteOpenAIOAuthTlsPrerequisites } from "./oauth-tls-preflight-i1WBNTG8.js";
46
46
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-BK6kig-o.js";
47
47
  import { t as formatHealthCheckFailure } from "./health-format-CEAJLEPm.js";
48
- import { n as doctorShellCompletion } from "./doctor-completion-AraQfpv2.js";
48
+ import { n as doctorShellCompletion } from "./doctor-completion-CWm9ZwKY.js";
49
49
  import fs from "node:fs";
50
50
  import os from "node:os";
51
51
  import path from "node:path";
@@ -170,39 +170,13 @@ function randomSecret(size = 24) {
170
170
  function validateApiKey(value) {
171
171
  if (!value.trim()) return "API key is required";
172
172
  }
173
- function validateRemoteWsUrl(value) {
174
- const trimmed = value.trim();
175
- if (!trimmed) return "Remote gateway URL is required";
176
- let parsed;
177
- try {
178
- parsed = new URL(trimmed);
179
- } catch {
180
- return "Invalid URL";
181
- }
182
- if (parsed.protocol !== "ws:" && parsed.protocol !== "wss:") return "Use ws:// or wss://";
183
- }
184
173
  function normalizeAgentOptionOrThrow(value) {
185
174
  const trimmed = value?.trim();
186
175
  if (!trimmed) return;
187
176
  if (!isValidAgentId(trimmed)) throw new Error(`Invalid agent id "${trimmed}". Agent IDs must match [a-z0-9][a-z0-9_-]{0,63}.`);
188
177
  return normalizeAgentId(trimmed);
189
178
  }
190
- function resolvePresetGatewayConfig(preset, remoteUrl, remoteToken) {
191
- if (preset === "remote") return {
192
- mode: "remote",
193
- remote: {
194
- url: remoteUrl?.trim(),
195
- token: remoteToken?.trim() || void 0
196
- }
197
- };
198
- if (preset === "team") return {
199
- mode: "local",
200
- bind: "loopback",
201
- auth: {
202
- mode: "password",
203
- password: randomSecret(18)
204
- }
205
- };
179
+ function buildDefaultGatewayConfig() {
206
180
  return {
207
181
  mode: "local",
208
182
  bind: "loopback",
@@ -230,7 +204,7 @@ function buildBitseekModelDefinition() {
230
204
  };
231
205
  }
232
206
  function buildNextConfig(params) {
233
- const gateway = resolvePresetGatewayConfig(params.preset, params.remoteUrl, params.remoteToken);
207
+ const gateway = buildDefaultGatewayConfig();
234
208
  const bitseekProvider = {
235
209
  baseUrl: BITSEEK_DEFAULT_BASE_URL,
236
210
  api: "openai-completions",
@@ -244,7 +218,7 @@ function buildNextConfig(params) {
244
218
  return {
245
219
  ...params.base,
246
220
  bitseek: {
247
- preset: params.preset,
221
+ preset: "solo",
248
222
  advancedMode: params.advancedMode,
249
223
  provider: {
250
224
  baseUrl: BITSEEK_DEFAULT_BASE_URL,
@@ -332,18 +306,10 @@ async function seedBuiltinAgentWorkspaces(params) {
332
306
  await fs.mkdir(resolveSessionTranscriptsDirForAgent(builtin.id), { recursive: true });
333
307
  }
334
308
  }
335
- function parsePresetOrDefault(value) {
336
- const normalized = value?.trim().toLowerCase();
337
- if (normalized === "solo" || normalized === "team" || normalized === "remote") return normalized;
338
- return "solo";
339
- }
340
309
  function buildInitResultFromOptions(options) {
341
310
  return {
342
- preset: parsePresetOrDefault(options.preset),
343
311
  apiKey: options.apiKey?.trim() ?? "",
344
312
  advancedMode: options.advancedMode === true,
345
- remoteUrl: options.remoteUrl?.trim(),
346
- remoteToken: options.remoteToken?.trim() || void 0,
347
313
  agent: normalizeAgentOptionOrThrow(options.agent)
348
314
  };
349
315
  }
@@ -373,60 +339,22 @@ async function bitseekInitCommand(runtime = defaultRuntime, options = {}) {
373
339
  const parsedOptionAgent = normalizeAgentOptionOrThrow(options.agent);
374
340
  if (!hasConfiguredAgents && parsedOptionAgent && !isBitseekBuiltinAgentId(parsedOptionAgent)) throw new Error(`Unknown built-in agent "${parsedOptionAgent}". Available: ${formatBitseekBuiltinAgentIds()}`);
375
341
  if (hasConfiguredAgents && parsedOptionAgent && !findConfiguredAgent(baseConfig, parsedOptionAgent)) throw new Error(`Unknown agent "${parsedOptionAgent}". Available configured agents: ${formatConfiguredAgentIds(baseConfig)}`);
376
- let preset;
377
342
  let apiKey;
378
343
  let advancedMode;
379
- let remoteUrl;
380
- let remoteToken;
381
344
  let selectedAgentId;
382
345
  if (nonInteractive) {
383
346
  const parsed = buildInitResultFromOptions(options);
384
- preset = parsed.preset;
385
347
  apiKey = parsed.apiKey;
386
348
  advancedMode = parsed.advancedMode;
387
- remoteUrl = parsed.remoteUrl;
388
- remoteToken = parsed.remoteToken;
389
349
  if (!hasConfiguredAgents) selectedAgentId = parsed.agent ?? BITSEEK_DEFAULT_BUILTIN_AGENT_ID;
390
350
  else selectedAgentId = parsed.agent;
391
351
  } else {
392
- preset = await prompter.select({
393
- message: "Choose setup preset",
394
- options: [
395
- {
396
- value: "solo",
397
- label: "Solo",
398
- hint: "Single machine, token auth, local gateway"
399
- },
400
- {
401
- value: "team",
402
- label: "Team",
403
- hint: "Single machine, stricter local password auth"
404
- },
405
- {
406
- value: "remote",
407
- label: "Remote",
408
- hint: "Connect to remote gateway only"
409
- }
410
- ],
411
- initialValue: "solo"
412
- });
413
352
  await prompter.note(`Need a BitSeek API key? Create one here: ${formatTerminalLink(BITSEEK_API_KEY_SIGNUP_URL, BITSEEK_API_KEY_SIGNUP_URL, { fallback: BITSEEK_API_KEY_SIGNUP_URL })}`);
414
353
  apiKey = await prompter.text({
415
354
  message: "Enter BitSeek API key",
416
355
  placeholder: "bsk-...",
417
356
  validate: validateApiKey
418
357
  });
419
- if (preset === "remote") {
420
- remoteUrl = await prompter.text({
421
- message: "Remote gateway URL (ws:// or wss://)",
422
- placeholder: "wss://gateway.example.com",
423
- validate: validateRemoteWsUrl
424
- });
425
- remoteToken = (await prompter.text({
426
- message: "Remote gateway token (optional)",
427
- placeholder: "token"
428
- })).trim() || void 0;
429
- }
430
358
  advancedMode = await prompter.confirm({
431
359
  message: "Enable advanced mode? (show full provider/channel surfaces)",
432
360
  initialValue: false
@@ -442,16 +370,9 @@ async function bitseekInitCommand(runtime = defaultRuntime, options = {}) {
442
370
  }
443
371
  const apiKeyError = validateApiKey(apiKey);
444
372
  if (apiKeyError) throw new Error(apiKeyError);
445
- if (preset === "remote") {
446
- const remoteUrlError = validateRemoteWsUrl(remoteUrl ?? "");
447
- if (remoteUrlError) throw new Error(remoteUrlError);
448
- }
449
373
  let nextConfig = buildNextConfig({
450
374
  base: baseConfig,
451
- preset,
452
- advancedMode,
453
- remoteUrl,
454
- remoteToken
375
+ advancedMode
455
376
  });
456
377
  if (!hasConfiguredAgents) {
457
378
  const builtinList = buildBitseekBuiltinAgentConfigs({
@@ -483,7 +404,6 @@ async function bitseekInitCommand(runtime = defaultRuntime, options = {}) {
483
404
  });
484
405
  const summary = [
485
406
  "Initialization complete.",
486
- `Preset: ${preset}`,
487
407
  `Advanced mode: ${advancedMode ? "on" : "off"}`,
488
408
  `Default agent: ${resolveDefaultAgentId(nextConfig)}`,
489
409
  "Next: bitseek-claw start"
@@ -502,15 +422,12 @@ async function bitseekInitCommand(runtime = defaultRuntime, options = {}) {
502
422
  //#endregion
503
423
  //#region src/cli/program/register.init.ts
504
424
  function registerInitCommand(program) {
505
- program.command("init").description("BitSeek quick initialization (preset + API key + advanced mode + default agent)").option("--non-interactive", "Run without prompts (requires --api-key)", false).option("--preset <preset>", "Setup preset (solo|team|remote)").option("--api-key <key>", "BitSeek API key").option("--advanced-mode", "Enable advanced mode", false).option("--remote-url <url>", "Remote gateway URL for remote preset").option("--remote-token <token>", "Remote gateway token for remote preset").option("--agent <id>", "Default agent id (built-in id on first init; configured id afterward)").action(async (opts) => {
425
+ program.command("init").description("BitSeek quick initialization (local token auth + API key + advanced mode + default agent)").option("--non-interactive", "Run without prompts (requires --api-key)", false).option("--api-key <key>", "BitSeek API key").option("--advanced-mode", "Enable advanced mode", false).option("--agent <id>", "Default agent id (built-in id on first init; configured id afterward)").action(async (opts) => {
506
426
  await runCommandWithRuntime(defaultRuntime, async () => {
507
427
  await bitseekInitCommand(defaultRuntime, {
508
428
  nonInteractive: opts.nonInteractive === true,
509
- preset: typeof opts.preset === "string" ? opts.preset : void 0,
510
429
  apiKey: typeof opts.apiKey === "string" ? opts.apiKey : void 0,
511
430
  advancedMode: opts.advancedMode === true,
512
- remoteUrl: typeof opts.remoteUrl === "string" ? opts.remoteUrl : void 0,
513
- remoteToken: typeof opts.remoteToken === "string" ? opts.remoteToken : void 0,
514
431
  agent: typeof opts.agent === "string" ? opts.agent : void 0
515
432
  });
516
433
  });
@@ -170,39 +170,13 @@ function randomSecret(size = 24) {
170
170
  function validateApiKey(value) {
171
171
  if (!value.trim()) return "API key is required";
172
172
  }
173
- function validateRemoteWsUrl(value) {
174
- const trimmed = value.trim();
175
- if (!trimmed) return "Remote gateway URL is required";
176
- let parsed;
177
- try {
178
- parsed = new URL(trimmed);
179
- } catch {
180
- return "Invalid URL";
181
- }
182
- if (parsed.protocol !== "ws:" && parsed.protocol !== "wss:") return "Use ws:// or wss://";
183
- }
184
173
  function normalizeAgentOptionOrThrow(value) {
185
174
  const trimmed = value?.trim();
186
175
  if (!trimmed) return;
187
176
  if (!isValidAgentId(trimmed)) throw new Error(`Invalid agent id "${trimmed}". Agent IDs must match [a-z0-9][a-z0-9_-]{0,63}.`);
188
177
  return normalizeAgentId(trimmed);
189
178
  }
190
- function resolvePresetGatewayConfig(preset, remoteUrl, remoteToken) {
191
- if (preset === "remote") return {
192
- mode: "remote",
193
- remote: {
194
- url: remoteUrl?.trim(),
195
- token: remoteToken?.trim() || void 0
196
- }
197
- };
198
- if (preset === "team") return {
199
- mode: "local",
200
- bind: "loopback",
201
- auth: {
202
- mode: "password",
203
- password: randomSecret(18)
204
- }
205
- };
179
+ function buildDefaultGatewayConfig() {
206
180
  return {
207
181
  mode: "local",
208
182
  bind: "loopback",
@@ -230,7 +204,7 @@ function buildBitseekModelDefinition() {
230
204
  };
231
205
  }
232
206
  function buildNextConfig(params) {
233
- const gateway = resolvePresetGatewayConfig(params.preset, params.remoteUrl, params.remoteToken);
207
+ const gateway = buildDefaultGatewayConfig();
234
208
  const bitseekProvider = {
235
209
  baseUrl: BITSEEK_DEFAULT_BASE_URL,
236
210
  api: "openai-completions",
@@ -244,7 +218,7 @@ function buildNextConfig(params) {
244
218
  return {
245
219
  ...params.base,
246
220
  bitseek: {
247
- preset: params.preset,
221
+ preset: "solo",
248
222
  advancedMode: params.advancedMode,
249
223
  provider: {
250
224
  baseUrl: BITSEEK_DEFAULT_BASE_URL,
@@ -332,18 +306,10 @@ async function seedBuiltinAgentWorkspaces(params) {
332
306
  await fs.mkdir(resolveSessionTranscriptsDirForAgent(builtin.id), { recursive: true });
333
307
  }
334
308
  }
335
- function parsePresetOrDefault(value) {
336
- const normalized = value?.trim().toLowerCase();
337
- if (normalized === "solo" || normalized === "team" || normalized === "remote") return normalized;
338
- return "solo";
339
- }
340
309
  function buildInitResultFromOptions(options) {
341
310
  return {
342
- preset: parsePresetOrDefault(options.preset),
343
311
  apiKey: options.apiKey?.trim() ?? "",
344
312
  advancedMode: options.advancedMode === true,
345
- remoteUrl: options.remoteUrl?.trim(),
346
- remoteToken: options.remoteToken?.trim() || void 0,
347
313
  agent: normalizeAgentOptionOrThrow(options.agent)
348
314
  };
349
315
  }
@@ -373,60 +339,22 @@ async function bitseekInitCommand(runtime = defaultRuntime, options = {}) {
373
339
  const parsedOptionAgent = normalizeAgentOptionOrThrow(options.agent);
374
340
  if (!hasConfiguredAgents && parsedOptionAgent && !isBitseekBuiltinAgentId(parsedOptionAgent)) throw new Error(`Unknown built-in agent "${parsedOptionAgent}". Available: ${formatBitseekBuiltinAgentIds()}`);
375
341
  if (hasConfiguredAgents && parsedOptionAgent && !findConfiguredAgent(baseConfig, parsedOptionAgent)) throw new Error(`Unknown agent "${parsedOptionAgent}". Available configured agents: ${formatConfiguredAgentIds(baseConfig)}`);
376
- let preset;
377
342
  let apiKey;
378
343
  let advancedMode;
379
- let remoteUrl;
380
- let remoteToken;
381
344
  let selectedAgentId;
382
345
  if (nonInteractive) {
383
346
  const parsed = buildInitResultFromOptions(options);
384
- preset = parsed.preset;
385
347
  apiKey = parsed.apiKey;
386
348
  advancedMode = parsed.advancedMode;
387
- remoteUrl = parsed.remoteUrl;
388
- remoteToken = parsed.remoteToken;
389
349
  if (!hasConfiguredAgents) selectedAgentId = parsed.agent ?? BITSEEK_DEFAULT_BUILTIN_AGENT_ID;
390
350
  else selectedAgentId = parsed.agent;
391
351
  } else {
392
- preset = await prompter.select({
393
- message: "Choose setup preset",
394
- options: [
395
- {
396
- value: "solo",
397
- label: "Solo",
398
- hint: "Single machine, token auth, local gateway"
399
- },
400
- {
401
- value: "team",
402
- label: "Team",
403
- hint: "Single machine, stricter local password auth"
404
- },
405
- {
406
- value: "remote",
407
- label: "Remote",
408
- hint: "Connect to remote gateway only"
409
- }
410
- ],
411
- initialValue: "solo"
412
- });
413
352
  await prompter.note(`Need a BitSeek API key? Create one here: ${formatTerminalLink(BITSEEK_API_KEY_SIGNUP_URL, BITSEEK_API_KEY_SIGNUP_URL, { fallback: BITSEEK_API_KEY_SIGNUP_URL })}`);
414
353
  apiKey = await prompter.text({
415
354
  message: "Enter BitSeek API key",
416
355
  placeholder: "bsk-...",
417
356
  validate: validateApiKey
418
357
  });
419
- if (preset === "remote") {
420
- remoteUrl = await prompter.text({
421
- message: "Remote gateway URL (ws:// or wss://)",
422
- placeholder: "wss://gateway.example.com",
423
- validate: validateRemoteWsUrl
424
- });
425
- remoteToken = (await prompter.text({
426
- message: "Remote gateway token (optional)",
427
- placeholder: "token"
428
- })).trim() || void 0;
429
- }
430
358
  advancedMode = await prompter.confirm({
431
359
  message: "Enable advanced mode? (show full provider/channel surfaces)",
432
360
  initialValue: false
@@ -442,16 +370,9 @@ async function bitseekInitCommand(runtime = defaultRuntime, options = {}) {
442
370
  }
443
371
  const apiKeyError = validateApiKey(apiKey);
444
372
  if (apiKeyError) throw new Error(apiKeyError);
445
- if (preset === "remote") {
446
- const remoteUrlError = validateRemoteWsUrl(remoteUrl ?? "");
447
- if (remoteUrlError) throw new Error(remoteUrlError);
448
- }
449
373
  let nextConfig = buildNextConfig({
450
374
  base: baseConfig,
451
- preset,
452
- advancedMode,
453
- remoteUrl,
454
- remoteToken
375
+ advancedMode
455
376
  });
456
377
  if (!hasConfiguredAgents) {
457
378
  const builtinList = buildBitseekBuiltinAgentConfigs({
@@ -483,7 +404,6 @@ async function bitseekInitCommand(runtime = defaultRuntime, options = {}) {
483
404
  });
484
405
  const summary = [
485
406
  "Initialization complete.",
486
- `Preset: ${preset}`,
487
407
  `Advanced mode: ${advancedMode ? "on" : "off"}`,
488
408
  `Default agent: ${resolveDefaultAgentId(nextConfig)}`,
489
409
  "Next: bitseek-claw start"
@@ -502,15 +422,12 @@ async function bitseekInitCommand(runtime = defaultRuntime, options = {}) {
502
422
  //#endregion
503
423
  //#region src/cli/program/register.init.ts
504
424
  function registerInitCommand(program) {
505
- program.command("init").description("BitSeek quick initialization (preset + API key + advanced mode + default agent)").option("--non-interactive", "Run without prompts (requires --api-key)", false).option("--preset <preset>", "Setup preset (solo|team|remote)").option("--api-key <key>", "BitSeek API key").option("--advanced-mode", "Enable advanced mode", false).option("--remote-url <url>", "Remote gateway URL for remote preset").option("--remote-token <token>", "Remote gateway token for remote preset").option("--agent <id>", "Default agent id (built-in id on first init; configured id afterward)").action(async (opts) => {
425
+ program.command("init").description("BitSeek quick initialization (local token auth + API key + advanced mode + default agent)").option("--non-interactive", "Run without prompts (requires --api-key)", false).option("--api-key <key>", "BitSeek API key").option("--advanced-mode", "Enable advanced mode", false).option("--agent <id>", "Default agent id (built-in id on first init; configured id afterward)").action(async (opts) => {
506
426
  await runCommandWithRuntime(defaultRuntime, async () => {
507
427
  await bitseekInitCommand(defaultRuntime, {
508
428
  nonInteractive: opts.nonInteractive === true,
509
- preset: typeof opts.preset === "string" ? opts.preset : void 0,
510
429
  apiKey: typeof opts.apiKey === "string" ? opts.apiKey : void 0,
511
430
  advancedMode: opts.advancedMode === true,
512
- remoteUrl: typeof opts.remoteUrl === "string" ? opts.remoteUrl : void 0,
513
- remoteToken: typeof opts.remoteToken === "string" ? opts.remoteToken : void 0,
514
431
  agent: typeof opts.agent === "string" ? opts.agent : void 0
515
432
  });
516
433
  });
@@ -125,9 +125,9 @@ import "./clipboard-Bscf81z7.js";
125
125
  import "./note-BuhsMSuP.js";
126
126
  import "./issue-format-DF2YB-kZ.js";
127
127
  import "./channels-status-issues-CCNiQcg9.js";
128
- import "./completion-cli-Cfp2m1Sy.js";
129
- import "./register.subclis-CEq4Db2Q.js";
130
- import "./command-registry-KxdBw74g.js";
128
+ import "./completion-cli-BmyLEw45.js";
129
+ import "./register.subclis-Zhshg_9Y.js";
130
+ import "./command-registry-Ce2f2xlT.js";
131
131
  import "./program-context-Cy6hM1zR.js";
132
132
  import "./daemon-install-helpers-D28keNLu.js";
133
133
  import "./runtime-guard-lQH3Hjre.js";
@@ -145,8 +145,8 @@ import "./oauth-tls-preflight-B31t_Wn7.js";
145
145
  import "./systemd-linger-DfrE-63p.js";
146
146
  import "./health-format-NGoowTz5.js";
147
147
  import { t as dashboardCommand } from "./dashboard-DXvihe_P.js";
148
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DG7woZ0E.js";
149
- import "./doctor-completion-B6_JtN22.js";
148
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BpKwjfWa.js";
149
+ import "./doctor-completion-_GRkzsCa.js";
150
150
  import path from "node:path";
151
151
  import fs from "node:fs/promises";
152
152
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -120,13 +120,13 @@ import "./stagger-C-R8Eo-4.js";
120
120
  import "./constants-BJiQF5Ae.js";
121
121
  import "./context-window-guard-BNuaId5E.js";
122
122
  import "./runtime-guard-p6l4jDOj.js";
123
- import "./program-context-DfYJPL5N.js";
123
+ import "./program-context-B7eOpdoF.js";
124
124
  import "./skills-status-BEq0_fOn.js";
125
125
  import "./clipboard-BYoUMUcc.js";
126
126
  import "./note-CLcV1fjx.js";
127
127
  import "./issue-format-rk9Vpcxd.js";
128
128
  import "./channels-status-issues-DeT1Znlx.js";
129
- import "./completion-cli-DU3T8Tur.js";
129
+ import "./completion-cli-9Y73fGUi.js";
130
130
  import "./daemon-install-helpers-CMWYg4_W.js";
131
131
  import "./systemd-DJ5Red-Q.js";
132
132
  import { t as resolveGatewayService } from "./service-DqxfCr8y.js";
@@ -142,8 +142,8 @@ import "./oauth-tls-preflight-i1WBNTG8.js";
142
142
  import "./systemd-linger-BK6kig-o.js";
143
143
  import "./health-format-CEAJLEPm.js";
144
144
  import { t as dashboardCommand } from "./dashboard-BhAYjl6n.js";
145
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-B2izefsj.js";
146
- import "./doctor-completion-AraQfpv2.js";
145
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CPPwmToI.js";
146
+ import "./doctor-completion-CWm9ZwKY.js";
147
147
  import path from "node:path";
148
148
  import fs from "node:fs/promises";
149
149
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -40,11 +40,11 @@ import "./progress-CwQKn0ae.js";
40
40
  import "./note-BuhsMSuP.js";
41
41
  import "./clack-prompter-B2lC_BWr.js";
42
42
  import "./runtime-guard-lQH3Hjre.js";
43
- import "./onboarding-CZCgESNI.js";
43
+ import "./onboarding-BAaREMfO.js";
44
44
  import "./logging-DsLC1iR-.js";
45
45
  import { t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-AoFLWxQT.js";
46
46
  import { n as formatAuthChoiceChoicesForCli } from "./auth-choice-options-D-UPrKAP.js";
47
- import { t as onboardCommand } from "./onboard-D66uwNCb.js";
47
+ import { t as onboardCommand } from "./onboard-BuGv9f2N.js";
48
48
 
49
49
  //#region src/cli/program/register.onboard.ts
50
50
  function resolveInstallDaemonFlag(command, opts) {
@@ -40,11 +40,11 @@ import "./progress-86COuAnG.js";
40
40
  import "./runtime-guard-p6l4jDOj.js";
41
41
  import "./note-CLcV1fjx.js";
42
42
  import "./clack-prompter-CgCD3NZ8.js";
43
- import "./onboarding-Dae6N665.js";
43
+ import "./onboarding-BvdtFAPe.js";
44
44
  import "./logging-yFV4aFrN.js";
45
45
  import { t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-Dqir0v9m.js";
46
46
  import { n as formatAuthChoiceChoicesForCli } from "./auth-choice-options-b4PPFtrk.js";
47
- import { t as onboardCommand } from "./onboard-DcI-IxL0.js";
47
+ import { t as onboardCommand } from "./onboard-ATkjPZXm.js";
48
48
 
49
49
  //#region src/cli/program/register.onboard.ts
50
50
  function resolveInstallDaemonFlag(command, opts) {
@@ -41,9 +41,9 @@ import "./runtime-guard-p6l4jDOj.js";
41
41
  import { t as hasExplicitOptions } from "./command-options-D4YE45pL.js";
42
42
  import "./note-CLcV1fjx.js";
43
43
  import "./clack-prompter-CgCD3NZ8.js";
44
- import "./onboarding-Dae6N665.js";
44
+ import "./onboarding-BvdtFAPe.js";
45
45
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-yFV4aFrN.js";
46
- import { t as onboardCommand } from "./onboard-DcI-IxL0.js";
46
+ import { t as onboardCommand } from "./onboard-ATkjPZXm.js";
47
47
  import JSON5 from "json5";
48
48
  import fs from "node:fs/promises";
49
49
 
@@ -41,9 +41,9 @@ import { t as hasExplicitOptions } from "./command-options-DIuz7LzE.js";
41
41
  import "./note-BuhsMSuP.js";
42
42
  import "./clack-prompter-B2lC_BWr.js";
43
43
  import "./runtime-guard-lQH3Hjre.js";
44
- import "./onboarding-CZCgESNI.js";
44
+ import "./onboarding-BAaREMfO.js";
45
45
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-DsLC1iR-.js";
46
- import { t as onboardCommand } from "./onboard-D66uwNCb.js";
46
+ import { t as onboardCommand } from "./onboard-BuGv9f2N.js";
47
47
  import JSON5 from "json5";
48
48
  import fs from "node:fs/promises";
49
49
 
@@ -65,7 +65,7 @@ const entries = [
65
65
  description: "Run, inspect, and query the WebSocket Gateway",
66
66
  hasSubcommands: true,
67
67
  register: async (program) => {
68
- (await import("./gateway-cli-CX2HA_sy.js")).registerGatewayCli(program);
68
+ (await import("./gateway-cli-CSL5V3uF.js")).registerGatewayCli(program);
69
69
  }
70
70
  },
71
71
  {
@@ -269,7 +269,7 @@ const entries = [
269
269
  description: "Update OpenClaw and inspect update channel status",
270
270
  hasSubcommands: true,
271
271
  register: async (program) => {
272
- (await import("./update-cli-D1B0Vytl.js")).registerUpdateCli(program);
272
+ (await import("./update-cli-B9F4MIMw.js")).registerUpdateCli(program);
273
273
  }
274
274
  },
275
275
  {
@@ -277,7 +277,7 @@ const entries = [
277
277
  description: "Generate shell completion script",
278
278
  hasSubcommands: false,
279
279
  register: async (program) => {
280
- (await import("./completion-cli-Cfp2m1Sy.js").then((n) => n.n)).registerCompletionCli(program);
280
+ (await import("./completion-cli-BmyLEw45.js").then((n) => n.n)).registerCompletionCli(program);
281
281
  }
282
282
  }
283
283
  ];
@@ -410,7 +410,7 @@ async function runCli(argv = process$1.argv) {
410
410
  assertSupportedRuntime();
411
411
  if (await tryRouteCli(normalizedArgv)) return;
412
412
  enableConsoleCapture();
413
- const { buildProgram } = await import("./program-DSOHn27G.js");
413
+ const { buildProgram } = await import("./program-Br-upXE-.js");
414
414
  const program = buildProgram();
415
415
  installUnhandledRejectionHandler();
416
416
  process$1.on("uncaughtException", (error) => {
@@ -423,10 +423,10 @@ async function runCli(argv = process$1.argv) {
423
423
  const { getProgramContext } = await import("./program-context-Cy6hM1zR.js").then((n) => n.n);
424
424
  const ctx = getProgramContext(program);
425
425
  if (ctx) {
426
- const { registerCoreCliByName } = await import("./command-registry-KxdBw74g.js").then((n) => n.t);
426
+ const { registerCoreCliByName } = await import("./command-registry-Ce2f2xlT.js").then((n) => n.t);
427
427
  await registerCoreCliByName(program, ctx, primary, parseArgv);
428
428
  }
429
- const { registerSubCliByName } = await import("./register.subclis-CEq4Db2Q.js").then((n) => n.a);
429
+ const { registerSubCliByName } = await import("./register.subclis-Zhshg_9Y.js").then((n) => n.a);
430
430
  await registerSubCliByName(program, primary);
431
431
  }
432
432
  if (!shouldSkipPluginCommandRegistration({
@@ -131,9 +131,9 @@ import "./skill-scanner-CSJqt034.js";
131
131
  import "./installs-BXcYytvn.js";
132
132
  import { n as formatConfigIssueLines } from "./issue-format-DF2YB-kZ.js";
133
133
  import "./channels-status-issues-CCNiQcg9.js";
134
- import { r as installCompletion } from "./completion-cli-Cfp2m1Sy.js";
135
- import "./register.subclis-CEq4Db2Q.js";
136
- import "./command-registry-KxdBw74g.js";
134
+ import { r as installCompletion } from "./completion-cli-BmyLEw45.js";
135
+ import "./register.subclis-Zhshg_9Y.js";
136
+ import "./command-registry-Ce2f2xlT.js";
137
137
  import "./program-context-Cy6hM1zR.js";
138
138
  import "./daemon-install-helpers-D28keNLu.js";
139
139
  import { r as parseSemver } from "./runtime-guard-lQH3Hjre.js";
@@ -155,8 +155,8 @@ import "./doctor-config-flow-BrXA2e34.js";
155
155
  import "./oauth-tls-preflight-B31t_Wn7.js";
156
156
  import "./systemd-linger-DfrE-63p.js";
157
157
  import "./health-format-NGoowTz5.js";
158
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DG7woZ0E.js";
159
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-B6_JtN22.js";
158
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BpKwjfWa.js";
159
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-_GRkzsCa.js";
160
160
  import { spawn, spawnSync } from "node:child_process";
161
161
  import path from "node:path";
162
162
  import os from "node:os";
@@ -122,7 +122,7 @@ import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLa
122
122
  import "./constants-BJiQF5Ae.js";
123
123
  import "./context-window-guard-BNuaId5E.js";
124
124
  import { r as parseSemver } from "./runtime-guard-p6l4jDOj.js";
125
- import "./program-context-DfYJPL5N.js";
125
+ import "./program-context-B7eOpdoF.js";
126
126
  import "./skills-status-BEq0_fOn.js";
127
127
  import { n as inheritOptionFromParent } from "./command-options-D4YE45pL.js";
128
128
  import "./note-CLcV1fjx.js";
@@ -132,7 +132,7 @@ import "./skill-scanner-CsmM5F4F.js";
132
132
  import "./installs-BXOZ3DXs.js";
133
133
  import { n as formatConfigIssueLines } from "./issue-format-rk9Vpcxd.js";
134
134
  import "./channels-status-issues-DeT1Znlx.js";
135
- import { r as installCompletion } from "./completion-cli-DU3T8Tur.js";
135
+ import { r as installCompletion } from "./completion-cli-9Y73fGUi.js";
136
136
  import "./daemon-install-helpers-CMWYg4_W.js";
137
137
  import "./systemd-DJ5Red-Q.js";
138
138
  import { t as resolveGatewayService } from "./service-DqxfCr8y.js";
@@ -152,8 +152,8 @@ import "./doctor-config-flow-18ijj3KB.js";
152
152
  import "./oauth-tls-preflight-i1WBNTG8.js";
153
153
  import "./systemd-linger-BK6kig-o.js";
154
154
  import "./health-format-CEAJLEPm.js";
155
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-B2izefsj.js";
156
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-AraQfpv2.js";
155
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CPPwmToI.js";
156
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CWm9ZwKY.js";
157
157
  import os from "node:os";
158
158
  import path from "node:path";
159
159
  import fs from "node:fs/promises";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitseek/claw",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "description": "BitSeek-branded OpenClaw distribution with a multi-channel AI gateway",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/adv-org/bitseek-claw#readme",