Xiaohan-Tian
d32dc35b6d
feat: added local separator implementation
2026-05-11 22:27:22 -07:00
Xiaohan-Tian
d69b3924e5
feat: added sheet music (stuff notation) view to the piano roll window MIDI mode
2026-05-09 23:50:02 -07:00
Xiaohan-Tian
eafb3a4937
feat: added audio track spectrogram visualization feature
2026-05-01 17:44:29 -07:00
Xiaohan-Tian
8308cdf79a
fix: removed https support from vite dev server
2026-04-18 14:38:09 -07:00
Xiaohan-Tian
7e67ca9d10
fix: add https support for local vite dev server
2026-04-18 14:27:07 -07:00
Xiaohan-Tian
d16553e659
feat: added bouncing to MP3 feature
2026-04-11 12:30:15 -07:00
Xiaohan-Tian
2d3ea33ce6
refactor: migrate project storage from IndexedDB to OPFS with folder-based structure
...
- Replace monolithic KGStorage with KGProjectStorage (OPFS) and KGConfigStorage (IndexedDB)
- Each project stored as folder: project.json + meta.json + media/
- Add KGConfigUpgrader with V1 upgrader to auto-migrate existing IndexedDB projects to OPFS
- Request persistent storage via navigator.storage.persist() to prevent browser eviction
- Show loading spinner during one-time migration
- Enforce safe project name characters (letters, numbers, space, hyphen, underscore, period, parens)
- Export projects as .kgstudio zip bundles instead of raw JSON
- Import supports .kgstudio bundles (with meta.json validation) and legacy JSON files
- Auto-deduplicate project names on import with (1), (2), etc. suffix
- Add OPFS shell debugger (pwd, ls, cd, cat, dl) accessible via KGDebugger.opfs()
- Add ESLint semi rule for consistent semicolons
- Delete KGStorage.ts — all logic absorbed by new storage classes
- Add jszip dependency for zip export/import
2026-04-09 19:25:08 -07:00
Xiaohan-Tian
2cd976ff96
refactor: migrate agent system from XML tool calling to OpenAI SDK with native function calling
...
- Replace custom XML-based tool parsing (XMLToolExecutor) with OpenAI SDK's
native tool_calls via `openai` npm package (dangerouslyAllowBrowser)
- Consolidate 4 LLM providers (OpenAI, Claude, Gemini, ClaudeOpenRouter)
into a single OpenAI SDK-based LLMProvider compatible with any
OpenAI-style API (OpenAI, OpenRouter, Ollama, vLLM)
- Move agentic tool execution loop from ChatBox into AgentCore
- Update Message type to support tool roles, tool_calls, and tool_call_id
- Update system prompt to remove XML formatting instructions (~45% smaller)
- Remove AttemptCompletionTool (replaced by stop_reason detection),
ThinkTool, and ThinkingTool
- Polish tool descriptions for OpenAI function calling schema compliance
- Normalize base URLs by stripping /chat/completions suffix
2026-04-05 18:59:25 -07:00
Xiaohan-Tian
aa2b19966b
feat: add Vitest unit testing infrastructure with initial test suite.
2025-09-03 22:15:05 -07:00
Xiaohan-Tian
0eac49493c
feat: implement automated versioning.
2025-08-28 22:23:47 -07:00
Xiaohan-Tian
af9eca8fee
disable unused param check for building; updated version number; avoid relying on constructor.name to determine class type due to class name mangling.
2025-08-11 19:54:51 -07:00
Xiaohan-Tian
de51967b49
initial public release.
2025-08-11 18:37:21 -07:00