coding-tool-x 3.6.6 → 3.6.8
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/CHANGELOG.md +7 -0
- package/dist/web/assets/{Analytics-CcGKjDkP.js → Analytics-C57ZRDq5.js} +1 -1
- package/dist/web/assets/{ConfigTemplates-DPOa1w5D.js → ConfigTemplates-B3qqqL05.js} +1 -1
- package/dist/web/assets/Home-CG5XrTNc.js +1 -0
- package/dist/web/assets/Home-CIua-b-o.css +1 -0
- package/dist/web/assets/{PluginManager-BVbHUdey.js → PluginManager-BhX0LUzr.js} +1 -1
- package/dist/web/assets/{ProjectList-BQrz2FKo.js → ProjectList-BQ01OZn9.js} +1 -1
- package/dist/web/assets/{SessionList-CRGer64T.js → SessionList-DPv2IOXG.js} +1 -1
- package/dist/web/assets/{SkillManager-BhJKtWYM.js → SkillManager-D5CfQm2O.js} +1 -1
- package/dist/web/assets/{WorkspaceManager-pc6tpF3m.js → WorkspaceManager-Ce8ggteK.js} +1 -1
- package/dist/web/assets/index-CpnFNWqC.js +2 -0
- package/dist/web/assets/index-DJ9VFidd.css +1 -0
- package/dist/web/assets/{naive-ui-DM897mIP.js → naive-ui-kcWDeJwl.js} +1 -1
- package/dist/web/index.html +3 -3
- package/package.json +1 -1
- package/src/commands/stats.js +1 -1
- package/src/config/channel-preset-websites.js +2 -1
- package/src/config/paths.js +8 -0
- package/src/server/api/agents.js +16 -54
- package/src/server/api/claude-hooks.js +1 -1
- package/src/server/api/claude-statistics.js +57 -0
- package/src/server/api/commands.js +16 -54
- package/src/server/api/dashboard.js +2 -2
- package/src/server/api/gemini-channels.js +2 -0
- package/src/server/api/hooks.js +4 -1
- package/src/server/api/plugins.js +40 -65
- package/src/server/api/skills.js +21 -77
- package/src/server/api/validation-errors.js +34 -0
- package/src/server/gemini-proxy-server.js +205 -21
- package/src/server/index.js +1 -0
- package/src/server/services/agents-service.js +166 -75
- package/src/server/services/base/base-channel-service.js +15 -0
- package/src/server/services/base/proxy-utils.js +6 -3
- package/src/server/services/base/response-usage-parser.js +44 -0
- package/src/server/services/channel-balance.js +86 -1
- package/src/server/services/claude-statistics-service.js +139 -0
- package/src/server/services/commands-service.js +203 -121
- package/src/server/services/config-artifact-paths.js +116 -0
- package/src/server/services/config-export-service.js +7 -6
- package/src/server/services/config-registry-service.js +2 -2
- package/src/server/services/config-sync-manager.js +45 -11
- package/src/server/services/config-templates-service.js +21 -19
- package/src/server/services/format-converter.js +42 -4
- package/src/server/services/gemini-channels.js +30 -1
- package/src/server/services/gemini-sessions.js +347 -61
- package/src/server/services/mcp-client.js +236 -49
- package/src/server/services/mcp-service.js +51 -64
- package/src/server/services/notification-hooks.js +659 -88
- package/src/server/services/opencode-channels.js +15 -0
- package/src/server/services/plugins-service.js +771 -63
- package/src/server/services/repo-scanner-base.js +6 -29
- package/src/server/services/skill-service.js +187 -63
- package/dist/web/assets/Home-BP1LxGtp.js +0 -1
- package/dist/web/assets/Home-BeGkC4bb.css +0 -1
- package/dist/web/assets/index-0isNzXNY.css +0 -1
- package/dist/web/assets/index-BsdIJwLf.js +0 -2
|
@@ -9,6 +9,14 @@ const {
|
|
|
9
9
|
} = require('./opencode-settings-manager');
|
|
10
10
|
const { normalizeGatewaySourceType } = require('./base/proxy-utils');
|
|
11
11
|
|
|
12
|
+
function clearChannelBalanceCache(channel) {
|
|
13
|
+
try {
|
|
14
|
+
require('./channel-balance').clearChannelBalanceCache('opencode', channel);
|
|
15
|
+
} catch (_) {
|
|
16
|
+
// Balance cache invalidation is best-effort and should not block channel updates.
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
12
20
|
/**
|
|
13
21
|
* OpenCode 渠道管理服务
|
|
14
22
|
* 存储位置: ~/.cc-tool/opencode-channels.json
|
|
@@ -238,6 +246,9 @@ function updateChannel(channelId, updates) {
|
|
|
238
246
|
}
|
|
239
247
|
|
|
240
248
|
saveChannels(data);
|
|
249
|
+
if (oldChannel.enabled === false && merged.enabled !== false) {
|
|
250
|
+
clearChannelBalanceCache(merged);
|
|
251
|
+
}
|
|
241
252
|
|
|
242
253
|
if (!isProxyRunning) {
|
|
243
254
|
if (oldChannel.enabled === false && merged.enabled !== false) {
|
|
@@ -313,11 +324,15 @@ function applyChannelToSettings(channelId) {
|
|
|
313
324
|
throw new Error('Channel not found');
|
|
314
325
|
}
|
|
315
326
|
|
|
327
|
+
const wasEnabled = channel.enabled !== false;
|
|
316
328
|
// In single-channel mode, only this channel should be enabled
|
|
317
329
|
data.channels.forEach(ch => {
|
|
318
330
|
ch.enabled = ch.id === channelId;
|
|
319
331
|
});
|
|
320
332
|
saveChannels(data);
|
|
333
|
+
if (!wasEnabled) {
|
|
334
|
+
clearChannelBalanceCache(channel);
|
|
335
|
+
}
|
|
321
336
|
|
|
322
337
|
setChannelConfig(buildNativeConfigChannel(channel));
|
|
323
338
|
|