pi-cursor-sdk 0.1.48 → 0.1.49
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/CHANGELOG.md +11 -0
- package/README.md +1 -1
- package/package.json +161 -161
- package/src/context.ts +1 -1
- package/src/cursor-context-tools.ts +1 -1
- package/src/cursor-live-run-accounting.ts +1 -1
- package/src/cursor-live-run-coordinator.ts +1 -1
- package/src/cursor-native-replay-routing.ts +1 -1
- package/src/cursor-partial-content-emitter.ts +1 -1
- package/src/cursor-pi-tool-bridge-mcp.ts +1 -1
- package/src/cursor-pi-tool-bridge-run.ts +1 -1
- package/src/cursor-pi-tool-bridge-types.ts +1 -1
- package/src/cursor-provider-lazy.ts +1 -1
- package/src/cursor-provider-live-run-drain.ts +1 -1
- package/src/cursor-provider-run-finalizer.ts +1 -1
- package/src/cursor-provider-turn-coordinator.ts +1 -1
- package/src/cursor-provider-turn-lifecycle-emitter.ts +1 -1
- package/src/cursor-provider-turn-prepare.ts +1 -1
- package/src/cursor-provider-turn-types.ts +1 -1
- package/src/cursor-provider.ts +1 -1
- package/src/cursor-run-final-text.ts +1 -1
- package/src/cursor-sdk-event-debug.ts +1 -1
- package/src/cursor-session-agent.ts +1 -1
- package/src/cursor-session-send-policy.ts +1 -1
- package/src/cursor-usage-accounting.ts +1 -1
- package/src/model-discovery.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.1.49 - 2026-06-23
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Update the local pi validation baseline to `@earendil-works/pi-ai`, `@earendil-works/pi-coding-agent`, and `@earendil-works/pi-tui` `0.80.1` after reviewing the Pi 0.80.0 and 0.80.1 changelogs plus current package/provider docs.
|
|
10
|
+
- Move source and test imports that typecheck against old root `@earendil-works/pi-ai` globals to `@earendil-works/pi-ai/compat`, matching the Pi 0.80 migration guidance.
|
|
11
|
+
|
|
12
|
+
### Validation
|
|
13
|
+
|
|
14
|
+
- Pending in this release train.
|
|
15
|
+
|
|
5
16
|
## 0.1.48 - 2026-06-22
|
|
6
17
|
|
|
7
18
|
### Fixed
|
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ If pi started without a key, run `/cursor-refresh-models` after `/login` to refr
|
|
|
51
51
|
## Requirements
|
|
52
52
|
|
|
53
53
|
- Node.js 22.19+
|
|
54
|
-
- pi 0.
|
|
54
|
+
- pi 0.80.1 or newer recommended; pi core peer metadata is intentionally unpinned so newer pi releases are not blocked
|
|
55
55
|
- a Cursor SDK API key saved through `/login`, available as `CURSOR_API_KEY`, or passed with pi's `--api-key`
|
|
56
56
|
|
|
57
57
|
No global `@cursor/sdk` install is required. This package depends on exact `@cursor/sdk@1.0.19`, so normal package installation brings in the SDK version this extension was built and tested against. It also declares and bundles `@connectrpc/connect-node@1.7.0` with `undici@7.28.0` because Cursor SDK 1.0.19 still dynamically loads the Node ConnectRPC transport during local-agent runs, and npm dependency consumers do not inherit this package's root-only `overrides`. Cursor SDK 1.0.19 removes the older `sqlite3 -> node-gyp@8` dependency chain, so deprecated install warnings for `inflight`, `rimraf`, `glob@7`, `npmlog`, `gauge`, `are-we-there-yet`, and `tar@6` from that chain are no longer expected. This package follows pi package guidance by declaring pi core package peers with `"*"` ranges, so users who update pi before this extension is republished are not blocked by peer metadata. The current recommended and validated pi baseline is 0.79.10 plus Cursor SDK 1.0.19; older pi compatibility paths are best-effort and older Cursor SDK compatibility paths are not maintained.
|
package/package.json
CHANGED
|
@@ -1,163 +1,163 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
2
|
+
"name": "pi-cursor-sdk",
|
|
3
|
+
"version": "0.1.49",
|
|
4
|
+
"description": "pi provider extension backed by @cursor/sdk local agents",
|
|
5
|
+
"author": "Mitch Fultz (https://github.com/fitchmultz)",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"pi-package",
|
|
9
|
+
"pi",
|
|
10
|
+
"pi-extension",
|
|
11
|
+
"cursor",
|
|
12
|
+
"cursor-sdk",
|
|
13
|
+
"ai",
|
|
14
|
+
"extension"
|
|
15
|
+
],
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/fitchmultz/pi-cursor-sdk.git"
|
|
19
|
+
},
|
|
20
|
+
"bugs": {
|
|
21
|
+
"url": "https://github.com/fitchmultz/pi-cursor-sdk/issues"
|
|
22
|
+
},
|
|
23
|
+
"homepage": "https://github.com/fitchmultz/pi-cursor-sdk#readme",
|
|
24
|
+
"files": [
|
|
25
|
+
"shared",
|
|
26
|
+
"src",
|
|
27
|
+
"scripts/refresh-cursor-model-snapshots.mjs",
|
|
28
|
+
"scripts/steering-rpc-smoke.mjs",
|
|
29
|
+
"scripts/tmux-live-smoke.sh",
|
|
30
|
+
"scripts/visual-tui-smoke.mjs",
|
|
31
|
+
"scripts/visual-tui-smoke-self-test.mjs",
|
|
32
|
+
"scripts/isolated-cursor-smoke.sh",
|
|
33
|
+
"scripts/fixtures/plan-strip-shim",
|
|
34
|
+
"scripts/validate-smoke-jsonl.mjs",
|
|
35
|
+
"scripts/probe-mcp-coldstart.mjs",
|
|
36
|
+
"scripts/debug-sdk-events.mjs",
|
|
37
|
+
"scripts/debug-sdk-events.d.mts",
|
|
38
|
+
"scripts/debug-provider-events.mjs",
|
|
39
|
+
"scripts/debug-provider-events.d.mts",
|
|
40
|
+
"platform-smoke.config.mjs",
|
|
41
|
+
"scripts/platform-smoke.mjs",
|
|
42
|
+
"scripts/platform-smoke/assertions.mjs",
|
|
43
|
+
"scripts/platform-smoke/artifacts.mjs",
|
|
44
|
+
"scripts/platform-smoke/card-detect.mjs",
|
|
45
|
+
"scripts/platform-smoke/crabbox-runner.mjs",
|
|
46
|
+
"scripts/platform-smoke/doctor.mjs",
|
|
47
|
+
"scripts/platform-smoke/live-suite-runner.mjs",
|
|
48
|
+
"scripts/platform-smoke/jsonl-text.mjs",
|
|
49
|
+
"scripts/platform-smoke/platform-build-windows.ps1",
|
|
50
|
+
"scripts/platform-smoke/pty-capture.mjs",
|
|
51
|
+
"scripts/platform-smoke/render-ansi.mjs",
|
|
52
|
+
"scripts/platform-smoke/scenarios.mjs",
|
|
53
|
+
"scripts/platform-smoke/targets.mjs",
|
|
54
|
+
"scripts/platform-smoke/visual-evidence.mjs",
|
|
55
|
+
"scripts/lib/cursor-cli-args.mjs",
|
|
56
|
+
"scripts/lib/cursor-cli-args.d.mts",
|
|
57
|
+
"scripts/lib/cursor-child-process.mjs",
|
|
58
|
+
"scripts/lib/cursor-child-process.d.mts",
|
|
59
|
+
"scripts/lib/cursor-script-fail.mjs",
|
|
60
|
+
"scripts/lib/cursor-script-fail.d.mts",
|
|
61
|
+
"scripts/lib/cursor-smoke-env.mjs",
|
|
62
|
+
"scripts/lib/cursor-smoke-env.d.mts",
|
|
63
|
+
"scripts/lib/cursor-smoke-shell.sh",
|
|
64
|
+
"scripts/lib/cursor-visual-manifest.mjs",
|
|
65
|
+
"scripts/lib/cursor-visual-manifest.d.mts",
|
|
66
|
+
"scripts/lib/cursor-visual-render.mjs",
|
|
67
|
+
"scripts/lib/cursor-visual-render.d.mts",
|
|
68
|
+
"scripts/lib/cursor-sdk-output-filter.mjs",
|
|
69
|
+
"scripts/lib/cursor-sdk-output-filter.d.mts",
|
|
70
|
+
"README.md",
|
|
71
|
+
"docs/cursor-model-ux-spec.md",
|
|
72
|
+
"docs/cursor-tool-surfaces.md",
|
|
73
|
+
"docs/cursor-live-smoke-checklist.md",
|
|
74
|
+
"docs/cursor-testing-lessons.md",
|
|
75
|
+
"docs/cursor-dogfood-checklist.md",
|
|
76
|
+
"docs/cursor-native-tool-replay.md",
|
|
77
|
+
"docs/cursor-native-tool-visual-audit.md",
|
|
78
|
+
"docs/platform-smoke.md",
|
|
79
|
+
"LICENSE",
|
|
80
|
+
"CHANGELOG.md"
|
|
81
|
+
],
|
|
82
|
+
"type": "module",
|
|
83
|
+
"engines": {
|
|
84
|
+
"node": ">=22.19.0"
|
|
85
|
+
},
|
|
86
|
+
"scripts": {
|
|
87
|
+
"typecheck": "npm run typecheck:src && npm run typecheck:tests && npm run typecheck:replay-compile",
|
|
88
|
+
"typecheck:src": "tsc --noEmit",
|
|
89
|
+
"typecheck:tests": "tsc -p tsconfig.test.json --noEmit",
|
|
90
|
+
"typecheck:replay-compile": "tsc --noEmit -p test/tsconfig.json",
|
|
91
|
+
"verify": "npm run check:platform-smoke && npm run typecheck && npm test",
|
|
92
|
+
"test": "vitest run",
|
|
93
|
+
"test:watch": "vitest",
|
|
94
|
+
"refresh:cursor-snapshots": "node scripts/refresh-cursor-model-snapshots.mjs",
|
|
95
|
+
"smoke:live": "scripts/tmux-live-smoke.sh",
|
|
96
|
+
"smoke:visual": "node scripts/visual-tui-smoke.mjs",
|
|
97
|
+
"smoke:isolated": "scripts/isolated-cursor-smoke.sh",
|
|
98
|
+
"smoke:steering": "node scripts/steering-rpc-smoke.mjs",
|
|
99
|
+
"smoke:jsonl": "node scripts/validate-smoke-jsonl.mjs",
|
|
100
|
+
"debug:sdk-events": "node scripts/debug-sdk-events.mjs",
|
|
101
|
+
"debug:provider-events": "node scripts/debug-provider-events.mjs",
|
|
102
|
+
"debug:mcp-coldstart": "node scripts/probe-mcp-coldstart.mjs",
|
|
103
|
+
"check:platform-smoke": "node --check platform-smoke.config.mjs && node --check scripts/platform-smoke.mjs && node --check scripts/platform-smoke/assertions.mjs && node --check scripts/platform-smoke/artifacts.mjs && node --check scripts/platform-smoke/card-detect.mjs && node --check scripts/platform-smoke/crabbox-runner.mjs && node --check scripts/platform-smoke/doctor.mjs && node --check scripts/platform-smoke/jsonl-text.mjs && node --check scripts/platform-smoke/live-suite-runner.mjs && node --check scripts/platform-smoke/pty-capture.mjs && node --check scripts/platform-smoke/render-ansi.mjs && node --check scripts/platform-smoke/scenarios.mjs && node --check scripts/platform-smoke/targets.mjs && node --check scripts/platform-smoke/visual-evidence.mjs && vitest run test/smoke-tooling.test.ts",
|
|
104
|
+
"smoke:platform": "node scripts/platform-smoke.mjs",
|
|
105
|
+
"smoke:platform:doctor": "node scripts/platform-smoke.mjs doctor",
|
|
106
|
+
"smoke:platform:macos": "node scripts/platform-smoke.mjs run --target macos",
|
|
107
|
+
"smoke:platform:ubuntu": "node scripts/platform-smoke.mjs run --target ubuntu",
|
|
108
|
+
"smoke:platform:windows-native": "node scripts/platform-smoke.mjs run --target windows-native",
|
|
109
|
+
"smoke:platform:all": "npm run smoke:platform:doctor && node scripts/platform-smoke.mjs run --target macos,ubuntu,windows-native"
|
|
110
|
+
},
|
|
111
|
+
"dependencies": {
|
|
112
|
+
"@connectrpc/connect-node": "1.7.0",
|
|
113
|
+
"@cursor/sdk": "1.0.19",
|
|
114
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
115
|
+
"undici": "7.28.0"
|
|
116
|
+
},
|
|
117
|
+
"bundledDependencies": [
|
|
118
|
+
"@connectrpc/connect-node",
|
|
119
|
+
"undici"
|
|
120
|
+
],
|
|
121
|
+
"peerDependencies": {
|
|
122
|
+
"@earendil-works/pi-ai": "*",
|
|
123
|
+
"@earendil-works/pi-coding-agent": "*",
|
|
124
|
+
"@earendil-works/pi-tui": "*",
|
|
125
|
+
"typebox": "*"
|
|
126
|
+
},
|
|
127
|
+
"devDependencies": {
|
|
128
|
+
"@earendil-works/pi-ai": "0.80.1",
|
|
129
|
+
"@earendil-works/pi-coding-agent": "0.80.1",
|
|
130
|
+
"@earendil-works/pi-tui": "0.80.1",
|
|
131
|
+
"@xterm/xterm": "^6.0.0",
|
|
132
|
+
"node-pty": "^1.1.0",
|
|
133
|
+
"playwright": "^1.60.0",
|
|
134
|
+
"typebox": "^1.1.38",
|
|
135
|
+
"typescript": "^6.0.3",
|
|
136
|
+
"vitest": "^4.1.6"
|
|
137
|
+
},
|
|
138
|
+
"pi": {
|
|
139
|
+
"extensions": [
|
|
140
|
+
"./src/index.ts"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"overrides": {
|
|
144
|
+
"undici": "7.28.0"
|
|
145
|
+
},
|
|
146
|
+
"allowScripts": {
|
|
147
|
+
"node-pty@1.1.0": true
|
|
148
|
+
},
|
|
149
|
+
"peerDependenciesMeta": {
|
|
150
|
+
"@earendil-works/pi-ai": {
|
|
151
|
+
"optional": true
|
|
152
|
+
},
|
|
153
|
+
"@earendil-works/pi-coding-agent": {
|
|
154
|
+
"optional": true
|
|
155
|
+
},
|
|
156
|
+
"@earendil-works/pi-tui": {
|
|
157
|
+
"optional": true
|
|
158
|
+
},
|
|
159
|
+
"typebox": {
|
|
160
|
+
"optional": true
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
163
|
}
|
package/src/context.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import type { Context, Message, ToolCall } from "@earendil-works/pi-ai";
|
|
2
|
+
import type { Context, Message, ToolCall } from "@earendil-works/pi-ai/compat";
|
|
3
3
|
import { convertToLlm } from "@earendil-works/pi-coding-agent";
|
|
4
4
|
import type { AgentModeOption, SDKImage } from "@cursor/sdk";
|
|
5
5
|
import { getCursorReplayPromptLabel } from "./cursor-tool-presentation-registry.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Context } from "@earendil-works/pi-ai";
|
|
1
|
+
import type { Context } from "@earendil-works/pi-ai/compat";
|
|
2
2
|
|
|
3
3
|
/** Tool names from the provider context snapshot at stream start (not live pi.getActiveTools()). */
|
|
4
4
|
export function getActiveContextToolNames(context: Context): ReadonlySet<string> | undefined {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Context, Message, ToolResultMessage } from "@earendil-works/pi-ai";
|
|
1
|
+
import type { Context, Message, ToolResultMessage } from "@earendil-works/pi-ai/compat";
|
|
2
2
|
import { CURSOR_APPROX_CHARS_PER_TOKEN, estimateCursorPromptMessageTokens } from "./context.js";
|
|
3
3
|
|
|
4
4
|
export interface CursorLiveRunAccountingState {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { canRenderCursorToolNatively } from "./cursor-native-tool-display-state.js";
|
|
2
2
|
import { getActiveContextToolNames } from "./cursor-context-tools.js";
|
|
3
|
-
import type { Context } from "@earendil-works/pi-ai";
|
|
3
|
+
import type { Context } from "@earendil-works/pi-ai/compat";
|
|
4
4
|
|
|
5
5
|
export type NativeReplayDisposition = "queue_replay" | "inactive_trace" | "transcript_trace";
|
|
6
6
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import type { Context, ToolResultMessage } from "@earendil-works/pi-ai";
|
|
2
|
+
import type { Context, ToolResultMessage } from "@earendil-works/pi-ai/compat";
|
|
3
3
|
import type { CallToolResult, Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
4
4
|
import { buildCursorPiBridgeMcpToolDescription, CURSOR_PI_BRIDGE_MCP_TOOL_PREFIX } from "./cursor-bridge-contract.js";
|
|
5
5
|
import type { CursorPiBridgeToolDefinition, CursorPiMcpInputSchema } from "./cursor-pi-tool-bridge-types.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
3
3
|
import type { McpServerConfig } from "@cursor/sdk";
|
|
4
|
-
import type { Context, ToolResultMessage } from "@earendil-works/pi-ai";
|
|
4
|
+
import type { Context, ToolResultMessage } from "@earendil-works/pi-ai/compat";
|
|
5
5
|
import { Server as McpProtocolServer } from "@modelcontextprotocol/sdk/server/index.js";
|
|
6
6
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
7
7
|
import {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { McpServerConfig } from "@cursor/sdk";
|
|
2
|
-
import type { Context, ToolResultMessage } from "@earendil-works/pi-ai";
|
|
2
|
+
import type { Context, ToolResultMessage } from "@earendil-works/pi-ai/compat";
|
|
3
3
|
import type { CursorSdkEventDebugRecorder } from "./cursor-sdk-event-debug.js";
|
|
4
4
|
import type {
|
|
5
5
|
ExtensionAPI,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AssistantMessage } from "@earendil-works/pi-ai";
|
|
1
|
+
import type { AssistantMessage } from "@earendil-works/pi-ai/compat";
|
|
2
2
|
import { abandonSessionCursorAgent, cursorLiveRuns } from "./cursor-provider-live-run-drain.js";
|
|
3
3
|
import {
|
|
4
4
|
classifyCursorRunEmission,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AssistantMessage, AssistantMessageEventStream } from "@earendil-works/pi-ai";
|
|
1
|
+
import type { AssistantMessage, AssistantMessageEventStream } from "@earendil-works/pi-ai/compat";
|
|
2
2
|
import type { InteractionUpdate } from "@cursor/sdk";
|
|
3
3
|
import type { CursorLiveRun } from "./cursor-live-run-coordinator.js";
|
|
4
4
|
import { cursorLiveRuns } from "./cursor-provider-live-run-drain.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AssistantMessage, AssistantMessageEventStream } from "@earendil-works/pi-ai";
|
|
1
|
+
import type { AssistantMessage, AssistantMessageEventStream } from "@earendil-works/pi-ai/compat";
|
|
2
2
|
import type { CursorLiveRun } from "./cursor-live-run-coordinator.js";
|
|
3
3
|
import { cursorLiveRuns } from "./cursor-provider-live-run-drain.js";
|
|
4
4
|
import { CursorPartialContentEmitter } from "./cursor-partial-content-emitter.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SimpleStreamOptions } from "@earendil-works/pi-ai";
|
|
1
|
+
import type { SimpleStreamOptions } from "@earendil-works/pi-ai/compat";
|
|
2
2
|
import { installCursorMcpToolTimeoutOverride } from "./cursor-mcp-timeout-override.js";
|
|
3
3
|
import { installCursorSdkOutputFilter, suppressCursorSdkOutput } from "./cursor-sdk-output-filter.js";
|
|
4
4
|
import {
|
|
@@ -5,7 +5,7 @@ import type {
|
|
|
5
5
|
Context,
|
|
6
6
|
Model,
|
|
7
7
|
SimpleStreamOptions,
|
|
8
|
-
} from "@earendil-works/pi-ai";
|
|
8
|
+
} from "@earendil-works/pi-ai/compat";
|
|
9
9
|
import type { AgentModeOption, SDKAgent, SDKImage } from "@cursor/sdk";
|
|
10
10
|
import type { CursorLiveRun } from "./cursor-live-run-coordinator.js";
|
|
11
11
|
import type { SessionCursorAgentLease } from "./cursor-session-agent.js";
|
package/src/cursor-provider.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AssistantMessage } from "@earendil-works/pi-ai";
|
|
1
|
+
import type { AssistantMessage } from "@earendil-works/pi-ai/compat";
|
|
2
2
|
import { asRecord, hasUsableText } from "./cursor-record-utils.js";
|
|
3
3
|
|
|
4
4
|
function isCursorTextBoundary(text: string, index: number): boolean {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { copyFileSync, existsSync, unlinkSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
import type { AssistantMessageEventStream } from "@earendil-works/pi-ai";
|
|
4
|
+
import type { AssistantMessageEventStream } from "@earendil-works/pi-ai/compat";
|
|
5
5
|
import type { AgentModeOption, InteractionUpdate } from "@cursor/sdk";
|
|
6
6
|
import type { CursorPiToolBridgeDiagnosticEvent } from "./cursor-pi-tool-bridge-diagnostics.js";
|
|
7
7
|
import { serializeCursorPiToolBridgeDiagnostic } from "./cursor-pi-tool-bridge-diagnostics.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import type { AgentModeOption, ModelSelection, SDKAgent, SettingSource } from "@cursor/sdk";
|
|
3
|
-
import type { Context } from "@earendil-works/pi-ai";
|
|
3
|
+
import type { Context } from "@earendil-works/pi-ai/compat";
|
|
4
4
|
import {
|
|
5
5
|
getRegisteredCursorPiToolBridge,
|
|
6
6
|
type CursorPiBridgeToolRequest,
|
package/src/model-discovery.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type {
|
|
|
5
5
|
ModelSelection,
|
|
6
6
|
} from "@cursor/sdk";
|
|
7
7
|
import type { ProviderModelConfig } from "@earendil-works/pi-coding-agent";
|
|
8
|
-
import type { ModelThinkingLevel, ThinkingLevelMap } from "@earendil-works/pi-ai";
|
|
8
|
+
import type { ModelThinkingLevel, ThinkingLevelMap } from "@earendil-works/pi-ai/compat";
|
|
9
9
|
import { loadContextWindowCache } from "./context-window-cache.js";
|
|
10
10
|
import { loadCursorSdk } from "./cursor-sdk-runtime.js";
|
|
11
11
|
import { resolveCursorApiKey } from "./cursor-api-key.js";
|