mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-02 21:01:51 +00:00
* fix(agents): rephrase session reset prompt to avoid Azure content filter Azure OpenAI's content filter flags the phrase 'Execute your Session Startup sequence now' as potentially harmful, causing /new and /reset to return 400 for all Azure-hosted deployments. Replace 'Execute ... now' with 'Run your Session Startup sequence' in session-reset-prompt.ts and post-compaction-context.ts. The semantics are identical but the softer phrasing avoids the false-positive. Closes #42769 * ci: retrigger checks (windows shard timeout) * fix: add changelog for Azure startup prompt fix (#43403) (thanks @xingsy97) --------- Co-authored-by: Ayaan Zaidi <hi@obviy.us>
36 lines
1.5 KiB
TypeScript
36 lines
1.5 KiB
TypeScript
import { describe, it, expect } from "vitest";
|
|
import type { OpenClawConfig } from "../../config/config.js";
|
|
import { buildBareSessionResetPrompt } from "./session-reset-prompt.js";
|
|
|
|
describe("buildBareSessionResetPrompt", () => {
|
|
it("includes the core session startup instruction", () => {
|
|
const prompt = buildBareSessionResetPrompt();
|
|
expect(prompt).toContain("Run your Session Startup sequence");
|
|
expect(prompt).toContain("read the required files before responding to the user");
|
|
});
|
|
|
|
it("appends current time line so agents know the date", () => {
|
|
const cfg = {
|
|
agents: { defaults: { userTimezone: "America/New_York", timeFormat: "12" } },
|
|
} as OpenClawConfig;
|
|
// 2026-03-03 14:00 UTC = 2026-03-03 09:00 EST
|
|
const nowMs = Date.UTC(2026, 2, 3, 14, 0, 0);
|
|
const prompt = buildBareSessionResetPrompt(cfg, nowMs);
|
|
expect(prompt).toContain(
|
|
"Current time: Tuesday, March 3rd, 2026 — 9:00 AM (America/New_York) / 2026-03-03 14:00 UTC",
|
|
);
|
|
});
|
|
|
|
it("does not append a duplicate current time line", () => {
|
|
const nowMs = Date.UTC(2026, 2, 3, 14, 0, 0);
|
|
const prompt = buildBareSessionResetPrompt(undefined, nowMs);
|
|
expect((prompt.match(/Current time:/g) ?? []).length).toBe(1);
|
|
});
|
|
|
|
it("falls back to UTC when no timezone configured", () => {
|
|
const nowMs = Date.UTC(2026, 2, 3, 14, 0, 0);
|
|
const prompt = buildBareSessionResetPrompt(undefined, nowMs);
|
|
expect(prompt).toContain("Current time:");
|
|
});
|
|
});
|