{"_id":"@cursor/february","_rev":"19-5c31259176ff09aad30a772262d80b25","name":"@cursor/february","dist-tags":{"next":"1.0.2-rc.0","latest":"1.0.7"},"versions":{"1.0.0":{"name":"@cursor/february","version":"1.0.0","license":"SEE LICENSE IN LICENSE.md","_id":"@cursor/february@1.0.0","maintainers":[{"name":"eric-anysphere","email":"eric@anysphere.co"},{"name":"jediahkatz","email":"jediahkatz@gmail.com"},{"name":"katiabazzi","email":"katia.bazzi@gmail.com"}],"homepage":"https://cursor.com","bugs":{"url":"https://github.com/cursor/cursor/issues"},"dist":{"shasum":"7a1fae90db8bfc2669e92fb0f7b6d486e451503e","tarball":"https://registry.npmjs.org/@cursor/february/-/february-1.0.0.tgz","fileCount":128,"integrity":"sha512-Hib4pQPopuKod26vuIWFcQnJ4PDTmBy77BUO47nQf/SY1aGX72fyUF+n2tmpADu9ijj9q7AiPVKgSLLLkIFHmw==","signatures":[{"sig":"MEUCIQDQLhVALzqc/Uy8yohqzZxGMUPQAvY5KjBEqRDm2Gd7IgIgOBPqYv6+esJMfUySk/zNSbNrP4OsZPoKV9L5w+9w1W0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39897926},"main":"./dist/cjs/index.js","type":"module","_from":"file:cursor-february-1.0.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./agent":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"fix":"biome check --write --unsafe","test":"vitest run","build":"echo noop","check":"biome check && tsc --noEmit","test:ui":"vitest --ui","typecheck":"tsc --noEmit","build:prod":"pnpm prepare:rg && SDK_BUILD_MODE=prod node --import tsx scripts/build-agent.ts","prepare:rg":"node scripts/download-rg.js","test:watch":"vitest","type-check":"tsc --noEmit","build-types":"tsc -p tsconfig.dts.json","build:internal":"SDK_BUILD_MODE=dev node --import tsx scripts/build-agent.ts","sdk-playground":"node --conditions bun --import tsx scripts/sdk-playground.ts","prettier:branch":"UPSTREAM=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null || echo origin/main); BASE=$(git merge-base HEAD \"$UPSTREAM\"); git diff -z --name-only --diff-filter=ACMRTUXB --relative \"$BASE\" -- . | xargs -0 -n1 -I{} npx prettier --ignore-unknown --write \"{}\"","prettier:changed":"git diff -z --name-only --diff-filter=ACMRTUXB --relative HEAD -- . | xargs -0 npx prettier --ignore-unknown --write"},"_npmUser":{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},"_resolved":"/private/var/folders/jy/0gmdsl4n4jxfldd62f713pqh0000gn/T/c011e6068f800c22624ceb61ab933dda/cursor-february-1.0.0.tgz","_integrity":"sha512-Hib4pQPopuKod26vuIWFcQnJ4PDTmBy77BUO47nQf/SY1aGX72fyUF+n2tmpADu9ijj9q7AiPVKgSLLLkIFHmw==","deprecated":"Broken on fresh install (missing rg binary). Upgrade to 1.0.2+.","repository":{"url":"git+https://github.com/cursor/cursor.git","type":"git"},"_npmVersion":"10.9.2","description":"Cursor SDK (private alpha).","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.25.0","sqlite3":"^5.1.7","@bufbuild/protobuf":"1.10.0","@connectrpc/connect":"^1.6.1","@connectrpc/connect-node":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","zod":"^3.25.0","vite":"^6.0.0","vitest":"^4.0.18","webpack":"^5.98.0","ts-loader":"^9.5.1","typescript":"^5.8.3","@types/node":"^22.5.5","@anysphere/hooks":"1.0.0","@anysphere/proto":"1.0.0","@anysphere/utils":"1.0.0","@anysphere/context":"1.0.0","@bufbuild/protobuf":"1.10.0","@anysphere/agent-kv":"1.0.0","@anysphere/git-core":"1.0.0","@connectrpc/connect":"^1.6.1","@anysphere/agent-core":"1.0.0","@anysphere/agent-exec":"1.0.0","@anysphere/local-exec":"1.0.0","@anysphere/shell-exec":"1.0.0","@anysphere/context-rpc":"0.1.0","@anysphere/agent-client":"1.0.0","@connectrpc/connect-node":"^1.6.1","@anysphere/cursor-plugins":"1.0.0","@anysphere/mcp-agent-exec":"1.0.0","@anysphere/cursor-sdk-local-runtime":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/february_1.0.0_1776375113219_0.21846328919026026","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cursor/february","version":"1.0.1","license":"SEE LICENSE IN LICENSE.md","_id":"@cursor/february@1.0.1","maintainers":[{"name":"eric-anysphere","email":"eric@anysphere.co"},{"name":"jediahkatz","email":"jediahkatz@gmail.com"},{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},{"name":"ssokolin-cursor","email":"ssokolin@anysphere.co"}],"homepage":"https://cursor.com","bugs":{"url":"https://github.com/cursor/cursor/issues"},"dist":{"shasum":"73eb6089b6f034552ff7a48502dfa406cc2a92c9","tarball":"https://registry.npmjs.org/@cursor/february/-/february-1.0.1.tgz","fileCount":128,"integrity":"sha512-fMLe7el5MF83KDEtw99OdP0kMldGNhi8TqekcOotSWrGl/6MKZ5nOkSjxXceG+QDIKCsDntNdi1yoL0+3oVuyw==","signatures":[{"sig":"MEUCIBeLO90ZXWE2AP/qP2U3rq2oFlr3QCrOk7dMUYvIBrZEAiEA9rR1L30HBumGW3t2OPx3Xi9+xpQLX1nKS5uuTqqlg2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39916722},"main":"./dist/cjs/index.js","type":"module","_from":"file:cursor-february-1.0.1.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./agent":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"fix":"biome check --write --unsafe","test":"vitest run","build":"echo noop","check":"biome check && tsc --noEmit","test:ui":"vitest --ui","typecheck":"tsc --noEmit","build:prod":"pnpm prepare:rg && SDK_BUILD_MODE=prod node --import tsx scripts/build-agent.ts","prepare:rg":"node scripts/download-rg.js","test:watch":"vitest","type-check":"tsc --noEmit","build-types":"tsc -p tsconfig.dts.json","build:internal":"SDK_BUILD_MODE=dev node --import tsx scripts/build-agent.ts","sdk-playground":"node --conditions bun --import tsx scripts/sdk-playground.ts","prettier:branch":"UPSTREAM=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null || echo origin/main); BASE=$(git merge-base HEAD \"$UPSTREAM\"); git diff -z --name-only --diff-filter=ACMRTUXB --relative \"$BASE\" -- . | xargs -0 -n1 -I{} npx prettier --ignore-unknown --write \"{}\"","prettier:changed":"git diff -z --name-only --diff-filter=ACMRTUXB --relative HEAD -- . | xargs -0 npx prettier --ignore-unknown --write"},"_npmUser":{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},"_resolved":"/private/var/folders/jy/0gmdsl4n4jxfldd62f713pqh0000gn/T/d82c189c69d2c50fef7c3ab37e8fb8ef/cursor-february-1.0.1.tgz","_integrity":"sha512-fMLe7el5MF83KDEtw99OdP0kMldGNhi8TqekcOotSWrGl/6MKZ5nOkSjxXceG+QDIKCsDntNdi1yoL0+3oVuyw==","deprecated":"Broken on fresh install (missing rg binary). Upgrade to 1.0.2+.","repository":{"url":"git+https://github.com/cursor/cursor.git","type":"git"},"_npmVersion":"10.9.2","description":"Cursor SDK (private alpha).","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.25.0","sqlite3":"^5.1.7","@bufbuild/protobuf":"1.10.0","@connectrpc/connect":"^1.6.1","@connectrpc/connect-node":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","zod":"^3.25.0","vite":"^6.0.0","vitest":"^4.0.18","webpack":"^5.98.0","ts-loader":"^9.5.1","typescript":"^5.8.3","@types/node":"^22.5.5","@anysphere/hooks":"1.0.0","@anysphere/proto":"1.0.0","@anysphere/utils":"1.0.0","@anysphere/context":"1.0.0","@bufbuild/protobuf":"1.10.0","@anysphere/agent-kv":"1.0.0","@anysphere/git-core":"1.0.0","@connectrpc/connect":"^1.6.1","@anysphere/agent-core":"1.0.0","@anysphere/agent-exec":"1.0.0","@anysphere/local-exec":"1.0.0","@anysphere/shell-exec":"1.0.0","@anysphere/context-rpc":"0.1.0","@anysphere/agent-client":"1.0.0","@connectrpc/connect-node":"^1.6.1","@anysphere/cursor-plugins":"1.0.0","@anysphere/mcp-agent-exec":"1.0.0","@anysphere/cursor-sdk-local-runtime":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/february_1.0.1_1776436690588_0.1281557348043787","host":"s3://npm-registry-packages-npm-production"}},"1.0.2-rc.0":{"name":"@cursor/february","version":"1.0.2-rc.0","license":"SEE LICENSE IN LICENSE.md","_id":"@cursor/february@1.0.2-rc.0","maintainers":[{"name":"eric-anysphere","email":"eric@anysphere.co"},{"name":"jediahkatz","email":"jediahkatz@gmail.com"},{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},{"name":"ssokolin-cursor","email":"ssokolin@anysphere.co"},{"name":"royxu6","email":"roy@anysphere.co"},{"name":"henry-anysphere","email":"henry@anysphere.co"}],"homepage":"https://cursor.com","bugs":{"url":"https://github.com/cursor/cursor/issues"},"dist":{"shasum":"694df326abe1b8fa8e3c6cb5efc4aeaa4a8c07a8","tarball":"https://registry.npmjs.org/@cursor/february/-/february-1.0.2-rc.0.tgz","fileCount":118,"integrity":"sha512-o5rLkD48rEBHwvq6siTJKJcWrvkmb4qQgzQiW8HZUeoGfBLk753E41X8bIRhn7xgfSb/Ltx3SJEZHur4+SFERQ==","signatures":[{"sig":"MEYCIQCYXvJlBgvUKTyI+SgrlDAqo/E9wPIxA8iOLQ8urBcvygIhAMvELzCIGKohoONo2gUvdAasvLLQ8WasVeXZXomb/OJT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13149881},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./agent":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"d9487a0e3397471b3776a68d177465d7123c0e32","scripts":{"fix":"biome check --write --unsafe","test":"vitest run","build":"echo noop","check":"biome check && tsc --noEmit","test:ui":"vitest --ui","typecheck":"tsc --noEmit","build:prod":"pnpm prepare:rg && SDK_BUILD_MODE=prod node --import tsx scripts/build-agent.ts && pnpm generate-platform-packages","prepare:rg":"node scripts/download-rg.js","test:watch":"vitest","type-check":"tsc --noEmit","build-types":"tsc -p tsconfig.dts.json","build:internal":"SDK_BUILD_MODE=dev node --import tsx scripts/build-agent.ts","prepublishOnly":"pnpm build:prod","sdk-playground":"node --conditions bun --import tsx scripts/sdk-playground.ts","prettier:branch":"UPSTREAM=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null || echo origin/main); BASE=$(git merge-base HEAD \"$UPSTREAM\"); git diff -z --name-only --diff-filter=ACMRTUXB --relative \"$BASE\" -- . | xargs -0 -n1 -I{} npx prettier --ignore-unknown --write \"{}\"","prettier:changed":"git diff -z --name-only --diff-filter=ACMRTUXB --relative HEAD -- . | xargs -0 npx prettier --ignore-unknown --write","generate-platform-packages":"node --import tsx scripts/generate-platform-packages.ts"},"_npmUser":{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},"repository":{"url":"git+https://github.com/cursor/cursor.git","type":"git"},"_npmVersion":"10.9.2","description":"Cursor SDK (private alpha).","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.25.0","sqlite3":"^5.1.7","@bufbuild/protobuf":"1.10.0","@connectrpc/connect":"^1.6.1","@connectrpc/connect-node":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","zod":"^3.25.0","vite":"^6.0.0","vitest":"^4.0.18","webpack":"^5.98.0","ts-loader":"^9.5.1","typescript":"^5.8.3","@types/node":"^22.5.5","@anysphere/hooks":"workspace:*","@anysphere/proto":"workspace:*","@anysphere/utils":"workspace:*","@anysphere/context":"workspace:*","@bufbuild/protobuf":"1.10.0","@anysphere/agent-kv":"workspace:*","@anysphere/git-core":"workspace:*","@connectrpc/connect":"^1.6.1","@anysphere/agent-core":"workspace:*","@anysphere/agent-exec":"workspace:*","@anysphere/local-exec":"workspace:*","@anysphere/shell-exec":"workspace:*","@anysphere/context-rpc":"workspace:*","@anysphere/agent-client":"workspace:*","@connectrpc/connect-node":"^1.6.1","@anysphere/cursor-plugins":"workspace:*","@anysphere/mcp-agent-exec":"workspace:*","@anysphere/cursor-sdk-local-runtime":"workspace:*"},"optionalDependencies":{"@cursor/february-linux-x64":"1.0.2-rc.0","@cursor/february-win32-x64":"1.0.2-rc.0","@cursor/february-darwin-x64":"1.0.2-rc.0","@cursor/february-linux-arm64":"1.0.2-rc.0","@cursor/february-darwin-arm64":"1.0.2-rc.0"},"_npmOperationalInternal":{"tmp":"tmp/february_1.0.2-rc.0_1776547103493_0.08342187831949577","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cursor/february","version":"1.0.2","license":"SEE LICENSE IN LICENSE.md","_id":"@cursor/february@1.0.2","maintainers":[{"name":"eric-anysphere","email":"eric@anysphere.co"},{"name":"jediahkatz","email":"jediahkatz@gmail.com"},{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},{"name":"ssokolin-cursor","email":"ssokolin@anysphere.co"},{"name":"royxu6","email":"roy@anysphere.co"},{"name":"henry-anysphere","email":"henry@anysphere.co"}],"homepage":"https://cursor.com","bugs":{"url":"https://github.com/cursor/cursor/issues"},"dist":{"shasum":"8f611e4294d191e85ff93d304be12fbae4aeb09f","tarball":"https://registry.npmjs.org/@cursor/february/-/february-1.0.2.tgz","fileCount":118,"integrity":"sha512-aClJurcronqaEVqeFqUldjfOuao5Sy3NFRrm5zJ6xeJhCejsHJv4xVfxf6Al71YT24wz7eJuLD+/5F6FYKV7Fw==","signatures":[{"sig":"MEUCIDONu0+tO7CIJ10XamzCPfZaNY0J8bx0naVnKBCMuodbAiEAwv24BTbt77sQkuGNYuTQuONys7z8EJpxI8WVCLqw8MQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13210624},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./agent":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"13f76d51e37ffa396af7d9142d8fe4bf29bacabc","scripts":{"fix":"biome check --write --unsafe","test":"vitest run","build":"echo noop","check":"biome check && tsc --noEmit","test:ui":"vitest --ui","typecheck":"tsc --noEmit","build:prod":"pnpm prepare:rg && SDK_BUILD_MODE=prod node --import tsx scripts/build-agent.ts && pnpm generate-platform-packages","prepare:rg":"node scripts/download-rg.js","test:watch":"vitest","type-check":"tsc --noEmit","build-types":"tsc -p tsconfig.dts.json","build:internal":"SDK_BUILD_MODE=dev node --import tsx scripts/build-agent.ts","prepublishOnly":"pnpm build:prod","sdk-playground":"node --conditions bun --import tsx scripts/sdk-playground.ts","prettier:branch":"UPSTREAM=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null || echo origin/main); BASE=$(git merge-base HEAD \"$UPSTREAM\"); git diff -z --name-only --diff-filter=ACMRTUXB --relative \"$BASE\" -- . | xargs -0 -n1 -I{} npx prettier --ignore-unknown --write \"{}\"","prettier:changed":"git diff -z --name-only --diff-filter=ACMRTUXB --relative HEAD -- . | xargs -0 npx prettier --ignore-unknown --write","generate-platform-packages":"node --import tsx scripts/generate-platform-packages.ts"},"_npmUser":{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},"repository":{"url":"git+https://github.com/cursor/cursor.git","type":"git"},"_npmVersion":"10.9.2","description":"Cursor SDK (private alpha).","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.25.0","sqlite3":"^5.1.7","@bufbuild/protobuf":"1.10.0","@connectrpc/connect":"^1.6.1","@connectrpc/connect-node":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","zod":"^3.25.0","vite":"^6.0.0","vitest":"^4.0.18","webpack":"^5.98.0","ts-loader":"^9.5.1","typescript":"^5.8.3","@types/node":"^22.5.5","@anysphere/hooks":"workspace:*","@anysphere/proto":"workspace:*","@anysphere/utils":"workspace:*","@anysphere/context":"workspace:*","@bufbuild/protobuf":"1.10.0","@anysphere/agent-kv":"workspace:*","@anysphere/git-core":"workspace:*","@connectrpc/connect":"^1.6.1","@anysphere/agent-core":"workspace:*","@anysphere/agent-exec":"workspace:*","@anysphere/local-exec":"workspace:*","@anysphere/shell-exec":"workspace:*","@anysphere/context-rpc":"workspace:*","@anysphere/agent-client":"workspace:*","@connectrpc/connect-node":"^1.6.1","@anysphere/cursor-plugins":"workspace:*","@anysphere/mcp-agent-exec":"workspace:*","@anysphere/cursor-sdk-local-runtime":"workspace:*"},"optionalDependencies":{"@cursor/february-linux-x64":"1.0.2","@cursor/february-win32-x64":"1.0.2","@cursor/february-darwin-x64":"1.0.2","@cursor/february-linux-arm64":"1.0.2","@cursor/february-darwin-arm64":"1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/february_1.0.2_1776710536123_0.6543033479375817","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@cursor/february","version":"1.0.3","license":"SEE LICENSE IN LICENSE.md","_id":"@cursor/february@1.0.3","maintainers":[{"name":"eric-anysphere","email":"eric@anysphere.co"},{"name":"jediahkatz","email":"jediahkatz@gmail.com"},{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},{"name":"ssokolin-cursor","email":"ssokolin@anysphere.co"},{"name":"royxu6","email":"roy@anysphere.co"},{"name":"henry-anysphere","email":"henry@anysphere.co"}],"homepage":"https://cursor.com","bugs":{"url":"https://github.com/cursor/cursor/issues"},"dist":{"shasum":"ad8c9802d62091b2a92c1b3b7c2866f4291806ba","tarball":"https://registry.npmjs.org/@cursor/february/-/february-1.0.3.tgz","fileCount":122,"integrity":"sha512-f7niXHo0RUizYhSw6AfqUG7MVRQbPP575xDTkogL9uO2TAMb9ogsxUThVjicU6uDQPOcfmdkGSqIZmiOK3ZcAA==","signatures":[{"sig":"MEYCIQDAtll6nxxnzltt3+2LF3I5Dq/TBZ4cA4gIZfpSwpOlBAIhAOJyKpSppYwoqeJdJHgpeoKmgkL7TWxcL7/9DFM8Ryy8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13253918},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./agent":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"1abdb4c2df3519e93f54efc3815ef381303d435b","scripts":{"fix":"biome check --write --unsafe","test":"vitest run","build":"echo noop","check":"biome check && tsc --noEmit","test:ui":"vitest --ui","typecheck":"tsc --noEmit","build:prod":"pnpm prepare:rg && SDK_BUILD_MODE=prod node --import tsx scripts/build-agent.ts && pnpm generate-platform-packages","prepare:rg":"node scripts/download-rg.js","test:watch":"vitest","type-check":"tsc --noEmit","build-types":"tsc -p tsconfig.dts.json","build:internal":"SDK_BUILD_MODE=dev node --import tsx scripts/build-agent.ts","prepublishOnly":"pnpm build:prod","sdk-playground":"node --conditions bun --import tsx scripts/sdk-playground.ts","prettier:branch":"UPSTREAM=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null || echo origin/main); BASE=$(git merge-base HEAD \"$UPSTREAM\"); git diff -z --name-only --diff-filter=ACMRTUXB --relative \"$BASE\" -- . | xargs -0 -n1 -I{} npx prettier --ignore-unknown --write \"{}\"","prettier:changed":"git diff -z --name-only --diff-filter=ACMRTUXB --relative HEAD -- . | xargs -0 npx prettier --ignore-unknown --write","generate-platform-packages":"node --import tsx scripts/generate-platform-packages.ts"},"_npmUser":{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},"repository":{"url":"git+https://github.com/cursor/cursor.git","type":"git"},"_npmVersion":"10.9.2","description":"Cursor SDK (private alpha).","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.25.0","sqlite3":"^5.1.7","@bufbuild/protobuf":"1.10.0","@connectrpc/connect":"^1.6.1","@connectrpc/connect-node":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","zod":"^3.25.0","vite":"^6.0.0","vitest":"^4.0.18","webpack":"^5.98.0","ts-loader":"^9.5.1","typescript":"^5.8.3","@types/node":"^22.5.5","@anysphere/hooks":"workspace:*","@anysphere/proto":"workspace:*","@anysphere/utils":"workspace:*","@anysphere/context":"workspace:*","@bufbuild/protobuf":"1.10.0","@anysphere/agent-kv":"workspace:*","@anysphere/git-core":"workspace:*","@connectrpc/connect":"^1.6.1","@anysphere/agent-core":"workspace:*","@anysphere/agent-exec":"workspace:*","@anysphere/local-exec":"workspace:*","@anysphere/shell-exec":"workspace:*","@anysphere/context-rpc":"workspace:*","@anysphere/agent-client":"workspace:*","@connectrpc/connect-node":"^1.6.1","@anysphere/cursor-plugins":"workspace:*","@anysphere/mcp-agent-exec":"workspace:*","@anysphere/cursor-sdk-local-runtime":"workspace:*"},"optionalDependencies":{"@cursor/february-linux-x64":"1.0.3","@cursor/february-win32-x64":"1.0.3","@cursor/february-darwin-x64":"1.0.3","@cursor/february-linux-arm64":"1.0.3","@cursor/february-darwin-arm64":"1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/february_1.0.3_1776800446052_0.3572607589942616","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@cursor/february","version":"1.0.4","license":"SEE LICENSE IN LICENSE.md","_id":"@cursor/february@1.0.4","maintainers":[{"name":"eric-anysphere","email":"eric@anysphere.co"},{"name":"jediahkatz","email":"jediahkatz@gmail.com"},{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},{"name":"ssokolin-cursor","email":"ssokolin@anysphere.co"},{"name":"royxu6","email":"roy@anysphere.co"},{"name":"henry-anysphere","email":"henry@anysphere.co"}],"homepage":"https://cursor.com","bugs":{"url":"https://github.com/cursor/cursor/issues"},"dist":{"shasum":"8df776960167574dd9bd82ecbbc68867ac3cc6f4","tarball":"https://registry.npmjs.org/@cursor/february/-/february-1.0.4.tgz","fileCount":122,"integrity":"sha512-DSVCCW15KH/FuvutWxM1x/WAw6SEPkF4IGo9PCy0X6b8t9FYsx3E934Vyp/AHhEkNF9hApTVL6j/BFw/ZTCuHw==","signatures":[{"sig":"MEYCIQDqqhzEFZBmEYZ0ECW2fSWgnuyipJeVEjvKRdgQf74VkAIhAJ79TnOrVEiLITdj74l2sEmTKBmF/xZb3re/WhB8ypMR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13271957},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./agent":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"17c42b1c42b40c305d4fce859fc2d6af3d329d56","scripts":{"fix":"biome check --write --unsafe","test":"vitest run","build":"echo noop","check":"biome check && tsc --noEmit","test:ui":"vitest --ui","typecheck":"tsc --noEmit","build:prod":"pnpm prepare:rg && SDK_BUILD_MODE=prod node --import tsx scripts/build-agent.ts && pnpm generate-platform-packages","prepare:rg":"node scripts/download-rg.js","test:watch":"vitest","type-check":"tsc --noEmit","build-types":"tsc -p tsconfig.dts.json","build:internal":"SDK_BUILD_MODE=dev node --import tsx scripts/build-agent.ts","prepublishOnly":"pnpm build:prod","sdk-playground":"node --conditions bun --import tsx scripts/sdk-playground.ts","prettier:branch":"UPSTREAM=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null || echo origin/main); BASE=$(git merge-base HEAD \"$UPSTREAM\"); git diff -z --name-only --diff-filter=ACMRTUXB --relative \"$BASE\" -- . | xargs -0 -n1 -I{} npx prettier --ignore-unknown --write \"{}\"","prettier:changed":"git diff -z --name-only --diff-filter=ACMRTUXB --relative HEAD -- . | xargs -0 npx prettier --ignore-unknown --write","generate-platform-packages":"node --import tsx scripts/generate-platform-packages.ts"},"_npmUser":{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},"repository":{"url":"git+https://github.com/cursor/cursor.git","type":"git"},"_npmVersion":"10.9.2","description":"Cursor SDK (private alpha).","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.25.0","sqlite3":"^5.1.7","@bufbuild/protobuf":"1.10.0","@connectrpc/connect":"^1.6.1","@connectrpc/connect-node":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","zod":"^3.25.0","vite":"^6.0.0","vitest":"^4.0.18","webpack":"^5.98.0","ts-loader":"^9.5.1","typescript":"^5.8.3","@types/node":"^22.5.5","@anysphere/hooks":"workspace:*","@anysphere/proto":"workspace:*","@anysphere/utils":"workspace:*","@anysphere/context":"workspace:*","@bufbuild/protobuf":"1.10.0","@anysphere/agent-kv":"workspace:*","@anysphere/git-core":"workspace:*","@connectrpc/connect":"^1.6.1","@anysphere/agent-core":"workspace:*","@anysphere/agent-exec":"workspace:*","@anysphere/local-exec":"workspace:*","@anysphere/shell-exec":"workspace:*","@anysphere/context-rpc":"workspace:*","@anysphere/agent-client":"workspace:*","@connectrpc/connect-node":"^1.6.1","@anysphere/cursor-plugins":"workspace:*","@anysphere/mcp-agent-exec":"workspace:*","@anysphere/cursor-sdk-local-runtime":"workspace:*"},"optionalDependencies":{"@cursor/february-linux-x64":"1.0.4","@cursor/february-win32-x64":"1.0.4","@cursor/february-darwin-x64":"1.0.4","@cursor/february-linux-arm64":"1.0.4","@cursor/february-darwin-arm64":"1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/february_1.0.4_1776910948759_0.6920443671958549","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@cursor/february","version":"1.0.5","license":"SEE LICENSE IN LICENSE.md","_id":"@cursor/february@1.0.5","maintainers":[{"name":"eric-anysphere","email":"eric@anysphere.co"},{"name":"jediahkatz","email":"jediahkatz@gmail.com"},{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},{"name":"ssokolin-cursor","email":"ssokolin@anysphere.co"},{"name":"royxu6","email":"roy@anysphere.co"},{"name":"henry-anysphere","email":"henry@anysphere.co"}],"homepage":"https://cursor.com","bugs":{"url":"https://github.com/cursor/cursor/issues"},"dist":{"shasum":"8252494e2db5f472a28cfa54b28016ce1b28ddcf","tarball":"https://registry.npmjs.org/@cursor/february/-/february-1.0.5.tgz","fileCount":122,"integrity":"sha512-ts03wz2R0AaIlQUWlIsBWb33f/nklVTumrkMxqNCwmhGRzFsBwkX1jPyeJ/lGO5Xx+OfRzjWzddGyzRY6sPN2w==","signatures":[{"sig":"MEYCIQDfWSps478Yx+0k1kPXBDKgW6PajJrVebd8Pj6VlZZKmwIhAKybpNLJ+IAwZnHobszCvKQHEJabTyhZIDxqhSlOXBzY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11454640},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./agent":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"7ca0d5732a90a8082601494a76f9ae19b26dbcbf","scripts":{"fix":"biome check --write --unsafe","test":"vitest run","build":"echo noop","check":"biome check && tsc --noEmit","test:ui":"vitest --ui","typecheck":"tsc --noEmit","build:prod":"pnpm prepare:rg && SDK_BUILD_MODE=prod node --import tsx scripts/build-agent.ts && pnpm generate-platform-packages","prepare:rg":"node scripts/download-rg.js","test:watch":"vitest","type-check":"tsc --noEmit","build-types":"tsc -p tsconfig.dts.json","build:internal":"SDK_BUILD_MODE=dev node --import tsx scripts/build-agent.ts","prepublishOnly":"pnpm build:prod","sdk-playground":"node --conditions bun --import tsx scripts/sdk-playground.ts","prettier:branch":"UPSTREAM=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null || echo origin/main); BASE=$(git merge-base HEAD \"$UPSTREAM\"); git diff -z --name-only --diff-filter=ACMRTUXB --relative \"$BASE\" -- . | xargs -0 -n1 -I{} npx prettier --ignore-unknown --write \"{}\"","prettier:changed":"git diff -z --name-only --diff-filter=ACMRTUXB --relative HEAD -- . | xargs -0 npx prettier --ignore-unknown --write","generate-platform-packages":"node --import tsx scripts/generate-platform-packages.ts"},"_npmUser":{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},"repository":{"url":"git+https://github.com/cursor/cursor.git","type":"git"},"_npmVersion":"10.9.2","description":"Cursor SDK (private alpha).","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.25.0","sqlite3":"^5.1.7","@bufbuild/protobuf":"1.10.0","@connectrpc/connect":"^1.6.1","@connectrpc/connect-node":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","zod":"^3.25.0","vite":"^6.0.0","vitest":"^4.0.18","webpack":"^5.98.0","ts-loader":"^9.5.1","typescript":"^5.8.3","@types/node":"^22.5.5","@anysphere/hooks":"workspace:*","@anysphere/proto":"workspace:*","@anysphere/utils":"workspace:*","@anysphere/context":"workspace:*","@bufbuild/protobuf":"1.10.0","@anysphere/agent-kv":"workspace:*","@anysphere/git-core":"workspace:*","@connectrpc/connect":"^1.6.1","@anysphere/agent-core":"workspace:*","@anysphere/agent-exec":"workspace:*","@anysphere/local-exec":"workspace:*","@anysphere/shell-exec":"workspace:*","@anysphere/context-rpc":"workspace:*","@anysphere/agent-client":"workspace:*","@connectrpc/connect-node":"^1.6.1","@anysphere/cursor-plugins":"workspace:*","@anysphere/mcp-agent-exec":"workspace:*","@anysphere/analytics-client":"workspace:*","@anysphere/cursor-sdk-shared":"workspace:*","@anysphere/cursor-sdk-local-runtime":"workspace:*"},"optionalDependencies":{"@cursor/february-linux-x64":"1.0.5","@cursor/february-win32-x64":"1.0.5","@cursor/february-darwin-x64":"1.0.5","@cursor/february-linux-arm64":"1.0.5","@cursor/february-darwin-arm64":"1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/february_1.0.5_1776975280925_0.6623146820752206","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@cursor/february","version":"1.0.6","license":"SEE LICENSE IN LICENSE.md","_id":"@cursor/february@1.0.6","maintainers":[{"name":"eric-anysphere","email":"eric@anysphere.co"},{"name":"jediahkatz","email":"jediahkatz@gmail.com"},{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},{"name":"ssokolin-cursor","email":"ssokolin@anysphere.co"},{"name":"royxu6","email":"roy@anysphere.co"},{"name":"henry-anysphere","email":"henry@anysphere.co"}],"homepage":"https://cursor.com","bugs":{"url":"https://github.com/cursor/cursor/issues"},"dist":{"shasum":"9b192cb2a6789f67eda219fe21401bda8a62060b","tarball":"https://registry.npmjs.org/@cursor/february/-/february-1.0.6.tgz","fileCount":126,"integrity":"sha512-tdOuOrJ2ymNEdh6IHr6nl8Po03liOC1pslH5T3Ia/Ryrj+FkjEaJmegg1aUwqmoAcE6e9FV718tMFkqh3L/tGA==","signatures":[{"sig":"MEUCIQCf3JakudasYFr6oAHjRAeKKrxxjPYG7jUZk25pDyS3IgIgPkZtEhBaPytTBzxKheAu9YxcFCBlQ3969MGgqFGmhOA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11541764},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./agent":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"fe94d947eb64b9c3a499974a139cf09e8a451e90","scripts":{"fix":"biome check --write --unsafe","test":"vitest run","build":"echo noop","check":"biome check && tsc --noEmit","test:ui":"vitest --ui","typecheck":"tsc --noEmit","build:prod":"pnpm prepare:rg && SDK_BUILD_MODE=prod node --import tsx scripts/build-agent.ts && pnpm generate-platform-packages","prepare:rg":"node scripts/download-rg.js","test:watch":"vitest","type-check":"tsc --noEmit","build-types":"tsc -p tsconfig.dts.json","build:internal":"SDK_BUILD_MODE=dev node --import tsx scripts/build-agent.ts","prepublishOnly":"pnpm build:prod","sdk-playground":"node --conditions bun --import tsx scripts/sdk-playground.ts","prettier:branch":"UPSTREAM=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null || echo origin/main); BASE=$(git merge-base HEAD \"$UPSTREAM\"); git diff -z --name-only --diff-filter=ACMRTUXB --relative \"$BASE\" -- . | xargs -0 -n1 -I{} npx prettier --ignore-unknown --write \"{}\"","prettier:changed":"git diff -z --name-only --diff-filter=ACMRTUXB --relative HEAD -- . | xargs -0 npx prettier --ignore-unknown --write","generate-platform-packages":"node --import tsx scripts/generate-platform-packages.ts"},"_npmUser":{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},"repository":{"url":"git+https://github.com/cursor/cursor.git","type":"git"},"_npmVersion":"10.9.2","description":"Cursor SDK (private alpha).","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.25.0","sqlite3":"^5.1.7","@bufbuild/protobuf":"1.10.0","@connectrpc/connect":"^1.6.1","@connectrpc/connect-node":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","zod":"^3.25.0","vite":"^6.0.0","vitest":"^4.0.18","webpack":"^5.98.0","ts-loader":"^9.5.1","typescript":"^5.8.3","@types/node":"^22.5.5","@anysphere/hooks":"workspace:*","@anysphere/proto":"workspace:*","@anysphere/utils":"workspace:*","@anysphere/context":"workspace:*","@bufbuild/protobuf":"1.10.0","@anysphere/agent-kv":"workspace:*","@anysphere/git-core":"workspace:*","@connectrpc/connect":"^1.6.1","@anysphere/agent-core":"workspace:*","@anysphere/agent-exec":"workspace:*","@anysphere/local-exec":"workspace:*","@anysphere/shell-exec":"workspace:*","@anysphere/context-rpc":"workspace:*","@anysphere/agent-client":"workspace:*","@connectrpc/connect-node":"^1.6.1","@anysphere/cursor-plugins":"workspace:*","@anysphere/mcp-agent-exec":"workspace:*","@anysphere/analytics-client":"workspace:*","@anysphere/cursor-sdk-shared":"workspace:*","@anysphere/cursor-sdk-local-runtime":"workspace:*"},"optionalDependencies":{"@cursor/february-linux-x64":"1.0.6","@cursor/february-win32-x64":"1.0.6","@cursor/february-darwin-x64":"1.0.6","@cursor/february-linux-arm64":"1.0.6","@cursor/february-darwin-arm64":"1.0.6"},"_npmOperationalInternal":{"tmp":"tmp/february_1.0.6_1777138681346_0.8029402687756779","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@cursor/february","version":"1.0.7","license":"SEE LICENSE IN LICENSE.md","_id":"@cursor/february@1.0.7","maintainers":[{"name":"eric-anysphere","email":"eric@anysphere.co"},{"name":"jediahkatz","email":"jediahkatz@gmail.com"},{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},{"name":"ssokolin-cursor","email":"ssokolin@anysphere.co"},{"name":"royxu6","email":"roy@anysphere.co"},{"name":"henry-anysphere","email":"henry@anysphere.co"}],"homepage":"https://cursor.com","bugs":{"url":"https://github.com/cursor/cursor/issues"},"dist":{"shasum":"cef69ff2e83d7c5d42070f71c5bd3297d767ed68","tarball":"https://registry.npmjs.org/@cursor/february/-/february-1.0.7.tgz","fileCount":126,"integrity":"sha512-IJ3VCrSvyvhKssX6WYq4HWlFOTZrgOFj0XidyrbNofRRhNKVI2awFQPmg+fHBnahZ+jYeVp9+NOHmNJz8nUryA==","signatures":[{"sig":"MEQCIEGKIG1WbIACEskvWYAjTHfsAS4tgjM4qfqDM6r8f9eIAiB1hMXI3nNRsLHLBxqT6XprZWonsPbV0a0UAWbYBEWwKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11541846},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}},"./agent":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"aa9105769848fc23edb768118457f624ce4353ed","scripts":{"fix":"biome check --write --unsafe","test":"vitest run","build":"echo noop","check":"biome check && tsc --noEmit","test:ui":"vitest --ui","typecheck":"tsc --noEmit","build:prod":"pnpm prepare:rg && SDK_BUILD_MODE=prod node --import tsx scripts/build-agent.ts && pnpm generate-platform-packages","prepare:rg":"node scripts/download-rg.js","test:watch":"vitest","type-check":"tsc --noEmit","build-types":"tsc -p tsconfig.dts.json","build:internal":"SDK_BUILD_MODE=dev node --import tsx scripts/build-agent.ts","prepublishOnly":"pnpm build:prod","sdk-playground":"node --conditions bun --import tsx scripts/sdk-playground.ts","prettier:branch":"UPSTREAM=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null || echo origin/main); BASE=$(git merge-base HEAD \"$UPSTREAM\"); git diff -z --name-only --diff-filter=ACMRTUXB --relative \"$BASE\" -- . | xargs -0 -n1 -I{} npx prettier --ignore-unknown --write \"{}\"","prettier:changed":"git diff -z --name-only --diff-filter=ACMRTUXB --relative HEAD -- . | xargs -0 npx prettier --ignore-unknown --write","generate-platform-packages":"node --import tsx scripts/generate-platform-packages.ts"},"_npmUser":{"name":"katiabazzi","email":"katia.bazzi@gmail.com"},"repository":{"url":"git+https://github.com/cursor/cursor.git","type":"git"},"_npmVersion":"10.9.2","description":"Cursor SDK (private alpha).","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.25.0","sqlite3":"^5.1.7","@bufbuild/protobuf":"1.10.0","@connectrpc/connect":"^1.6.1","@connectrpc/connect-node":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","zod":"^3.25.0","vite":"^6.0.0","vitest":"^4.0.18","webpack":"^5.98.0","ts-loader":"^9.5.1","typescript":"^5.8.3","@types/node":"^22.5.5","@anysphere/hooks":"workspace:*","@anysphere/proto":"workspace:*","@anysphere/utils":"workspace:*","@anysphere/context":"workspace:*","@bufbuild/protobuf":"1.10.0","@anysphere/agent-kv":"workspace:*","@anysphere/git-core":"workspace:*","@connectrpc/connect":"^1.6.1","@anysphere/agent-core":"workspace:*","@anysphere/agent-exec":"workspace:*","@anysphere/local-exec":"workspace:*","@anysphere/shell-exec":"workspace:*","@anysphere/context-rpc":"workspace:*","@anysphere/agent-client":"workspace:*","@connectrpc/connect-node":"^1.6.1","@anysphere/cursor-plugins":"workspace:*","@anysphere/mcp-agent-exec":"workspace:*","@anysphere/analytics-client":"workspace:*","@anysphere/cursor-sdk-shared":"workspace:*","@anysphere/cursor-sdk-local-runtime":"workspace:*"},"optionalDependencies":{"@cursor/february-linux-x64":"1.0.7","@cursor/february-win32-x64":"1.0.7","@cursor/february-darwin-x64":"1.0.7","@cursor/february-linux-arm64":"1.0.7","@cursor/february-darwin-arm64":"1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/february_1.0.7_1777140698971_0.35827774893025777","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-04-16T21:31:53.076Z","modified":"2026-10-20T17:52:43.090Z","1.0.0":"2026-04-16T21:31:53.679Z","1.0.1":"2026-04-17T14:38:11.127Z","1.0.2-rc.0":"2026-04-18T21:18:23.757Z","1.0.2":"2026-04-20T18:42:16.486Z","1.0.3":"2026-04-21T19:40:46.283Z","1.0.4":"2026-04-23T02:22:29.082Z","1.0.5":"2026-04-23T20:14:41.212Z","1.0.6":"2026-04-25T17:38:01.622Z","1.0.7":"2026-04-25T18:11:39.262Z"},"bugs":{"url":"https://github.com/cursor/cursor/issues"},"license":"SEE LICENSE IN LICENSE.md","homepage":"https://cursor.com","repository":{"url":"git+https://github.com/cursor/cursor.git","type":"git"},"description":"Cursor SDK (private alpha).","maintainers":[{"email":"msfeldstein@gmail.com","name":"msfeldstein"},{"email":"luistavares10@outlook.pt","name":"luist18"},{"email":"eric@anysphere.co","name":"eric-anysphere"},{"email":"jediahkatz@gmail.com","name":"jediahkatz"},{"email":"ssokolin@anysphere.co","name":"ssokolin-cursor"},{"email":"roy@anysphere.co","name":"royxu6"},{"email":"henry@anysphere.co","name":"henry-anysphere"},{"email":"bruce@anysphere.co","name":"bruce-cursor"},{"email":"aroussel@x.ai","name":"arousselxai"},{"email":"benson.liu@anysphere.co","name":"benson_cursor"}],"readme":"# @cursor/february\n\nTypeScript SDK for Cursor agents (private alpha — codenamed).\n\nThe primary API is the static `Agent` namespace. It creates durable agents, starts runs, streams normalized run events, waits for completion, resumes existing agents, and inspects persisted agent state.\n\n## Quick Start\n\n```typescript\nimport { Agent } from \"@cursor/february/agent\";\n\nconst agent = Agent.create({\n  apiKey: process.env.CURSOR_API_KEY!,\n  model: { id: \"composer-2\" },\n  local: { cwd: process.cwd() },\n});\n\ntry {\n  const run = await agent.send(\"Refactor the utils module\", {\n    onDelta: ({ update }) => {\n      console.log(\"raw update\", update.type);\n    },\n    onStep: ({ step }) => {\n      console.log(\"completed step\", step.type);\n    },\n  });\n\n  for await (const event of run.stream()) {\n    if (event.type === \"assistant\") {\n      for (const block of event.message.content) {\n        if (block.type === \"text\") {\n          process.stdout.write(block.text);\n        }\n      }\n    }\n  }\n\n  const result = await run.wait();\n  console.log(result.status);\n} finally {\n  await agent[Symbol.asyncDispose]();\n}\n```\n\n## Creating Agents\n\n`Agent.create(options)` returns an `SDKAgent` immediately. Runtime initialization is deferred until the first `send`. `agent.agentId` is populated immediately for both local and cloud agents: local uses an `agent-<uuid>` ID, cloud uses a `bc-<uuid>` ID the SDK generates and reserves with the server on first `send`.\n\n```typescript\nconst localAgent = Agent.create({\n  apiKey: process.env.CURSOR_API_KEY!,\n  model: { id: \"composer-2\" },\n  local: { cwd: \"/path/to/repo\" },\n});\n\nconst cloudAgent = Agent.create({\n  apiKey: process.env.CURSOR_API_KEY!,\n  model: { id: \"composer-2\" },\n  cloud: {\n    repos: [\n      {\n        url: \"https://github.com/owner/repo\",\n        startingRef: \"main\",\n      },\n    ],\n  },\n});\n```\n\n### Agent Options\n\n- `model`: Model selection for runs. Required for local agents. Optional for cloud — omit to use the server-resolved default. Structure is `{ id, params? }`; see `Cursor.models.list()` for valid selections.\n- `apiKey`: Cursor API key. Required for cloud agents and real local execution.\n- `local.cwd`: Working directory for local agents. May be a string or string array.\n- `local.settingSources`: Ambient Cursor settings layers to load from the local filesystem. Local agents only.\n- `cloud.repos`: GitHub repository configuration for cloud agents.\n- `agentId`: Optional durable agent ID. If omitted, the SDK generates one.\n- `mcpServers`: Inline MCP server definitions available to local runs.\n- `platform`: Advanced local persistence/workspace configuration.\n\n## Sending Messages\n\nUse `agent.send(message, options)` to create a follow-up run.\n\n```typescript\nconst run = await agent.send(\n  {\n    text: \"Explain this repository\",\n    images: [\n      {\n        data: base64Png,\n        mimeType: \"image/png\",\n      },\n    ],\n  },\n  {\n    model: { id: \"composer-2\" },\n    local: { force: false },\n  }\n);\n```\n\n### Send Options\n\n- `model`: Per-run model override for local agents. Cloud follow-up model overrides are unsupported in v1.\n- `local.force`: Local agents only. Expire an active persisted run before starting this message. Use this as an explicit recovery path after a crashed local process. Cloud enforces a busy-run check server-side, so no equivalent is needed.\n- `onDelta`: Callback for raw `InteractionUpdate` deltas as the executor emits them.\n- `onStep`: Callback when a conversation step finishes after batching text, thinking, or tool updates.\n\n`onDelta` and `onStep` are awaited before the update continues through the run pipeline, so callback backpressure is preserved.\n\n## Runs\n\nA `Run` represents one durable agent turn.\n\n```typescript\nconst run = await agent.send(\"Update the README\");\n\nconsole.log(run.id);\nconsole.log(run.agentId);\nconsole.log(run.status);\n\nconst result = await run.wait();\n```\n\n### Run Operations\n\n- `run.stream()`: Async generator of normalized `SDKMessage` events.\n- `run.wait()`: Resolves to a terminal `RunResult`.\n- `run.cancel()`: Cancels a supported running run.\n- `run.conversation()`: Returns accumulated `ConversationTurn[]` for this run.\n- `run.supports(operation)`: Checks whether `stream`, `wait`, `cancel`, or `conversation` is supported.\n- `run.unsupportedReason(operation)`: Explains why an operation is unavailable.\n- `run.onDidChangeStatus(listener)`: Subscribes to run status changes.\n\n`run.cancel()` is supported for both local and cloud runs. For cloud runs it calls the server's cancel endpoint and reconciles local status from the authoritative server response.\n\n## Streaming Events\n\n`run.stream()` emits `SDKMessage` events. This is the stable public stream surface shared by local and cloud runs.\n\n```typescript\nfor await (const event of run.stream()) {\n  switch (event.type) {\n    case \"user\":\n      console.log(event.message.content.map(block => block.text).join(\"\"));\n      break;\n    case \"assistant\":\n      for (const block of event.message.content) {\n        if (block.type === \"text\") {\n          process.stdout.write(block.text);\n        }\n      }\n      break;\n    case \"thinking\":\n      process.stdout.write(event.text);\n      break;\n    case \"tool_call\":\n      console.log(event.call_id, event.name, event.status);\n      if (event.args) {\n        console.log(\"args\", event.args);\n      }\n      if (event.result) {\n        console.log(\"result\", event.result);\n      }\n      break;\n    case \"status\":\n      console.log(event.status);\n      break;\n    case \"task\":\n      console.log(event.text);\n      break;\n  }\n}\n```\n\n### SDKMessage Types\n\n- `SDKUserMessageEvent`: User prompt content for the run.\n- `SDKAssistantMessage`: Assistant text and tool-use content blocks.\n- `SDKThinkingMessage`: Thinking text.\n- `SDKToolUseMessage`: Tool call metadata with `call_id`, `name`, `status`, and optional `args`, `result`, and `truncated` payload fields.\n- `SDKStatusMessage`: Run lifecycle status such as `RUNNING`, `FINISHED`, or `ERROR`.\n- `SDKTaskMessage`: Task-level status or summary text.\n- `SDKSystemMessage`: System/init metadata when available.\n\nTool payload fields are emitted when the runtime provides them. Cloud V1 stream payloads use the public stream shape from the API; local runs forward the normalized local tool call arguments and results from `InteractionUpdate.toolCall`.\n\n## Conversation State\n\n`run.conversation()` returns old-style accumulated `ConversationTurn[]` for the run.\n\n```typescript\nconst run = await agent.send(\"Inspect package scripts\");\nawait run.wait();\n\nconst turns = await run.conversation();\n```\n\nLive local runs can accumulate tool steps from raw executor deltas. Persisted replay reconstructs conversation from `SDKMessage` events, so replayed conversations can include tool-call steps when the persisted stream contains tool payload data.\n\n## Raw Delta Callbacks\n\n`onDelta` exposes the lower-level `InteractionUpdate` stream.\n\n```typescript\nconst run = await agent.send(\"Run tests\", {\n  onDelta: ({ update }) => {\n    switch (update.type) {\n      case \"text-delta\":\n        process.stdout.write(update.text);\n        break;\n      case \"tool-call-started\":\n        console.log(\"tool started\", update.toolCall.type);\n        break;\n      case \"tool-call-completed\":\n        console.log(\"tool completed\", update.toolCall);\n        break;\n    }\n  },\n});\n```\n\nThe callback surface is useful for local UI integrations that need detailed tool payloads. The normalized `run.stream()` surface is the cross-runtime public stream.\n\n## Resuming and Inspecting Agents\n\nDurable agents can be resumed later by ID.\n\n```typescript\nconst resumed = Agent.resume(agent.agentId, {\n  apiKey: process.env.CURSOR_API_KEY!,\n  model: { id: \"composer-2\" },\n  local: { cwd: process.cwd() },\n});\n\nconst run = await resumed.send(\"What changed last time?\");\nawait run.wait();\n```\n\nYou can also inspect persisted agent and run state:\n\n```typescript\nconst agents = await Agent.list({ runtime: \"local\", cwd: process.cwd() });\nconst runs = await Agent.listRuns(agent.agentId, {\n  runtime: \"local\",\n  cwd: process.cwd(),\n});\nconst run = await Agent.getRun(runs.items[0]!.id, {\n  runtime: \"local\",\n  cwd: process.cwd(),\n});\nconst messages = await Agent.messages.list(agent.agentId, {\n  runtime: \"local\",\n  cwd: process.cwd(),\n});\n```\n\n`Agent.messages.list(...)` reads persisted conversation/checkpoint messages. It is complementary to `run.conversation()`, which is scoped to one run.\n\n## Managing Cloud Agents\n\nCloud agents support lifecycle operations beyond create/resume/list:\n\n```typescript\nconst info = await Agent.get(\"bc-abc123\", { apiKey });\nawait Agent.archive(\"bc-abc123\", { apiKey });\nawait Agent.unarchive(\"bc-abc123\", { apiKey });\nawait Agent.delete(\"bc-abc123\", { apiKey });\n```\n\n`Agent.get` returns the same `SDKAgentInfo` shape as `Agent.list`. `archive`, `unarchive`, and `delete` return nothing; a missing agent throws.\n\n`apiKey` falls back to `process.env.CURSOR_API_KEY` if omitted.\n\n## Account and Platform\n\nThe `Cursor` namespace exposes account-level queries that aren't tied to a specific agent.\n\n```typescript\nimport { Cursor } from \"@cursor/february/agent\";\n\nconst me = await Cursor.me({ apiKey });\nconst models = await Cursor.models.list({ apiKey });\nconst repos = await Cursor.repositories.list({ apiKey });\n```\n\n- `Cursor.me()` returns the authenticated user's `apiKeyName`, `userEmail`, and `createdAt`.\n- `Cursor.models.list()` returns the model IDs available to the caller.\n- `Cursor.repositories.list()` returns GitHub repositories the caller has connected to Cursor, for use as `cloud.repos` entries on `Agent.create`.\n\nAll three are cloud-only and require an API key (param or `CURSOR_API_KEY` env var).\n\n## Local Settings and MCP\n\nStore-backed local agents do not load ambient Cursor settings unless you opt in. Use `local.settingSources` to choose which settings layers can affect MCP servers, hooks, skills, rules, subagents, team policy, MDM hooks, and plugins. This field is only available on the `local` shape — on cloud agents, `project` / `team` / `plugins` are always on and `user` / `mdm` / `local` have no VM equivalent.\n\n```typescript\nconst agent = Agent.create({\n  apiKey: process.env.CURSOR_API_KEY!,\n  model: { id: \"composer-2\" },\n  local: {\n    cwd: process.cwd(),\n    settingSources: [\"project\", \"plugins\"],\n  },\n  mcpServers: {\n    docs: {\n      type: \"http\",\n      url: \"https://example.com/mcp\",\n      auth: {\n        CLIENT_ID: \"client-id\",\n        scopes: [\"read\", \"write\"],\n      },\n    },\n    filesystem: {\n      type: \"stdio\",\n      command: \"npx\",\n      args: [\"-y\", \"@modelcontextprotocol/server-filesystem\", process.cwd()],\n      cwd: process.cwd(),\n    },\n  },\n});\n```\n\n`local.settingSources: [\"all\"]` loads every ambient source. Inline `mcpServers` are explicit API input, so they are available even when `local.settingSources` is omitted or `[]`. Inline MCP server definitions are not persisted for `Agent.resume(...)`; pass them again when resuming if the run needs those servers.\n\nCall `agent.reload()` after local hook, MCP, or settings files change and you want the underlying local executor to pick them up.\n\n## Artifacts\n\nThe `SDKAgent` interface includes artifact helper methods:\n\n```typescript\nconst artifacts = await agent.listArtifacts();\n```\n\nArtifact support is still runtime-dependent. Local SDK agents currently return no artifacts and throw for `downloadArtifact`.\n\n## Resource Management\n\nDispose agents when you are done with them.\n\n```typescript\nawait agent[Symbol.asyncDispose]();\n```\n\n`agent.close()` starts best-effort disposal without awaiting it. Prefer `[Symbol.asyncDispose]()` in scripts and tests.\n\n## Static API Reference\n\n- `Agent.create(options): SDKAgent`\n- `Agent.resume(agentId, options?): SDKAgent`\n- `Agent.prompt(message, options?): Promise<RunResult>`\n- `Agent.list(options?): Promise<ListResult<SDKAgentInfo>>`\n- `Agent.listRuns(agentId, options?): Promise<ListResult<Run>>`\n- `Agent.getRun(runId, options?): Promise<Run>`\n- `Agent.messages.list(agentId, options?): Promise<AgentMessage[]>`\n\n## Known Limitations\n\n- Persisted conversation replay can only reconstruct information present in the public `SDKMessage` stream.\n- Inline MCP server definitions are not persisted across `Agent.resume(...)`.\n- Artifact download support is not implemented for local SDK agents yet.\n\n","readmeFilename":"README.md"}