bingocode 1.0.33 → 1.0.34
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/bin/bingo-win.cjs +41 -15
- package/bin/bingocode-win.cjs +41 -13
- package/bin/claude-win.cjs +38 -12
- package/bingocode-1.0.33.tgz +0 -0
- package/package.json +1 -1
package/bin/bingo-win.cjs
CHANGED
|
@@ -7,31 +7,57 @@ const fs = require('fs');
|
|
|
7
7
|
|
|
8
8
|
process.env.NoDefaultCurrentDirectoryInExePath = '1';
|
|
9
9
|
|
|
10
|
-
// ──
|
|
11
|
-
//
|
|
10
|
+
// ── 部署 / 增量合并 bingo 默认配置到 ~/.claude/bingo/ ──
|
|
11
|
+
// 首次安装:完整复制 settings.json(含占位符 ANTHROPIC_AUTH_TOKEN),
|
|
12
12
|
// 这样 isOfficialMode() 返回 false,子进程不会走 OAuth 流程。
|
|
13
|
-
//
|
|
13
|
+
// 升级安装:增量合并——只补充默认配置中有但用户配置中缺失的 key,
|
|
14
|
+
// 保留用户已有的自定义值(如修改过的 ANTHROPIC_BASE_URL 等)。
|
|
14
15
|
(function deployBingoDefaults() {
|
|
15
16
|
const configDir = process.env.CLAUDE_CONFIG_DIR || path.join(os.homedir(), '.claude');
|
|
16
17
|
const bingoDir = path.join(configDir, 'bingo');
|
|
17
18
|
const targetSettings = path.join(bingoDir, 'settings.json');
|
|
19
|
+
const defaultsDir = path.join(__dirname, '..', 'config', 'bingo-defaults');
|
|
20
|
+
const srcSettings = path.join(defaultsDir, 'settings.json');
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
if (!fs.existsSync(targetSettings)) {
|
|
21
|
-
const defaultsDir = path.join(__dirname, '..', 'config', 'bingo-defaults');
|
|
22
|
-
const srcSettings = path.join(defaultsDir, 'settings.json');
|
|
22
|
+
if (!fs.existsSync(srcSettings)) return;
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
try {
|
|
25
|
+
if (!fs.existsSync(bingoDir)) {
|
|
26
|
+
fs.mkdirSync(bingoDir, { recursive: true });
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (!fs.existsSync(targetSettings)) {
|
|
30
|
+
// 首次安装:直接复制
|
|
31
|
+
fs.copyFileSync(srcSettings, targetSettings);
|
|
32
|
+
console.log('[bingo] 首次启动:已部署默认配置到', targetSettings);
|
|
33
|
+
} else {
|
|
34
|
+
// 升级安装:增量合并缺失的 key
|
|
35
|
+
const defaults = JSON.parse(fs.readFileSync(srcSettings, 'utf-8'));
|
|
36
|
+
const current = JSON.parse(fs.readFileSync(targetSettings, 'utf-8'));
|
|
37
|
+
let changed = false;
|
|
38
|
+
|
|
39
|
+
for (const section of Object.keys(defaults)) {
|
|
40
|
+
if (typeof defaults[section] !== 'object' || defaults[section] === null) continue;
|
|
41
|
+
if (!current[section] || typeof current[section] !== 'object') {
|
|
42
|
+
current[section] = defaults[section];
|
|
43
|
+
changed = true;
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
for (const key of Object.keys(defaults[section])) {
|
|
47
|
+
if (!(key in current[section])) {
|
|
48
|
+
current[section][key] = defaults[section][key];
|
|
49
|
+
changed = true;
|
|
50
|
+
}
|
|
28
51
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (changed) {
|
|
55
|
+
fs.writeFileSync(targetSettings, JSON.stringify(current, null, 2) + '\n');
|
|
56
|
+
console.log('[bingo] 升级:已合并新增默认配置到', targetSettings);
|
|
33
57
|
}
|
|
34
58
|
}
|
|
59
|
+
} catch (err) {
|
|
60
|
+
console.warn('[bingo] 部署默认配置失败:', err.message);
|
|
35
61
|
}
|
|
36
62
|
})();
|
|
37
63
|
|
package/bin/bingocode-win.cjs
CHANGED
|
@@ -7,29 +7,57 @@ const fs = require('fs');
|
|
|
7
7
|
|
|
8
8
|
process.env.NoDefaultCurrentDirectoryInExePath = '1';
|
|
9
9
|
|
|
10
|
-
// ──
|
|
11
|
-
//
|
|
10
|
+
// ── 部署 / 增量合并 bingo 默认配置到 ~/.claude/bingo/ ──
|
|
11
|
+
// 首次安装:完整复制 settings.json(含占位符 ANTHROPIC_AUTH_TOKEN),
|
|
12
12
|
// 这样 isAnthropicAuthEnabled() 返回 false,跳过 OAuth 流程。
|
|
13
|
+
// 升级安装:增量合并——只补充默认配置中有但用户配置中缺失的 key,
|
|
14
|
+
// 保留用户已有的自定义值(如修改过的 ANTHROPIC_BASE_URL 等)。
|
|
13
15
|
(function deployBingoDefaults() {
|
|
14
16
|
const configDir = process.env.CLAUDE_CONFIG_DIR || path.join(os.homedir(), '.claude');
|
|
15
17
|
const bingoDir = path.join(configDir, 'bingo');
|
|
16
18
|
const targetSettings = path.join(bingoDir, 'settings.json');
|
|
19
|
+
const defaultsDir = path.join(__dirname, '..', 'config', 'bingo-defaults');
|
|
20
|
+
const srcSettings = path.join(defaultsDir, 'settings.json');
|
|
17
21
|
|
|
18
|
-
if (!fs.existsSync(
|
|
19
|
-
const defaultsDir = path.join(__dirname, '..', 'config', 'bingo-defaults');
|
|
20
|
-
const srcSettings = path.join(defaultsDir, 'settings.json');
|
|
22
|
+
if (!fs.existsSync(srcSettings)) return;
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
try {
|
|
25
|
+
if (!fs.existsSync(bingoDir)) {
|
|
26
|
+
fs.mkdirSync(bingoDir, { recursive: true });
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (!fs.existsSync(targetSettings)) {
|
|
30
|
+
// 首次安装:直接复制
|
|
31
|
+
fs.copyFileSync(srcSettings, targetSettings);
|
|
32
|
+
console.log('[bingocode] 首次启动:已部署默认配置到', targetSettings);
|
|
33
|
+
} else {
|
|
34
|
+
// 升级安装:增量合并缺失的 key
|
|
35
|
+
const defaults = JSON.parse(fs.readFileSync(srcSettings, 'utf-8'));
|
|
36
|
+
const current = JSON.parse(fs.readFileSync(targetSettings, 'utf-8'));
|
|
37
|
+
let changed = false;
|
|
38
|
+
|
|
39
|
+
for (const section of Object.keys(defaults)) {
|
|
40
|
+
if (typeof defaults[section] !== 'object' || defaults[section] === null) continue;
|
|
41
|
+
if (!current[section] || typeof current[section] !== 'object') {
|
|
42
|
+
current[section] = defaults[section];
|
|
43
|
+
changed = true;
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
for (const key of Object.keys(defaults[section])) {
|
|
47
|
+
if (!(key in current[section])) {
|
|
48
|
+
current[section][key] = defaults[section][key];
|
|
49
|
+
changed = true;
|
|
50
|
+
}
|
|
26
51
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (changed) {
|
|
55
|
+
fs.writeFileSync(targetSettings, JSON.stringify(current, null, 2) + '\n');
|
|
56
|
+
console.log('[bingocode] 升级:已合并新增默认配置到', targetSettings);
|
|
31
57
|
}
|
|
32
58
|
}
|
|
59
|
+
} catch (err) {
|
|
60
|
+
console.warn('[bingocode] 部署默认配置失败:', err.message);
|
|
33
61
|
}
|
|
34
62
|
})();
|
|
35
63
|
|
package/bin/claude-win.cjs
CHANGED
|
@@ -8,27 +8,53 @@ const fs = require('fs');
|
|
|
8
8
|
// 使 Windows bun/spawn 更可靠
|
|
9
9
|
process.env.NoDefaultCurrentDirectoryInExePath = '1';
|
|
10
10
|
|
|
11
|
-
// ──
|
|
11
|
+
// ── 部署 / 增量合并 bingo 默认配置到 ~/.claude/bingo/ ──
|
|
12
12
|
(function deployBingoDefaults() {
|
|
13
13
|
const configDir = process.env.CLAUDE_CONFIG_DIR || path.join(os.homedir(), '.claude');
|
|
14
14
|
const bingoDir = path.join(configDir, 'bingo');
|
|
15
15
|
const targetSettings = path.join(bingoDir, 'settings.json');
|
|
16
|
+
const defaultsDir = path.join(__dirname, '..', 'config', 'bingo-defaults');
|
|
17
|
+
const srcSettings = path.join(defaultsDir, 'settings.json');
|
|
16
18
|
|
|
17
|
-
if (!fs.existsSync(
|
|
18
|
-
const defaultsDir = path.join(__dirname, '..', 'config', 'bingo-defaults');
|
|
19
|
-
const srcSettings = path.join(defaultsDir, 'settings.json');
|
|
19
|
+
if (!fs.existsSync(srcSettings)) return;
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
try {
|
|
22
|
+
if (!fs.existsSync(bingoDir)) {
|
|
23
|
+
fs.mkdirSync(bingoDir, { recursive: true });
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (!fs.existsSync(targetSettings)) {
|
|
27
|
+
// 首次安装:直接复制
|
|
28
|
+
fs.copyFileSync(srcSettings, targetSettings);
|
|
29
|
+
console.log('[claude] 首次启动:已部署默认配置到', targetSettings);
|
|
30
|
+
} else {
|
|
31
|
+
// 升级安装:增量合并缺失的 key
|
|
32
|
+
const defaults = JSON.parse(fs.readFileSync(srcSettings, 'utf-8'));
|
|
33
|
+
const current = JSON.parse(fs.readFileSync(targetSettings, 'utf-8'));
|
|
34
|
+
let changed = false;
|
|
35
|
+
|
|
36
|
+
for (const section of Object.keys(defaults)) {
|
|
37
|
+
if (typeof defaults[section] !== 'object' || defaults[section] === null) continue;
|
|
38
|
+
if (!current[section] || typeof current[section] !== 'object') {
|
|
39
|
+
current[section] = defaults[section];
|
|
40
|
+
changed = true;
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
for (const key of Object.keys(defaults[section])) {
|
|
44
|
+
if (!(key in current[section])) {
|
|
45
|
+
current[section][key] = defaults[section][key];
|
|
46
|
+
changed = true;
|
|
47
|
+
}
|
|
25
48
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (changed) {
|
|
52
|
+
fs.writeFileSync(targetSettings, JSON.stringify(current, null, 2) + '\n');
|
|
53
|
+
console.log('[claude] 升级:已合并新增默认配置到', targetSettings);
|
|
30
54
|
}
|
|
31
55
|
}
|
|
56
|
+
} catch (err) {
|
|
57
|
+
console.warn('[claude] 部署默认配置失败:', err.message);
|
|
32
58
|
}
|
|
33
59
|
})();
|
|
34
60
|
|
|
Binary file
|