Documentation Index
Fetch the complete documentation index at: https://mintlify.com/goulinkh/code-review-harness/llms.txt
Use this file to discover all available pages before exploring further.
@code-review-harness/launchpad-sink implements the ReviewSink interface for Launchpad. When the agent calls submit_review, the sink posts inline comments to the numbered diff, adds a general review body, and casts a vote on the merge proposal — all via the Launchpad REST API. Use it alongside @code-review-harness/launchpad-provider for a complete Launchpad review workflow.
Installation
- npm
- pnpm
- yarn
Import
Signature
Options
The full Launchpad API URL of the merge proposal. Must match the URL used with
createLaunchpadProvider(). For example: https://api.launchpad.net/devel/~user/+git/repo/+merge/123.Inject a custom
LaunchpadApi client instance. When provided, the accessToken, accessSecret, and consumerKey options are ignored.Launchpad OAuth access token. Overrides the
LP_ACCESS_TOKEN environment variable.Launchpad OAuth access secret. Overrides the
LP_ACCESS_SECRET environment variable.Launchpad OAuth consumer key. Overrides the
LP_CONSUMER_KEY environment variable. Defaults to "crh".Review schema
The sink uses the following TypeBox schema. The agent must produce a payload matching this shape when it callssubmit_review:
Verdict mapping
Theverdict field maps to a Launchpad vote as follows:
| Verdict | Launchpad vote |
|---|---|
"approve" | Approve |
"needs-work" | Needs Fixing |
"abstain" | Abstain |
Inline comment constraints
Environment variables
| Variable | Description |
|---|---|
LP_ACCESS_TOKEN | OAuth access token for the Launchpad API. |
LP_ACCESS_SECRET | OAuth access secret for the Launchpad API. |
LP_CONSUMER_KEY | OAuth consumer key. Defaults to "crh". |
Usage example
submit_review, the sink posts the inline comments and then casts the verdict vote as a single postComment call with the formatted review body.