shipmyagent 1.0.215 → 1.0.217
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/main/prompts/common/PromptRenderer.d.ts.map +1 -1
- package/bin/main/prompts/common/PromptRenderer.js +1 -1
- package/bin/main/prompts/common/PromptRenderer.js.map +1 -1
- package/bin/main/prompts/system/SystemDomain.d.ts.map +1 -1
- package/bin/main/prompts/system/SystemDomain.js +64 -12
- package/bin/main/prompts/system/SystemDomain.js.map +1 -1
- package/bin/main/prompts/system/assets/core.prompt.txt +1 -2
- package/bin/main/prompts/variables/VariableReplacer.d.ts.map +1 -1
- package/bin/main/prompts/variables/VariableReplacer.js +12 -1
- package/bin/main/prompts/variables/VariableReplacer.js.map +1 -1
- package/bin/services/chat/PROMPT.direct.txt +1 -2
- package/bin/services/chat/PROMPT.txt +1 -2
- package/package.json +1 -1
- package/src/main/prompts/system/assets/core.prompt.txt +1 -2
- package/src/services/chat/PROMPT.direct.txt +1 -2
- package/src/services/chat/PROMPT.txt +1 -2
- package/test/core/context-system-prompt.test.mjs +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptRenderer.d.ts","sourceRoot":"","sources":["../../../../src/main/prompts/common/PromptRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PromptRenderer.d.ts","sourceRoot":"","sources":["../../../../src/main/prompts/common/PromptRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,6CAA6C,CAAC;AAErD;;;;;GAKG;AACH,wBAAsB,kCAAkC,CACtD,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE;IACR;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,GACA,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAQ/B"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - 变量替换下沉到 `prompts/variables/VariableReplacer`。
|
|
7
7
|
* - 不关注具体 prompt 来源(静态/服务/运行时)。
|
|
8
8
|
*/
|
|
9
|
-
import { replaceVariablesInPrompts } from "../../prompts/variables/VariableReplacer.js";
|
|
9
|
+
import { replaceVariablesInPrompts, } from "../../prompts/variables/VariableReplacer.js";
|
|
10
10
|
/**
|
|
11
11
|
* 将纯文本 prompts 转为 `system` messages。
|
|
12
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptRenderer.js","sourceRoot":"","sources":["../../../../src/main/prompts/common/PromptRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"PromptRenderer.js","sourceRoot":"","sources":["../../../../src/main/prompts/common/PromptRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,yBAAyB,GAE1B,MAAM,6CAA6C,CAAC;AAErD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,OAAiB,EACjB,OAwBC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,OAAO,CAAC,GAAG,CAChB,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,MAAM,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC;KACxD,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemDomain.d.ts","sourceRoot":"","sources":["../../../../src/main/prompts/system/SystemDomain.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"SystemDomain.d.ts","sourceRoot":"","sources":["../../../../src/main/prompts/system/SystemDomain.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAI7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAiFtE;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAGhC,CAAC;AAWF;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,GAAG,MAAM,CAuBT;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,GAAG,MAAM,EAAE,CAKX;AAED,KAAK,4BAA4B,GAAG;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,CAAC,EAAE,aAAa,GACtB,4BAA4B,CAY9B;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmCpB;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAwChC;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;OAEG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAchC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import fs from "fs-extra";
|
|
9
9
|
import { transformPromptsIntoSystemMessages } from "../../prompts/common/PromptRenderer.js";
|
|
10
|
+
import { resolvePromptGeoContext } from "../../prompts/variables/GeoContext.js";
|
|
10
11
|
import { SERVICES } from "../../service/Services.js";
|
|
11
12
|
import { buildMemorySystemText } from "../../../services/memory/runtime/SystemProvider.js";
|
|
12
13
|
const CORE_PROMPT_FILE_URL = new URL("./assets/core.prompt.txt", import.meta.url);
|
|
@@ -16,6 +17,56 @@ const DEFAULT_DISABLED_SERVICE_NAMES = [];
|
|
|
16
17
|
function normalizeSystemText(input) {
|
|
17
18
|
return String(input || "").trim();
|
|
18
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* 生成“当前时间”文本(按时区)。
|
|
22
|
+
*/
|
|
23
|
+
function getCurrentTimeString(timezone) {
|
|
24
|
+
try {
|
|
25
|
+
// 关键点(中文):统一格式,减少模型解析歧义。
|
|
26
|
+
const formatted = new Intl.DateTimeFormat("sv-SE", {
|
|
27
|
+
timeZone: timezone,
|
|
28
|
+
year: "numeric",
|
|
29
|
+
month: "2-digit",
|
|
30
|
+
day: "2-digit",
|
|
31
|
+
hour: "2-digit",
|
|
32
|
+
minute: "2-digit",
|
|
33
|
+
second: "2-digit",
|
|
34
|
+
hour12: false,
|
|
35
|
+
})
|
|
36
|
+
.format(new Date())
|
|
37
|
+
.replace(" ", "T");
|
|
38
|
+
return `${formatted} (${timezone})`;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return new Date().toISOString();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 构建每轮“动态时钟尾部”system 文本。
|
|
46
|
+
*
|
|
47
|
+
* 关键点(中文)
|
|
48
|
+
* - 仅保留“最新时间/地点”动态信息,缩小动态 token 面积。
|
|
49
|
+
* - 该段应放到 system 最后,提升前缀缓存命中率。
|
|
50
|
+
*/
|
|
51
|
+
async function buildRuntimeClockTailPrompt() {
|
|
52
|
+
let timezone = "UTC";
|
|
53
|
+
let location = "Unknown";
|
|
54
|
+
try {
|
|
55
|
+
const geo = await resolvePromptGeoContext();
|
|
56
|
+
timezone = String(geo.timezone || "").trim() || "UTC";
|
|
57
|
+
location = String(geo.location || "").trim() || "Unknown";
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// ignore
|
|
61
|
+
}
|
|
62
|
+
return [
|
|
63
|
+
"Runtime clock (authoritative):",
|
|
64
|
+
`- Current time: ${getCurrentTimeString(timezone)}`,
|
|
65
|
+
`- Timezone: ${timezone}`,
|
|
66
|
+
`- Location: ${location}`,
|
|
67
|
+
"- Treat this block as the source of truth for 'now'/'today' questions.",
|
|
68
|
+
].join("\n");
|
|
69
|
+
}
|
|
19
70
|
/**
|
|
20
71
|
* 从 system 资产读取 prompt 文本。
|
|
21
72
|
*/
|
|
@@ -38,19 +89,17 @@ const TASK_SYSTEM_PROMPT = loadSystemPromptAsset(TASK_PROMPT_FILE_URL, "task sys
|
|
|
38
89
|
* 构建一次运行的运行时 system prompt。
|
|
39
90
|
*
|
|
40
91
|
* 关键点(中文)
|
|
41
|
-
* -
|
|
42
|
-
* - task
|
|
92
|
+
* - 仅承载“稳定规则”块,避免把每轮变化字段放在前缀 system。
|
|
93
|
+
* - task 模式下追加任务输出规则;chat 模式为空。
|
|
43
94
|
*/
|
|
44
95
|
export function buildContextSystemPrompt(input) {
|
|
45
|
-
const { projectRoot,
|
|
96
|
+
const { projectRoot, extraContextLines } = input;
|
|
46
97
|
const mode = input.mode === "task" ? "task" : "chat";
|
|
47
98
|
if (mode === "chat")
|
|
48
99
|
return "";
|
|
49
100
|
const runtimeContextLines = [
|
|
50
|
-
"
|
|
101
|
+
"Task runtime context:",
|
|
51
102
|
`- Project root: ${projectRoot}`,
|
|
52
|
-
`- ContextId: ${contextId}`,
|
|
53
|
-
`- Request ID: ${requestId}`,
|
|
54
103
|
];
|
|
55
104
|
if (Array.isArray(extraContextLines) && extraContextLines.length > 0) {
|
|
56
105
|
runtimeContextLines.push(...extraContextLines);
|
|
@@ -152,26 +201,29 @@ export async function buildAgentSystemMessages(input) {
|
|
|
152
201
|
requestId: input.requestId,
|
|
153
202
|
mode: input.mode,
|
|
154
203
|
});
|
|
155
|
-
const
|
|
204
|
+
const runtimeRuleMessages = runtimeSystemText
|
|
156
205
|
? [{ role: "system", content: runtimeSystemText }]
|
|
157
206
|
: [];
|
|
207
|
+
const runtimeClockTail = normalizeSystemText(await buildRuntimeClockTailPrompt());
|
|
208
|
+
const runtimeClockMessages = runtimeClockTail
|
|
209
|
+
? [{ role: "system", content: runtimeClockTail }]
|
|
210
|
+
: [];
|
|
158
211
|
const staticSystemMessages = await transformPromptsIntoSystemMessages(resolveStaticSystemPrompts({
|
|
159
212
|
systems: input.staticSystemPrompts,
|
|
160
213
|
replaceDefaultCorePrompt: input.replaceDefaultCorePrompt,
|
|
161
214
|
}), {
|
|
162
215
|
projectPath: input.projectRoot,
|
|
163
|
-
|
|
164
|
-
requestId: input.requestId,
|
|
216
|
+
variableMode: "stable",
|
|
165
217
|
});
|
|
166
218
|
const serviceSystemMessages = await transformPromptsIntoSystemMessages(Array.isArray(input.serviceSystemPrompts) ? input.serviceSystemPrompts : [], {
|
|
167
219
|
projectPath: input.projectRoot,
|
|
168
|
-
|
|
169
|
-
requestId: input.requestId,
|
|
220
|
+
variableMode: "stable",
|
|
170
221
|
});
|
|
171
222
|
return [
|
|
172
|
-
...runtimeSystemMessages,
|
|
173
223
|
...staticSystemMessages,
|
|
174
224
|
...serviceSystemMessages,
|
|
225
|
+
...runtimeRuleMessages,
|
|
226
|
+
...runtimeClockMessages,
|
|
175
227
|
];
|
|
176
228
|
}
|
|
177
229
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemDomain.js","sourceRoot":"","sources":["../../../../src/main/prompts/system/SystemDomain.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,kCAAkC,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CACrC,6BAA6B,EAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;AACF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAElF,MAAM,8BAA8B,GAAa,EAAE,CAAC;AAEpD,SAAS,mBAAmB,CAAC,KAAgC;IAC3D,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,OAAY,EAAE,KAAa;IACxD,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,SAAS,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CACvD,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;AAEF,MAAM,mBAAmB,GAAG,qBAAqB,CAC/C,uBAAuB,EACvB,uBAAuB,CACxB,CAAC;AACF,MAAM,kBAAkB,GAAG,qBAAqB,CAC9C,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAyBxC;IACC,MAAM,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"SystemDomain.js","sourceRoot":"","sources":["../../../../src/main/prompts/system/SystemDomain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableReplacer.d.ts","sourceRoot":"","sources":["../../../../src/main/prompts/variables/VariableReplacer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"VariableReplacer.d.ts","sourceRoot":"","sources":["../../../../src/main/prompts/variables/VariableReplacer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAyEnD;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B,GACA,OAAO,CAAC,MAAM,CAAC,CAWjB"}
|
|
@@ -32,8 +32,19 @@ function getCurrentTimeString(timezone) {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
async function buildPromptVariables(options) {
|
|
35
|
-
const
|
|
35
|
+
const mode = options?.mode === "stable" ? "stable" : "full";
|
|
36
36
|
const projectPath = String(options?.projectPath || "").trim() || process.cwd();
|
|
37
|
+
if (mode === "stable") {
|
|
38
|
+
return {
|
|
39
|
+
currentTime: "[See runtime clock tail message]",
|
|
40
|
+
location: "[See runtime clock tail message]",
|
|
41
|
+
projectPath,
|
|
42
|
+
projectRoot: projectPath,
|
|
43
|
+
contextId: "[Runtime context id]",
|
|
44
|
+
requestId: "[Runtime request id]",
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const geo = await resolvePromptGeoContext();
|
|
37
48
|
const contextId = String(options?.contextId || "").trim() || "unknown";
|
|
38
49
|
const requestId = String(options?.requestId || "").trim() || "unknown";
|
|
39
50
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableReplacer.js","sourceRoot":"","sources":["../../../../src/main/prompts/variables/VariableReplacer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"VariableReplacer.js","sourceRoot":"","sources":["../../../../src/main/prompts/variables/VariableReplacer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAW9D;;GAEG;AACH,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAI,CAAC;QACH,gCAAgC;QAChC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACjD,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,KAAK;SACd,CAAC;aACC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;aAClB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrB,OAAO,GAAG,SAAS,KAAK,QAAQ,GAAG,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAoBnC;IACC,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/E,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO;YACL,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,kCAAkC;YAC5C,WAAW;YACX,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE,sBAAsB;YACjC,SAAS,EAAE,sBAAsB;SAClC,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IACvE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IACvE,OAAO;QACL,WAAW,EAAE,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/C,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,WAAW;QACX,WAAW,EAAE,WAAW;QACxB,SAAS;QACT,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,OAoBC;IAED,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC3B,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,uBAAuB,CAAC,MAAM,EAAE;QACrC,YAAY,EAAE,SAAS,CAAC,WAAW;QACnC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,YAAY,EAAE,SAAS,CAAC,WAAW;QACnC,YAAY,EAAE,SAAS,CAAC,WAAW;QACnC,UAAU,EAAE,SAAS,CAAC,SAAS;QAC/B,UAAU,EAAE,SAAS,CAAC,SAAS;KAChC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## Runtime context
|
|
6
6
|
- Project root: {{project_root}}
|
|
7
|
-
-
|
|
8
|
-
- Request ID: {{request_id}}
|
|
7
|
+
- Current clock (time/timezone/location) is provided in runtime tail system messages.
|
|
9
8
|
|
|
10
9
|
User-facing output rules:
|
|
11
10
|
- Reply in natural language.
|
package/package.json
CHANGED
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## Runtime context
|
|
6
6
|
- Project root: {{project_root}}
|
|
7
|
-
-
|
|
8
|
-
- Request ID: {{request_id}}
|
|
7
|
+
- Current clock (time/timezone/location) is provided in runtime tail system messages.
|
|
9
8
|
|
|
10
9
|
User-facing output rules:
|
|
11
10
|
- Reply in natural language.
|
|
@@ -27,9 +27,9 @@ test("buildContextSystemPrompt keeps runtime context and task rules for task mod
|
|
|
27
27
|
requestId: "req-2",
|
|
28
28
|
mode: "task",
|
|
29
29
|
});
|
|
30
|
-
assert.equal(prompt.includes("
|
|
30
|
+
assert.equal(prompt.includes("Task runtime context:"), true);
|
|
31
31
|
assert.equal(prompt.includes("- Project root: /tmp/demo"), true);
|
|
32
|
-
assert.equal(prompt.includes("- ContextId: task-run--123"),
|
|
33
|
-
assert.equal(prompt.includes("- Request ID: req-2"),
|
|
32
|
+
assert.equal(prompt.includes("- ContextId: task-run--123"), false);
|
|
33
|
+
assert.equal(prompt.includes("- Request ID: req-2"), false);
|
|
34
34
|
assert.equal(prompt.includes("Task-run output rules:"), true);
|
|
35
35
|
});
|