@raindrop-ai/cursor 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor-plugin/plugin.json +1 -1
- package/README.md +17 -52
- package/dist/cli.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @raindrop-ai/cursor
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Raindrop observability for Cursor IDE, `cursor-agent`, and Cloud Agents. Hooks capture each turn. You do not change application code.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -9,44 +9,36 @@ Requires Node.js 20 or later.
|
|
|
9
9
|
```bash
|
|
10
10
|
npm install -g @raindrop-ai/cursor
|
|
11
11
|
raindrop-cursor setup
|
|
12
|
-
export RAINDROP_WRITE_KEY="your-write-key"
|
|
13
12
|
```
|
|
14
13
|
|
|
15
|
-
Setup
|
|
14
|
+
Setup writes hooks into `~/.cursor/hooks.json` and a self-diagnostics MCP server into `~/.cursor/mcp.json`. Existing hooks and other MCP servers stay. Setup asks for a Raindrop write key and an optional project slug. A blank project uses Production.
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
## Cloud Agents
|
|
18
17
|
|
|
19
18
|
```bash
|
|
20
19
|
npx -y @raindrop-ai/cursor setup --scope project
|
|
21
20
|
```
|
|
22
21
|
|
|
23
|
-
Commit `.cursor/hooks.json` and `.cursor/mcp.json`. Project hooks
|
|
22
|
+
Commit `.cursor/hooks.json` and `.cursor/mcp.json`. Project hooks pin `npx -y @raindrop-ai/cursor@<version> hook` to the CLI that ran setup. Rerun setup to refresh the pin.
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
Set `RAINDROP_WRITE_KEY` and `RAINDROP_LOCAL_DEBUGGER=false` in the Cloud Agent runtime secrets. For a named project, also set `RAINDROP_PROJECT_ID`.
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
Install in one scope per conversation.
|
|
28
27
|
|
|
29
|
-
|
|
28
|
+
## What gets tracked
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
- Session usage totals, compaction metadata, and session-end metadata.
|
|
37
|
-
|
|
38
|
-
`stop` counts are cumulative for the turn. They replace response counts rather than being added again. Missing counts remain absent. Duplicate `stop` hooks do not add another model span or double session totals.
|
|
39
|
-
|
|
40
|
-
At `sessionEnd`, turns missing a `stop` receive a cancelled model span and a final event patch with their captured usage. This includes earlier unfinished generations. Their usage enters the final session totals once. Already completed turns do not get another model span.
|
|
41
|
-
|
|
42
|
-
Generic tool hooks avoid double-counting shell, file, and MCP tool operations. Specialized tool hooks and Tab hooks are not installed.
|
|
30
|
+
- One `ai_generation` event per Cursor generation
|
|
31
|
+
- Tool success and failure spans, including permission denials
|
|
32
|
+
- Thinking spans
|
|
33
|
+
- One model span per turn, with input, output, cache-read, and cache-write usage when Cursor provides it
|
|
34
|
+
- Session usage totals and compaction metadata
|
|
43
35
|
|
|
44
36
|
## Configuration
|
|
45
37
|
|
|
46
38
|
Configuration is shared with the Claude Code integration at `~/.config/raindrop/config.json`.
|
|
47
39
|
|
|
48
40
|
| Environment variable | Purpose |
|
|
49
|
-
|
|
41
|
+
|---|---|
|
|
50
42
|
| `RAINDROP_WRITE_KEY` | Raindrop write key |
|
|
51
43
|
| `RAINDROP_API_URL` | Ingest base URL; defaults to `https://api.raindrop.ai/v1` |
|
|
52
44
|
| `RAINDROP_PROJECT_ID` | Project override |
|
|
@@ -70,41 +62,14 @@ raindrop-cursor uninstall
|
|
|
70
62
|
raindrop-cursor uninstall --scope project
|
|
71
63
|
```
|
|
72
64
|
|
|
73
|
-
Enable, disable, and debug commands update shared Raindrop
|
|
65
|
+
Enable, disable, and debug commands update the shared Raindrop config that Claude Code also reads.
|
|
74
66
|
|
|
75
67
|
## Local debugger
|
|
76
68
|
|
|
77
|
-
Start the Raindrop local debugger on port 5899, or set `RAINDROP_LOCAL_DEBUGGER` to its URL.
|
|
69
|
+
Start the Raindrop local debugger on port 5899, or set `RAINDROP_LOCAL_DEBUGGER` to its URL. Event patches and OTLP spans appear without a cloud write key.
|
|
78
70
|
|
|
79
|
-
`setup --local-only` skips requiring a write key.
|
|
71
|
+
`setup --local-only` skips requiring a write key. On Cloud Agent VMs and other shared hosts, set `RAINDROP_LOCAL_DEBUGGER=false`.
|
|
80
72
|
|
|
81
73
|
## Self-diagnostics
|
|
82
74
|
|
|
83
|
-
`raindrop-cursor mcp-serve` exposes
|
|
84
|
-
|
|
85
|
-
## Cursor plugin
|
|
86
|
-
|
|
87
|
-
The npm package includes `.cursor-plugin/plugin.json`, `hooks/hooks.json`, `hooks/hook.cjs`, and `.mcp.json`. Each plugin hook is a one-line `node -e` command that runs `hooks/hook.cjs`; the launcher resolves the bundled CLI relative to its own file, skips missing builds, and always exits zero. The package build synchronizes the plugin version with the npm version.
|
|
88
|
-
|
|
89
|
-
## Limits
|
|
90
|
-
|
|
91
|
-
Hook commands always exit zero and write no control response to stdout. Slow network requests cannot extend the CLI's whole-invocation deadline. Inputs over 16 MB are dropped; captured text is capped at 1,000,000 characters and serialized span strings at 32,768 characters.
|
|
92
|
-
|
|
93
|
-
State and debugger discovery cache live in `~/.raindrop-cursor`, with hashed conversation and generation keys and bounded file locking. On POSIX, the directory must belong to the current user with no group or other permissions; files use mode `0600`. Unsafe directories and linked files are rejected on reads. Writes replace files atomically without following existing links. Windows relies on the user's home-directory ACLs. The old shared temporary directory is not read or migrated; restart active Cursor sessions when upgrading.
|
|
94
|
-
|
|
95
|
-
`sessionEnd` cleans up conversation state. Cloud Agents may omit `sessionStart` and `sessionEnd`; `stop` still finalizes events, but session metadata can be incomplete and state remains until removed. You can remove `~/.raindrop-cursor` when no Cursor sessions are active. No transcript files are parsed.
|
|
96
|
-
|
|
97
|
-
Cached auto-detection accepts only `http://localhost:5899/v1/`; custom debugger URLs require explicit `RAINDROP_LOCAL_DEBUGGER` configuration. Auto-detection trusts the service listening on that local port. Set `RAINDROP_LOCAL_DEBUGGER=false` on shared hosts where that service cannot be trusted.
|
|
98
|
-
|
|
99
|
-
## Development
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
pnpm --filter @raindrop-ai/core build
|
|
103
|
-
pnpm --filter @raindrop-ai/cursor build
|
|
104
|
-
pnpm --filter @raindrop-ai/cursor test
|
|
105
|
-
pnpm --filter @raindrop-ai/cursor lint
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
The conformance driver at `conformance/cursor-driver.mjs` exercises the public mapper and real telemetry transport with synthetic hook payloads. Live Cursor IDE and Cloud Agent validation is separate from these fixtures.
|
|
109
|
-
|
|
110
|
-
Run it using the [pinned harness instructions](../../conformance/README.md), with `--driver 'node /absolute/path/to/raindrop-js/conformance/cursor-driver.mjs'` and `--failures /absolute/path/to/raindrop-js/conformance/cursor-failures.txt`. The initial fault-lane baseline has 2 passes, 10 expected failures, and 48 unsupported scenarios. [DEV-1661](https://linear.app/raindrop-ai/issue/DEV-1661/cursor-hooks-conformance-gaps-and-live-integration-verification) tracks those gaps, CLI hook availability, subagent token attribution, and CI onboarding.
|
|
75
|
+
`raindrop-cursor mcp-serve` exposes `__raindrop_report`. Default categories are missing context, repeated tool failures, capability gaps, complete task failure, and noteworthy observations.
|
package/dist/cli.js
CHANGED
|
@@ -1773,7 +1773,7 @@ import { z as z4 } from "zod";
|
|
|
1773
1773
|
// package.json
|
|
1774
1774
|
var package_default = {
|
|
1775
1775
|
name: "@raindrop-ai/cursor",
|
|
1776
|
-
version: "0.0.
|
|
1776
|
+
version: "0.0.2",
|
|
1777
1777
|
description: "Raindrop observability for Cursor agents via hooks",
|
|
1778
1778
|
license: "MIT",
|
|
1779
1779
|
type: "module",
|
package/dist/index.cjs
CHANGED
|
@@ -1807,7 +1807,7 @@ installTracingSuppressionHook();
|
|
|
1807
1807
|
// package.json
|
|
1808
1808
|
var package_default = {
|
|
1809
1809
|
name: "@raindrop-ai/cursor",
|
|
1810
|
-
version: "0.0.
|
|
1810
|
+
version: "0.0.2",
|
|
1811
1811
|
description: "Raindrop observability for Cursor agents via hooks",
|
|
1812
1812
|
license: "MIT",
|
|
1813
1813
|
type: "module",
|
package/dist/index.js
CHANGED
|
@@ -1767,7 +1767,7 @@ installTracingSuppressionHook();
|
|
|
1767
1767
|
// package.json
|
|
1768
1768
|
var package_default = {
|
|
1769
1769
|
name: "@raindrop-ai/cursor",
|
|
1770
|
-
version: "0.0.
|
|
1770
|
+
version: "0.0.2",
|
|
1771
1771
|
description: "Raindrop observability for Cursor agents via hooks",
|
|
1772
1772
|
license: "MIT",
|
|
1773
1773
|
type: "module",
|