The reasoning/tool collapsed bundle is gated by adminChatShowToolOutput,
which was only read from localStorage with default false. A fresh browser
therefore hid persisted reasoning in the fold while streaming still showed
tokens. Default to true and bump chat.html asset version so deployments pick
up the script.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Parse reasoning_summary_text (and related) SSE events in OpenAI Responses
streaming; forward deltas to on_token and return reasoning_content on
LLMResponse so thinking-mode rows get event_payload in the store.
- When emitting chat/final from turn_runner, include event_type/event_payload
and merge reasoning_content from earlier assistant rows in the same
turn_uuid so the collapsed reasoning fold matches what streamed.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose netx_query_ume_ne_inventory and netx_get_ume_ne (GET /v1/ume/inventory/ne and /ne/{id}). Update ops playbook, ROLE_SYSTEM, env example comment, and unit tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add workspace_skills_layout_signature (hash of paths + mtimes + sizes) and fold it into get_executor_prompt_static and manager prebuild cache keys. Add tests for signature drift and cache invalidation.
Co-authored-by: Cursor <cursoragent@cursor.com>
Include skill_role_binding store JSON in executor and manager prompt cache signatures so skill catalog updates after binding edits without restart. Admin async prewarm now polls prewarm/status until not running before router() so parallel prompts fetch matches completed warm.
Co-authored-by: Cursor <cursoragent@cursor.com>
should_apply_workspace_role_filter no longer requires at least one bound skill. With binding enabled and an empty map, the catalog shows only public workspace skills per role (matches prewarm and runtime). Update Admin copy and add regression test.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add enabled_stored and enabled_env_present on skills binding GET/POST so UIs can explain when AIA_SKILL_ROLE_BINDING_ENABLED overrides SQLite. Add Admin hints for save-required and env override. Add skill_role_binding_enabled_stored/env_present helpers and a unit test.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the hardcoded absolute workspace path in the session-bootstrap self-check command with a repo-relative path so the command works in any cloned location.
Co-authored-by: Cursor <cursoragent@cursor.com>
Apply a global native tool_calls-only prompt rule to prevent DSML/textual protocol outputs, and expand start_web/stop_web to manage gateway, sidecars, and wiki worker without launching desktop.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Forward reasoning_content and non-stream reasoning to on_token in
OpenAI chat completions; Gemini thought parts to on_token.
- Stream bubble: always render session.tool panels; format tool_use_call
payloads and title as call · tool_name.
- Emit tool_use_call via on_tool_ui before tool execution so WS shows
invoke cards before tool_use_result.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Resolve legacy multimodal inputs from session history when the user sends
text-only (assistant images first, then user uploads); optional env toggles.
- Support relay_pointer image resolution in legacy lane collector.
- Align uvicorn WebSocket frame limit with MAX_PAYLOAD_BYTES; document
OCLAW_UVICORN_WS_MAX_SIZE and compatible-mode env knobs.
- Admin chat: encode attachments after bubble preview; FileReader-based
base64 for large files.
- Tests and docs for new behavior.
Co-authored-by: Cursor <cursoragent@cursor.com>
Set trust_env=False for netx tool HTTP clients so local netx endpoints are called directly instead of via host proxy settings.
Co-authored-by: Cursor <cursoragent@cursor.com>
Create optional _local/branding directory at startup to avoid StaticFiles FileNotFoundError, and force standalone chat root containers to occupy full width.
Co-authored-by: Cursor <cursoragent@cursor.com>
Make start/stop scripts robust to directory renames, and improve stop hints when process termination is denied.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add a session-bootstrap content signature to the executor prompt cache key so identity/wiki updates invalidate cached system prompts and take effect on the next turn.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expand memory wiki search with context-rich paginated results and bounded query expansion, and add default three-stage retrieval guidance for agents using memory_wiki_search.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose a model-management setting to control chat-page model dropdown visibility, persist it in app settings, and apply it in chat UI rendering.
Co-authored-by: Cursor <cursoragent@cursor.com>
Fallback to a default bootstrap password for first login when env and stored secrets are empty, and document the behavior in system.env.example.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add Chinese quickstart in README, env file step in OPEN_SOURCE_QUICKSTART, and RUNBOOK pointer to the one-page checklist.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move admin operation audit to true offset-based pagination with SQL-side filtering and total count metadata, while keeping legacy response compatibility. Also refine admin Experts section layout and improve chat image viewer interactions and reasoning finalization behavior to reduce UX regressions.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Add runtime/plan_agent_v2 package and shims; gateway/direct_loop/WS wiring
- Admin chat: interaction mode and specialist only in user menu; session API stores memory_mode and execution_mode only
- POST /admin/api/chat/user-mode mirrors plan_agent_version to AIA_EXPERT_PLAN_AGENT_V2_ENABLED (v2 to 1, v1 to 0)
- Composer cleanup (hidden mode select, no reasoning toggle in meta bar); tests and _local/system.env.example
Co-authored-by: Cursor <cursoragent@cursor.com>