chore: update @probelabs/probe to v0.6.0-rc294#524
Conversation
PR Overview: Update @probelabs/probe to v0.6.0-rc294SummaryThis PR updates the Files Changedpackage.json
package-lock.json
Architecture & Impact AssessmentWhat This PR Accomplishes
Key Technical Changes
Affected System Componentsgraph TD
A[Visor Core] --> B[AI Review Service]
A --> C[LLM Judge]
A --> D[Diff Processor]
A --> E[Tracer Init]
A --> F[Session Registry]
B --> G["@probelabs/probe"]
C --> G
D --> G
E --> G
F --> G
G --> H[ProbeAgent]
G --> I[SimpleTelemetry]
G --> J[SimpleAppTracer]
G --> K[DelegationManager]
G --> L[extract utility]
Usage Locations in CodebaseThe
Scope Discovery & Context ExpansionRelated Files (No Changes Required)
Potential Areas to Verify
Version InjectionThe Risk Assessment
References
Metadata
Powered by Visor from Probelabs Last updated: 2026-03-11T13:39:09.380Z | Triggered by: pr_opened | Commit: d66b77f 💡 TIP: You can chat with Visor using |
✅ Security Check PassedNo security issues found – changes LGTM. ✅ Architecture Check PassedNo architecture issues found – changes LGTM. ✅ Performance Check PassedNo performance issues found – changes LGTM. Powered by Visor from Probelabs Last updated: 2026-03-11T13:39:02.714Z | Triggered by: pr_opened | Commit: d66b77f 💡 TIP: You can chat with Visor using |
Replace budget-capping approach with event-driven deadline extension. Probe #524 emits timeout.extended/windingDown events — Visor now listens and dynamically adjusts its withTimeout deadline to stay in sync with the agent's negotiated extensions. - Add TimeoutExtender class bridging agent events → withTimeout - Make withTimeout deadline dynamic (resets timer on extension) - Remove budget/maxPerRequest headroom capping (no longer needed) - Add wireTimeoutEvents() for timeout.extended + windingDown telemetry - Update @probelabs/probe to 0.6.0-rc297 - Rewrite tests: 14 tests covering extensions, wind-down, trace replay Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add remote HTTP transport for MCP server Add --transport http mode to `visor mcp-server` using the MCP SDK's StreamableHTTPServerTransport. Includes mandatory Bearer token auth (timing-safe), optional TLS, CORS support, and per-session transport management. Default remains stdio for backward compatibility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add remote HTTP transport for MCP server Add --transport http mode to `visor mcp-server` using the MCP SDK's StreamableHTTPServerTransport. Includes mandatory Bearer token auth (timing-safe), optional TLS, CORS support, and per-session transport management. Default remains stdio for backward compatibility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add @utcp/* mock stubs so UTCP tests can resolve modules The @utcp/sdk, @utcp/http, and @utcp/file packages are optional dependencies not installed locally. Added moduleNameMapper entries and stub mocks so Jest can resolve them, allowing tests that jest.mock() these modules to actually run. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: support multiple frontends in parallel via RunnerHost Replace ~660 lines of duplicated per-frontend boilerplate in cli-main.ts with a unified RunnerHost that orchestrates any combination of runners (--slack --telegram --mcp --a2a etc.) in parallel from a single process. - Add Runner interface and RunnerHost orchestrator (src/runners/) - Add runner factory encapsulating per-frontend config extraction - Add McpServerRunner wrapping MCP HTTP server as composable runner - Extract shared telemetry init into reusable helper - Add implements Runner + readonly name to all 5 existing runners - Refactor mcp-server.ts: extract createHttpMcpServer() returning handle - Add --mcp, --mcp-port, --mcp-auth-token CLI flags - Add RunnerHost unit tests (7 tests) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: make MCP server runner a proper conversational frontend - Rewrite McpServerRunner to dispatch messages through the engine (like Slack/Telegram) instead of running raw code analysis - Build mcp_conversation context and pass via webhookData - Extract mcp_conversation in level-dispatch.ts for both map-fanout and single-check code paths - Fix response extraction: unwrap trackExecution envelope, pick longest .text from history (final AI response, not routing intent) - Handle session expiry per MCP spec (404 + JSON-RPC error) - Add OTel tracing via withVisorRun for MCP route - Add 'mcp' to TaskSource type, 'mcp_server' to allowed config keys - Update runner-factory to pass engine+config to new constructor - Add comprehensive tests (28 test cases) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: graceful_stop should not signal the parent/caller session When the timeout observer triggers graceful_stop on the MCP bridge, it was signaling ALL registered ProbeAgent sessions including the parent agent that owns the bridge. This caused the parent to wind down with empty history (history_length=0) while its child workflow tools were still running, producing a generic timeout message instead of summarizing actual results. Now the bridge skips the session matching its own sessionId (the parent/caller), so only child workflow sessions get the wind-down signal. Children return partial results via the MCP tool response, giving the parent actual data before its own wind-down. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: cap negotiated timeout extensions to visor_timeout and signal wind-down on hard kill Two fixes for timeout management: 1. Cap negotiated_timeout_budget and max_per_request to the headroom between ai_timeout and visor_timeout (visor_timeout - ai_timeout). Previously, the observer could grant extensions past visor_timeout, suppressing wind-down while the hard kill fires with no partial results. (Trace: explore-code got +10min extension at 25min but hard-killed at 30min) 2. withTimeout now accepts sessionId and calls triggerGracefulWindDown() on the ProbeAgent before rejecting. Previously, Promise.race just rejected with no signal, giving the agent zero chance to summarize. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: dynamic timeout extension via Probe timeout.extended events Replace budget-capping approach with event-driven deadline extension. Probe #524 emits timeout.extended/windingDown events — Visor now listens and dynamically adjusts its withTimeout deadline to stay in sync with the agent's negotiated extensions. - Add TimeoutExtender class bridging agent events → withTimeout - Make withTimeout deadline dynamic (resets timer on extension) - Remove budget/maxPerRequest headroom capping (no longer needed) - Add wireTimeoutEvents() for timeout.extended + windingDown telemetry - Update @probelabs/probe to 0.6.0-rc297 - Rewrite tests: 14 tests covering extensions, wind-down, trace replay Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: prevent empty GitHub comments when template rendering returns no content When the issue-assistant template rendering fails to produce content, the GitHub frontend now falls back to extracting text from the AI output object (ev.result.output.text). Added diagnostic logging to template-renderer for future debugging, and improved forEach output aggregation in the runner. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: remove newlines from E2E test mock text to avoid JSON parse error The MOCK_AI_TEXT contained \n characters that broke the shell echo command's JSON output on CI. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This PR updates
@probelabs/probeto versionv0.6.0-rc294.Triggered by release: probelabs/probe@v0.6.0-rc294
Changes
@probelabs/probedependency tov0.6.0-rc294🤖 Auto-generated by release workflow