@downcity/agent 1.1.228 → 1.1.232
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/bin/agent/local/Agent.d.ts +6 -1
- package/bin/agent/local/Agent.d.ts.map +1 -1
- package/bin/agent/local/Agent.js +30 -3
- package/bin/agent/local/Agent.js.map +1 -1
- package/bin/agent/local/services/AgentSessions.d.ts +23 -0
- package/bin/agent/local/services/AgentSessions.d.ts.map +1 -1
- package/bin/agent/local/services/AgentSessions.js +44 -0
- package/bin/agent/local/services/AgentSessions.js.map +1 -1
- package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -1
- package/bin/agent/remote/transports/HttpRemoteAgentTransport.js +0 -7
- package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +1 -1
- package/bin/executor/Executor.d.ts +25 -0
- package/bin/executor/Executor.d.ts.map +1 -1
- package/bin/executor/Executor.js +36 -0
- package/bin/executor/Executor.js.map +1 -1
- package/bin/executor/composer/compaction/SessionCompactionComposer.d.ts +4 -0
- package/bin/executor/composer/compaction/SessionCompactionComposer.d.ts.map +1 -1
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.d.ts +0 -1
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.d.ts.map +1 -1
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.js +15 -11
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.d.ts +11 -0
- package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.js +12 -8
- package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
- package/bin/executor/store/history/SessionHistoryStore.d.ts +3 -13
- package/bin/executor/store/history/SessionHistoryStore.d.ts.map +1 -1
- package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js +1 -1
- package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js.map +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.js +4 -2
- package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -1
- package/bin/index.d.ts +2 -1
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +1 -1
- package/bin/index.js.map +1 -1
- package/bin/model/CityModelAdapter.d.ts +6 -0
- package/bin/model/CityModelAdapter.d.ts.map +1 -1
- package/bin/model/CityModelAdapter.js +13 -0
- package/bin/model/CityModelAdapter.js.map +1 -1
- package/bin/plugin/core/PluginRegistry.d.ts +22 -1
- package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
- package/bin/plugin/core/PluginRegistry.js +46 -4
- package/bin/plugin/core/PluginRegistry.js.map +1 -1
- package/bin/session/Session.d.ts +11 -1
- package/bin/session/Session.d.ts.map +1 -1
- package/bin/session/Session.js +76 -11
- package/bin/session/Session.js.map +1 -1
- package/bin/session/browse/Browse.d.ts +0 -8
- package/bin/session/browse/Browse.d.ts.map +1 -1
- package/bin/session/browse/Browse.js +72 -57
- package/bin/session/browse/Browse.js.map +1 -1
- package/bin/session/recorder/JsonlSessionMessageStore.d.ts +69 -16
- package/bin/session/recorder/JsonlSessionMessageStore.d.ts.map +1 -1
- package/bin/session/recorder/JsonlSessionMessageStore.js +283 -60
- package/bin/session/recorder/JsonlSessionMessageStore.js.map +1 -1
- package/bin/session/recorder/SessionRecorder.d.ts +20 -2
- package/bin/session/recorder/SessionRecorder.d.ts.map +1 -1
- package/bin/session/recorder/SessionRecorder.js +91 -46
- package/bin/session/recorder/SessionRecorder.js.map +1 -1
- package/bin/session/recorder/SessionRecorderCompaction.d.ts +3 -3
- package/bin/session/recorder/SessionRecorderCompaction.d.ts.map +1 -1
- package/bin/session/recorder/SessionRecorderCompaction.js +50 -62
- package/bin/session/recorder/SessionRecorderCompaction.js.map +1 -1
- package/bin/session/recorder/SessionRecorderHistoryStore.d.ts +2 -2
- package/bin/session/recorder/SessionRecorderHistoryStore.d.ts.map +1 -1
- package/bin/session/recorder/SessionRecorderHistoryStore.js +31 -36
- package/bin/session/recorder/SessionRecorderHistoryStore.js.map +1 -1
- package/bin/session/runtime/SessionPromptRuntime.d.ts +17 -1
- package/bin/session/runtime/SessionPromptRuntime.d.ts.map +1 -1
- package/bin/session/runtime/SessionPromptRuntime.js +67 -8
- package/bin/session/runtime/SessionPromptRuntime.js.map +1 -1
- package/bin/session/services/SessionStateService.d.ts +15 -1
- package/bin/session/services/SessionStateService.d.ts.map +1 -1
- package/bin/session/services/SessionStateService.js +60 -39
- package/bin/session/services/SessionStateService.js.map +1 -1
- package/bin/session/services/SessionTurnService.d.ts +5 -0
- package/bin/session/services/SessionTurnService.d.ts.map +1 -1
- package/bin/session/services/SessionTurnService.js +17 -3
- package/bin/session/services/SessionTurnService.js.map +1 -1
- package/bin/session/services/SessionViewService.d.ts +1 -5
- package/bin/session/services/SessionViewService.d.ts.map +1 -1
- package/bin/session/services/SessionViewService.js +4 -34
- package/bin/session/services/SessionViewService.js.map +1 -1
- package/bin/session/storage/Paths.d.ts +3 -15
- package/bin/session/storage/Paths.d.ts.map +1 -1
- package/bin/session/storage/Paths.js +5 -21
- package/bin/session/storage/Paths.js.map +1 -1
- package/bin/types/agent/SessionTypes.d.ts +2 -24
- package/bin/types/agent/SessionTypes.d.ts.map +1 -1
- package/bin/types/executor/SessionRunContext.d.ts +21 -0
- package/bin/types/executor/SessionRunContext.d.ts.map +1 -1
- package/bin/types/plugin/PluginRuntime.d.ts +25 -0
- package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
- package/bin/types/runtime/agent/AgentContext.d.ts +17 -5
- package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
- package/bin/types/runtime/agent/AgentContext.js +29 -6
- package/bin/types/runtime/agent/AgentContext.js.map +1 -1
- package/bin/types/session/SessionConfigMutation.d.ts +68 -0
- package/bin/types/session/SessionConfigMutation.d.ts.map +1 -0
- package/bin/types/session/SessionConfigMutation.js +10 -0
- package/bin/types/session/SessionConfigMutation.js.map +1 -0
- package/bin/types/session/SessionLocalState.d.ts +8 -0
- package/bin/types/session/SessionLocalState.d.ts.map +1 -1
- package/bin/types/session/SessionMessage.d.ts +16 -12
- package/bin/types/session/SessionMessage.d.ts.map +1 -1
- package/bin/types/session/SessionMutation.d.ts +1 -1
- package/bin/types/session/SessionMutation.js +1 -1
- package/bin/types/session/SessionOptions.d.ts +16 -0
- package/bin/types/session/SessionOptions.d.ts.map +1 -1
- package/bin/types/session/SessionSegment.d.ts +57 -0
- package/bin/types/session/SessionSegment.d.ts.map +1 -0
- package/bin/types/session/SessionSegment.js +8 -0
- package/bin/types/session/SessionSegment.js.map +1 -0
- package/package.json +3 -3
- package/scripts/city-model-tool-loop.test.mjs +32 -0
- package/scripts/session-action-message.test.mjs +59 -13
- package/scripts/session-compaction-context-window.test.mjs +95 -0
- package/scripts/session-config-turn-boundary.test.mjs +224 -0
- package/scripts/session-list-title.test.mjs +21 -3
- package/scripts/session-prompt-runtime.test.mjs +85 -0
- package/scripts/session-recorder.test.mjs +340 -11
- package/src/agent/local/Agent.ts +34 -3
- package/src/agent/local/services/AgentSessions.ts +61 -0
- package/src/agent/remote/transports/HttpRemoteAgentTransport.ts +0 -5
- package/src/executor/Executor.ts +62 -0
- package/src/executor/composer/compaction/SessionCompactionComposer.ts +5 -0
- package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.ts +16 -14
- package/src/executor/core-engine/CoreEngineRunner.ts +24 -8
- package/src/executor/store/history/SessionHistoryStore.ts +3 -14
- package/src/executor/store/history/jsonl/JsonlSessionHistoryStore.ts +1 -1
- package/src/executor/tools/plugin/PluginToolBridge.ts +4 -2
- package/src/index.ts +8 -0
- package/src/model/CityModelAdapter.ts +15 -0
- package/src/plugin/core/PluginRegistry.ts +72 -4
- package/src/session/Session.ts +89 -11
- package/src/session/browse/Browse.ts +73 -69
- package/src/session/recorder/JsonlSessionMessageStore.ts +378 -60
- package/src/session/recorder/SessionRecorder.ts +116 -49
- package/src/session/recorder/SessionRecorderCompaction.ts +55 -80
- package/src/session/recorder/SessionRecorderHistoryStore.ts +29 -49
- package/src/session/runtime/SessionPromptRuntime.ts +100 -9
- package/src/session/services/SessionStateService.ts +79 -44
- package/src/session/services/SessionTurnService.ts +19 -3
- package/src/session/services/SessionViewService.ts +4 -50
- package/src/session/storage/Paths.ts +5 -38
- package/src/types/agent/SessionTypes.ts +2 -24
- package/src/types/executor/SessionRunContext.ts +25 -0
- package/src/types/plugin/PluginRuntime.ts +27 -0
- package/src/types/runtime/agent/AgentContext.ts +32 -7
- package/src/types/session/SessionConfigMutation.ts +78 -0
- package/src/types/session/SessionLocalState.ts +9 -0
- package/src/types/session/SessionMessage.ts +16 -12
- package/src/types/session/SessionMutation.ts +1 -1
- package/src/types/session/SessionOptions.ts +21 -0
- package/src/types/session/SessionSegment.ts +62 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -210,7 +210,7 @@ export interface AgentContextOptions {
|
|
|
210
210
|
*
|
|
211
211
|
* 关键点(中文)
|
|
212
212
|
* - 必须是 Agent 持有的同一个 mutable 引用,不要克隆后再传入。
|
|
213
|
-
* -
|
|
213
|
+
* - Session 模型 turn 内优先读取队列已经提交的 effective env。
|
|
214
214
|
*/
|
|
215
215
|
env: Record<string, string>;
|
|
216
216
|
/** 当前生效的 system 文本集合。 */
|
|
@@ -243,10 +243,10 @@ export declare class AgentContext {
|
|
|
243
243
|
readonly logger: Logger;
|
|
244
244
|
/** 当前运行时已解析配置。 */
|
|
245
245
|
readonly config: DowncityConfig;
|
|
246
|
-
/**
|
|
247
|
-
readonly
|
|
248
|
-
/**
|
|
249
|
-
readonly
|
|
246
|
+
/** 当前 Agent configured env 共享对象。 */
|
|
247
|
+
private readonly configured_env;
|
|
248
|
+
/** 当前 Agent configured system 文本。 */
|
|
249
|
+
private readonly configured_systems;
|
|
250
250
|
/** 当前可见的路径能力集合。 */
|
|
251
251
|
readonly paths: AgentPathRuntime;
|
|
252
252
|
/** 当前可见的 plugin 配置持久化能力集合。 */
|
|
@@ -260,6 +260,18 @@ export declare class AgentContext {
|
|
|
260
260
|
/** 跨 plugin runtime 调用主入口。 */
|
|
261
261
|
readonly invoke: InvokePluginPort;
|
|
262
262
|
constructor(options: AgentContextOptions);
|
|
263
|
+
/**
|
|
264
|
+
* 读取当前调用链可见的 Agent env。
|
|
265
|
+
*
|
|
266
|
+
* 关键点(中文)
|
|
267
|
+
* - 模型 turn 内优先返回统一输入队列已经提交的 effective env。
|
|
268
|
+
* - Session 运行外返回 Agent 配置 API 最近一次成功写入的 configured env。
|
|
269
|
+
*/
|
|
270
|
+
get env(): Record<string, string>;
|
|
271
|
+
/**
|
|
272
|
+
* 读取当前调用链可见的 Agent instruction。
|
|
273
|
+
*/
|
|
274
|
+
get systems(): string[];
|
|
263
275
|
/**
|
|
264
276
|
* 读取指定 sessionId 对应的 session 端口。
|
|
265
277
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentContext.d.ts","sourceRoot":"","sources":["../../../../src/types/runtime/agent/AgentContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentContext.d.ts","sourceRoot":"","sources":["../../../../src/types/runtime/agent/AgentContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* - `AgentContext` 是一个 class,表达"当前一次执行可见的能力面",不是宿主状态本体。
|
|
7
7
|
* - 同一 agent 实例全程共享同一个 context;plugin、session、executor 都基于它读写状态。
|
|
8
8
|
*/
|
|
9
|
+
import { getSessionRunContext } from "../../../executor/SessionRunScope.js";
|
|
9
10
|
/**
|
|
10
11
|
* 统一执行上下文。
|
|
11
12
|
*
|
|
@@ -23,10 +24,10 @@ export class AgentContext {
|
|
|
23
24
|
logger;
|
|
24
25
|
/** 当前运行时已解析配置。 */
|
|
25
26
|
config;
|
|
26
|
-
/**
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
|
|
27
|
+
/** 当前 Agent configured env 共享对象。 */
|
|
28
|
+
configured_env;
|
|
29
|
+
/** 当前 Agent configured system 文本。 */
|
|
30
|
+
configured_systems;
|
|
30
31
|
/** 当前可见的路径能力集合。 */
|
|
31
32
|
paths;
|
|
32
33
|
/** 当前可见的 plugin 配置持久化能力集合。 */
|
|
@@ -44,8 +45,8 @@ export class AgentContext {
|
|
|
44
45
|
this.rootPath = options.rootPath;
|
|
45
46
|
this.logger = options.logger;
|
|
46
47
|
this.config = options.config;
|
|
47
|
-
this.
|
|
48
|
-
this.
|
|
48
|
+
this.configured_env = options.env;
|
|
49
|
+
this.configured_systems = options.systems;
|
|
49
50
|
this.paths = options.paths;
|
|
50
51
|
this.pluginConfig = options.pluginConfig;
|
|
51
52
|
this.pluginInstances = options.pluginInstances;
|
|
@@ -55,6 +56,28 @@ export class AgentContext {
|
|
|
55
56
|
invoke: (params) => this.invoke_plugin_action(params),
|
|
56
57
|
};
|
|
57
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* 读取当前调用链可见的 Agent env。
|
|
61
|
+
*
|
|
62
|
+
* 关键点(中文)
|
|
63
|
+
* - 模型 turn 内优先返回统一输入队列已经提交的 effective env。
|
|
64
|
+
* - Session 运行外返回 Agent 配置 API 最近一次成功写入的 configured env。
|
|
65
|
+
*/
|
|
66
|
+
get env() {
|
|
67
|
+
const effective_env = getSessionRunContext()?.agentEnv;
|
|
68
|
+
return effective_env
|
|
69
|
+
? { ...effective_env }
|
|
70
|
+
: this.configured_env;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 读取当前调用链可见的 Agent instruction。
|
|
74
|
+
*/
|
|
75
|
+
get systems() {
|
|
76
|
+
const effective_systems = getSessionRunContext()?.agentSystems;
|
|
77
|
+
return effective_systems
|
|
78
|
+
? [...effective_systems]
|
|
79
|
+
: this.configured_systems;
|
|
80
|
+
}
|
|
58
81
|
/**
|
|
59
82
|
* 读取指定 sessionId 对应的 session 端口。
|
|
60
83
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentContext.js","sourceRoot":"","sources":["../../../../src/types/runtime/agent/AgentContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"AgentContext.js","sourceRoot":"","sources":["../../../../src/types/runtime/agent/AgentContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session 配置 Mutation 运行时类型。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 配置 API 负责把 configured state 修改成功后创建 mutation。
|
|
6
|
+
* - mutation 与 steer 共用 Session 输入队列,并在下一次模型 turn 开始前提交。
|
|
7
|
+
* - 这里只描述进程内提交协议,不属于持久化格式或公开 SDK 协议。
|
|
8
|
+
*/
|
|
9
|
+
import type { AgentSessionSystemBlock } from "../../types/agent/SessionTypes.js";
|
|
10
|
+
import type { AgentPluginExecutionRuntime } from "../../types/plugin/PluginRuntime.js";
|
|
11
|
+
/**
|
|
12
|
+
* 配置 Mutation 的归属作用域。
|
|
13
|
+
*/
|
|
14
|
+
export type SessionConfigMutationScope = "agent" | "session";
|
|
15
|
+
/**
|
|
16
|
+
* 配置 Mutation 生效时的模型 turn 上下文。
|
|
17
|
+
*/
|
|
18
|
+
export interface SessionConfigMutationApplyContext {
|
|
19
|
+
/** 当前公开 Session turn 标识。 */
|
|
20
|
+
turn_id: string;
|
|
21
|
+
/** 当前 Session turn 内即将开始的模型 turn 序号。 */
|
|
22
|
+
model_turn_index: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 等待在下一次模型 turn 提交的配置 Mutation。
|
|
26
|
+
*/
|
|
27
|
+
export interface SessionRuntimeConfigMutation {
|
|
28
|
+
/** 当前配置修改的稳定唯一标识。 */
|
|
29
|
+
mutation_id: string;
|
|
30
|
+
/** 当前配置修改属于 Agent 还是 Session。 */
|
|
31
|
+
scope: SessionConfigMutationScope;
|
|
32
|
+
/**
|
|
33
|
+
* 把 configured state 提交为当前 Session 的 effective state。
|
|
34
|
+
*
|
|
35
|
+
* 关键点(中文)
|
|
36
|
+
* - 成功或失败的 action message 由具体配置实现负责写入。
|
|
37
|
+
* - 抛错只终止当前 mutation,不应让后续 mutation 静默丢失。
|
|
38
|
+
*/
|
|
39
|
+
apply(context: SessionConfigMutationApplyContext): Promise<void>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Agent configured state 广播给已有 Session 的配置修改。
|
|
43
|
+
*/
|
|
44
|
+
export type AgentSessionConfigMutation = {
|
|
45
|
+
/** 当前修改固定为 instruction。 */
|
|
46
|
+
type: "instruction";
|
|
47
|
+
/** 当前配置修改唯一标识。 */
|
|
48
|
+
mutation_id: string;
|
|
49
|
+
/** 下一模型 turn 使用的 instruction blocks。 */
|
|
50
|
+
instruction_blocks: AgentSessionSystemBlock[];
|
|
51
|
+
} | {
|
|
52
|
+
/** 当前修改固定为 env。 */
|
|
53
|
+
type: "env";
|
|
54
|
+
/** 当前配置修改唯一标识。 */
|
|
55
|
+
mutation_id: string;
|
|
56
|
+
/** 下一模型 turn 使用的完整 Agent env。 */
|
|
57
|
+
env: Record<string, string>;
|
|
58
|
+
} | {
|
|
59
|
+
/** 当前修改固定为 plugin registry。 */
|
|
60
|
+
type: "plugins";
|
|
61
|
+
/** 当前配置修改唯一标识。 */
|
|
62
|
+
mutation_id: string;
|
|
63
|
+
/** 当前 plugin 配置修改的用户可读标题。 */
|
|
64
|
+
title: string;
|
|
65
|
+
/** 下一模型 turn 使用的 Plugin 执行视图。 */
|
|
66
|
+
plugins: AgentPluginExecutionRuntime;
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=SessionConfigMutation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionConfigMutation.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionConfigMutation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,qBAAqB;IACrB,WAAW,EAAE,MAAM,CAAC;IAEpB,iCAAiC;IACjC,KAAK,EAAE,0BAA0B,CAAC;IAElC;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAClC;IACE,2BAA2B;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;CAC/C,GACD;IACE,mBAAmB;IACnB,IAAI,EAAE,KAAK,CAAC;IACZ,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B,GACD;IACE,+BAA+B;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,OAAO,EAAE,2BAA2B,CAAC;CACtC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session 配置 Mutation 运行时类型。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 配置 API 负责把 configured state 修改成功后创建 mutation。
|
|
6
|
+
* - mutation 与 steer 共用 Session 输入队列,并在下一次模型 turn 开始前提交。
|
|
7
|
+
* - 这里只描述进程内提交协议,不属于持久化格式或公开 SDK 协议。
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=SessionConfigMutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionConfigMutation.js","sourceRoot":"","sources":["../../../src/types/session/SessionConfigMutation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -15,6 +15,14 @@ export interface SessionLocalState {
|
|
|
15
15
|
* 当前 session 配置快照。
|
|
16
16
|
*/
|
|
17
17
|
sessionConfig: AgentSessionConfigSnapshot;
|
|
18
|
+
/**
|
|
19
|
+
* 当前模型 turn 实际使用的 Session 配置。
|
|
20
|
+
*
|
|
21
|
+
* 关键点(中文)
|
|
22
|
+
* - `sessionConfig` 是配置 API 最近一次成功写入的 configured state。
|
|
23
|
+
* - 该字段只在模型 turn 开始前由队列 mutation 更新。
|
|
24
|
+
*/
|
|
25
|
+
effective_session_config: AgentSessionConfigSnapshot;
|
|
18
26
|
/**
|
|
19
27
|
* 当前 session 创建时间(毫秒时间戳)。
|
|
20
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionLocalState.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionLocalState.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,aAAa,EAAE,0BAA0B,CAAC;IAE1C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/C"}
|
|
1
|
+
{"version":3,"file":"SessionLocalState.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionLocalState.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,aAAa,EAAE,0BAA0B,CAAC;IAE1C;;;;;;OAMG;IACH,wBAAwB,EAAE,0BAA0B,CAAC;IAErD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/C"}
|
|
@@ -198,26 +198,30 @@ export interface SessionErrorMessage extends SessionMessageBase {
|
|
|
198
198
|
export type SessionMessage = SessionUserMessage | SessionAssistantMessage | SessionActionMessage | SessionErrorMessage;
|
|
199
199
|
/** 读取 Session Message snapshot 的分页输入。 */
|
|
200
200
|
export interface ListSessionMessagesInput {
|
|
201
|
-
/**
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
201
|
+
/**
|
|
202
|
+
* 返回该 sequence 之前的最近一个完整历史 Segment。
|
|
203
|
+
*
|
|
204
|
+
* 必须是正整数;省略时直接返回 Active 中的全部 Message。
|
|
205
|
+
*/
|
|
206
206
|
before_sequence?: number;
|
|
207
207
|
/** 是否包含 internal Message。 */
|
|
208
208
|
include_internal?: boolean;
|
|
209
|
-
/** 只返回不大于该 sequence 的 Message。 */
|
|
210
|
-
through_sequence?: number;
|
|
211
209
|
}
|
|
212
210
|
/** Session Message snapshot 分页结果。 */
|
|
213
211
|
export interface SessionMessagePage {
|
|
214
|
-
/**
|
|
212
|
+
/** 当前 Active 或 Segment 中按 sequence 升序排列的 Message。 */
|
|
215
213
|
items: SessionMessage[];
|
|
216
|
-
/**
|
|
214
|
+
/** 当前 Session 已分配的真实 Message 总数。 */
|
|
217
215
|
total: number;
|
|
218
|
-
/**
|
|
219
|
-
|
|
220
|
-
/**
|
|
216
|
+
/** 当前结果来自 Active 还是已关闭 Segment。 */
|
|
217
|
+
source: "active" | "segment";
|
|
218
|
+
/** 当前结果覆盖的第一条真实 Message sequence。 */
|
|
219
|
+
start_sequence?: number;
|
|
220
|
+
/** 当前结果覆盖的最后一条真实 Message sequence。 */
|
|
221
|
+
end_sequence?: number;
|
|
222
|
+
/** 继续向前读取时应作为 before_sequence 传入的边界。 */
|
|
223
|
+
next_before_sequence?: number;
|
|
224
|
+
/** 当前结果之前是否仍有更早 Segment。 */
|
|
221
225
|
has_more: boolean;
|
|
222
226
|
}
|
|
223
227
|
//# sourceMappingURL=SessionMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionMessage.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionMessage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SessionMessage.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Session 的统一实时 Mutation 协议。
|
|
3
3
|
*
|
|
4
|
-
* Mutation 描述订阅之后发生的状态变化,不等同于
|
|
4
|
+
* Mutation 描述订阅之后发生的状态变化,不等同于 Active/Segment 持久化格式。
|
|
5
5
|
*/
|
|
6
6
|
import type { SessionAssistantMessagePart, SessionMessage } from "../../types/session/SessionMessage.js";
|
|
7
7
|
import type { ResolveSessionApprovalInput, SessionApprovalResult } from "../../types/session/SessionApproval.js";
|
|
@@ -10,6 +10,8 @@ import type { Tool } from "ai";
|
|
|
10
10
|
import type { AgentSession } from "../../types/agent/SessionActor.js";
|
|
11
11
|
import type { SessionPort } from "../../types/runtime/agent/AgentContext.js";
|
|
12
12
|
import type { AgentSessionSystemBlock } from "../../types/agent/SessionTypes.js";
|
|
13
|
+
import type { AgentPluginExecutionRuntime } from "../../types/plugin/PluginRuntime.js";
|
|
14
|
+
import type { AgentSessionConfigMutation } from "../../types/session/SessionConfigMutation.js";
|
|
13
15
|
import type { SessionComposerOptions } from "../../types/session/SessionComposerOptions.js";
|
|
14
16
|
import type { Logger } from "../../utils/logger/Logger.js";
|
|
15
17
|
import type { AgentModel } from "../../model/CityModelAdapter.js";
|
|
@@ -30,6 +32,10 @@ export interface AgentManagedSession extends AgentSession {
|
|
|
30
32
|
* 返回当前 session 是否正在执行。
|
|
31
33
|
*/
|
|
32
34
|
isExecuting(): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* 把 Agent configured state 修改加入当前 Session 的统一输入队列。
|
|
37
|
+
*/
|
|
38
|
+
enqueue_agent_config(mutation: AgentSessionConfigMutation): void;
|
|
33
39
|
}
|
|
34
40
|
/**
|
|
35
41
|
* 本地 Session 构造参数。
|
|
@@ -59,6 +65,16 @@ export interface SessionOptions {
|
|
|
59
65
|
* 读取当前 SDK 调用方传入的 instruction system blocks。
|
|
60
66
|
*/
|
|
61
67
|
getInstructionSystemBlocks: () => AgentSessionSystemBlock[];
|
|
68
|
+
/**
|
|
69
|
+
* 读取当前 Agent configured env。
|
|
70
|
+
*
|
|
71
|
+
* 关键点(中文)
|
|
72
|
+
* - Session 创建时用它建立初始 effective env。
|
|
73
|
+
* - 后续 Agent env 修改通过 Session 配置 mutation 在模型 turn 边界提交。
|
|
74
|
+
*/
|
|
75
|
+
getAgentEnv: () => Record<string, string>;
|
|
76
|
+
/** 创建当前 Agent configured plugin 的模型 turn 执行视图。 */
|
|
77
|
+
get_agent_plugins: () => AgentPluginExecutionRuntime;
|
|
62
78
|
/**
|
|
63
79
|
* 读取当前 agent 显式注入的受托管 plugin system blocks。
|
|
64
80
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionOptions.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionOptions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EACV,2BAA2B,EAC3B,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,cAAc,IAAI,WAAW,CAAC;IAE9B;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionOptions.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionOptions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EACV,2BAA2B,EAC3B,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,cAAc,IAAI,WAAW,CAAC;IAE9B;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC;IAEvB;;OAEG;IACH,oBAAoB,CAClB,QAAQ,EAAE,0BAA0B,GACnC,IAAI,CAAC;CACT;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,0BAA0B,EAAE,MAAM,uBAAuB,EAAE,CAAC;IAE5D;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1C,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;IAErD;;OAEG;IACH,4BAA4B,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAEvE;;OAEG;IACH,qBAAqB,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAEhE;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE,oCAAoC;IACpC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1D,mCAAmC;IACnC,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEnE,4BAA4B;IAC5B,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAEhF,4BAA4B;IAC5B,iBAAiB,EAAE,CACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,2BAA2B,KAC/B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAE1C,mCAAmC;IACnC,gBAAgB,EAAE,CAChB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,2BAA2B,KAC/B,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEpC;;OAEG;IACH,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Message 物理分段类型。
|
|
3
|
+
*
|
|
4
|
+
* Segment 保存一段连续的原始 Message,并在文件末尾保存覆盖到该段末尾的累计 Summary。
|
|
5
|
+
* Summary 只服务模型上下文,不占用 Session Message sequence。
|
|
6
|
+
*/
|
|
7
|
+
import type { SessionMessage } from "../../types/session/SessionMessage.js";
|
|
8
|
+
/** 已关闭 Segment 的累计上下文摘要。 */
|
|
9
|
+
export interface SessionSegmentSummary {
|
|
10
|
+
/** 记录类型固定为 summary,用于和原始 Message 行区分。 */
|
|
11
|
+
record_type: "summary";
|
|
12
|
+
/** 当前 Summary 所属 Session 标识。 */
|
|
13
|
+
session_id: string;
|
|
14
|
+
/** 当前 Summary 的稳定唯一标识。 */
|
|
15
|
+
summary_id: string;
|
|
16
|
+
/** 当前 Summary 已覆盖到的最后一条真实 Message sequence。 */
|
|
17
|
+
through_sequence: number;
|
|
18
|
+
/** 供下一轮模型直接使用的累计摘要文本。 */
|
|
19
|
+
text: string;
|
|
20
|
+
/** 当前 Summary 创建时间戳(ms)。 */
|
|
21
|
+
created_at: number;
|
|
22
|
+
}
|
|
23
|
+
/** 已关闭 Segment 的 sequence 范围与文件位置。 */
|
|
24
|
+
export interface SessionSegmentRange {
|
|
25
|
+
/** Segment 内第一条真实 Message sequence。 */
|
|
26
|
+
start_sequence: number;
|
|
27
|
+
/** Segment 内最后一条真实 Message sequence。 */
|
|
28
|
+
end_sequence: number;
|
|
29
|
+
/** Segment JSONL 文件的绝对路径。 */
|
|
30
|
+
file_path: string;
|
|
31
|
+
}
|
|
32
|
+
/** 从一个已关闭 Segment 读取出的完整数据。 */
|
|
33
|
+
export interface SessionSegmentSnapshot {
|
|
34
|
+
/** Segment 的 sequence 范围。 */
|
|
35
|
+
range: SessionSegmentRange;
|
|
36
|
+
/** Segment 中按 sequence 升序排列的原始 Message。 */
|
|
37
|
+
messages: SessionMessage[];
|
|
38
|
+
/** Segment 文件末尾的累计 Summary。 */
|
|
39
|
+
summary: SessionSegmentSummary;
|
|
40
|
+
}
|
|
41
|
+
/** 当前模型上下文所需的最小 Session 快照。 */
|
|
42
|
+
export interface SessionContextSnapshot {
|
|
43
|
+
/** 最新已关闭 Segment 的累计 Summary;从未 Compact 时为空。 */
|
|
44
|
+
summary: SessionSegmentSummary | null;
|
|
45
|
+
/** Active 中上次 Compact 后产生的全部真实 Message。 */
|
|
46
|
+
messages: SessionMessage[];
|
|
47
|
+
}
|
|
48
|
+
/** Session 历史存储统计。 */
|
|
49
|
+
export interface SessionMessageStorageStats {
|
|
50
|
+
/** 当前 Session 已分配的真实 Message 总数。 */
|
|
51
|
+
message_count: number;
|
|
52
|
+
/** Active 与所有 Segment 文件占用的总字节数。 */
|
|
53
|
+
history_bytes: number;
|
|
54
|
+
/** 当前最新真实 Message;空 Session 时为空。 */
|
|
55
|
+
latest_message: SessionMessage | null;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=SessionSegment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionSegment.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionSegment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE,4BAA4B;AAC5B,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,WAAW,EAAE,SAAS,CAAC;IACvB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,sCAAsC;AACtC,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,+BAA+B;AAC/B,MAAM,WAAW,sBAAsB;IACrC,6BAA6B;IAC7B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,2CAA2C;IAC3C,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,+BAA+B;IAC/B,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED,+BAA+B;AAC/B,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACtC,2CAA2C;IAC3C,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,sBAAsB;AACtB,MAAM,WAAW,0BAA0B;IACzC,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionSegment.js","sourceRoot":"","sources":["../../../src/types/session/SessionSegment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@downcity/agent",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.232",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Downcity Agent 运行时 — 单 Agent 执行壳与本机 RPC 能力",
|
|
6
6
|
"main": "./bin/index.js",
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@ai-sdk/openai-compatible": "^2.0.48",
|
|
16
|
-
"@downcity/shell": "^0.1.
|
|
17
|
-
"@downcity/type": "0.1.
|
|
16
|
+
"@downcity/shell": "^0.1.92",
|
|
17
|
+
"@downcity/type": "0.1.125",
|
|
18
18
|
"ai": "^6.0.193",
|
|
19
19
|
"commander": "^15.0.0",
|
|
20
20
|
"dotenv": "^17.4.2",
|
|
@@ -15,6 +15,7 @@ import os from "node:os";
|
|
|
15
15
|
import path from "node:path";
|
|
16
16
|
import fs from "node:fs/promises";
|
|
17
17
|
import { Agent } from "../bin/index.js";
|
|
18
|
+
import { enqueueAssistantFileParts } from "../bin/executor/SessionRunScope.js";
|
|
18
19
|
import { createAction, createPlugin } from "../bin/plugin/core/PluginActionFactory.js";
|
|
19
20
|
import { CITY_MODEL_INVOKER, CITY_MODEL_KIND } from "@downcity/type";
|
|
20
21
|
import { tool } from "ai";
|
|
@@ -257,6 +258,12 @@ test("CityModel uses direct LanguageModel path and sends tool result back", asyn
|
|
|
257
258
|
}),
|
|
258
259
|
execute: async ({ value }) => {
|
|
259
260
|
tool_executed = true;
|
|
261
|
+
enqueueAssistantFileParts([{
|
|
262
|
+
type: "file",
|
|
263
|
+
mediaType: "image/png",
|
|
264
|
+
url: ".downcity/resources/tool-output.png",
|
|
265
|
+
filename: "tool-output.png",
|
|
266
|
+
}]);
|
|
260
267
|
return { echoed: value };
|
|
261
268
|
},
|
|
262
269
|
}),
|
|
@@ -294,6 +301,31 @@ test("CityModel uses direct LanguageModel path and sends tool result back", asyn
|
|
|
294
301
|
assert.match(serialized_second_messages, /call_1/);
|
|
295
302
|
assert.match(serialized_second_messages, /echoed/);
|
|
296
303
|
assert.match(serialized_second_messages, /hello/);
|
|
304
|
+
|
|
305
|
+
const result_file = result.assistantMessage.parts.find(
|
|
306
|
+
(part) => part.type === "file",
|
|
307
|
+
);
|
|
308
|
+
assert.deepEqual(result_file, {
|
|
309
|
+
type: "file",
|
|
310
|
+
mediaType: "image/png",
|
|
311
|
+
url: ".downcity/resources/tool-output.png",
|
|
312
|
+
filename: "tool-output.png",
|
|
313
|
+
});
|
|
314
|
+
const session_messages = await session.messages({ include_internal: true });
|
|
315
|
+
const persisted_assistant = session_messages.items.find(
|
|
316
|
+
(message) => message.type === "assistant",
|
|
317
|
+
);
|
|
318
|
+
const persisted_file = persisted_assistant.parts.find(
|
|
319
|
+
(part) => part.type === "file",
|
|
320
|
+
);
|
|
321
|
+
assert.deepEqual(persisted_file, {
|
|
322
|
+
part_id: persisted_file.part_id,
|
|
323
|
+
sequence: persisted_file.sequence,
|
|
324
|
+
type: "file",
|
|
325
|
+
media_type: "image/png",
|
|
326
|
+
url: ".downcity/resources/tool-output.png",
|
|
327
|
+
filename: "tool-output.png",
|
|
328
|
+
});
|
|
297
329
|
} finally {
|
|
298
330
|
if (agent) {
|
|
299
331
|
await agent.dispose();
|