@downcity/plugins 1.0.174 → 1.0.193
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/BuiltinPlugins.d.ts +4 -9
- package/bin/BuiltinPlugins.d.ts.map +1 -1
- package/bin/BuiltinPlugins.js +4 -8
- package/bin/BuiltinPlugins.js.map +1 -1
- package/bin/chat/Action.d.ts +8 -2
- package/bin/chat/Action.d.ts.map +1 -1
- package/bin/chat/Action.js +9 -5
- package/bin/chat/Action.js.map +1 -1
- package/bin/chat/ChatPlugin.d.ts +2 -22
- package/bin/chat/ChatPlugin.d.ts.map +1 -1
- package/bin/chat/ChatPlugin.js +2 -21
- package/bin/chat/ChatPlugin.js.map +1 -1
- package/bin/chat/Index.d.ts +1 -1
- package/bin/chat/Index.d.ts.map +1 -1
- package/bin/chat/channels/BaseChatChannel.js +1 -1
- package/bin/chat/channels/BaseChatChannel.js.map +1 -1
- package/bin/chat/channels/Configuration.d.ts +1 -1
- package/bin/chat/channels/Configuration.js +1 -1
- package/bin/chat/channels/RuntimeChannel.d.ts +2 -3
- package/bin/chat/channels/RuntimeChannel.d.ts.map +1 -1
- package/bin/chat/channels/RuntimeChannel.js +0 -8
- package/bin/chat/channels/RuntimeChannel.js.map +1 -1
- package/bin/chat/channels/feishu/Feishu.d.ts.map +1 -1
- package/bin/chat/channels/feishu/Feishu.js +2 -1
- package/bin/chat/channels/feishu/Feishu.js.map +1 -1
- package/bin/chat/runtime/ChannelContextStore.d.ts.map +1 -1
- package/bin/chat/runtime/ChannelContextStore.js +13 -12
- package/bin/chat/runtime/ChannelContextStore.js.map +1 -1
- package/bin/chat/runtime/ChatActionExecution.d.ts +26 -1
- package/bin/chat/runtime/ChatActionExecution.d.ts.map +1 -1
- package/bin/chat/runtime/ChatActionExecution.js +31 -3
- package/bin/chat/runtime/ChatActionExecution.js.map +1 -1
- package/bin/chat/runtime/ChatActionInput.d.ts +1 -2
- package/bin/chat/runtime/ChatActionInput.d.ts.map +1 -1
- package/bin/chat/runtime/ChatActionInput.js +1 -27
- package/bin/chat/runtime/ChatActionInput.js.map +1 -1
- package/bin/chat/runtime/ChatChannelActions.d.ts +2 -66
- package/bin/chat/runtime/ChatChannelActions.d.ts.map +1 -1
- package/bin/chat/runtime/ChatChannelActions.js +3 -195
- package/bin/chat/runtime/ChatChannelActions.js.map +1 -1
- package/bin/chat/runtime/ChatChannelConfig.d.ts +2 -23
- package/bin/chat/runtime/ChatChannelConfig.d.ts.map +1 -1
- package/bin/chat/runtime/ChatChannelConfig.js +3 -116
- package/bin/chat/runtime/ChatChannelConfig.js.map +1 -1
- package/bin/chat/runtime/ChatChannelCore.d.ts +0 -14
- package/bin/chat/runtime/ChatChannelCore.d.ts.map +1 -1
- package/bin/chat/runtime/ChatChannelCore.js +1 -1
- package/bin/chat/runtime/ChatChannelCore.js.map +1 -1
- package/bin/chat/runtime/ChatChannelFacade.d.ts +1 -1
- package/bin/chat/runtime/ChatChannelFacade.d.ts.map +1 -1
- package/bin/chat/runtime/ChatChannelFacade.js +1 -1
- package/bin/chat/runtime/ChatChannelFacade.js.map +1 -1
- package/bin/chat/runtime/ChatHistoryStore.d.ts.map +1 -1
- package/bin/chat/runtime/ChatHistoryStore.js +4 -3
- package/bin/chat/runtime/ChatHistoryStore.js.map +1 -1
- package/bin/chat/runtime/ChatPluginActionRegistry.d.ts.map +1 -1
- package/bin/chat/runtime/ChatPluginActionRegistry.js +27 -89
- package/bin/chat/runtime/ChatPluginActionRegistry.js.map +1 -1
- package/bin/chat/runtime/ChatPluginSystem.d.ts +3 -2
- package/bin/chat/runtime/ChatPluginSystem.d.ts.map +1 -1
- package/bin/chat/runtime/ChatPluginSystem.js +5 -5
- package/bin/chat/runtime/ChatPluginSystem.js.map +1 -1
- package/bin/chat/runtime/ChatQueueStore.d.ts +1 -1
- package/bin/chat/runtime/ChatQueueStore.js +2 -2
- package/bin/chat/runtime/ChatQueueStore.js.map +1 -1
- package/bin/chat/runtime/ChatQueueWorker.js +1 -1
- package/bin/chat/runtime/ChatQueueWorker.js.map +1 -1
- package/bin/chat/runtime/ChatSessionDelete.d.ts.map +1 -1
- package/bin/chat/runtime/ChatSessionDelete.js +11 -20
- package/bin/chat/runtime/ChatSessionDelete.js.map +1 -1
- package/bin/chat/runtime/ChatStorage.d.ts +32 -0
- package/bin/chat/runtime/ChatStorage.d.ts.map +1 -0
- package/bin/chat/runtime/ChatStorage.js +158 -0
- package/bin/chat/runtime/ChatStorage.js.map +1 -0
- package/bin/chat/runtime/SystemPrompt.d.ts +3 -2
- package/bin/chat/runtime/SystemPrompt.d.ts.map +1 -1
- package/bin/chat/runtime/SystemPrompt.js +4 -5
- package/bin/chat/runtime/SystemPrompt.js.map +1 -1
- package/bin/chat/types/ChannelConfiguration.d.ts +2 -2
- package/bin/chat/types/ChatPluginActionPayload.d.ts +7 -45
- package/bin/chat/types/ChatPluginActionPayload.d.ts.map +1 -1
- package/bin/chat/types/ChatPluginOptions.d.ts +0 -21
- package/bin/chat/types/ChatPluginOptions.d.ts.map +1 -1
- package/bin/chat/types/ChatStorage.d.ts +36 -0
- package/bin/chat/types/ChatStorage.d.ts.map +1 -0
- package/bin/chat/types/ChatStorage.js +9 -0
- package/bin/chat/types/ChatStorage.js.map +1 -0
- package/bin/contact/Action.d.ts +3 -2
- package/bin/contact/Action.d.ts.map +1 -1
- package/bin/contact/Action.js +2 -2
- package/bin/contact/Action.js.map +1 -1
- package/bin/contact/ContactPlugin.d.ts.map +1 -1
- package/bin/contact/ContactPlugin.js +17 -14
- package/bin/contact/ContactPlugin.js.map +1 -1
- package/bin/contact/runtime/ChatRuntime.js +1 -1
- package/bin/contact/runtime/ChatRuntime.js.map +1 -1
- package/bin/contact/types/ContactPluginOptions.d.ts +4 -0
- package/bin/contact/types/ContactPluginOptions.d.ts.map +1 -1
- package/bin/index.d.ts +5 -5
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +2 -2
- package/bin/index.js.map +1 -1
- package/bin/memory/Action.d.ts.map +1 -1
- package/bin/memory/Action.js +16 -4
- package/bin/memory/Action.js.map +1 -1
- package/bin/memory/runtime/Store.d.ts.map +1 -1
- package/bin/memory/runtime/Store.js +0 -22
- package/bin/memory/runtime/Store.js.map +1 -1
- package/bin/memory/runtime/Writer.d.ts +1 -1
- package/bin/memory/runtime/Writer.d.ts.map +1 -1
- package/bin/memory/runtime/Writer.js +2 -4
- package/bin/memory/runtime/Writer.js.map +1 -1
- package/bin/skill/Command.d.ts +3 -11
- package/bin/skill/Command.d.ts.map +1 -1
- package/bin/skill/Command.js +3 -31
- package/bin/skill/Command.js.map +1 -1
- package/bin/skill/PROMPT.d.ts +1 -1
- package/bin/skill/PROMPT.d.ts.map +1 -1
- package/bin/skill/PROMPT.js +1 -1
- package/bin/skill/PROMPT.js.map +1 -1
- package/bin/skill/Plugin.d.ts +3 -2
- package/bin/skill/Plugin.d.ts.map +1 -1
- package/bin/skill/Plugin.js +37 -129
- package/bin/skill/Plugin.js.map +1 -1
- package/bin/skill/runtime/Prompt.d.ts +11 -2
- package/bin/skill/runtime/Prompt.d.ts.map +1 -1
- package/bin/skill/runtime/Prompt.js +93 -8
- package/bin/skill/runtime/Prompt.js.map +1 -1
- package/bin/skill/runtime/SystemProvider.d.ts +2 -1
- package/bin/skill/runtime/SystemProvider.d.ts.map +1 -1
- package/bin/skill/runtime/SystemProvider.js +4 -9
- package/bin/skill/runtime/SystemProvider.js.map +1 -1
- package/bin/skill/types/SkillPlugin.d.ts +6 -18
- package/bin/skill/types/SkillPlugin.d.ts.map +1 -1
- package/bin/skill/types/SkillPlugin.js +2 -2
- package/bin/sound/Plugin.d.ts +69 -0
- package/bin/sound/Plugin.d.ts.map +1 -0
- package/bin/sound/Plugin.js +623 -0
- package/bin/sound/Plugin.js.map +1 -0
- package/bin/sound/types/SoundPlugin.d.ts +150 -0
- package/bin/sound/types/SoundPlugin.d.ts.map +1 -0
- package/bin/sound/types/SoundPlugin.js +10 -0
- package/bin/sound/types/SoundPlugin.js.map +1 -0
- package/bin/task/Action.d.ts +2 -0
- package/bin/task/Action.d.ts.map +1 -1
- package/bin/task/Action.js +6 -0
- package/bin/task/Action.js.map +1 -1
- package/bin/task/runtime/Runner.d.ts +4 -0
- package/bin/task/runtime/Runner.d.ts.map +1 -1
- package/bin/task/runtime/Runner.js +15 -11
- package/bin/task/runtime/Runner.js.map +1 -1
- package/bin/task/runtime/TaskActionExecution.d.ts +2 -0
- package/bin/task/runtime/TaskActionExecution.d.ts.map +1 -1
- package/bin/task/runtime/TaskActionExecution.js +1 -0
- package/bin/task/runtime/TaskActionExecution.js.map +1 -1
- package/bin/task/runtime/TaskPluginActionRegistry.d.ts.map +1 -1
- package/bin/task/runtime/TaskPluginActionRegistry.js +1 -0
- package/bin/task/runtime/TaskPluginActionRegistry.js.map +1 -1
- package/bin/task/runtime/TaskRunChatDispatch.js +1 -1
- package/bin/task/runtime/TaskRunChatDispatch.js.map +1 -1
- package/bin/task/runtime/TaskRunnerRound.d.ts.map +1 -1
- package/bin/task/runtime/TaskRunnerRound.js +19 -26
- package/bin/task/runtime/TaskRunnerRound.js.map +1 -1
- package/bin/task/runtime/TaskRunnerSession.d.ts +6 -2
- package/bin/task/runtime/TaskRunnerSession.d.ts.map +1 -1
- package/bin/task/runtime/TaskRunnerSession.js +93 -72
- package/bin/task/runtime/TaskRunnerSession.js.map +1 -1
- package/bin/task/runtime/TaskRunnerTypes.d.ts +4 -4
- package/bin/task/runtime/TaskRunnerTypes.d.ts.map +1 -1
- package/bin/task/types/TaskPluginOptions.d.ts.map +1 -1
- package/bin/web/PROMPT.d.ts +1 -1
- package/bin/web/PROMPT.d.ts.map +1 -1
- package/bin/web/PROMPT.js +2 -2
- package/bin/web/PROMPT.js.map +1 -1
- package/bin/web/Plugin.d.ts +1 -21
- package/bin/web/Plugin.d.ts.map +1 -1
- package/bin/web/Plugin.js +14 -79
- package/bin/web/Plugin.js.map +1 -1
- package/bin/web/runtime/Prompt.d.ts +14 -0
- package/bin/web/runtime/Prompt.d.ts.map +1 -0
- package/bin/web/runtime/Prompt.js +77 -0
- package/bin/web/runtime/Prompt.js.map +1 -0
- package/bin/web/types/WebPlugin.d.ts +40 -29
- package/bin/web/types/WebPlugin.d.ts.map +1 -1
- package/bin/web/types/WebPlugin.js +11 -3
- package/bin/web/types/WebPlugin.js.map +1 -1
- package/bin/workboard/runtime/Collector.js +1 -1
- package/bin/workboard/runtime/Collector.js.map +1 -1
- package/bin/workboard/runtime/Normalizer.js +1 -1
- package/bin/workboard/runtime/Normalizer.js.map +1 -1
- package/bin/workboard/runtime/SessionSummary.d.ts.map +1 -1
- package/bin/workboard/runtime/SessionSummary.js +11 -38
- package/bin/workboard/runtime/SessionSummary.js.map +1 -1
- package/package.json +8 -4
- package/scripts/chat-access.test.mjs +1 -1
- package/scripts/chat-channel-config.test.mjs +15 -64
- package/scripts/chat-storage.test.mjs +92 -0
- package/scripts/skill-plugin.test.mjs +93 -0
- package/scripts/sound-plugin.test.mjs +250 -0
- package/scripts/web-plugin.test.mjs +85 -0
- package/src/BuiltinPlugins.ts +7 -17
- package/src/chat/Action.ts +16 -5
- package/src/chat/ChatPlugin.ts +6 -35
- package/src/chat/Index.ts +0 -1
- package/src/chat/channels/BaseChatChannel.ts +1 -1
- package/src/chat/channels/Configuration.ts +1 -1
- package/src/chat/channels/RuntimeChannel.ts +2 -14
- package/src/chat/channels/feishu/Feishu.ts +2 -1
- package/src/chat/runtime/ChannelContextStore.ts +16 -12
- package/src/chat/runtime/ChatActionExecution.ts +48 -3
- package/src/chat/runtime/ChatActionInput.ts +0 -31
- package/src/chat/runtime/ChatChannelActions.ts +3 -254
- package/src/chat/runtime/ChatChannelConfig.ts +4 -133
- package/src/chat/runtime/ChatChannelCore.ts +1 -15
- package/src/chat/runtime/ChatChannelFacade.ts +0 -4
- package/src/chat/runtime/ChatHistoryStore.ts +4 -3
- package/src/chat/runtime/ChatPluginActionRegistry.ts +26 -98
- package/src/chat/runtime/ChatPluginSystem.ts +9 -3
- package/src/chat/runtime/ChatQueueStore.ts +2 -2
- package/src/chat/runtime/ChatQueueWorker.ts +1 -1
- package/src/chat/runtime/ChatSessionDelete.ts +11 -21
- package/src/chat/runtime/ChatStorage.ts +203 -0
- package/src/chat/runtime/SystemPrompt.ts +8 -3
- package/src/chat/types/ChannelConfiguration.ts +2 -2
- package/src/chat/types/ChatPluginActionPayload.ts +8 -49
- package/src/chat/types/ChatPluginOptions.ts +0 -22
- package/src/chat/types/ChatStorage.ts +37 -0
- package/src/contact/Action.ts +9 -1
- package/src/contact/ContactPlugin.ts +38 -14
- package/src/contact/runtime/ChatRuntime.ts +1 -1
- package/src/contact/types/ContactPluginOptions.ts +6 -0
- package/src/index.ts +16 -14
- package/src/memory/Action.ts +19 -4
- package/src/memory/runtime/Store.ts +0 -27
- package/src/memory/runtime/Writer.ts +2 -5
- package/src/skill/Command.ts +3 -33
- package/src/skill/PROMPT.ts +1 -1
- package/src/skill/PROMPT.ts.txt +5 -1
- package/src/skill/Plugin.ts +49 -156
- package/src/skill/runtime/Prompt.ts +109 -9
- package/src/skill/runtime/SystemProvider.ts +5 -9
- package/src/skill/types/SkillPlugin.ts +6 -18
- package/src/sound/Plugin.ts +699 -0
- package/src/sound/types/SoundPlugin.ts +163 -0
- package/src/task/Action.ts +8 -0
- package/src/task/runtime/Runner.ts +19 -13
- package/src/task/runtime/TaskActionExecution.ts +3 -0
- package/src/task/runtime/TaskPluginActionRegistry.ts +1 -0
- package/src/task/runtime/TaskRunChatDispatch.ts +1 -1
- package/src/task/runtime/TaskRunnerRound.ts +20 -38
- package/src/task/runtime/TaskRunnerSession.ts +108 -72
- package/src/task/runtime/TaskRunnerTypes.ts +4 -4
- package/src/task/types/TaskPluginOptions.ts +1 -0
- package/src/web/PROMPT.ts +2 -2
- package/src/web/PROMPT.ts.txt +4 -2
- package/src/web/Plugin.ts +20 -90
- package/src/web/runtime/Prompt.ts +99 -0
- package/src/web/types/WebPlugin.ts +42 -29
- package/src/workboard/runtime/Collector.ts +1 -1
- package/src/workboard/runtime/Normalizer.ts +1 -1
- package/src/workboard/runtime/SessionSummary.ts +11 -42
- package/bin/asr/Plugin.d.ts +0 -63
- package/bin/asr/Plugin.d.ts.map +0 -1
- package/bin/asr/Plugin.js +0 -280
- package/bin/asr/Plugin.js.map +0 -1
- package/bin/asr/types/AsrPlugin.d.ts +0 -114
- package/bin/asr/types/AsrPlugin.d.ts.map +0 -1
- package/bin/asr/types/AsrPlugin.js +0 -10
- package/bin/asr/types/AsrPlugin.js.map +0 -1
- package/bin/chat/runtime/ChatSession.d.ts +0 -97
- package/bin/chat/runtime/ChatSession.d.ts.map +0 -1
- package/bin/chat/runtime/ChatSession.js +0 -91
- package/bin/chat/runtime/ChatSession.js.map +0 -1
- package/bin/chat/runtime/ChatSessionContextComposer.d.ts +0 -45
- package/bin/chat/runtime/ChatSessionContextComposer.d.ts.map +0 -1
- package/bin/chat/runtime/ChatSessionContextComposer.js +0 -60
- package/bin/chat/runtime/ChatSessionContextComposer.js.map +0 -1
- package/bin/chat/runtime/ChatSessionTypes.d.ts +0 -30
- package/bin/chat/runtime/ChatSessionTypes.d.ts.map +0 -1
- package/bin/chat/runtime/ChatSessionTypes.js +0 -9
- package/bin/chat/runtime/ChatSessionTypes.js.map +0 -1
- package/bin/tts/Plugin.d.ts +0 -49
- package/bin/tts/Plugin.d.ts.map +0 -1
- package/bin/tts/Plugin.js +0 -247
- package/bin/tts/Plugin.js.map +0 -1
- package/bin/tts/types/TtsPlugin.d.ts +0 -122
- package/bin/tts/types/TtsPlugin.d.ts.map +0 -1
- package/bin/tts/types/TtsPlugin.js +0 -10
- package/bin/tts/types/TtsPlugin.js.map +0 -1
- package/bin/web/runtime/Install.d.ts +0 -19
- package/bin/web/runtime/Install.d.ts.map +0 -1
- package/bin/web/runtime/Install.js +0 -178
- package/bin/web/runtime/Install.js.map +0 -1
- package/src/asr/Plugin.ts +0 -322
- package/src/asr/types/AsrPlugin.ts +0 -118
- package/src/chat/runtime/ChatSession.ts +0 -168
- package/src/chat/runtime/ChatSessionContextComposer.ts +0 -106
- package/src/chat/runtime/ChatSessionTypes.ts +0 -32
- package/src/tts/Plugin.ts +0 -284
- package/src/tts/types/TtsPlugin.ts +0 -129
- package/src/web/runtime/Install.ts +0 -241
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
import path from "node:path";
|
|
9
9
|
import fs from "fs-extra";
|
|
10
10
|
import { runSandboxCommand } from "@downcity/shell/sandbox/SandboxRunner.js";
|
|
11
|
-
import { withShellRunScope } from "@downcity/shell";
|
|
12
|
-
import { withSessionRunScope } from "@downcity/agent";
|
|
13
11
|
import { appendTaskRoundUserMessage } from "./TaskRunnerSession.js";
|
|
14
12
|
function stripTaskSecretEnv(env) {
|
|
15
13
|
delete env.DC_AUTH_TOKEN;
|
|
@@ -200,15 +198,12 @@ export async function runAgentRound(params) {
|
|
|
200
198
|
catch {
|
|
201
199
|
// ignore
|
|
202
200
|
}
|
|
203
|
-
const result = await
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
run_context: {
|
|
207
|
-
session_id: params.sessionId,
|
|
208
|
-
},
|
|
209
|
-
}, () => params.taskSessionRuntime.getExecutor(params.sessionId).run({
|
|
201
|
+
const result = await params.taskSessionRuntime
|
|
202
|
+
.getExecutor(params.sessionId)
|
|
203
|
+
.run({
|
|
210
204
|
query: params.query,
|
|
211
|
-
|
|
205
|
+
runContext: create_task_run_context(params.sessionId),
|
|
206
|
+
});
|
|
212
207
|
const outputPick = pickAgentOutput(result.assistantMessage);
|
|
213
208
|
if (!result.success) {
|
|
214
209
|
const reason = outputPick.text || "agent run returned success=false";
|
|
@@ -232,22 +227,20 @@ export async function runScriptTask(params) {
|
|
|
232
227
|
throw new Error("script task body cannot be empty");
|
|
233
228
|
const scriptAbs = path.join(params.runDirAbs, "task-script.sh");
|
|
234
229
|
await fs.writeFile(scriptAbs, body.endsWith("\n") ? body : `${body}\n`, "utf-8");
|
|
235
|
-
const
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
baseEnv: childEnv,
|
|
250
|
-
});
|
|
230
|
+
const childEnv = {
|
|
231
|
+
...process.env,
|
|
232
|
+
DC_SESSION_ID: params.sessionId,
|
|
233
|
+
};
|
|
234
|
+
stripTaskSecretEnv(childEnv);
|
|
235
|
+
const execResult = await runSandboxCommand({
|
|
236
|
+
context: params.context,
|
|
237
|
+
executionId: `task-script:${params.sessionId}`,
|
|
238
|
+
executionDir: params.runDirAbs,
|
|
239
|
+
cmd: `sh "${scriptAbs.replace(/(["\\$`])/g, "\\$1")}"`,
|
|
240
|
+
cwd: params.runDirAbs,
|
|
241
|
+
shellPath: "/bin/sh",
|
|
242
|
+
login: false,
|
|
243
|
+
baseEnv: childEnv,
|
|
251
244
|
});
|
|
252
245
|
const stdout = String(execResult.stdout || "").trim();
|
|
253
246
|
const stderr = String(execResult.stderr || "").trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRunnerRound.js","sourceRoot":"","sources":["../../../src/task/runtime/TaskRunnerRound.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskRunnerRound.js","sourceRoot":"","sources":["../../../src/task/runtime/TaskRunnerRound.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* TaskRunnerSession:task runner 的 session 装配模块。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* - 负责构建 task 专用 Executor /
|
|
6
|
-
* - 负责把每轮 user/assistant 消息写入 run 目录对应的
|
|
5
|
+
* - 负责构建 task 专用 Executor / SessionMessages 运行时。
|
|
6
|
+
* - 负责把每轮 user/assistant 消息写入 run 目录对应的 canonical Message Store。
|
|
7
7
|
* - 这些能力与任务编排逻辑解耦后,task 主流程会更聚焦于状态流转。
|
|
8
8
|
* - 当前只有 api 执行模式。
|
|
9
9
|
*/
|
|
@@ -35,6 +35,10 @@ export declare function createTaskSessionRuntimePort(params: {
|
|
|
35
35
|
runDirAbs: string;
|
|
36
36
|
runSessionId: string;
|
|
37
37
|
userSimulatorSessionId: string;
|
|
38
|
+
/** 当前 task 显式继承的 Agent env 快照。 */
|
|
39
|
+
agent_env?: Readonly<Record<string, string>>;
|
|
40
|
+
/** 当前 task 显式继承的 Agent instruction 快照。 */
|
|
41
|
+
agent_systems?: readonly string[];
|
|
38
42
|
}): TaskSessionRuntimePort;
|
|
39
43
|
/**
|
|
40
44
|
* 把 task session 的 assistant 消息落盘到对应 run context history Store。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRunnerSession.d.ts","sourceRoot":"","sources":["../../../src/task/runtime/TaskRunnerSession.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAQ,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskRunnerSession.d.ts","sourceRoot":"","sources":["../../../src/task/runtime/TaskRunnerSession.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAQ,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAchF;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAehB;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kCAAkC;IAClC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,0CAA0C;IAC1C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,GAAG,sBAAsB,CAsIzB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,gBAAgB,CAAC;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB"}
|
|
@@ -2,18 +2,14 @@
|
|
|
2
2
|
* TaskRunnerSession:task runner 的 session 装配模块。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* - 负责构建 task 专用 Executor /
|
|
6
|
-
* - 负责把每轮 user/assistant 消息写入 run 目录对应的
|
|
5
|
+
* - 负责构建 task 专用 Executor / SessionMessages 运行时。
|
|
6
|
+
* - 负责把每轮 user/assistant 消息写入 run 目录对应的 canonical Message Store。
|
|
7
7
|
* - 这些能力与任务编排逻辑解耦后,task 主流程会更聚焦于状态流转。
|
|
8
8
|
* - 当前只有 api 执行模式。
|
|
9
9
|
*/
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
import { Executor } from "@downcity/agent";
|
|
12
|
-
import {
|
|
13
|
-
import { JsonlSessionHistoryComposer } from "@downcity/agent";
|
|
14
|
-
import { JsonlSessionHistoryStore } from "@downcity/agent";
|
|
15
|
-
import { JsonlSessionCompactionComposer } from "@downcity/agent";
|
|
16
|
-
import { LocalSessionContextComposer } from "@downcity/agent";
|
|
12
|
+
import { DefaultSessionComposer, JsonlSessionMessageStore, SessionMessages, } from "@downcity/agent";
|
|
17
13
|
import { DefaultSessionSystemComposer } from "@downcity/agent";
|
|
18
14
|
import { Shell } from "@downcity/shell";
|
|
19
15
|
/**
|
|
@@ -23,18 +19,17 @@ export async function appendTaskRoundUserMessage(params) {
|
|
|
23
19
|
const text = String(params.query || "").trim();
|
|
24
20
|
if (!text)
|
|
25
21
|
return;
|
|
26
|
-
const
|
|
27
|
-
await
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
}));
|
|
22
|
+
const messages = params.taskSessionRuntime.get_messages(params.sessionId);
|
|
23
|
+
await messages.append_user_message({
|
|
24
|
+
turn_id: `task:${params.taskId}:${params.actorId}:${Date.now()}`,
|
|
25
|
+
input_type: "prompt",
|
|
26
|
+
parts: [{
|
|
27
|
+
part_id: `task-user:${Date.now()}`,
|
|
28
|
+
type: "text",
|
|
29
|
+
text,
|
|
30
|
+
state: "done",
|
|
31
|
+
}],
|
|
32
|
+
});
|
|
38
33
|
}
|
|
39
34
|
/**
|
|
40
35
|
* 构建 task 专用 Session 运行时(独立于普通 Session 实例缓存)。
|
|
@@ -45,27 +40,32 @@ export async function appendTaskRoundUserMessage(params) {
|
|
|
45
40
|
*/
|
|
46
41
|
export function createTaskSessionRuntimePort(params) {
|
|
47
42
|
const { context, model, runDirAbs, runSessionId, userSimulatorSessionId, } = params;
|
|
48
|
-
const
|
|
43
|
+
const effective_env = params.agent_env
|
|
44
|
+
? { ...params.agent_env }
|
|
45
|
+
: { ...context.env };
|
|
46
|
+
const effective_systems = params.agent_systems
|
|
47
|
+
? [...params.agent_systems]
|
|
48
|
+
: [...context.systems];
|
|
49
49
|
const systemComposer = new DefaultSessionSystemComposer({
|
|
50
50
|
projectRoot: context.rootPath,
|
|
51
|
-
getStaticSystemPrompts: () =>
|
|
51
|
+
getStaticSystemPrompts: () => [...effective_systems],
|
|
52
52
|
getContext: () => context,
|
|
53
53
|
profile: "task",
|
|
54
54
|
});
|
|
55
|
-
const
|
|
56
|
-
const
|
|
55
|
+
const messages_by_session_id = new Map();
|
|
56
|
+
const created_at_by_session_id = new Map();
|
|
57
57
|
const runtimesBySessionId = new Map();
|
|
58
58
|
const shell = new Shell({
|
|
59
59
|
root_path: context.rootPath,
|
|
60
|
-
env:
|
|
60
|
+
env: effective_env,
|
|
61
61
|
logger: context.logger,
|
|
62
62
|
});
|
|
63
63
|
const shell_tools = shell.tools;
|
|
64
|
-
const
|
|
65
|
-
const existing =
|
|
64
|
+
const resolve_task_messages = (session_id) => {
|
|
65
|
+
const existing = messages_by_session_id.get(session_id);
|
|
66
66
|
if (existing)
|
|
67
67
|
return existing;
|
|
68
|
-
const key = String(
|
|
68
|
+
const key = String(session_id || "").trim();
|
|
69
69
|
if (!key) {
|
|
70
70
|
throw new Error("TaskSessionRuntimePort requires a non-empty sessionId");
|
|
71
71
|
}
|
|
@@ -74,38 +74,40 @@ export function createTaskSessionRuntimePort(params) {
|
|
|
74
74
|
: key === userSimulatorSessionId
|
|
75
75
|
? path.join(runDirAbs, "user-simulator")
|
|
76
76
|
: undefined;
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
metaFilePath: path.join(runMessagesDirPath, "meta.json"),
|
|
87
|
-
archiveDirPath: path.join(runMessagesDirPath, "archive"),
|
|
88
|
-
},
|
|
89
|
-
}
|
|
90
|
-
: {}),
|
|
91
|
-
});
|
|
92
|
-
historyStoresBySessionId.set(key, created);
|
|
93
|
-
return created;
|
|
94
|
-
};
|
|
95
|
-
const resolveTaskHistoryComposer = (sessionId) => {
|
|
96
|
-
const key = String(sessionId || "").trim();
|
|
97
|
-
const existing = historyComposersBySessionId.get(key);
|
|
98
|
-
if (existing)
|
|
99
|
-
return existing;
|
|
100
|
-
const created = new JsonlSessionHistoryComposer({
|
|
101
|
-
store: resolveTaskHistoryStore(key),
|
|
77
|
+
const messages_dir_path = runMessagesDirPath || path.join(runDirAbs, key);
|
|
78
|
+
const created = new SessionMessages({
|
|
79
|
+
session_id: key,
|
|
80
|
+
store: new JsonlSessionMessageStore({
|
|
81
|
+
session_id: key,
|
|
82
|
+
file_path: path.join(messages_dir_path, "active.jsonl"),
|
|
83
|
+
assistant_message_file_path: path.join(messages_dir_path, "assistant_message.json"),
|
|
84
|
+
}),
|
|
85
|
+
publish: () => { },
|
|
102
86
|
});
|
|
103
|
-
|
|
87
|
+
messages_by_session_id.set(key, created);
|
|
88
|
+
created_at_by_session_id.set(key, Date.now());
|
|
104
89
|
return created;
|
|
105
90
|
};
|
|
91
|
+
class TaskSessionComposer extends DefaultSessionComposer {
|
|
92
|
+
async compose(input) {
|
|
93
|
+
const composed = await super.compose(input);
|
|
94
|
+
return {
|
|
95
|
+
...composed,
|
|
96
|
+
system: await systemComposer.resolve({
|
|
97
|
+
sessionId: input.session.session_id,
|
|
98
|
+
agentEnv: input.state.env,
|
|
99
|
+
agentSystems: input.state.systems,
|
|
100
|
+
injectedUserMessages: [],
|
|
101
|
+
deferredPersistedUserMessages: [],
|
|
102
|
+
pendingAssistantFileParts: [],
|
|
103
|
+
}),
|
|
104
|
+
system_blocks: undefined,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
106
108
|
return {
|
|
107
|
-
|
|
108
|
-
return
|
|
109
|
+
get_messages(session_id) {
|
|
110
|
+
return resolve_task_messages(session_id);
|
|
109
111
|
},
|
|
110
112
|
getExecutor(sessionId) {
|
|
111
113
|
const key = String(sessionId || "").trim();
|
|
@@ -115,23 +117,42 @@ export function createTaskSessionRuntimePort(params) {
|
|
|
115
117
|
const existing = runtimesBySessionId.get(key);
|
|
116
118
|
if (existing)
|
|
117
119
|
return existing;
|
|
118
|
-
const
|
|
119
|
-
const
|
|
120
|
-
const contextComposer = new LocalSessionContextComposer({
|
|
121
|
-
sessionId: key,
|
|
122
|
-
getTools: () => shell_tools,
|
|
123
|
-
});
|
|
120
|
+
const messages = resolve_task_messages(key);
|
|
121
|
+
const composer = new TaskSessionComposer();
|
|
124
122
|
const created = new Executor({
|
|
125
123
|
sessionId: key,
|
|
124
|
+
composer,
|
|
125
|
+
get_compose_input: async (run_context, retry_count) => ({
|
|
126
|
+
session: {
|
|
127
|
+
agent_id: "task",
|
|
128
|
+
session_id: key,
|
|
129
|
+
project_root: context.rootPath,
|
|
130
|
+
created_at: created_at_by_session_id.get(key) || Date.now(),
|
|
131
|
+
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC",
|
|
132
|
+
},
|
|
133
|
+
state: {
|
|
134
|
+
model,
|
|
135
|
+
env: effective_env,
|
|
136
|
+
systems: effective_systems,
|
|
137
|
+
tools: shell_tools,
|
|
138
|
+
instruction_system_blocks: [],
|
|
139
|
+
managed_plugin_system_blocks: [],
|
|
140
|
+
plugin_system_blocks: [],
|
|
141
|
+
},
|
|
142
|
+
history: await messages.context_snapshot(),
|
|
143
|
+
turn: {
|
|
144
|
+
...(run_context.turnId ? { turn_id: run_context.turnId } : {}),
|
|
145
|
+
retry_count,
|
|
146
|
+
},
|
|
147
|
+
}),
|
|
148
|
+
commit_compaction: async (plan) => {
|
|
149
|
+
await messages.compact_active({
|
|
150
|
+
through_sequence: plan.through_sequence,
|
|
151
|
+
summary: plan.summary,
|
|
152
|
+
});
|
|
153
|
+
},
|
|
126
154
|
getModel: () => model,
|
|
127
155
|
logger: context.logger,
|
|
128
|
-
historyStore,
|
|
129
|
-
historyComposer,
|
|
130
|
-
compactionComposer,
|
|
131
|
-
contextComposer,
|
|
132
|
-
systemComposer,
|
|
133
|
-
getTools: () => shell_tools,
|
|
134
|
-
getEnv: () => ({ ...context.env }),
|
|
135
156
|
});
|
|
136
157
|
runtimesBySessionId.set(key, created);
|
|
137
158
|
return created;
|
|
@@ -143,13 +164,13 @@ export function createTaskSessionRuntimePort(params) {
|
|
|
143
164
|
*/
|
|
144
165
|
export async function appendTaskAssistantMessage(params) {
|
|
145
166
|
const { taskSessionRuntime, sessionId, rawResult } = params;
|
|
146
|
-
const
|
|
167
|
+
const messages = taskSessionRuntime.get_messages(sessionId);
|
|
147
168
|
if (rawResult.assistantMessage) {
|
|
148
|
-
await
|
|
169
|
+
await messages.append_record(rawResult.assistantMessage);
|
|
149
170
|
}
|
|
150
|
-
const deferredUserMessages =
|
|
171
|
+
const deferredUserMessages = rawResult.deferredPersistedUserMessages || [];
|
|
151
172
|
for (const deferred of deferredUserMessages) {
|
|
152
|
-
await
|
|
173
|
+
await messages.append_record(deferred);
|
|
153
174
|
}
|
|
154
175
|
}
|
|
155
176
|
//# sourceMappingURL=TaskRunnerSession.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRunnerSession.js","sourceRoot":"","sources":["../../../src/task/runtime/TaskRunnerSession.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,
|
|
1
|
+
{"version":3,"file":"TaskRunnerSession.js","sourceRoot":"","sources":["../../../src/task/runtime/TaskRunnerSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* - 这里集中声明 task runner 在拆分后跨模块共享的内部类型。
|
|
6
6
|
* - 这些类型服务于 task 运行链路,统一归档到 `src/types/task/`。
|
|
7
7
|
*/
|
|
8
|
-
import type {
|
|
8
|
+
import type { SessionMessages } from "@downcity/agent";
|
|
9
9
|
import type { SessionExecutor } from "@downcity/agent";
|
|
10
10
|
import type { ShipTaskRunExecutionStatusV1, ShipTaskRunProgressPhaseV1, ShipTaskRunProgressStatusV1, ShipTaskRunResultStatusV1, ShipTaskRunStatusV1 } from "../../task/types/Task.js";
|
|
11
11
|
/**
|
|
@@ -158,7 +158,7 @@ export type ScriptExecutionResult = {
|
|
|
158
158
|
*
|
|
159
159
|
* 关键点(中文)
|
|
160
160
|
* - task runner 不直接依赖具体 SDK `Session` 实现。
|
|
161
|
-
* - 这里暴露的是 task 场景最小可用端口:执行器 +
|
|
161
|
+
* - 这里暴露的是 task 场景最小可用端口:执行器 + canonical Messages。
|
|
162
162
|
*/
|
|
163
163
|
export type TaskSessionRuntimePort = {
|
|
164
164
|
/**
|
|
@@ -166,9 +166,9 @@ export type TaskSessionRuntimePort = {
|
|
|
166
166
|
*/
|
|
167
167
|
getExecutor(sessionId: string): SessionExecutor;
|
|
168
168
|
/**
|
|
169
|
-
* 获取指定 sessionId 对应的
|
|
169
|
+
* 获取指定 sessionId 对应的 canonical Session Messages。
|
|
170
170
|
*/
|
|
171
|
-
|
|
171
|
+
get_messages(session_id: string): SessionMessages;
|
|
172
172
|
};
|
|
173
173
|
/**
|
|
174
174
|
* 从 assistant 输出中提取的文本结果。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRunnerTypes.d.ts","sourceRoot":"","sources":["../../../src/task/runtime/TaskRunnerTypes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"TaskRunnerTypes.d.ts","sourceRoot":"","sources":["../../../src/task/runtime/TaskRunnerTypes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,MAAM,EAAE,2BAA2B,CAAC;IACpC;;OAEG;IACH,KAAK,EAAE,0BAA0B,CAAC;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC;;OAEG;IACH,eAAe,CAAC,EAAE,4BAA4B,CAAC;IAC/C;;OAEG;IACH,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,YAAY,EAAE,yBAAyB,CAAC;IACxC;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C;;OAEG;IACH,sBAAsB,EAAE,yBAAyB,CAAC;IAClD;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAC/C;;OAEG;IACH,aAAa,EAAE,qBAAqB,CAAC;IACrC;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC;IAChD;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAAC;CACnD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskPluginOptions.d.ts","sourceRoot":"","sources":["../../../src/task/types/TaskPluginOptions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskPluginOptions.d.ts","sourceRoot":"","sources":["../../../src/task/types/TaskPluginOptions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAEnB"}
|
package/bin/web/PROMPT.d.ts
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* 自动生成文件,请勿手改。
|
|
3
3
|
* 源文件:由同路径 `*.ts.txt` 生成。
|
|
4
4
|
*/
|
|
5
|
-
declare const TEXT_MODULE_CONTENT = "# Web Plugin\n\nThis plugin injects general web-access methodology. It does not choose a provider and does not guarantee that any specific web tool exists.\n\nIf web-related dependencies are needed, use the `web` plugin's `install` action to
|
|
5
|
+
declare const TEXT_MODULE_CONTENT = "# Web Plugin\n\nThis plugin injects general web-access methodology. It does not choose a provider and does not guarantee that any specific web tool exists.\n\nIf web-related dependencies are needed, use the `web` plugin's `install` action to receive instructions for capabilities such as `web-access` and `agent-browser`. The action never executes commands, accesses the network, installs dependencies, or changes files. Follow the returned prompt with the available plugin and Shell capabilities.\n\nWhen a task needs internet access, verification, webpage reading, webpage interaction, or browser use, choose the path based on the currently available tools, skills, and user goal.\n\n## General Principles\n\n- Goal-driven: think like a human. Define the success criteria first, then choose the starting point most likely to reach them directly.\n- Evidence at every step: each result is evidence. When a path stops making progress, switch methods instead of repeatedly retrying the wrong approach.\n- Prefer primary sources: search engines are for discovery. Conclusions should usually trace back to official sites, official platforms, original pages, official docs, or source code.\n- Stop when done: once the goal is reached, do not spend extra steps just to look more complete.\n- Capability self-check: do not assume that a web skill or tool exists. Prefer capabilities explicitly available in the current system/tool list or in already looked-up skills.\n\n## Tool Selection\n\n- To discover sources or map keyword context: prefer currently available search tools or web-access-style skills.\n- For a known URL where you need page text or a direct answer: prefer currently available fetch/read tools.\n- For a known URL where you need raw HTML, meta tags, JSON-LD, or similar structured content: prefer currently available HTTP/curl/shell capabilities.\n- For logged-in state, dynamic rendering, site navigation, complex interactions, or anti-bot pages: prefer currently available browser, Chrome, agent-browser, or computer-use capabilities.\n- Jina-style markdown preprocessing may help for article-like pages and save tokens, but do not blindly trust it for dashboards, product pages, or complex layouts.\n\n## Browser Strategy\n\n- Once in the browser layer, understand the page structure before choosing the next action.\n- Programmatic methods are faster but more likely to trigger anti-bot behavior. GUI interaction is slower but more deterministic. If programmatic access is blocked, fall back to GUI.\n- Prefer links generated by the page itself. Do not manually guess or trim internal URL parameters.\n- Operate only tabs you created. Do not disturb the user's existing tabs. Close tabs you created when the task is done.\n- When encountering a login wall, first decide whether it actually blocks the goal. Ask the user to log in only when the target cannot be reached otherwise.\n\n## Parallelism And Verification\n\n- Independent research targets may be split and run in parallel. Targets with dependencies should not be parallelized blindly.\n- Verification tasks should return to primary sources. Do not use multiple secondary reports to circularly confirm each other.\n\n## Relationship To Skills And Tools\n\n- If the current environment has a `web-access` skill, web search, scraping, and verification tasks may prefer its instructions.\n- If the current environment has `agent-browser`, browser, or Chrome capabilities, dynamic pages and logged-in tasks may prefer them.\n- If necessary web capability is missing, state that directly. Do not pretend you have accessed the web.\n\n## Available Action\n\n- `install`: return installation instructions for web-related Skills and CLIs without executing them.\n\nExample:\n\n```ts\nplugin_call({\n plugin: \"web\",\n action: \"install\",\n payload: {\n target: \"agent-browser\",\n scope: \"user\",\n },\n});\n```\n\nAfter calling `install`, follow `data.prompt`. Skill installation is delegated to the `skill.install` instruction action so that the active SkillPlugin scan roots remain the source of truth. After running the instructed Shell commands, verify Skills with `skill.list` and read them with `skill.lookup`.\n";
|
|
6
6
|
export default TEXT_MODULE_CONTENT;
|
|
7
7
|
//# sourceMappingURL=PROMPT.d.ts.map
|
package/bin/web/PROMPT.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT.d.ts","sourceRoot":"","sources":["../../src/web/PROMPT.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"PROMPT.d.ts","sourceRoot":"","sources":["../../src/web/PROMPT.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,+mIAA+mI,CAAC;AAEzoI,eAAe,mBAAmB,CAAC"}
|
package/bin/web/PROMPT.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 自动生成文件,请勿手改。
|
|
3
3
|
* 源文件:由同路径 `*.ts.txt` 生成。
|
|
4
4
|
*/
|
|
5
|
-
// Source: src/web/PROMPT.ts
|
|
6
|
-
const TEXT_MODULE_CONTENT = "# Web Plugin\n\nThis plugin injects general web-access methodology. It does not choose a provider and does not guarantee that any specific web tool exists.\n\nIf web-related dependencies are needed, use the `web` plugin's `install` action to
|
|
5
|
+
// Source: src/web/PROMPT.ts
|
|
6
|
+
const TEXT_MODULE_CONTENT = "# Web Plugin\n\nThis plugin injects general web-access methodology. It does not choose a provider and does not guarantee that any specific web tool exists.\n\nIf web-related dependencies are needed, use the `web` plugin's `install` action to receive instructions for capabilities such as `web-access` and `agent-browser`. The action never executes commands, accesses the network, installs dependencies, or changes files. Follow the returned prompt with the available plugin and Shell capabilities.\n\nWhen a task needs internet access, verification, webpage reading, webpage interaction, or browser use, choose the path based on the currently available tools, skills, and user goal.\n\n## General Principles\n\n- Goal-driven: think like a human. Define the success criteria first, then choose the starting point most likely to reach them directly.\n- Evidence at every step: each result is evidence. When a path stops making progress, switch methods instead of repeatedly retrying the wrong approach.\n- Prefer primary sources: search engines are for discovery. Conclusions should usually trace back to official sites, official platforms, original pages, official docs, or source code.\n- Stop when done: once the goal is reached, do not spend extra steps just to look more complete.\n- Capability self-check: do not assume that a web skill or tool exists. Prefer capabilities explicitly available in the current system/tool list or in already looked-up skills.\n\n## Tool Selection\n\n- To discover sources or map keyword context: prefer currently available search tools or web-access-style skills.\n- For a known URL where you need page text or a direct answer: prefer currently available fetch/read tools.\n- For a known URL where you need raw HTML, meta tags, JSON-LD, or similar structured content: prefer currently available HTTP/curl/shell capabilities.\n- For logged-in state, dynamic rendering, site navigation, complex interactions, or anti-bot pages: prefer currently available browser, Chrome, agent-browser, or computer-use capabilities.\n- Jina-style markdown preprocessing may help for article-like pages and save tokens, but do not blindly trust it for dashboards, product pages, or complex layouts.\n\n## Browser Strategy\n\n- Once in the browser layer, understand the page structure before choosing the next action.\n- Programmatic methods are faster but more likely to trigger anti-bot behavior. GUI interaction is slower but more deterministic. If programmatic access is blocked, fall back to GUI.\n- Prefer links generated by the page itself. Do not manually guess or trim internal URL parameters.\n- Operate only tabs you created. Do not disturb the user's existing tabs. Close tabs you created when the task is done.\n- When encountering a login wall, first decide whether it actually blocks the goal. Ask the user to log in only when the target cannot be reached otherwise.\n\n## Parallelism And Verification\n\n- Independent research targets may be split and run in parallel. Targets with dependencies should not be parallelized blindly.\n- Verification tasks should return to primary sources. Do not use multiple secondary reports to circularly confirm each other.\n\n## Relationship To Skills And Tools\n\n- If the current environment has a `web-access` skill, web search, scraping, and verification tasks may prefer its instructions.\n- If the current environment has `agent-browser`, browser, or Chrome capabilities, dynamic pages and logged-in tasks may prefer them.\n- If necessary web capability is missing, state that directly. Do not pretend you have accessed the web.\n\n## Available Action\n\n- `install`: return installation instructions for web-related Skills and CLIs without executing them.\n\nExample:\n\n```ts\nplugin_call({\n plugin: \"web\",\n action: \"install\",\n payload: {\n target: \"agent-browser\",\n scope: \"user\",\n },\n});\n```\n\nAfter calling `install`, follow `data.prompt`. Skill installation is delegated to the `skill.install` instruction action so that the active SkillPlugin scan roots remain the source of truth. After running the instructed Shell commands, verify Skills with `skill.list` and read them with `skill.lookup`.\n";
|
|
7
7
|
export default TEXT_MODULE_CONTENT;
|
|
8
8
|
//# sourceMappingURL=PROMPT.js.map
|
package/bin/web/PROMPT.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT.js","sourceRoot":"","sources":["../../src/web/PROMPT.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,
|
|
1
|
+
{"version":3,"file":"PROMPT.js","sourceRoot":"","sources":["../../src/web/PROMPT.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4BAA4B;AAC5B,MAAM,mBAAmB,GAAG,4mIAA4mI,CAAC;AAEzoI,eAAe,mBAAmB,CAAC"}
|
package/bin/web/Plugin.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
5
|
* - web plugin 不选择 provider,也不持久化 provider 运行态。
|
|
6
|
-
* - install action
|
|
6
|
+
* - install action 只返回联网能力安装提示,不执行命令或修改文件。
|
|
7
7
|
* - 它只通过 `system()` 注入联网研究与浏览器使用方法论。
|
|
8
8
|
* - 具体执行能力由当前 agent 已注册的 tools、skills 或外部 plugin 决定。
|
|
9
9
|
*/
|
|
@@ -26,26 +26,6 @@ export declare class WebPlugin extends BasePlugin {
|
|
|
26
26
|
* 插件说明。
|
|
27
27
|
*/
|
|
28
28
|
readonly description = "Injects web research and browser-use methodology for agents.";
|
|
29
|
-
/**
|
|
30
|
-
* setup 面板:只准备联网相关依赖,不做 provider 配置。
|
|
31
|
-
*/
|
|
32
|
-
readonly setup: {
|
|
33
|
-
mode: "install";
|
|
34
|
-
title: string;
|
|
35
|
-
description: string;
|
|
36
|
-
fields: {
|
|
37
|
-
key: string;
|
|
38
|
-
label: string;
|
|
39
|
-
type: "select";
|
|
40
|
-
required: boolean;
|
|
41
|
-
options: {
|
|
42
|
-
label: string;
|
|
43
|
-
value: string;
|
|
44
|
-
hint: string;
|
|
45
|
-
}[];
|
|
46
|
-
}[];
|
|
47
|
-
primaryAction: string;
|
|
48
|
-
};
|
|
49
29
|
/**
|
|
50
30
|
* WebPlugin 对外 action。
|
|
51
31
|
*/
|
package/bin/web/Plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/web/Plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/web/Plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AA2CjF;;GAEG;AACH,qBAAa,SAAU,SAAQ,UAAU;IACvC;;OAEG;IACH,QAAQ,CAAC,IAAI,SAAS;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,qBAAqB;IAEnC;;OAEG;IACH,QAAQ,CAAC,WAAW,kEAC6C;IAEjE;;OAEG;IACH,QAAQ,CAAC,OAAO;;MA8Dd;IAEF;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;CAGvC"}
|