-
Split/3 integrations verify (#504)
发布于
2026-04-08 01:05:22 +00:00 - feat: real-time streaming UI, interactive deploy, and multi-remote support
- Switch LangGraph stream_mode from ["updates"] to ["events"] for fine-grained
tool calls, LLM reasoning, and chain transitions in real-time - Add reasoning mapper (app/remote/reasoning.py) to translate events into
human-readable spinner subtext (replaces fake cycling verbs) - Enhance StreamRenderer and _LiveSpinner to show live tool calls and LLM
reasoning instead of cosmetic placeholders - Add astream_investigation() async runner and CLI bridge for local streaming
with the same UX as remote - Add POST /investigate/stream SSE endpoint to the lightweight FastAPI server
- Make opensre deploy fully interactive: context-aware menu, health check,
confirmation prompts, branch selection - Add named remotes to the wizard store so multiple remote endpoints (ec2,
staging, local) can coexist with an active selection - Deploy always saves the EC2 URL as a named remote and sets it active
- opensre remote shows a remote picker when multiple remotes are configured
Made-with: Cursor
- fix: persist investigation reports with content instead of empty sections
Empty investigation reports were caused by two bugs:
-
_save_investigation used result.get('key', 'N/A') which returns ""
when the key exists but is empty, instead of the 'N/A' fallback.
Fixed withor 'N/A'to treat empty strings as missing. -
Noise-classified alerts routed to END before diagnose/publish ran,
leaving root_cause, report, and problem_md as "". Now propagates
is_noise through the result dict and writes an explanatory message.
Also adds interactive investigation browser (select + view + save)
and persists streamed investigation results as .md files.Made-with: Cursor
- fix(remote): harden streaming deploy workflow
Keep managed EC2 deployment state in app-owned local storage, preserve streamed investigations on disconnect, and surface local streaming failures promptly so the remote CLI can stay stream-first and merge-ready.
Made-with: Cursor
- fix(cli): redact integration tokens in show output
Redact api_token values in integration show output and allow vercel records to be shown through the managed integrations CLI so credentials are not exposed during inspection.
Made-with: Cursor
- feat(vercel): add incident RCA flows for CLI and remote investigation
Support Vercel incident discovery and RCA from the CLI and remote server so deployment failures can be selected, investigated, and correlated with GitHub code context.
Made-with: Cursor
- fix(vercel): align incident discovery with runtime logs
Use the project-scoped Vercel runtime log API and structured error fields so the CLI finds the same incidents users see in the dashboard. Add loading feedback after project selection and keep the Vercel RCA tests aligned with the updated behavior.
Made-with: Cursor
- feat(cli): constants paths, prompt support, wizard prompts
-
Add INTEGRATIONS_STORE_PATH and shared home constants; wire integrations store.
-
Add prompt_support (questionary escape/cancel) for opensre and wizard entrypoints.
-
Wizard prompt/store tweaks and tests; daily-update workflow and Makefile.
Made-with: Cursor
- feat(vercel): client, poller, logs tool; drop incident module
-
Extend Vercel client (streaming runtime logs), poller, VercelLogsTool, and remote server wiring.
-
Remove vercel_incidents and integrations vercel CLI; update poller tests.
-
EC2 test fixture, pyproject deps, Makefile-aligned test assets.
Made-with: Cursor
- refactor(integrations): list-only Vercel verify; wizard Vercel note
-
Drop verify runtime-log flags from verify_integrations and python -m app.integrations.
-
Wizard: Vercel choice hint and post-select note about API limits.
-
Update CLI integration tests and smoke test.
Made-with: Cursor
下载附件