Skip to content

Conversation

@sestinj
Copy link
Contributor

@sestinj sestinj commented Dec 11, 2025

Description

[ What changed? Feel free to be brief. ]

AI Code Review

  • Team members only: AI review runs automatically when PR is opened or marked ready for review
  • Team members can also trigger a review by commenting @continue-review

Checklist

  • [] I've read the contributing guide
  • [] The relevant docs, if any, have been updated or created
  • [] The relevant tests, if any, have been updated or created

Screen recording or screenshot

[ When applicable, please include a short screen recording or screenshot - this makes it much easier for us as contributors to review and understand your changes. See this PR as a good example. ]

Tests

[ What tests were added or updated to ensure the changes work as expected? ]


Summary by cubic

Adds optional Raindrop observability for CLI LLM calls. When RAINDROP_API_KEY or RAINDROP_WRITE_KEY is set, we emit OpenTelemetry traces for OpenAI and Anthropic calls with session metadata.

  • New Features

    • Opt-in tracing via RAINDROP_API_KEY/RAINDROP_WRITE_KEY; sets RAINDROP_ENABLED for adapters.
    • OpenTelemetry trace export to https://api.raindrop.ai/v1/traces using OTLP.
    • Session metadata passed via env vars (RAINDROP_USER_ID, RAINDROP_CONVO_ID, RAINDROP_EVENT_NAME) set in chat, headless, and serve.
    • Safe SDK shutdown on exit to flush traces.
    • Headless prompt validation refactor to prevent hanging without input.
  • Dependencies

    • Added raindrop-ai and ai.
    • Added OpenTelemetry trace/export packages: @opentelemetry/exporter-trace-otlp-proto, @opentelemetry/sdk-trace-node, @opentelemetry/sdk-trace-base.

Written for commit a293cb6. Summary will update automatically on new commits.

@sestinj sestinj requested a review from a team as a code owner December 11, 2025 03:23
@sestinj sestinj requested review from RomneyDa and removed request for a team December 11, 2025 03:23
@continue
Copy link
Contributor

continue bot commented Dec 11, 2025

All Green - Keep your PRs mergeable

Learn more

All Green is an AI agent that automatically:

✅ Addresses code review comments

✅ Fixes failing CI checks

✅ Resolves merge conflicts

@continue-development-app
Copy link

All Green - Keep your PRs mergeable

Learn more

All Green is an AI agent that automatically:

✅ Addresses code review comments

✅ Fixes failing CI checks

✅ Resolves merge conflicts

@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Dec 11, 2025
@github-actions
Copy link

github-actions bot commented Dec 11, 2025

✅ Review Complete

Code Review Summary

⚠️ AI review failed. Please check the Continue API key and configuration.

Troubleshooting

  • Verify the CONTINUE_API_KEY secret is set correctly
  • Check that the organization and config path are valid
  • Ensure the Continue service is accessible

@continue
Copy link
Contributor

continue bot commented Dec 11, 2025

Documentation Review

After reviewing PR #9123, no documentation updates are needed for the following reasons:

Why No Docs Needed

  1. Optional internal feature: This is an opt-in observability tool that requires third-party API keys (RAINDROP_API_KEY/RAINDROP_WRITE_KEY) from Raindrop.ai
  2. No user-facing changes: No new commands, flags, or usage patterns - purely internal telemetry
  3. Not a Continue product feature: This is integration with a third-party observability service, not a core Continue feature
  4. Implementation detail: The service initializes automatically when env vars are set - no user configuration required
  5. Scope: Internal development/debugging tool for observability, not intended for general user consumption

Documentation Assessment

  • Telemetry docs () - Correctly documents Continue's own telemetry, not third-party tools
  • CLI docs () - No changes needed, feature doesn't affect CLI usage
  • Environment variables - Feature uses undocumented env vars intentionally (internal tool)

Recommendation

If Raindrop observability becomes a recommended or officially supported feature in the future (e.g., for enterprise customers or debugging workflows), then documentation should be added to explain:

  • What Raindrop is and why users would want it
  • How to obtain API keys
  • What data is collected and where it's sent
  • Privacy/security implications

Until then, keeping this as an undocumented internal feature is appropriate.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 11 files

@continue
Copy link
Contributor

continue bot commented Dec 11, 2025

CI Check Failure Analysis

The failing E2E test is not related to the PR changes.

Root Cause

npm error Downloading ripgrep failed: Error: Request failed: 403

This is a flaky infrastructure issue where GitHub's CDN/download service returned a 403 error when trying to download the ripgrep dependency during npm ci.

Evidence

  • ✅ No ripgrep-related changes in this PR
  • ✅ No dependency version changes for ripgrep
  • ✅ The PR only adds Raindrop observability code (raindrop-ai package + OpenTelemetry)
  • ✅ The failure occurred during test setup, not during test execution

Recommendation

Re-run the failed job - This is a transient network/CDN issue that should resolve on retry.

The E2E test failure is unrelated to the Raindrop observability changes in this PR.

@continue
Copy link
Contributor

continue bot commented Dec 11, 2025

@sestinj The E2E test failure is a transient ripgrep download issue (403 error) unrelated to the PR code. Could you re-run the failed workflow?

import { serviceContainer } from "../services/ServiceContainer.js";
import {
AgentFileServiceState,
AuthServiceState,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

2 participants