19 Commits

Author SHA1 Message Date
Xiaohan-Tian a76a8abb94 fix: support numeric track_id arguments across track tools 2026-06-06 17:27:04 -07:00
Xiaohan-Tian c1d9f4c9fb feat: add manual/auto conversation compaction and preserve full export history 2026-06-01 19:55:59 -07:00
Xiaohan-Tian 2140e944f2 feat: added local separator model demucs_4s support 2026-05-27 20:17:17 -07:00
Xiaohan-Tian 7fc5ac1590 feat: added tempo detection with auto-align beats feature 2026-05-26 22:45:54 -07:00
Xiaohan-Tian 1879df8033 feat: implement global chord track 2026-05-24 23:06:08 -07:00
Xiaohan-Tian cbd66ab4f6 fix: VSCode debug option in macOS 2026-05-17 12:55:59 -07:00
Xiaohan-Tian ac2d924711 feat: added thinking time statistics; added LaTeX rendering support 2026-05-15 12:07:45 -07:00
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