@zhongqian97-code/ecode 0.5.37 → 0.5.39
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/{chunk-GR5MASXF.js → chunk-3H2EMIKF.js} +1 -1
- package/dist/{chunk-7DHMJ6NS.js → chunk-C6OEWQCD.js} +1 -1
- package/dist/{chunk-O4YFKL3N.js → chunk-LAAABQR4.js} +11 -1
- package/dist/index.js +5 -5
- package/dist/{ui-XL5IDLH5.js → ui-FSBOFWL3.js} +2 -2
- package/dist/{web-Y5CK2WBF.js → web-L77TJPHI.js} +18 -9
- package/package.json +1 -1
|
@@ -5,6 +5,12 @@ const _ew=process.emitWarning.bind(process);process.emitWarning=function(w,...a)
|
|
|
5
5
|
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
|
|
6
6
|
import { homedir } from "os";
|
|
7
7
|
import { join } from "path";
|
|
8
|
+
function expandTilde(p) {
|
|
9
|
+
if (p === "~" || p.startsWith("~/") || p.startsWith("~\\")) {
|
|
10
|
+
return join(homedir(), p.slice(1));
|
|
11
|
+
}
|
|
12
|
+
return p;
|
|
13
|
+
}
|
|
8
14
|
var MODEL_CONTEXT_LIMITS = {
|
|
9
15
|
// OpenAI GPT 系列
|
|
10
16
|
"gpt-4o": 128e3,
|
|
@@ -87,7 +93,11 @@ function loadConfig() {
|
|
|
87
93
|
// 容易引入歧义,因此仅支持配置文件覆盖
|
|
88
94
|
dangerousPatterns: fileConfig.dangerousPatterns ?? DEFAULTS.dangerousPatterns,
|
|
89
95
|
// logDir: ECODE_LOG_DIR 环境变量 > 配置文件 > undefined(禁用日志)
|
|
90
|
-
|
|
96
|
+
// expandTilde 将 ~ 替换为 homedir(),Node.js 不执行 shell 的 ~ 展开
|
|
97
|
+
logDir: (() => {
|
|
98
|
+
const raw = process.env.ECODE_LOG_DIR ?? fileConfig.logDir ?? DEFAULTS.logDir;
|
|
99
|
+
return raw ? expandTilde(raw) : raw;
|
|
100
|
+
})(),
|
|
91
101
|
// contextLimit 仅支持配置文件配置:数值类型在文件中更直观,
|
|
92
102
|
// 环境变量还需要 parseInt 转换,增加出错风险
|
|
93
103
|
contextLimit: fileConfig.contextLimit,
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
cmdSessionsInspect,
|
|
6
6
|
cmdSessionsList,
|
|
7
7
|
cmdSessionsReplay
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-3H2EMIKF.js";
|
|
9
9
|
import {
|
|
10
10
|
APPLY_PATCH_TOOL,
|
|
11
11
|
BASH_TOOL,
|
|
@@ -34,14 +34,14 @@ import {
|
|
|
34
34
|
todo,
|
|
35
35
|
webFetch,
|
|
36
36
|
writeFile
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-C6OEWQCD.js";
|
|
38
38
|
import {
|
|
39
39
|
createSessionMetadata,
|
|
40
40
|
generateTitle,
|
|
41
41
|
loadConfig,
|
|
42
42
|
updateSessionMetadata,
|
|
43
43
|
writeSessionMetadata
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-LAAABQR4.js";
|
|
45
45
|
|
|
46
46
|
// src/index.ts
|
|
47
47
|
import { createRequire } from "module";
|
|
@@ -810,7 +810,7 @@ if (rawArgs[0] === "web") {
|
|
|
810
810
|
webAutoApprove = true;
|
|
811
811
|
}
|
|
812
812
|
}
|
|
813
|
-
const { buildServer, generateAccessToken } = await import("./web-
|
|
813
|
+
const { buildServer, generateAccessToken } = await import("./web-L77TJPHI.js");
|
|
814
814
|
const token = generateAccessToken();
|
|
815
815
|
const manager = new SessionManager(finalConfig);
|
|
816
816
|
const server = await buildServer({
|
|
@@ -905,6 +905,6 @@ Node.js 16/18 \u8BF7\u4F7F\u7528 --web \u6216 --pipe \u6A21\u5F0F\u3002
|
|
|
905
905
|
);
|
|
906
906
|
process.exit(1);
|
|
907
907
|
}
|
|
908
|
-
const { App, React, render } = await import("./ui-
|
|
908
|
+
const { App, React, render } = await import("./ui-FSBOFWL3.js");
|
|
909
909
|
render(React.createElement(App, { config: finalConfig, version: VERSION, autoMode, registry, trustedSkillDirs, initialMessages }));
|
|
910
910
|
}
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
todo,
|
|
27
27
|
webFetch,
|
|
28
28
|
writeFile
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-C6OEWQCD.js";
|
|
30
30
|
import {
|
|
31
31
|
loadJobs,
|
|
32
32
|
removeJob,
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
getContextLimit,
|
|
39
39
|
updateSessionMetadata,
|
|
40
40
|
writeSessionMetadata
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-LAAABQR4.js";
|
|
42
42
|
|
|
43
43
|
// src/ui/index.ts
|
|
44
44
|
import { default as default2 } from "react";
|
|
@@ -3,7 +3,7 @@ const _ew=process.emitWarning.bind(process);process.emitWarning=function(w,...a)
|
|
|
3
3
|
import {
|
|
4
4
|
cmdSessionsFork,
|
|
5
5
|
cmdSessionsReplay
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-3H2EMIKF.js";
|
|
7
7
|
import {
|
|
8
8
|
loadJobs,
|
|
9
9
|
removeJob,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
listSessions,
|
|
16
16
|
loadMessagesFromJsonl,
|
|
17
17
|
saveConfig
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-LAAABQR4.js";
|
|
19
19
|
|
|
20
20
|
// src/web/server.ts
|
|
21
21
|
import Fastify from "fastify";
|
|
@@ -592,6 +592,7 @@ function generateAdminHtml(version) {
|
|
|
592
592
|
status: 'idle', // idle | thinking | tool_calling | awaiting_confirm
|
|
593
593
|
wsRetries: 0,
|
|
594
594
|
streamingMsgEl: null, // DOM element currently receiving delta tokens
|
|
595
|
+
streamingThinkEl: null, // DOM element currently receiving reasoning tokens
|
|
595
596
|
showTools: true,
|
|
596
597
|
skills: [], // cached skills from /api/skills
|
|
597
598
|
skillsLoaded: false,
|
|
@@ -771,6 +772,7 @@ function generateAdminHtml(version) {
|
|
|
771
772
|
'<div class="empty-chat">\u2190 \u52A0\u8F7D\u4F1A\u8BDD\u4E2D\u2026</div>';
|
|
772
773
|
state.messages = [];
|
|
773
774
|
state.streamingMsgEl = null;
|
|
775
|
+
state.streamingThinkEl = null;
|
|
774
776
|
}
|
|
775
777
|
|
|
776
778
|
async function loadMessages(sessionId) {
|
|
@@ -824,6 +826,7 @@ function generateAdminHtml(version) {
|
|
|
824
826
|
if (body) body.classList.remove('cursor-blink');
|
|
825
827
|
state.streamingMsgEl = null;
|
|
826
828
|
}
|
|
829
|
+
state.streamingThinkEl = null;
|
|
827
830
|
}
|
|
828
831
|
|
|
829
832
|
// \u2500\u2500 WebSocket \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
@@ -935,14 +938,20 @@ function generateAdminHtml(version) {
|
|
|
935
938
|
finalizeStreamingMsg();
|
|
936
939
|
setStatus('idle');
|
|
937
940
|
} else if (type === 'message.reasoning') {
|
|
941
|
+
const token = msg.reasoning || msg.text || '';
|
|
938
942
|
const msgsEl = document.getElementById('messages');
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
943
|
+
if (!state.streamingThinkEl) {
|
|
944
|
+
const placeholder = msgsEl.querySelector('.empty-chat');
|
|
945
|
+
if (placeholder) placeholder.remove();
|
|
946
|
+
const thinkEl = document.createElement('div');
|
|
947
|
+
thinkEl.className = 'thinking-block';
|
|
948
|
+
thinkEl.textContent = token;
|
|
949
|
+
if (!state.showTools) thinkEl.style.display = 'none';
|
|
950
|
+
msgsEl.appendChild(thinkEl);
|
|
951
|
+
state.streamingThinkEl = thinkEl;
|
|
952
|
+
} else {
|
|
953
|
+
state.streamingThinkEl.textContent += token;
|
|
954
|
+
}
|
|
946
955
|
msgsEl.scrollTop = msgsEl.scrollHeight;
|
|
947
956
|
} else if (type === 'session.error') {
|
|
948
957
|
finalizeStreamingMsg();
|