feat: 品牌替换 + 启动优化 + AGENTS.md 模板定制
- 品牌替换:OpenCode/opencode → AirCoding/aircoding(16+ 文件) - Logo ASCII art:修复 left/right 行数不匹配导致的启动崩溃 - 启动诊断:添加 OPENCODE_PRINT_TIMING 计时探针 - dev 模式默认 --pure 跳过外部插件加载 - AGENTS.md 模板:追加 AirCoding 多 Agent 专项段落 - architect prompt + plugin:强化 AGENTS.md 产出验证
This commit is contained in:
24
packages/tui/test/prompt/jsonl.test.ts
Normal file
24
packages/tui/test/prompt/jsonl.test.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { expect, test } from "bun:test"
|
||||
import { MAX_FRECENCY_ENTRIES, parseFrecency } from "../../src/prompt/frecency"
|
||||
import { MAX_STASH_ENTRIES, parsePromptStash } from "../../src/prompt/stash"
|
||||
|
||||
test("stash JSONL skips corruption and retains newest entries", () => {
|
||||
const entries = Array.from({ length: MAX_STASH_ENTRIES + 2 }, (_, index) =>
|
||||
JSON.stringify({ input: String(index), parts: [], timestamp: index }),
|
||||
)
|
||||
entries.splice(2, 0, "broken")
|
||||
const result = parsePromptStash(entries.join("\n"))
|
||||
expect(result).toHaveLength(MAX_STASH_ENTRIES)
|
||||
expect(result[0]?.input).toBe("2")
|
||||
})
|
||||
|
||||
test("frecency JSONL skips corruption, keeps latest path state, and limits entries", () => {
|
||||
const entries = Array.from({ length: MAX_FRECENCY_ENTRIES + 1 }, (_, index) =>
|
||||
JSON.stringify({ path: String(index), frequency: 1, lastOpen: index }),
|
||||
)
|
||||
entries.push("broken", JSON.stringify({ path: "1000", frequency: 2, lastOpen: 2000 }))
|
||||
const result = parseFrecency(entries.join("\n"))
|
||||
expect(result).toHaveLength(MAX_FRECENCY_ENTRIES)
|
||||
expect(result[0]).toEqual({ path: "1000", frequency: 2, lastOpen: 2000 })
|
||||
expect(result.some((entry) => entry.path === "0")).toBe(false)
|
||||
})
|
||||
Reference in New Issue
Block a user