picoclaw/pkg/tools
I Putu Eddy Irawan ee5b61884a fix: migration ModelName, reasoning_content, shell regex, loop boundary
1. migration.go: Set ModelName to userModel when provider matches so
   GetModelConfig(userModel) can find the entry. Previously the migration
   created entries with the provider name as ModelName (e.g. "moonshot")
   but lookup used the model name (e.g. "k2p5"), causing "model not found".

2. openai_compat/provider.go: Preserve reasoning_content in conversation
   history. Thinking models (e.g. Kimi K2, DeepSeek-R1) return
   reasoning_content which must be echoed back. Without it, APIs return
   400: "thinking is enabled but reasoning_content is missing".

3. shell.go: Fix deny pattern regex for format/mkfs/diskpart to use
   (?:^|\s) instead of \b to avoid matching --format flags.
   Fix path extraction regex to use submatch to avoid matching flags
   like -rf as paths.

4. loop.go: Adjust forceCompression mid-point to avoid splitting
   tool-call/result message pairs, which causes API errors.
2026-03-01 08:44:15 +07:00
..
base.go feat(fmt): Run formatters 2026-02-18 21:48:23 +02:00
cron.go fix(exec) fail close on invalid deny pattern (#781) 2026-02-28 16:24:26 +08:00
edit.go fix(security): workspace sandbox avoid time-of-check/time-of-use (TOCTOU) races (#464) 2026-02-23 20:09:53 +11:00
edit_test.go fix(security): workspace sandbox avoid time-of-check/time-of-use (TOCTOU) races (#464) 2026-02-23 20:09:53 +11:00
filesystem.go refactor(pkg): move atomic file write to dedicated fileutil package 2026-02-24 23:57:13 +08:00
filesystem_test.go fix(security): workspace sandbox avoid time-of-check/time-of-use (TOCTOU) races (#464) 2026-02-23 20:09:53 +11:00
i2c.go refactor: cleanup dead code and turn on dead code detection in CI (#515) 2026-02-24 21:52:25 +08:00
i2c_linux.go feat(linter): Fix govet linter 2026-02-20 22:35:16 +02:00
i2c_other.go feat(fmt): Run formatters 2026-02-18 21:48:23 +02:00
message.go feat(fmt): Run formatters 2026-02-18 21:48:23 +02:00
message_test.go feat(fmt): Run formatters 2026-02-18 21:48:23 +02:00
registry.go fix: cache system prompt with mtime-based auto-invalidation (#607) 2026-02-25 15:27:45 +08:00
registry_test.go feat: integrate Tavily search (#340) 2026-02-23 00:30:14 +08:00
result.go feat(channels): add MediaSender optional interface for outbound media 2026-02-23 03:10:57 +08:00
result_test.go feat(fmt): Run formatters 2026-02-18 21:48:23 +02:00
shell.go fix: migration ModelName, reasoning_content, shell regex, loop boundary 2026-03-01 08:44:15 +07:00
shell_process_unix.go fix(exec): terminate process tree on timeout 2026-02-18 02:01:29 +08:00
shell_process_windows.go fix(exec): terminate process tree on timeout 2026-02-18 02:01:29 +08:00
shell_test.go fix(exec) fail close on invalid deny pattern (#781) 2026-02-28 16:24:26 +08:00
shell_timeout_unix_test.go fix(exec) fail close on invalid deny pattern (#781) 2026-02-28 16:24:26 +08:00
skills_install.go refactor(pkg): move atomic file write to dedicated fileutil package 2026-02-24 23:57:13 +08:00
skills_install_test.go feat(fmt): Fix formatting 2026-02-20 20:03:11 +02:00
skills_search.go feat(fmt): Fix formatting 2026-02-20 20:03:11 +02:00
skills_search_test.go feat(fmt): Fix formatting 2026-02-20 20:03:11 +02:00
spawn.go fix: reject empty task in spawn tool (#740) 2026-02-25 07:39:49 +11:00
spawn_test.go fix: reject empty task in spawn tool (#740) 2026-02-25 07:39:49 +11:00
spi.go refactor: cleanup dead code and turn on dead code detection in CI (#515) 2026-02-24 21:52:25 +08:00
spi_linux.go feat(fmt): Run formatters 2026-02-18 21:48:23 +02:00
spi_other.go feat(fmt): Run formatters 2026-02-18 21:48:23 +02:00
subagent.go enable misspell 2026-02-25 21:14:19 +11:00
subagent_tool_test.go feat(fmt): Fix formatting 2026-02-19 22:05:15 +02:00
toolloop.go Merge branch 'main' into fix-formatting 2026-02-20 20:02:53 +02:00
types.go feat(fmt): Run formatters 2026-02-18 21:48:23 +02:00
web.go Perf/precompile regex (#687) 2026-02-26 20:44:03 +11:00
web_test.go feat: improve web proxy handling and coverage 2026-02-24 17:17:14 +08:00