sema-core 2.0.16 → 2.1.1
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/conf/config.d.ts +2 -0
- package/dist/conf/config.d.ts.map +1 -1
- package/dist/conf/config.js +4 -1
- package/dist/conf/config.js.map +1 -1
- package/dist/core/Conversation.js +4 -4
- package/dist/core/Conversation.js.map +1 -1
- package/dist/core/RunTools.d.ts.map +1 -1
- package/dist/core/RunTools.js +43 -8
- package/dist/core/RunTools.js.map +1 -1
- package/dist/core/SemaCore.d.ts +7 -0
- package/dist/core/SemaCore.d.ts.map +1 -1
- package/dist/core/SemaCore.js +9 -0
- package/dist/core/SemaCore.js.map +1 -1
- package/dist/core/SemaEngine.d.ts.map +1 -1
- package/dist/core/SemaEngine.js +22 -10
- package/dist/core/SemaEngine.js.map +1 -1
- package/dist/core/SemaSession.d.ts +3 -11
- package/dist/core/SemaSession.d.ts.map +1 -1
- package/dist/core/SemaSession.js +2 -10
- package/dist/core/SemaSession.js.map +1 -1
- package/dist/core/SessionPool.d.ts.map +1 -1
- package/dist/core/SessionPool.js +3 -2
- package/dist/core/SessionPool.js.map +1 -1
- package/dist/events/types.d.ts +2 -0
- package/dist/events/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/manager/ConfManager.d.ts +9 -1
- package/dist/manager/ConfManager.d.ts.map +1 -1
- package/dist/manager/ConfManager.js +23 -6
- package/dist/manager/ConfManager.js.map +1 -1
- package/dist/manager/ModelManager.d.ts +30 -2
- package/dist/manager/ModelManager.d.ts.map +1 -1
- package/dist/manager/ModelManager.js +103 -32
- package/dist/manager/ModelManager.js.map +1 -1
- package/dist/manager/PermissionManager.d.ts.map +1 -1
- package/dist/manager/PermissionManager.js +50 -36
- package/dist/manager/PermissionManager.js.map +1 -1
- package/dist/manager/UsageStatsManager.d.ts +79 -0
- package/dist/manager/UsageStatsManager.d.ts.map +1 -0
- package/dist/manager/UsageStatsManager.js +402 -0
- package/dist/manager/UsageStatsManager.js.map +1 -0
- package/dist/prompt/compact.d.ts +17 -2
- package/dist/prompt/compact.d.ts.map +1 -1
- package/dist/prompt/compact.js +19 -3
- package/dist/prompt/compact.js.map +1 -1
- package/dist/prompt/inputPredict.d.ts +1 -1
- package/dist/prompt/inputPredict.d.ts.map +1 -1
- package/dist/prompt/inputPredict.js +9 -8
- package/dist/prompt/inputPredict.js.map +1 -1
- package/dist/prompt/permission.d.ts.map +1 -1
- package/dist/prompt/permission.js +11 -1
- package/dist/prompt/permission.js.map +1 -1
- package/dist/prompt/tools/fetchUrl.d.ts +1 -1
- package/dist/prompt/tools/fetchUrl.d.ts.map +1 -1
- package/dist/prompt/tools/fetchUrl.js +3 -0
- package/dist/prompt/tools/fetchUrl.js.map +1 -1
- package/dist/services/agents/agentsManager.d.ts.map +1 -1
- package/dist/services/agents/agentsManager.js +3 -2
- package/dist/services/agents/agentsManager.js.map +1 -1
- package/dist/services/api/adapt/openai.d.ts.map +1 -1
- package/dist/services/api/adapt/openai.js +25 -4
- package/dist/services/api/adapt/openai.js.map +1 -1
- package/dist/services/api/adapt/util.d.ts +15 -0
- package/dist/services/api/adapt/util.d.ts.map +1 -1
- package/dist/services/api/adapt/util.js +54 -2
- package/dist/services/api/adapt/util.js.map +1 -1
- package/dist/services/api/apiUtil.d.ts.map +1 -1
- package/dist/services/api/apiUtil.js +8 -7
- package/dist/services/api/apiUtil.js.map +1 -1
- package/dist/services/api/queryLLM.d.ts.map +1 -1
- package/dist/services/api/queryLLM.js +35 -16
- package/dist/services/api/queryLLM.js.map +1 -1
- package/dist/services/commands/commandsManager.d.ts.map +1 -1
- package/dist/services/commands/commandsManager.js +3 -2
- package/dist/services/commands/commandsManager.js.map +1 -1
- package/dist/services/commands/runCommand.d.ts.map +1 -1
- package/dist/services/commands/runCommand.js +4 -3
- package/dist/services/commands/runCommand.js.map +1 -1
- package/dist/services/hooks/hookTriggers.d.ts.map +1 -1
- package/dist/services/hooks/hookTriggers.js +3 -2
- package/dist/services/hooks/hookTriggers.js.map +1 -1
- package/dist/services/mcp/MCPClient.d.ts.map +1 -1
- package/dist/services/mcp/MCPClient.js +18 -8
- package/dist/services/mcp/MCPClient.js.map +1 -1
- package/dist/services/mcp/MCPManager.d.ts +8 -7
- package/dist/services/mcp/MCPManager.d.ts.map +1 -1
- package/dist/services/mcp/MCPManager.js +118 -53
- package/dist/services/mcp/MCPManager.js.map +1 -1
- package/dist/services/mcp/MCPToolAdapter.d.ts.map +1 -1
- package/dist/services/mcp/MCPToolAdapter.js +128 -22
- package/dist/services/mcp/MCPToolAdapter.js.map +1 -1
- package/dist/services/plugins/pluginsManager.d.ts.map +1 -1
- package/dist/services/plugins/pluginsManager.js +12 -11
- package/dist/services/plugins/pluginsManager.js.map +1 -1
- package/dist/tools/FetchUrl.d.ts.map +1 -1
- package/dist/tools/FetchUrl.js +10 -3
- package/dist/tools/FetchUrl.js.map +1 -1
- package/dist/tools/ListCrons.d.ts +1 -0
- package/dist/tools/ListCrons.d.ts.map +1 -1
- package/dist/tools/ListCrons.js +1 -0
- package/dist/tools/ListCrons.js.map +1 -1
- package/dist/tools/LoadTools.js +1 -1
- package/dist/tools/PeekBgJob.d.ts +2 -2
- package/dist/tools/PlanToAgent.d.ts.map +1 -1
- package/dist/tools/PlanToAgent.js +7 -4
- package/dist/tools/PlanToAgent.js.map +1 -1
- package/dist/tools/RunShell.d.ts.map +1 -1
- package/dist/tools/RunShell.js +4 -16
- package/dist/tools/RunShell.js.map +1 -1
- package/dist/tools/base/Tool.d.ts +1 -0
- package/dist/tools/base/Tool.d.ts.map +1 -1
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +7 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/mcp.d.ts +7 -0
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/model.d.ts +3 -0
- package/dist/types/model.d.ts.map +1 -1
- package/dist/types/session.d.ts +6 -2
- package/dist/types/session.d.ts.map +1 -1
- package/dist/util/compact.d.ts +11 -9
- package/dist/util/compact.d.ts.map +1 -1
- package/dist/util/compact.js +294 -65
- package/dist/util/compact.js.map +1 -1
- package/dist/util/fetchUrl.d.ts +1 -0
- package/dist/util/fetchUrl.d.ts.map +1 -1
- package/dist/util/fetchUrl.js +34 -4
- package/dist/util/fetchUrl.js.map +1 -1
- package/dist/util/i18n/de.d.ts +92 -0
- package/dist/util/i18n/de.d.ts.map +1 -0
- package/dist/util/i18n/de.js +104 -0
- package/dist/util/i18n/de.js.map +1 -0
- package/dist/util/i18n/en.d.ts +92 -0
- package/dist/util/i18n/en.d.ts.map +1 -0
- package/dist/util/i18n/en.js +104 -0
- package/dist/util/i18n/en.js.map +1 -0
- package/dist/util/i18n/fr.d.ts +92 -0
- package/dist/util/i18n/fr.d.ts.map +1 -0
- package/dist/util/i18n/fr.js +104 -0
- package/dist/util/i18n/fr.js.map +1 -0
- package/dist/util/i18n/index.d.ts +7 -0
- package/dist/util/i18n/index.d.ts.map +1 -0
- package/dist/util/i18n/index.js +36 -0
- package/dist/util/i18n/index.js.map +1 -0
- package/dist/util/i18n/it.d.ts +92 -0
- package/dist/util/i18n/it.d.ts.map +1 -0
- package/dist/util/i18n/it.js +104 -0
- package/dist/util/i18n/it.js.map +1 -0
- package/dist/util/i18n/zh.d.ts +96 -0
- package/dist/util/i18n/zh.d.ts.map +1 -0
- package/dist/util/i18n/zh.js +107 -0
- package/dist/util/i18n/zh.js.map +1 -0
- package/dist/util/i18n.d.ts +98 -0
- package/dist/util/i18n.d.ts.map +1 -0
- package/dist/util/i18n.js +228 -0
- package/dist/util/i18n.js.map +1 -0
- package/dist/util/message.d.ts.map +1 -1
- package/dist/util/message.js +3 -0
- package/dist/util/message.js.map +1 -1
- package/dist/util/model.d.ts.map +1 -1
- package/dist/util/model.js +9 -3
- package/dist/util/model.js.map +1 -1
- package/dist/util/shell.d.ts.map +1 -1
- package/dist/util/shell.js +6 -1
- package/dist/util/shell.js.map +1 -1
- package/dist/util/shellSafety.d.ts +14 -2
- package/dist/util/shellSafety.d.ts.map +1 -1
- package/dist/util/shellSafety.js +300 -3
- package/dist/util/shellSafety.js.map +1 -1
- package/dist/util/tokens.d.ts +10 -2
- package/dist/util/tokens.d.ts.map +1 -1
- package/dist/util/tokens.js +19 -15
- package/dist/util/tokens.js.map +1 -1
- package/package.json +3 -1
package/dist/util/tokens.d.ts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { Message } from '../types/message';
|
|
2
2
|
import { Usage } from '../events/types';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* 从后往前找最近一条带有效 usage 的 assistant 消息(跳过合成消息与零 usage),返回其 token 数。
|
|
5
|
+
* index 为该消息在 messages 中的下标,未找到时为 -1;调用方据此估算该消息之后新增的内容。
|
|
6
|
+
*/
|
|
7
|
+
export interface TokenCount {
|
|
4
8
|
inputTokens: number;
|
|
5
9
|
outputTokens: number;
|
|
6
|
-
|
|
10
|
+
index: number;
|
|
11
|
+
cacheReadTokens?: number;
|
|
12
|
+
cacheWriteTokens?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function countTokens(messages: Message[]): TokenCount;
|
|
7
15
|
export declare function getTokens(messages: Message[], sessionId?: string): Usage;
|
|
8
16
|
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/util/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAGvC,
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/util/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAGvC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,CAkD3D;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAexE"}
|
package/dist/util/tokens.js
CHANGED
|
@@ -26,13 +26,15 @@ function countTokens(messages) {
|
|
|
26
26
|
i--;
|
|
27
27
|
continue;
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
const result = { inputTokens, outputTokens, index: i };
|
|
30
|
+
if (typeof usage.cache_read_input_tokens === 'number')
|
|
31
|
+
result.cacheReadTokens = usage.cache_read_input_tokens;
|
|
32
|
+
if (typeof usage.cache_creation_input_tokens === 'number')
|
|
33
|
+
result.cacheWriteTokens = usage.cache_creation_input_tokens;
|
|
34
|
+
return result;
|
|
33
35
|
}
|
|
34
36
|
else if ('prompt_tokens' in usage && 'completion_tokens' in usage) {
|
|
35
|
-
// OpenAI
|
|
37
|
+
// OpenAI 格式(旧历史兼容,prompt_tokens 已含缓存部分)
|
|
36
38
|
const inputTokens = usage.prompt_tokens;
|
|
37
39
|
const outputTokens = usage.completion_tokens;
|
|
38
40
|
// 如果 tokens 都为 0,跳过此消息,继续向前查找
|
|
@@ -40,16 +42,17 @@ function countTokens(messages) {
|
|
|
40
42
|
i--;
|
|
41
43
|
continue;
|
|
42
44
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
const result = { inputTokens, outputTokens, index: i };
|
|
46
|
+
const cached = usage.prompt_tokens_details?.cached_tokens ?? usage.prompt_cache_hit_tokens;
|
|
47
|
+
if (typeof cached === 'number')
|
|
48
|
+
result.cacheReadTokens = cached;
|
|
49
|
+
return result;
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
53
|
i--;
|
|
51
54
|
}
|
|
52
|
-
return { inputTokens: 0, outputTokens: 0 };
|
|
55
|
+
return { inputTokens: 0, outputTokens: 0, index: -1 };
|
|
53
56
|
}
|
|
54
57
|
function getTokens(messages, sessionId) {
|
|
55
58
|
const tokens = countTokens(messages);
|
|
@@ -59,10 +62,11 @@ function getTokens(messages, sessionId) {
|
|
|
59
62
|
const modelProfile = modelManager.getModel('main', sessionId); // 获取主模型配置(含会话级覆盖)
|
|
60
63
|
// 如果没有找到模型配置,使用默认值
|
|
61
64
|
const maxTokens = modelProfile?.contextLength || 128000;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
const usage = { useTokens, maxTokens, promptTokens };
|
|
66
|
+
if (tokens.cacheReadTokens !== undefined)
|
|
67
|
+
usage.cacheReadTokens = tokens.cacheReadTokens;
|
|
68
|
+
if (tokens.cacheWriteTokens !== undefined)
|
|
69
|
+
usage.cacheWriteTokens = tokens.cacheWriteTokens;
|
|
70
|
+
return usage;
|
|
67
71
|
}
|
|
68
72
|
//# sourceMappingURL=tokens.js.map
|
package/dist/util/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/util/tokens.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/util/tokens.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sema-core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "Event-driven core library for Sema AI assistant",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"scripts": {
|
|
30
30
|
"build": "tsc",
|
|
31
|
+
"test": "tsx --test \"tests/**/*.test.ts\"",
|
|
31
32
|
"lint": "eslint src/**/*.ts",
|
|
32
33
|
"prepublishOnly": "npm run build"
|
|
33
34
|
},
|
|
@@ -61,6 +62,7 @@
|
|
|
61
62
|
"openai": "^6.9.1",
|
|
62
63
|
"shell-quote": "^1.8.3",
|
|
63
64
|
"spawn-rx": "^5.1.2",
|
|
65
|
+
"turndown": "^7.2.4",
|
|
64
66
|
"undici": "^7.16.0",
|
|
65
67
|
"zod": "^3.25.76",
|
|
66
68
|
"zod-to-json-schema": "^3.24.6"
|