From 0f8069a6771305641de3485d1e5abc80f76b17ec Mon Sep 17 00:00:00 2001 From: GatewayJ <835269233@qq.com> Date: Wed, 18 Mar 2026 22:30:06 +0800 Subject: [PATCH] style: oxfmt fixes (import order, markdown wrap) Made-with: Cursor --- docs/gateway/configuration.md | 8 +++++++- docs/help/environment.md | 3 ++- src/config/io.ts | 4 ++-- src/config/sources/file.test.ts | 8 ++++---- src/config/sources/file.ts | 2 +- src/config/sources/nacos.test.ts | 2 +- src/config/sources/nacos.ts | 2 +- src/config/sources/snapshot-from-raw.ts | 12 ++++++------ src/config/sources/types.test.ts | 3 +-- 9 files changed, 25 insertions(+), 19 deletions(-) diff --git a/docs/gateway/configuration.md b/docs/gateway/configuration.md index 298a5220427..a05f503c26f 100644 --- a/docs/gateway/configuration.md +++ b/docs/gateway/configuration.md @@ -641,7 +641,13 @@ Set these environment variables: | `NACOS_GROUP` | No | Nacos group (default: `DEFAULT_GROUP`). | | `NACOS_NAMESPACE` | No | Nacos namespace (tenant); omit for default namespace. | -When `OPENCLAW_CONFIG_SOURCE=nacos`, the gateway fetches the config from Nacos at startup. No config file is written on disk; the in-memory config is updated by Nacos long-polling. Hot reload is driven by Nacos (changes in Nacos are applied without restart). Config read RPC (`config.get`) uses the in-memory config. Config write RPC (`config.apply`, `config.patch`) and CLI `config set` update only the in-memory snapshot (no write to disk or to Nacos). To change config persistently when using Nacos, update the config in Nacos and rely on hot reload. +When `OPENCLAW_CONFIG_SOURCE=nacos`, the gateway fetches the config from Nacos at +startup. No config file is written on disk; the in-memory config is updated by +Nacos long-polling. Hot reload is driven by Nacos (changes in Nacos are applied +without restart). Config read RPC (`config.get`) uses the in-memory config. Config +write RPC (`config.apply`, `config.patch`) and CLI `config set` update only the +in-memory snapshot (no write to disk or to Nacos). To change config persistently +when using Nacos, update the config in Nacos and rely on hot reload. See [Environment](/help/environment#config-source-nacos) for these variables in the env reference. diff --git a/docs/help/environment.md b/docs/help/environment.md index 51aae1948df..7a33d55fdf5 100644 --- a/docs/help/environment.md +++ b/docs/help/environment.md @@ -121,7 +121,8 @@ When loading config from Nacos instead of a local file (e.g. in Kubernetes pods | `NACOS_GROUP` | No | Nacos group (default: `DEFAULT_GROUP`). | | `NACOS_NAMESPACE` | No | Nacos namespace (tenant); omit for default namespace. | -Config is kept only in memory; hot reload is driven by Nacos long-polling. See [Configuration: Config source: Nacos](/gateway/configuration#config-source-nacos). +Config is kept only in memory; hot reload is driven by Nacos long-polling. See +[Configuration: Config source: Nacos](/gateway/configuration#config-source-nacos). ## Logging diff --git a/src/config/io.ts b/src/config/io.ts index 5704406be4c..6a5fbd697f2 100644 --- a/src/config/io.ts +++ b/src/config/io.ts @@ -18,15 +18,15 @@ import { VERSION } from "../version.js"; import { DuplicateAgentDirError, findDuplicateAgentDirs } from "./agent-dirs.js"; import { maintainConfigBackups } from "./backup-rotation.js"; import { + applyAgentDefaults, applyCompactionDefaults, applyContextPruningDefaults, - applyAgentDefaults, applyLoggingDefaults, applyMessageDefaults, applyModelDefaults, applySessionDefaults, - applyTalkConfigNormalization, applyTalkApiKey, + applyTalkConfigNormalization, } from "./defaults.js"; import { restoreEnvVarRefs } from "./env-preserve.js"; import { diff --git a/src/config/sources/file.test.ts b/src/config/sources/file.test.ts index 79d3306703a..3b02b8ec8d2 100644 --- a/src/config/sources/file.test.ts +++ b/src/config/sources/file.test.ts @@ -1,8 +1,8 @@ -import { describe, it, expect, beforeEach, afterEach } from "vitest"; -import { createFileConfigSource } from "./file.js"; -import * as path from "node:path"; -import { mkdtemp, writeFile, rm } from "node:fs/promises"; +import { mkdtemp, rm, writeFile } from "node:fs/promises"; import { tmpdir } from "node:os"; +import * as path from "node:path"; +import { afterEach, beforeEach, describe, expect, it } from "vitest"; +import { createFileConfigSource } from "./file.js"; describe("createFileConfigSource", () => { let tmpDir: string; diff --git a/src/config/sources/file.ts b/src/config/sources/file.ts index 6520a99c176..764f82e5109 100644 --- a/src/config/sources/file.ts +++ b/src/config/sources/file.ts @@ -1,5 +1,5 @@ -import type { ConfigSource } from "./types.js"; import { createConfigIO } from "../io.js"; +import type { ConfigSource } from "./types.js"; export function createFileConfigSource(opts: { configPath: string; diff --git a/src/config/sources/nacos.test.ts b/src/config/sources/nacos.test.ts index d5c60bc2ca6..aa15d7d8659 100644 --- a/src/config/sources/nacos.test.ts +++ b/src/config/sources/nacos.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from "vitest"; +import { describe, expect, it } from "vitest"; import { createNacosConfigSource } from "./nacos.js"; import type { NacosConfigClient } from "./nacos-client.js"; diff --git a/src/config/sources/nacos.ts b/src/config/sources/nacos.ts index 300ee3c227f..fc3fa62a5ae 100644 --- a/src/config/sources/nacos.ts +++ b/src/config/sources/nacos.ts @@ -2,10 +2,10 @@ * Nacos config source adapter: ConfigSource backed by Nacos config API. */ -import type { ConfigSource } from "./types.js"; import type { NacosConfigClient } from "./nacos-client.js"; import { createNacosConfigClient } from "./nacos-client.js"; import { buildSnapshotFromRaw } from "./snapshot-from-raw.js"; +import type { ConfigSource } from "./types.js"; export type CreateNacosConfigSourceOptions = { serverAddr: string; diff --git a/src/config/sources/snapshot-from-raw.ts b/src/config/sources/snapshot-from-raw.ts index 5bd2ee935e6..73cc1cb316a 100644 --- a/src/config/sources/snapshot-from-raw.ts +++ b/src/config/sources/snapshot-from-raw.ts @@ -7,25 +7,25 @@ import crypto from "node:crypto"; import JSON5 from "json5"; import { - applyTalkApiKey, - applyTalkConfigNormalization, - applyModelDefaults, + applyAgentDefaults, applyCompactionDefaults, applyContextPruningDefaults, - applyAgentDefaults, - applySessionDefaults, applyLoggingDefaults, applyMessageDefaults, + applyModelDefaults, + applySessionDefaults, + applyTalkApiKey, + applyTalkConfigNormalization, } from "../defaults.js"; import { applyConfigEnvVars } from "../env-vars.js"; import type { EnvSubstitutionWarning } from "../env-substitution.js"; import { resolveConfigEnvVars } from "../env-substitution.js"; +import { parseConfigJson5 } from "../io.js"; import { findLegacyConfigIssues } from "../legacy.js"; import { normalizeConfigPaths } from "../normalize-paths.js"; import { normalizeExecSafeBinProfilesInConfig } from "../normalize-exec-safe-bin.js"; import type { ConfigFileSnapshot, LegacyConfigIssue, OpenClawConfig } from "../types.js"; import { validateConfigObjectWithPlugins } from "../validation.js"; -import { parseConfigJson5 } from "../io.js"; function hashConfigRaw(raw: string | null): string { return crypto.createHash("sha256").update(raw ?? "").digest("hex"); diff --git a/src/config/sources/types.test.ts b/src/config/sources/types.test.ts index 69501153df6..10902f92242 100644 --- a/src/config/sources/types.test.ts +++ b/src/config/sources/types.test.ts @@ -1,5 +1,4 @@ -// src/config/sources/types.test.ts -import { describe, it, expect } from "vitest"; +import { describe, expect, it } from "vitest"; import type { ConfigSource, ConfigSourceKind } from "./types.js"; describe("ConfigSource types", () => {