coding-tool-x 3.5.7 → 3.5.9
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/dist/web/assets/{Analytics-C6DEmD3D.js → Analytics-C5W3axXs.js} +2 -2
- package/dist/web/assets/Analytics-vQS5IWvs.css +1 -0
- package/dist/web/assets/{ConfigTemplates-Cf_iTpC4.js → ConfigTemplates-DzyVFDx9.js} +1 -1
- package/dist/web/assets/{Home-BtBmYLJ1.js → Home-C9TQNB6f.js} +1 -1
- package/dist/web/assets/Home-qzk118Of.css +1 -0
- package/dist/web/assets/{PluginManager-DEk8vSw5.js → PluginManager-9B_brLWT.js} +1 -1
- package/dist/web/assets/ProjectList-Bjt6mrsV.js +1 -0
- package/dist/web/assets/ProjectList-GCC2QOmq.css +1 -0
- package/dist/web/assets/SessionList-BsHPgmUR.css +1 -0
- package/dist/web/assets/SessionList-DcBH13uA.js +1 -0
- package/dist/web/assets/{SkillManager-DcZOiiSf.js → SkillManager-vST8DRRg.js} +1 -1
- package/dist/web/assets/{WorkspaceManager-BHqI8aGV.js → WorkspaceManager-ov1KgRXR.js} +1 -1
- package/dist/web/assets/icons-CEq2hYB-.js +1 -0
- package/dist/web/assets/index-Dih_bOsv.css +1 -0
- package/dist/web/assets/index-Duc7QP4e.js +2 -0
- package/dist/web/assets/{naive-ui-BaTCPPL5.js → naive-ui-Cg4_ZeoT.js} +1 -1
- package/dist/web/assets/{vendors-Fza9uSYn.js → vendors-Bsp-dq2d.js} +1 -1
- package/dist/web/assets/vue-vendor-BxIT0uQq.js +45 -0
- package/dist/web/index.html +7 -7
- package/package.json +1 -1
- package/src/commands/export-config.js +6 -6
- package/src/config/default.js +2 -6
- package/src/config/loader.js +2 -2
- package/src/config/paths.js +160 -33
- package/src/server/api/agents.js +52 -2
- package/src/server/api/codex-sessions.js +4 -2
- package/src/server/api/commands.js +38 -2
- package/src/server/api/opencode-sessions.js +4 -2
- package/src/server/api/plugins.js +104 -1
- package/src/server/api/sessions.js +9 -7
- package/src/server/services/agents-service.js +269 -62
- package/src/server/services/commands-service.js +281 -81
- package/src/server/services/config-export-service.js +7 -7
- package/src/server/services/config-registry-service.js +4 -5
- package/src/server/services/config-sync-manager.js +61 -41
- package/src/server/services/config-sync-service.js +3 -3
- package/src/server/services/gemini-channels.js +5 -5
- package/src/server/services/gemini-config.js +3 -4
- package/src/server/services/gemini-sessions.js +23 -20
- package/src/server/services/gemini-settings-manager.js +2 -3
- package/src/server/services/mcp-service.js +9 -14
- package/src/server/services/native-oauth-adapters.js +3 -3
- package/src/server/services/notification-hooks.js +3 -3
- package/src/server/services/opencode-sessions.js +16 -6
- package/src/server/services/opencode-settings-manager.js +3 -3
- package/src/server/services/plugins-service.js +499 -23
- package/src/server/services/prompts-service.js +5 -9
- package/src/server/services/session-launch-command.js +1 -24
- package/src/server/services/sessions.js +91 -40
- package/src/server/services/skill-service.js +155 -18
- package/dist/web/assets/Analytics-RNn1BUbG.css +0 -1
- package/dist/web/assets/Home-BQxQ1LhR.css +0 -1
- package/dist/web/assets/ProjectList-BMVhA_Kh.js +0 -1
- package/dist/web/assets/ProjectList-DL4JK6ci.css +0 -1
- package/dist/web/assets/SessionList-B5ioAXxg.js +0 -1
- package/dist/web/assets/SessionList-B8dXVXfi.css +0 -1
- package/dist/web/assets/icons-CQuif85v.js +0 -1
- package/dist/web/assets/index-CtByKdkA.js +0 -2
- package/dist/web/assets/index-VGAxnLqi.css +0 -1
- package/dist/web/assets/vue-vendor-aWwwFAao.js +0 -45
|
@@ -2,7 +2,7 @@ const fs = require('fs');
|
|
|
2
2
|
const path = require('path');
|
|
3
3
|
const crypto = require('crypto');
|
|
4
4
|
const { execFileSync } = require('child_process');
|
|
5
|
-
const { NATIVE_PATHS, PATHS } = require('../../config/paths');
|
|
5
|
+
const { NATIVE_PATHS, PATHS, joinNativeBasePath } = require('../../config/paths');
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* OpenCode 会话服务
|
|
@@ -11,7 +11,7 @@ const { NATIVE_PATHS, PATHS } = require('../../config/paths');
|
|
|
11
11
|
|
|
12
12
|
const PROJECT_ORDER_FILE = PATHS.opencodeProjectOrder;
|
|
13
13
|
const SESSION_ORDER_FILE = PATHS.opencodeSessionOrder;
|
|
14
|
-
const OPENCODE_DB_PATH =
|
|
14
|
+
const OPENCODE_DB_PATH = joinNativeBasePath(NATIVE_PATHS.opencode.data, 'opencode.db');
|
|
15
15
|
const COUNTS_CACHE_TTL_MS = 30 * 1000;
|
|
16
16
|
const EMPTY_COUNTS = Object.freeze({ projectCount: 0, sessionCount: 0 });
|
|
17
17
|
|
|
@@ -234,12 +234,12 @@ function getOpenCodeDataDir() {
|
|
|
234
234
|
|
|
235
235
|
// 兼容导出:保留旧路径函数
|
|
236
236
|
function getSessionsDir() {
|
|
237
|
-
return
|
|
237
|
+
return NATIVE_PATHS?.opencode?.sessions || joinNativeBasePath(getOpenCodeDataDir(), 'storage', 'session');
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
// 兼容导出:保留旧路径函数
|
|
241
241
|
function getProjectsDir() {
|
|
242
|
-
return
|
|
242
|
+
return NATIVE_PATHS?.opencode?.projects || joinNativeBasePath(getOpenCodeDataDir(), 'storage', 'project');
|
|
243
243
|
}
|
|
244
244
|
|
|
245
245
|
function getProjectOrder() {
|
|
@@ -513,7 +513,13 @@ function getProjects() {
|
|
|
513
513
|
|
|
514
514
|
// 根据项目ID获取会话列表
|
|
515
515
|
function getSessionsByProjectId(projectId) {
|
|
516
|
-
const
|
|
516
|
+
const { getForkRelations } = require('./sessions');
|
|
517
|
+
const forkRelations = getForkRelations();
|
|
518
|
+
const sessions = getSessionRowsByProjectId(projectId).map((session) => {
|
|
519
|
+
const normalized = normalizeSession(session, projectId);
|
|
520
|
+
normalized.forkedFrom = forkRelations[normalized.sessionId] || null;
|
|
521
|
+
return normalized;
|
|
522
|
+
});
|
|
517
523
|
const order = getSessionOrder(projectId);
|
|
518
524
|
|
|
519
525
|
const fallbackSorted = sessions.sort(
|
|
@@ -558,7 +564,11 @@ function getSessionById(sessionId) {
|
|
|
558
564
|
return null;
|
|
559
565
|
}
|
|
560
566
|
|
|
561
|
-
|
|
567
|
+
const { getForkRelations } = require('./sessions');
|
|
568
|
+
const forkRelations = getForkRelations();
|
|
569
|
+
const normalized = normalizeSession(location.sessionData, location.projectId);
|
|
570
|
+
normalized.forkedFrom = forkRelations[normalized.sessionId] || null;
|
|
571
|
+
return normalized;
|
|
562
572
|
}
|
|
563
573
|
|
|
564
574
|
function buildSessionMessages(sessionId) {
|
|
@@ -23,9 +23,9 @@ function resolveModelCost(modelId) {
|
|
|
23
23
|
|
|
24
24
|
const CONFIG_DIR = NATIVE_PATHS.opencode.config;
|
|
25
25
|
const CONFIG_PATHS = {
|
|
26
|
-
config:
|
|
27
|
-
opencode:
|
|
28
|
-
opencodec:
|
|
26
|
+
config: NATIVE_PATHS.opencode.configLegacy,
|
|
27
|
+
opencode: NATIVE_PATHS.opencode.configJson,
|
|
28
|
+
opencodec: NATIVE_PATHS.opencode.configJsonc
|
|
29
29
|
};
|
|
30
30
|
const BACKUP_SUFFIX = '.cc-tool-backup';
|
|
31
31
|
const EMPTY_SENTINEL = '__CC_TOOL_NO_FILE__';
|