@zhongqian97-code/ecode 0.5.25 → 0.5.26

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 (2) hide show
  1. package/dist/index.js +19 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -108,6 +108,24 @@ function loadConfig() {
108
108
  defaultProvider: fileConfig.defaultProvider
109
109
  };
110
110
  }
111
+ function saveConfig(partial) {
112
+ const configPath = join(homedir(), ".ecode", "config.json");
113
+ const configDir = join(homedir(), ".ecode");
114
+ mkdirSync(configDir, { recursive: true });
115
+ let existing = {};
116
+ if (existsSync(configPath)) {
117
+ try {
118
+ const raw = readFileSync(configPath, "utf-8");
119
+ existing = JSON.parse(raw);
120
+ } catch (err) {
121
+ const msg = err instanceof Error ? err.message : String(err);
122
+ process.stderr.write(`[ecode] warning: ${configPath} parse failed (${msg}), overwriting with new config
123
+ `);
124
+ }
125
+ }
126
+ const merged = { ...existing, ...partial };
127
+ writeFileSync(configPath, JSON.stringify(merged, null, 2), "utf-8");
128
+ }
111
129
 
112
130
  // src/ui/App.tsx
113
131
  import { useState as useState3, useCallback, useRef as useRef2, useEffect as useEffect3, useMemo } from "react";
@@ -6644,7 +6662,7 @@ async function buildServer(opts) {
6644
6662
  version: opts.version
6645
6663
  });
6646
6664
  await app.register(sessionsRoutes, { config: opts.config, manager: opts.manager });
6647
- await app.register(configRoutes, { config: opts.config });
6665
+ await app.register(configRoutes, { config: opts.config, save: saveConfig });
6648
6666
  await app.register(automationRoutes, { config: opts.config });
6649
6667
  await app.register(chatRoutes, { config: opts.config, manager: opts.manager });
6650
6668
  await app.register(systemRoutes, { version: opts.version });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhongqian97-code/ecode",
3
- "version": "0.5.25",
3
+ "version": "0.5.26",
4
4
  "description": "A minimal Claude Code clone with REPL interface and bash tool calling",
5
5
  "type": "module",
6
6
  "author": "zhongqian97-code",