The non-streaming /v1/responses path built function_call and function_call_output output items with no status field (and no item id), while the SSE streaming path correctly emits status in_progress -> completed. Spec-strict OpenAI clients reading the non-streaming output array could interpret the status-less function_call items as pending calls the CLIENT must execute — but these tools were already executed server-side by the Hermes agent and are replayed for structured tool UI only. Reported by a community user whose GPT-5.6 client concluded 'a server should not tell an OpenAI client to execute a tool the server already executed itself'. - _extract_output_items now stamps status: completed and spec-shaped item ids (fc_/fco_) on replayed items, matching the streaming path - test updated to pin status + id shape - docs example updated + explicit note that output tool calls are replayed, never pending |
||
|---|---|---|
| .. | ||
| assets | ||
| builtin_hooks | ||
| platforms | ||
| relay | ||
| __init__.py | ||
| agent_cache_pressure.py | ||
| authz_mixin.py | ||
| cgroup_cleanup.py | ||
| channel_directory.py | ||
| code_skew.py | ||
| config.py | ||
| cwd_placeholder.py | ||
| dead_targets.py | ||
| delivery.py | ||
| delivery_ledger.py | ||
| display_config.py | ||
| drain_control.py | ||
| hooks.py | ||
| kanban_watchers.py | ||
| lifecycle_ledger.py | ||
| memory_monitor.py | ||
| message_timestamps.py | ||
| mirror.py | ||
| pairing.py | ||
| platform_registry.py | ||
| profile_routing.py | ||
| readiness.py | ||
| response_filters.py | ||
| restart.py | ||
| restart_loop_guard.py | ||
| rich_sent_store.py | ||
| run.py | ||
| runtime_footer.py | ||
| scale_to_zero.py | ||
| session.py | ||
| session_context.py | ||
| session_stall.py | ||
| session_state.py | ||
| shutdown_flush.py | ||
| shutdown_forensics.py | ||
| shutdown_watchdog.py | ||
| slash_access.py | ||
| slash_commands.py | ||
| status.py | ||
| status_phrases.py | ||
| sticker_cache.py | ||
| stream_consumer.py | ||
| stream_dispatch.py | ||
| stream_events.py | ||
| streaming_tts_consumer.py | ||
| systemd_notify.py | ||
| turn_context.py | ||
| turn_lease.py | ||
| wake.py | ||
| whatsapp_identity.py | ||