picoclaw/pkg
maxiaoyang ce0f526bf1 feat(providers/openai_responses_common): prefix user content with sender name
The OpenAI Responses API (used by Codex and the Azure responses
endpoint) is a separate wire format from Chat Completions. The SDK
type used here, EasyInputMessageParam, does not currently surface a
per-message name field, so the same in-content prefix fallback used
for Anthropic and Bedrock applies here too.

Both branches of the user-message path are covered:

- The plain-text branch (OfMessage / EasyInputMessageParam) prefixes
  msg.Content via messageutil.ApplyUserNamePrefix.
- The multipart branch (OfInputMessage / ResponseInputItemMessageParam,
  used when media is attached) prefixes the text portion before
  passing it to BuildMultipartContent.

The function-call-output branch (msg.ToolCallID set) is intentionally
left untouched; tool results are not user utterances and must not
gain a sender prefix.

Tests cover all three paths (plain-text prefix, multipart prefix,
tool result untouched) by JSON-marshalling the resulting input and
asserting on the wire bytes.

Refs #2702.
2026-04-29 21:05:31 +08:00
..
agent feat(agent): plumb sender ID through user message persistence 2026-04-29 21:02:59 +08:00
audio refactor: support explicit provider field in model list entries (#2609) 2026-04-22 11:28:47 +08:00
auth fix(auth): canonicalize Google Antigravity provider and enhance credential management (#2599) 2026-04-21 16:28:29 +08:00
bus feat(agent): add context usage ring indicator and /context command (#2537) 2026-04-21 16:30:02 +08:00
channels refactor(pico): unify message kind handling of tool_calls and thought (#2680) 2026-04-28 10:17:12 +08:00
commands fix lint 2026-04-21 11:01:04 +02:00
config feat(config): wire serial tool into runtime and dashboard 2026-04-28 12:56:27 +08:00
constants refactor: replace bool map with set-style map for internal channels (#472) 2026-02-19 11:48:17 +01:00
credential refactor config and security to simplified the structure (#2068) 2026-03-28 00:03:34 +08:00
cron refactor(cron): remove deliver and type params, unify agent execution path (#2147) 2026-03-29 22:52:34 +08:00
devices refactor(runtime): drop non-session legacy context compatibility 2026-04-01 20:56:48 +08:00
fileutil Merge pull request #1829 from perhapzz/test/add-fileutil-health-tests 2026-03-26 10:42:13 +01:00
gateway refactor(web): secure Pico websocket access behind launcher auth 2026-04-20 10:11:03 +08:00
health fix(host): modernize default host selection order 2026-04-14 14:03:23 +08:00
heartbeat refactor(runtime): drop non-session legacy context compatibility 2026-04-01 20:56:48 +08:00
identity fix(identity): support negative integers in isNumeric for Telegram group IDs 2026-03-21 17:09:02 +07:00
isolation fix: treat PID=1 as stale in PID file singleton check, fix govet shadow, add .gitattributes (#2642) 2026-04-24 15:26:34 +08:00
logger unify all panic event to panic log file (#2250) 2026-04-01 23:26:49 +08:00
mcp fix(mcp): retry tool calls on lost HTTP sessions and fix client lifecycle 2026-04-24 20:20:57 +02:00
media Fix 1886 media cleanup policy (#1887) 2026-03-23 12:13:59 +08:00
memory fix(message): ignore transient assistant thoughts in message count and history truncation 2026-04-25 12:26:28 +08:00
migrate refactor(config): make config.Channel to multiple instance support 2026-04-13 22:21:21 +08:00
netbind fix(web): address latest Copilot review points 2026-04-14 23:39:59 +08:00
pid fix: treat PID=1 as stale in PID file singleton check, fix govet shadow, add .gitattributes (#2642) 2026-04-24 15:26:34 +08:00
providers feat(providers/openai_responses_common): prefix user content with sender name 2026-04-29 21:05:31 +08:00
routing feat(routing): add ordered dispatch rules 2026-04-01 22:13:04 +08:00
seahorse test(seahorse): add TestTriggerMigration for old-DB trigger upgrade path 2026-04-13 11:37:50 +08:00
session fix(reasoning): persist canonical history for DeepSeek and web chat 2026-04-24 21:45:41 +08:00
skills refactor skills registries and add GitHub-backed skill discovery (#2442) 2026-04-14 15:14:16 +08:00
state refactor Config to add Version and migratable 2026-03-12 13:52:55 +08:00
tokenizer feat(seahorse): implement short-term memory engine (LCM) (#2285) 2026-04-05 09:05:16 +08:00
tools Merge pull request #2689 from afjcjsbx/fix/cron-session-key-propagation 2026-04-28 23:03:09 +08:00
updater fix(updater): retry release fetches (#2511) 2026-04-14 10:44:21 +08:00
utils fix(tool-feedback): dedupe duplicate content and keep full explanations 2026-04-26 00:40:55 +08:00
env.go Merge branch 'main' into version 2026-03-19 18:04:58 +08:00