feat(ipuaro): add session configuration

- Add SessionConfigSchema with persistIndefinitely, maxHistoryMessages, saveInputHistory
- Implement Session.truncateHistory() method for limiting message history
- Update HandleMessage to support history truncation and input history toggle
- Add config flow through useSession and App components
- Add 19 unit tests for SessionConfigSchema
- Update CHANGELOG.md and ROADMAP.md for v0.22.2
This commit is contained in:
imfozilbek
2025-12-02 01:34:04 +05:00
parent 7f0ec49c90
commit a7669f8947
20 changed files with 336 additions and 72 deletions

View File

@@ -218,28 +218,32 @@ describe("Input", () => {
it("should be active when multiline is true", () => {
const multiline = true
const lines = ["single line"]
const isMultilineActive = multiline === true || (multiline === "auto" && lines.length > 1)
const isMultilineActive =
multiline === true || (multiline === "auto" && lines.length > 1)
expect(isMultilineActive).toBe(true)
})
it("should not be active when multiline is false", () => {
const multiline = false
const lines = ["line1", "line2"]
const isMultilineActive = multiline === true || (multiline === "auto" && lines.length > 1)
const isMultilineActive =
multiline === true || (multiline === "auto" && lines.length > 1)
expect(isMultilineActive).toBe(false)
})
it("should be active in auto mode with multiple lines", () => {
const multiline = "auto"
const lines = ["line1", "line2"]
const isMultilineActive = multiline === true || (multiline === "auto" && lines.length > 1)
const isMultilineActive =
multiline === true || (multiline === "auto" && lines.length > 1)
expect(isMultilineActive).toBe(true)
})
it("should not be active in auto mode with single line", () => {
const multiline = "auto"
const lines = ["single line"]
const isMultilineActive = multiline === true || (multiline === "auto" && lines.length > 1)
const isMultilineActive =
multiline === true || (multiline === "auto" && lines.length > 1)
expect(isMultilineActive).toBe(false)
})
})