@downcity/agent 1.1.79 → 1.1.81
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/README.md +1 -1
- package/bin/agent/local/Agent.d.ts +8 -121
- package/bin/agent/local/Agent.d.ts.map +1 -1
- package/bin/agent/local/Agent.js +63 -381
- package/bin/agent/local/Agent.js.map +1 -1
- package/bin/agent/local/AgentRuntimeFactory.d.ts +2 -2
- package/bin/agent/local/AgentRuntimeFactory.d.ts.map +1 -1
- package/bin/agent/local/AgentRuntimeFactory.js +2 -23
- package/bin/agent/local/AgentRuntimeFactory.js.map +1 -1
- package/bin/agent/local/services/AgentAssemblyService.d.ts +112 -0
- package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -0
- package/bin/agent/local/services/AgentAssemblyService.js +135 -0
- package/bin/agent/local/services/AgentAssemblyService.js.map +1 -0
- package/bin/agent/local/services/AgentLifecycleService.d.ts +59 -0
- package/bin/agent/local/services/AgentLifecycleService.d.ts.map +1 -0
- package/bin/agent/local/services/AgentLifecycleService.js +136 -0
- package/bin/agent/local/services/AgentLifecycleService.js.map +1 -0
- package/bin/agent/local/services/AgentSessionManager.d.ts +106 -0
- package/bin/agent/local/services/AgentSessionManager.d.ts.map +1 -0
- package/bin/agent/local/services/AgentSessionManager.js +182 -0
- package/bin/agent/local/services/AgentSessionManager.js.map +1 -0
- package/bin/executor/Executor.d.ts +7 -24
- package/bin/executor/Executor.d.ts.map +1 -1
- package/bin/executor/Executor.js +73 -361
- package/bin/executor/Executor.js.map +1 -1
- package/bin/executor/SessionRunScope.d.ts +18 -34
- package/bin/executor/SessionRunScope.d.ts.map +1 -1
- package/bin/executor/SessionRunScope.js +42 -28
- package/bin/executor/SessionRunScope.js.map +1 -1
- package/bin/executor/composer/context/LocalSessionContextComposer.d.ts +5 -3
- package/bin/executor/composer/context/LocalSessionContextComposer.d.ts.map +1 -1
- package/bin/executor/composer/context/LocalSessionContextComposer.js +11 -18
- package/bin/executor/composer/context/LocalSessionContextComposer.js.map +1 -1
- package/bin/executor/composer/context/SessionContextComposer.d.ts +8 -3
- package/bin/executor/composer/context/SessionContextComposer.d.ts.map +1 -1
- package/bin/executor/composer/system/SessionSystemComposer.d.ts +2 -1
- package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +1 -1
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +2 -1
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +2 -4
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.d.ts +62 -0
- package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -0
- package/bin/executor/core-engine/CoreEngineRunner.js +309 -0
- package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -0
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts +5 -0
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.js +2 -4
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.js.map +1 -1
- package/bin/executor/services/ExecutorInflightService.d.ts +39 -0
- package/bin/executor/services/ExecutorInflightService.d.ts.map +1 -0
- package/bin/executor/services/ExecutorInflightService.js +75 -0
- package/bin/executor/services/ExecutorInflightService.js.map +1 -0
- package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +103 -0
- package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -0
- package/bin/executor/services/ExecutorRecoveryPolicy.js +87 -0
- package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -0
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts +19 -0
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -0
- package/bin/executor/tools/plugin/PluginToolBridge.js +143 -0
- package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -0
- package/bin/executor/tools/plugin/PluginToolDefinition.d.ts +32 -0
- package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +1 -0
- package/bin/executor/tools/plugin/PluginToolDefinition.js +27 -0
- package/bin/executor/tools/plugin/PluginToolDefinition.js.map +1 -0
- package/bin/executor/tools/plugin/PluginToolSchemas.d.ts +14 -0
- package/bin/executor/tools/plugin/PluginToolSchemas.d.ts.map +1 -0
- package/bin/executor/tools/plugin/PluginToolSchemas.js +19 -0
- package/bin/executor/tools/plugin/PluginToolSchemas.js.map +1 -0
- package/bin/executor/tools/plugin/types/PluginTool.d.ts +39 -0
- package/bin/executor/tools/plugin/types/PluginTool.d.ts.map +1 -0
- package/bin/executor/tools/plugin/types/PluginTool.js +9 -0
- package/bin/executor/tools/plugin/types/PluginTool.js.map +1 -0
- package/bin/executor/tools/shell/ShellToolBridge.js +3 -3
- package/bin/executor/tools/shell/ShellToolBridge.js.map +1 -1
- package/bin/executor/types/SessionRun.d.ts +18 -0
- package/bin/executor/types/SessionRun.d.ts.map +1 -1
- package/bin/index.d.ts +10 -1
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +3 -0
- package/bin/index.js.map +1 -1
- package/bin/plugin/core/BasePlugin.d.ts +2 -2
- package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
- package/bin/plugin/core/BasePlugin.js.map +1 -1
- package/bin/plugin/core/ImagePlugin.d.ts +56 -0
- package/bin/plugin/core/ImagePlugin.d.ts.map +1 -0
- package/bin/plugin/core/ImagePlugin.js +109 -0
- package/bin/plugin/core/ImagePlugin.js.map +1 -0
- package/bin/session/Session.d.ts +14 -83
- package/bin/session/Session.d.ts.map +1 -1
- package/bin/session/Session.js +139 -362
- package/bin/session/Session.js.map +1 -1
- package/bin/session/SessionSystemBuilder.d.ts +2 -1
- package/bin/session/SessionSystemBuilder.d.ts.map +1 -1
- package/bin/session/SessionSystemBuilder.js +2 -3
- package/bin/session/SessionSystemBuilder.js.map +1 -1
- package/bin/session/services/SessionStateService.d.ts +132 -0
- package/bin/session/services/SessionStateService.d.ts.map +1 -0
- package/bin/session/services/SessionStateService.js +242 -0
- package/bin/session/services/SessionStateService.js.map +1 -0
- package/bin/session/services/SessionTurnService.d.ts +66 -0
- package/bin/session/services/SessionTurnService.d.ts.map +1 -0
- package/bin/session/services/SessionTurnService.js +137 -0
- package/bin/session/services/SessionTurnService.js.map +1 -0
- package/bin/session/services/SessionViewService.d.ts +105 -0
- package/bin/session/services/SessionViewService.d.ts.map +1 -0
- package/bin/session/services/SessionViewService.js +184 -0
- package/bin/session/services/SessionViewService.js.map +1 -0
- package/bin/types/agent/AgentOptions.d.ts +18 -0
- package/bin/types/agent/AgentOptions.d.ts.map +1 -1
- package/bin/types/agent/AgentTypes.d.ts +3 -1
- package/bin/types/agent/AgentTypes.d.ts.map +1 -1
- package/bin/types/agent/SessionTypes.d.ts.map +1 -1
- package/bin/types/executor/SessionRunContext.d.ts +66 -0
- package/bin/types/executor/SessionRunContext.d.ts.map +1 -0
- package/bin/types/executor/SessionRunContext.js +10 -0
- package/bin/types/executor/SessionRunContext.js.map +1 -0
- package/bin/types/plugin/ImagePlugin.d.ts +94 -0
- package/bin/types/plugin/ImagePlugin.d.ts.map +1 -0
- package/bin/types/plugin/ImagePlugin.js +10 -0
- package/bin/types/plugin/ImagePlugin.js.map +1 -0
- package/bin/types/session/SessionComposerOptions.d.ts +90 -0
- package/bin/types/session/SessionComposerOptions.d.ts.map +1 -0
- package/bin/types/session/SessionComposerOptions.js +10 -0
- package/bin/types/session/SessionComposerOptions.js.map +1 -0
- package/bin/types/session/SessionLocalState.d.ts +35 -0
- package/bin/types/session/SessionLocalState.d.ts.map +1 -0
- package/bin/types/session/SessionLocalState.js +10 -0
- package/bin/types/session/SessionLocalState.js.map +1 -0
- package/bin/types/session/SessionOptions.d.ts +85 -0
- package/bin/types/session/SessionOptions.d.ts.map +1 -0
- package/bin/types/session/SessionOptions.js +10 -0
- package/bin/types/session/SessionOptions.js.map +1 -0
- package/package.json +1 -1
- package/src/agent/local/Agent.ts +74 -433
- package/src/agent/local/AgentRuntimeFactory.ts +4 -25
- package/src/agent/local/services/AgentAssemblyService.ts +268 -0
- package/src/agent/local/services/AgentLifecycleService.ts +187 -0
- package/src/agent/local/services/AgentSessionManager.ts +291 -0
- package/src/executor/Executor.ts +103 -441
- package/src/executor/README.md +4 -4
- package/src/executor/SessionRunScope.ts +47 -71
- package/src/executor/composer/context/LocalSessionContextComposer.ts +24 -20
- package/src/executor/composer/context/SessionContextComposer.ts +13 -3
- package/src/executor/composer/system/SessionSystemComposer.ts +2 -1
- package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +3 -4
- package/src/executor/core-engine/CoreEngineRunner.ts +433 -0
- package/src/executor/core-engine/CoreEngineUiStreamCollector.ts +7 -5
- package/src/executor/services/ExecutorInflightService.ts +101 -0
- package/src/executor/services/ExecutorRecoveryPolicy.ts +213 -0
- package/src/executor/tools/plugin/PluginToolBridge.ts +161 -0
- package/src/executor/tools/plugin/PluginToolDefinition.ts +32 -0
- package/src/executor/tools/plugin/PluginToolSchemas.ts +20 -0
- package/src/executor/tools/plugin/types/PluginTool.ts +41 -0
- package/src/executor/tools/shell/ShellToolBridge.ts +3 -3
- package/src/executor/types/SessionRun.ts +20 -0
- package/src/index.ts +33 -0
- package/src/plugin/core/BasePlugin.ts +2 -2
- package/src/plugin/core/ImagePlugin.ts +128 -0
- package/src/session/Session.ts +178 -485
- package/src/session/SessionSystemBuilder.ts +3 -3
- package/src/session/services/SessionStateService.ts +341 -0
- package/src/session/services/SessionTurnService.ts +202 -0
- package/src/session/services/SessionViewService.ts +301 -0
- package/src/types/agent/AgentOptions.ts +25 -0
- package/src/types/agent/AgentTypes.ts +10 -0
- package/src/types/agent/SessionTypes.ts +1 -0
- package/src/types/executor/SessionRunContext.ts +76 -0
- package/src/types/plugin/ImagePlugin.ts +103 -0
- package/src/types/session/SessionComposerOptions.ts +107 -0
- package/src/types/session/SessionLocalState.ts +40 -0
- package/src/types/session/SessionOptions.ts +99 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionRunScope.d.ts","sourceRoot":"","sources":["../../src/executor/SessionRunScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SessionRunScope.d.ts","sourceRoot":"","sources":["../../src/executor/SessionRunScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,oCAA2C,CAAC;AAE/E;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,SAAS,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAIN;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,oBAAoB,EAAE,CAMlE;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,MAAM,GAChB,oBAAoB,EAAE,CAOxB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAInE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,UAAU,EAAE,CAI5D"}
|
|
@@ -4,18 +4,9 @@ import { AsyncLocalStorage } from "node:async_hooks";
|
|
|
4
4
|
*
|
|
5
5
|
* 关键点(中文)
|
|
6
6
|
* - 同一条异步调用链内可读取一致的 SessionRunScope。
|
|
7
|
-
* -
|
|
7
|
+
* - 当前主要用于 tool 深层桥接层读取活跃 runContext。
|
|
8
8
|
*/
|
|
9
9
|
export const sessionRunScopeStorage = new AsyncLocalStorage();
|
|
10
|
-
/**
|
|
11
|
-
* 待持久化的运行时注入 user 消息队列(按 sessionId)。
|
|
12
|
-
*
|
|
13
|
-
* 关键点(中文)
|
|
14
|
-
* - sessionRunScopeStorage 中的 injectedUserMessages 只负责“下一 step 临时可见”。
|
|
15
|
-
* - 为了让时间线顺序稳定,这里把“真正写入历史”的动作延后到
|
|
16
|
-
* assistant message 落盘之后再统一执行。
|
|
17
|
-
*/
|
|
18
|
-
const deferredPersistedUserMessagesBySession = new Map();
|
|
19
10
|
/**
|
|
20
11
|
* 在当前异步调用链内绑定 session run 作用域。
|
|
21
12
|
*/
|
|
@@ -28,6 +19,12 @@ export function withSessionRunScope(ctx, fn) {
|
|
|
28
19
|
export function getSessionRunScope() {
|
|
29
20
|
return sessionRunScopeStorage.getStore();
|
|
30
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* 读取当前异步链路上的显式 runContext。
|
|
24
|
+
*/
|
|
25
|
+
export function getSessionRunContext() {
|
|
26
|
+
return sessionRunScopeStorage.getStore()?.runContext;
|
|
27
|
+
}
|
|
31
28
|
/**
|
|
32
29
|
* 入队一条“待注入 user 消息”。
|
|
33
30
|
*
|
|
@@ -35,13 +32,10 @@ export function getSessionRunScope() {
|
|
|
35
32
|
* - 若当前不在 session run 作用域内,静默忽略(fail-open)。
|
|
36
33
|
*/
|
|
37
34
|
export function enqueueInjectedUserMessage(message) {
|
|
38
|
-
const
|
|
39
|
-
if (!
|
|
35
|
+
const run_context = getSessionRunContext();
|
|
36
|
+
if (!run_context || !message)
|
|
40
37
|
return;
|
|
41
|
-
|
|
42
|
-
store.injectedUserMessages = [];
|
|
43
|
-
}
|
|
44
|
-
store.injectedUserMessages.push(message);
|
|
38
|
+
run_context.injectedUserMessages.push(message);
|
|
45
39
|
}
|
|
46
40
|
/**
|
|
47
41
|
* 读取并清空“待注入 user 消息”队列。
|
|
@@ -50,33 +44,53 @@ export function enqueueInjectedUserMessage(message) {
|
|
|
50
44
|
* - 采用 drain 语义,确保每条注入消息只在下一 step 使用一次。
|
|
51
45
|
*/
|
|
52
46
|
export function drainInjectedUserMessages() {
|
|
53
|
-
const
|
|
54
|
-
if (!
|
|
47
|
+
const run_context = getSessionRunContext();
|
|
48
|
+
if (!run_context)
|
|
55
49
|
return [];
|
|
56
|
-
const out = [...
|
|
57
|
-
|
|
50
|
+
const out = [...run_context.injectedUserMessages];
|
|
51
|
+
run_context.injectedUserMessages = [];
|
|
58
52
|
return out;
|
|
59
53
|
}
|
|
60
54
|
/**
|
|
61
55
|
* 入队一条“待持久化 user 消息”。
|
|
62
56
|
*/
|
|
63
57
|
export function enqueueDeferredPersistedUserMessage(sessionId, message) {
|
|
58
|
+
const run_context = getSessionRunContext();
|
|
64
59
|
const key = String(sessionId || "").trim();
|
|
65
|
-
if (!key || !message)
|
|
60
|
+
if (!run_context || !key || !message)
|
|
61
|
+
return;
|
|
62
|
+
if (run_context.sessionId !== key)
|
|
66
63
|
return;
|
|
67
|
-
|
|
68
|
-
current.push(message);
|
|
69
|
-
deferredPersistedUserMessagesBySession.set(key, current);
|
|
64
|
+
run_context.deferredPersistedUserMessages.push(message);
|
|
70
65
|
}
|
|
71
66
|
/**
|
|
72
67
|
* 读取并清空指定 session 的待持久化 user 消息。
|
|
73
68
|
*/
|
|
74
69
|
export function drainDeferredPersistedUserMessages(sessionId) {
|
|
70
|
+
const run_context = getSessionRunContext();
|
|
75
71
|
const key = String(sessionId || "").trim();
|
|
76
|
-
if (!key)
|
|
72
|
+
if (!run_context || !key || run_context.sessionId !== key)
|
|
73
|
+
return [];
|
|
74
|
+
const current = [...run_context.deferredPersistedUserMessages];
|
|
75
|
+
run_context.deferredPersistedUserMessages = [];
|
|
76
|
+
return current;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 入队一组“待并入 assistant 消息的 file parts”。
|
|
80
|
+
*/
|
|
81
|
+
export function enqueueAssistantFileParts(parts) {
|
|
82
|
+
const run_context = getSessionRunContext();
|
|
83
|
+
if (!run_context || !Array.isArray(parts) || parts.length === 0)
|
|
84
|
+
return;
|
|
85
|
+
run_context.pendingAssistantFileParts.push(...parts);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 读取当前 run 内待并入 assistant 消息的 file parts。
|
|
89
|
+
*/
|
|
90
|
+
export function readPendingAssistantFileParts() {
|
|
91
|
+
const run_context = getSessionRunContext();
|
|
92
|
+
if (!run_context)
|
|
77
93
|
return [];
|
|
78
|
-
|
|
79
|
-
deferredPersistedUserMessagesBySession.delete(key);
|
|
80
|
-
return [...current];
|
|
94
|
+
return [...run_context.pendingAssistantFileParts];
|
|
81
95
|
}
|
|
82
96
|
//# sourceMappingURL=SessionRunScope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionRunScope.js","sourceRoot":"","sources":["../../src/executor/SessionRunScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionRunScope.js","sourceRoot":"","sources":["../../src/executor/SessionRunScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAmBrD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,iBAAiB,EAAmB,CAAC;AAE/E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAI,GAAoB,EAAE,EAAW;IACtE,OAAO,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,sBAAsB,CAAC,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,sBAAsB,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA6B;IAE7B,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO;QAAE,OAAO;IACrC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAClD,WAAW,CAAC,oBAAoB,GAAG,EAAE,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mCAAmC,CACjD,SAAiB,EACjB,OAA6B;IAE7B,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO;QAAE,OAAO;IAC7C,IAAI,WAAW,CAAC,SAAS,KAAK,GAAG;QAAE,OAAO;IAC1C,WAAW,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAChD,SAAiB;IAEjB,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,SAAS,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAC/D,WAAW,CAAC,6BAA6B,GAAG,EAAE,CAAC;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAmB;IAC3D,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACxE,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B;IAC3C,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -10,6 +10,7 @@ import type { SessionContextComposer, SessionContextComposeResult } from "../../
|
|
|
10
10
|
import type { SessionMessageV1 } from "../../../executor/types/SessionMessages.js";
|
|
11
11
|
import type { SessionSystemMessage } from "../../../executor/types/SessionPrompts.js";
|
|
12
12
|
import type { Tool } from "ai";
|
|
13
|
+
import type { SessionRunContext } from "../../../types/executor/SessionRunContext.js";
|
|
13
14
|
type LocalSessionContextComposerOptions = {
|
|
14
15
|
/**
|
|
15
16
|
* 可选默认 session id。
|
|
@@ -28,21 +29,22 @@ export declare class LocalSessionContextComposer implements SessionContextCompos
|
|
|
28
29
|
private readonly sessionId;
|
|
29
30
|
private readonly getTools;
|
|
30
31
|
constructor(options: LocalSessionContextComposerOptions);
|
|
31
|
-
compose(): Promise<SessionContextComposeResult>;
|
|
32
|
+
compose(run_context: SessionRunContext): Promise<SessionContextComposeResult>;
|
|
32
33
|
createPrepareStepHandler(input: {
|
|
33
34
|
system: SessionSystemMessage[];
|
|
34
35
|
appendMergedUserMessages: (messages: SessionMessageV1[]) => Promise<ModelMessage[]>;
|
|
36
|
+
runContext: SessionRunContext;
|
|
35
37
|
}): (input: {
|
|
36
38
|
messages?: ModelMessage[];
|
|
37
39
|
}) => Promise<{
|
|
38
40
|
system: SessionSystemMessage[];
|
|
39
41
|
messages?: ModelMessage[];
|
|
40
42
|
}>;
|
|
41
|
-
createOnStepFinishHandler(): (stepResult: unknown) => Promise<void>;
|
|
43
|
+
createOnStepFinishHandler(run_context: SessionRunContext): (stepResult: unknown) => Promise<void>;
|
|
42
44
|
/**
|
|
43
45
|
* 构造 fallback assistant 消息。
|
|
44
46
|
*/
|
|
45
|
-
buildFallbackAssistantMessage(text: string): SessionMessageV1;
|
|
47
|
+
buildFallbackAssistantMessage(text: string, run_context: SessionRunContext): SessionMessageV1;
|
|
46
48
|
}
|
|
47
49
|
export {};
|
|
48
50
|
//# sourceMappingURL=LocalSessionContextComposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalSessionContextComposer.d.ts","sourceRoot":"","sources":["../../../../src/executor/composer/context/LocalSessionContextComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalSessionContextComposer.d.ts","sourceRoot":"","sources":["../../../../src/executor/composer/context/LocalSessionContextComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAEvC,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,sDAAsD,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,KAAK,kCAAkC,GAAG;IACxC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,qBAAa,2BAA4B,YAAW,sBAAsB;IACxE,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiD;gBAE9D,OAAO,EAAE,kCAAkC;IAKjD,OAAO,CACX,WAAW,EAAE,iBAAiB,GAC7B,OAAO,CAAC,2BAA2B,CAAC;IAevC,wBAAwB,CACtB,KAAK,EAAE;QACL,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC/B,wBAAwB,EAAE,CACxB,QAAQ,EAAE,gBAAgB,EAAE,KACzB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7B,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GACA,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC;QACnD,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC/B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;KAC3B,CAAC;IAgDF,yBAAyB,CACvB,WAAW,EAAE,iBAAiB,GAC7B,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC;IAqBzC;;OAEG;IACH,6BAA6B,CAC3B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,iBAAiB,GAC7B,gBAAgB;CAsBpB"}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* - step 边界回调从 SessionRunScope 读取,Executor 不直接管理来源。
|
|
7
7
|
*/
|
|
8
8
|
import { generateId } from "../../../utils/Id.js";
|
|
9
|
-
import { drainInjectedUserMessages, getSessionRunScope, } from "../../SessionRunScope.js";
|
|
10
9
|
/**
|
|
11
10
|
* LocalSessionContextComposer 默认 Composer 实现。
|
|
12
11
|
*/
|
|
@@ -18,17 +17,11 @@ export class LocalSessionContextComposer {
|
|
|
18
17
|
this.sessionId = String(options.sessionId || "").trim();
|
|
19
18
|
this.getTools = options.getTools;
|
|
20
19
|
}
|
|
21
|
-
async compose() {
|
|
20
|
+
async compose(run_context) {
|
|
22
21
|
const tools = this.getTools();
|
|
23
|
-
const
|
|
24
|
-
const sessionId = String(ctx?.sessionId || this.sessionId || "").trim();
|
|
22
|
+
const sessionId = String(run_context.sessionId || this.sessionId || "").trim();
|
|
25
23
|
if (!sessionId) {
|
|
26
|
-
throw new Error("LocalSessionContextComposer.compose requires a
|
|
27
|
-
}
|
|
28
|
-
// 关键点(中文):sessionId 统一回填到请求上下文,后续组件直接读取。
|
|
29
|
-
if (ctx && typeof ctx === "object") {
|
|
30
|
-
if (!ctx.sessionId)
|
|
31
|
-
ctx.sessionId = sessionId;
|
|
24
|
+
throw new Error("LocalSessionContextComposer.compose requires a non-empty sessionId");
|
|
32
25
|
}
|
|
33
26
|
return {
|
|
34
27
|
tools,
|
|
@@ -36,8 +29,9 @@ export class LocalSessionContextComposer {
|
|
|
36
29
|
}
|
|
37
30
|
createPrepareStepHandler(input) {
|
|
38
31
|
return async ({ messages, }) => {
|
|
39
|
-
const injectedMessages =
|
|
40
|
-
|
|
32
|
+
const injectedMessages = [...input.runContext.injectedUserMessages];
|
|
33
|
+
input.runContext.injectedUserMessages = [];
|
|
34
|
+
const onStepCallback = input.runContext.onStepCallback;
|
|
41
35
|
if (typeof onStepCallback !== "function" &&
|
|
42
36
|
injectedMessages.length === 0) {
|
|
43
37
|
return { system: input.system };
|
|
@@ -67,8 +61,8 @@ export class LocalSessionContextComposer {
|
|
|
67
61
|
};
|
|
68
62
|
};
|
|
69
63
|
}
|
|
70
|
-
createOnStepFinishHandler() {
|
|
71
|
-
const onAssistantStepCallback =
|
|
64
|
+
createOnStepFinishHandler(run_context) {
|
|
65
|
+
const onAssistantStepCallback = run_context.onAssistantStepCallback;
|
|
72
66
|
let assistantStepIndex = 0;
|
|
73
67
|
return async (stepResult) => {
|
|
74
68
|
const step = stepResult;
|
|
@@ -92,11 +86,10 @@ export class LocalSessionContextComposer {
|
|
|
92
86
|
/**
|
|
93
87
|
* 构造 fallback assistant 消息。
|
|
94
88
|
*/
|
|
95
|
-
buildFallbackAssistantMessage(text) {
|
|
96
|
-
const
|
|
97
|
-
const sessionId = String(ctx?.sessionId || this.sessionId || "").trim();
|
|
89
|
+
buildFallbackAssistantMessage(text, run_context) {
|
|
90
|
+
const sessionId = String(run_context.sessionId || this.sessionId || "").trim();
|
|
98
91
|
if (!sessionId) {
|
|
99
|
-
throw new Error("LocalSessionContextComposer.buildFallbackAssistantMessage requires a
|
|
92
|
+
throw new Error("LocalSessionContextComposer.buildFallbackAssistantMessage requires a non-empty sessionId");
|
|
100
93
|
}
|
|
101
94
|
return {
|
|
102
95
|
id: `a:${sessionId}:${generateId()}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalSessionContextComposer.js","sourceRoot":"","sources":["../../../../src/executor/composer/context/LocalSessionContextComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalSessionContextComposer.js","sourceRoot":"","sources":["../../../../src/executor/composer/context/LocalSessionContextComposer.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import type { ModelMessage, Tool } from "ai";
|
|
9
9
|
import type { SessionMessageV1 } from "../../../executor/types/SessionMessages.js";
|
|
10
10
|
import type { SessionSystemMessage } from "../../../executor/types/SessionPrompts.js";
|
|
11
|
+
import type { SessionRunContext } from "../../../types/executor/SessionRunContext.js";
|
|
11
12
|
/**
|
|
12
13
|
* 本轮运行上下文组装输出。
|
|
13
14
|
*/
|
|
@@ -28,7 +29,7 @@ export interface SessionContextComposer {
|
|
|
28
29
|
/**
|
|
29
30
|
* 组装一次 run 所需上下文。
|
|
30
31
|
*/
|
|
31
|
-
compose(): Promise<SessionContextComposeResult>;
|
|
32
|
+
compose(run_context: SessionRunContext): Promise<SessionContextComposeResult>;
|
|
32
33
|
/**
|
|
33
34
|
* 构造 prepareStep 回调。
|
|
34
35
|
*/
|
|
@@ -41,6 +42,10 @@ export interface SessionContextComposer {
|
|
|
41
42
|
* 将新增 user 消息转换为可追加的模型消息。
|
|
42
43
|
*/
|
|
43
44
|
appendMergedUserMessages: (messages: SessionMessageV1[]) => Promise<ModelMessage[]>;
|
|
45
|
+
/**
|
|
46
|
+
* 当前显式运行上下文。
|
|
47
|
+
*/
|
|
48
|
+
runContext: SessionRunContext;
|
|
44
49
|
}): (input: {
|
|
45
50
|
messages?: ModelMessage[];
|
|
46
51
|
}) => Promise<{
|
|
@@ -50,13 +55,13 @@ export interface SessionContextComposer {
|
|
|
50
55
|
/**
|
|
51
56
|
* 构造 onStepFinish 回调。
|
|
52
57
|
*/
|
|
53
|
-
createOnStepFinishHandler(): (stepResult: unknown) => Promise<void>;
|
|
58
|
+
createOnStepFinishHandler(run_context: SessionRunContext): (stepResult: unknown) => Promise<void>;
|
|
54
59
|
/**
|
|
55
60
|
* 构造 fallback assistant 消息。
|
|
56
61
|
*
|
|
57
62
|
* 关键点(中文)
|
|
58
63
|
* - fallback 消息构造由 ContextComposer 内部实现,Executor 不直接依赖 history Composer。
|
|
59
64
|
*/
|
|
60
|
-
buildFallbackAssistantMessage(text: string): SessionMessageV1;
|
|
65
|
+
buildFallbackAssistantMessage(text: string, run_context: SessionRunContext): SessionMessageV1;
|
|
61
66
|
}
|
|
62
67
|
//# sourceMappingURL=SessionContextComposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContextComposer.d.ts","sourceRoot":"","sources":["../../../../src/executor/composer/context/SessionContextComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,
|
|
1
|
+
{"version":3,"file":"SessionContextComposer.d.ts","sourceRoot":"","sources":["../../../../src/executor/composer/context/SessionContextComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAE9E;;OAEG;IACH,wBAAwB,CACtB,KAAK,EAAE;QACL;;WAEG;QACH,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC/B;;WAEG;QACH,wBAAwB,EAAE,CACxB,QAAQ,EAAE,gBAAgB,EAAE,KACzB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7B;;WAEG;QACH,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GACA,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC;QACnD,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC/B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;KAC3B,CAAC,CAAC;IAEH;;OAEG;IACH,yBAAyB,CACvB,WAAW,EAAE,iBAAiB,GAC7B,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,6BAA6B,CAC3B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,iBAAiB,GAC7B,gBAAgB,CAAC;CACrB"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* - 与 tools / step 编排解耦,避免 Executor 过载。
|
|
7
7
|
*/
|
|
8
8
|
import type { SystemModelMessage } from "ai";
|
|
9
|
+
import type { SessionRunContext } from "../../../types/executor/SessionRunContext.js";
|
|
9
10
|
/**
|
|
10
11
|
* Session system Composer 协议。
|
|
11
12
|
*/
|
|
@@ -17,6 +18,6 @@ export interface SessionSystemComposer {
|
|
|
17
18
|
/**
|
|
18
19
|
* 解析本轮 system messages。
|
|
19
20
|
*/
|
|
20
|
-
resolve(): Promise<SystemModelMessage[]>;
|
|
21
|
+
resolve(run_context: SessionRunContext): Promise<SystemModelMessage[]>;
|
|
21
22
|
}
|
|
22
23
|
//# sourceMappingURL=SessionSystemComposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionSystemComposer.d.ts","sourceRoot":"","sources":["../../../../src/executor/composer/system/SessionSystemComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionSystemComposer.d.ts","sourceRoot":"","sources":["../../../../src/executor/composer/system/SessionSystemComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CACxE"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { SessionSystemComposer } from "../../../composer/system/SessionSystemComposer.js";
|
|
9
9
|
import type { AgentContext } from "../../../../types/runtime/agent/AgentContext.js";
|
|
10
|
+
import type { SessionRunContext } from "../../../../types/executor/SessionRunContext.js";
|
|
10
11
|
import { type SystemProfile } from "../../../composer/system/default/SystemDomain.js";
|
|
11
12
|
type DefaultSessionSystemComposerOptions = {
|
|
12
13
|
/**
|
|
@@ -36,7 +37,7 @@ export declare class DefaultSessionSystemComposer implements SessionSystemCompos
|
|
|
36
37
|
private readonly getContext;
|
|
37
38
|
private readonly profile;
|
|
38
39
|
constructor(options: DefaultSessionSystemComposerOptions);
|
|
39
|
-
resolve(): Promise<import("ai").SystemModelMessage[]>;
|
|
40
|
+
resolve(run_context: SessionRunContext): Promise<import("ai").SystemModelMessage[]>;
|
|
40
41
|
}
|
|
41
42
|
export {};
|
|
42
43
|
//# sourceMappingURL=DefaultSessionSystemComposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultSessionSystemComposer.d.ts","sourceRoot":"","sources":["../../../../../src/executor/composer/system/default/DefaultSessionSystemComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"DefaultSessionSystemComposer.d.ts","sourceRoot":"","sources":["../../../../../src/executor/composer/system/default/DefaultSessionSystemComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,mDAAmD,CAAC;AAE3D,KAAK,mCAAmC,GAAG;IACzC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,sBAAsB,EAAE,MAAM,MAAM,EAAE,CAAC;IAEvC;;OAEG;IACH,UAAU,EAAE,MAAM,YAAY,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IACxE,QAAQ,CAAC,IAAI,mBAAmB;IAEhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgE;IACvG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoD;IAC/E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,OAAO,EAAE,mCAAmC;IAWlD,OAAO,CAAC,WAAW,EAAE,iBAAiB;CAa7C"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* - 该实现归属默认 system Composer,统一负责 Session system 解析入口。
|
|
6
6
|
* - 具体“解析 / 加载 / 组装”下沉到 SystemDomain,保持类本身轻量。
|
|
7
7
|
*/
|
|
8
|
-
import { getSessionRunScope } from "../../../SessionRunScope.js";
|
|
9
8
|
import { resolveSessionSystemMessages, } from "../../../composer/system/default/SystemDomain.js";
|
|
10
9
|
/**
|
|
11
10
|
* SessionSystemComposer 默认实现。
|
|
@@ -26,9 +25,8 @@ export class DefaultSessionSystemComposer {
|
|
|
26
25
|
this.getContext = options.getContext;
|
|
27
26
|
this.profile = options.profile === "task" ? "task" : "chat";
|
|
28
27
|
}
|
|
29
|
-
async resolve() {
|
|
30
|
-
const
|
|
31
|
-
const sessionId = String(ctx?.sessionId || "").trim();
|
|
28
|
+
async resolve(run_context) {
|
|
29
|
+
const sessionId = String(run_context.sessionId || "").trim();
|
|
32
30
|
if (!sessionId) {
|
|
33
31
|
throw new Error("DefaultSessionSystemComposer.resolve requires a non-empty sessionId");
|
|
34
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultSessionSystemComposer.js","sourceRoot":"","sources":["../../../../../src/executor/composer/system/default/DefaultSessionSystemComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"DefaultSessionSystemComposer.js","sourceRoot":"","sources":["../../../../../src/executor/composer/system/default/DefaultSessionSystemComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EACL,4BAA4B,GAE7B,MAAM,mDAAmD,CAAC;AAwB3D;;GAEG;AACH,MAAM,OAAO,4BAA4B;IAC9B,IAAI,GAAG,eAAe,CAAC;IAEf,WAAW,CAAS;IACpB,sBAAsB,CAAgE;IACtF,UAAU,CAAoD;IAC9D,OAAO,CAAgB;IAExC,YAAY,OAA4C;QACtD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAA8B;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,MAAM,4BAA4B,CAAC;YACxC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS;YACT,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,mBAAmB,EAAE,IAAI,CAAC,sBAAsB,EAAE;YAClD,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CoreEngineRunner:模型与 tool-loop 主循环执行器。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 只负责单次已装配输入的执行,不负责 run scope、外层重试与历史准备。
|
|
6
|
+
* - 把 step 循环、续写恢复、最终 assistant 汇总等细节从 Executor 中剥离。
|
|
7
|
+
* - 保持失败返回结构稳定,避免对外 Session 行为变化。
|
|
8
|
+
*/
|
|
9
|
+
import { type LanguageModel } from "ai";
|
|
10
|
+
import type { Logger } from "../../utils/logger/Logger.js";
|
|
11
|
+
import type { SessionHistoryStore } from "../../executor/store/history/SessionHistoryStore.js";
|
|
12
|
+
import type { SessionContextComposer } from "../composer/context/SessionContextComposer.js";
|
|
13
|
+
import type { SessionRunContext } from "../../types/executor/SessionRunContext.js";
|
|
14
|
+
import type { SessionExecuteInput, SessionRunResult } from "../../executor/types/SessionRun.js";
|
|
15
|
+
interface CoreEngineRunnerOptions {
|
|
16
|
+
/**
|
|
17
|
+
* 当前 session 对应的 history 事实源。
|
|
18
|
+
*/
|
|
19
|
+
history_store: SessionHistoryStore;
|
|
20
|
+
/**
|
|
21
|
+
* 当前 session 对应的 context Composer。
|
|
22
|
+
*/
|
|
23
|
+
context_composer: SessionContextComposer;
|
|
24
|
+
/**
|
|
25
|
+
* 当前 session 统一日志器。
|
|
26
|
+
*/
|
|
27
|
+
logger: Logger;
|
|
28
|
+
/**
|
|
29
|
+
* 判断某次执行错误是否应该上抛给外层压缩重试。
|
|
30
|
+
*/
|
|
31
|
+
should_compact_on_error: (error: unknown) => boolean;
|
|
32
|
+
}
|
|
33
|
+
interface CoreEngineRunInput {
|
|
34
|
+
/**
|
|
35
|
+
* 已装配好的执行输入。
|
|
36
|
+
*/
|
|
37
|
+
execute_input: SessionExecuteInput;
|
|
38
|
+
/**
|
|
39
|
+
* 当前轮模型实例。
|
|
40
|
+
*/
|
|
41
|
+
model: LanguageModel;
|
|
42
|
+
/**
|
|
43
|
+
* 当前显式运行上下文。
|
|
44
|
+
*/
|
|
45
|
+
run_context: SessionRunContext;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 模型与 tool-loop 主循环执行器。
|
|
49
|
+
*/
|
|
50
|
+
export declare class CoreEngineRunner {
|
|
51
|
+
private readonly history_store;
|
|
52
|
+
private readonly context_composer;
|
|
53
|
+
private readonly logger;
|
|
54
|
+
private readonly should_compact_on_error;
|
|
55
|
+
constructor(options: CoreEngineRunnerOptions);
|
|
56
|
+
/**
|
|
57
|
+
* 执行一次已装配完成的模型/tool-loop 运行。
|
|
58
|
+
*/
|
|
59
|
+
run(input: CoreEngineRunInput): Promise<SessionRunResult>;
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=CoreEngineRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoreEngineRunner.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,IAAI,CAAC;AA0BrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AA2CxC,UAAU,uBAAuB;IAC/B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,gBAAgB,EAAE,sBAAsB,CAAC;IAEzC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,uBAAuB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtD;AAED,UAAU,kBAAkB;IAC1B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAqD;gBAEjF,OAAO,EAAE,uBAAuB;IAO5C;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAiShE"}
|