-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Setup project build infrastructure for leaked Claude Code source #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
8685d2a
56e5ede
5051fb1
f95ed4e
cb8b0f0
92e300d
1c6e992
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| node_modules/ | ||
| dist/ | ||
| *.tsbuildinfo | ||
| .env | ||
| .env.local | ||
| bun.lockb | ||
| package-lock.json |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| # Bun configuration for Claude Code development | ||
| # See https://bun.sh/docs/runtime/bunfig | ||
|
|
||
| [run] | ||
| # Load the bun:bundle polyfill before the main entry point | ||
| preload = ["./plugins/bunBundleDev.ts"] | ||
|
|
||
| [define] | ||
| # Build-time macros — injected as global constants | ||
| "MACRO.VERSION" = '"1.0.0-dev"' | ||
| "MACRO.BUILD_TIME" = '""' | ||
| "MACRO.PACKAGE_URL" = '"@anthropic-ai/claude-code"' | ||
| "MACRO.NATIVE_PACKAGE_URL" = 'undefined' | ||
| "MACRO.FEEDBACK_CHANNEL" = '"https://github.com/anthropics/claude-code/issues"' | ||
| "MACRO.ISSUES_EXPLAINER" = '"file an issue at https://github.com/anthropics/claude-code/issues"' | ||
| "MACRO.VERSION_CHANGELOG" = '""' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,103 @@ | ||
| { | ||
| "name": "claude-code", | ||
| "version": "1.0.0", | ||
| "description": "Claude Code CLI \u2014 Leaked Source (2026-03-31)", | ||
| "type": "module", | ||
| "private": true, | ||
| "scripts": { | ||
| "start": "bun run src/entrypoints/cli.tsx", | ||
| "dev": "bun --watch run src/entrypoints/cli.tsx", | ||
| "build": "bun build src/entrypoints/cli.tsx --outdir dist --target bun --define 'MACRO.VERSION=\"1.0.0-dev\"' --define 'MACRO.BUILD_TIME=\"\"' --define 'MACRO.PACKAGE_URL=\"@anthropic-ai/claude-code\"' --define 'MACRO.NATIVE_PACKAGE_URL=\"\"' --define 'MACRO.FEEDBACK_CHANNEL=\"\"' --define 'MACRO.ISSUES_EXPLAINER=\"\"' --define 'MACRO.VERSION_CHANGELOG=\"\"'", | ||
| "typecheck": "bun x tsc --noEmit" | ||
| }, | ||
| "dependencies": { | ||
| "@alcalzone/ansi-tokenize": "^0.1.0", | ||
| "@ant/claude-for-chrome-mcp": "file:stubs/@ant/claude-for-chrome-mcp", | ||
| "@ant/computer-use-input": "file:stubs/@ant/computer-use-input", | ||
| "@ant/computer-use-mcp": "file:stubs/@ant/computer-use-mcp", | ||
| "@ant/computer-use-swift": "file:stubs/@ant/computer-use-swift", | ||
| "@anthropic-ai/claude-agent-sdk": "^0.1.0", | ||
| "@anthropic-ai/mcpb": "file:stubs/@anthropic-ai/mcpb", | ||
| "@anthropic-ai/sandbox-runtime": "file:stubs/anthropic-ai/sandbox-runtime", | ||
| "@anthropic-ai/sdk": "^0.39.0", | ||
| "@aws-sdk/client-bedrock-runtime": "^3.700.0", | ||
| "@commander-js/extra-typings": "^13.1.0", | ||
| "@growthbook/growthbook": "^1.3.0", | ||
| "@modelcontextprotocol/sdk": "^1.12.1", | ||
| "@opentelemetry/api": "^1.9.1", | ||
| "@opentelemetry/api-logs": "^0.214.0", | ||
| "@opentelemetry/core": "^2.6.1", | ||
| "@opentelemetry/resources": "^2.6.1", | ||
| "@opentelemetry/sdk-logs": "^0.214.0", | ||
| "@opentelemetry/sdk-metrics": "^2.6.1", | ||
| "@opentelemetry/sdk-trace-base": "^2.6.1", | ||
| "@opentelemetry/semantic-conventions": "^1.40.0", | ||
| "ajv": "^8.17.0", | ||
| "asciichart": "^1.5.25", | ||
| "auto-bind": "^5.0.1", | ||
| "axios": "^1.7.0", | ||
| "bidi-js": "^1.0.3", | ||
| "chalk": "^5.4.0", | ||
| "chokidar": "^4.0.0", | ||
| "cli-boxes": "^3.0.0", | ||
| "code-excerpt": "^4.0.0", | ||
| "color-diff-napi": "^0.0.1", | ||
| "commander": "^13.1.0", | ||
| "diff": "^7.0.0", | ||
| "emoji-regex": "^10.4.0", | ||
| "env-paths": "^3.0.0", | ||
| "execa": "^9.5.0", | ||
| "figures": "^6.1.0", | ||
| "fuse.js": "^7.3.0", | ||
| "get-east-asian-width": "^1.3.0", | ||
| "google-auth-library": "^9.15.0", | ||
| "highlight.js": "^11.11.1", | ||
| "https-proxy-agent": "^7.0.0", | ||
| "ignore": "^6.0.0", | ||
| "indent-string": "^5.0.0", | ||
| "jsonc-parser": "^3.3.1", | ||
| "lodash-es": "^4.17.21", | ||
| "lru-cache": "^11.0.0", | ||
| "marked": "^15.0.0", | ||
| "p-map": "^7.0.0", | ||
| "picomatch": "^4.0.0", | ||
| "proper-lockfile": "^4.1.2", | ||
| "qrcode": "^1.5.4", | ||
| "react": "^19.3.0-canary-705268dc-20260409", | ||
| "react-compiler-runtime": "^1.0.0", | ||
| "react-reconciler": "^0.34.0-canary-705268dc-20260409", | ||
| "semver": "^7.6.0", | ||
| "shell-quote": "^1.8.0", | ||
| "signal-exit": "^4.1.0", | ||
| "stack-utils": "^2.0.0", | ||
| "strip-ansi": "^7.1.0", | ||
| "supports-hyperlinks": "^3.1.0", | ||
| "tree-kill": "^1.2.2", | ||
| "type-fest": "^4.30.0", | ||
| "undici": "^7.3.0", | ||
| "usehooks-ts": "^3.1.0", | ||
| "vscode-jsonrpc": "^8.2.1", | ||
| "vscode-languageserver-protocol": "^3.17.0", | ||
| "vscode-languageserver-types": "^3.17.5", | ||
| "wrap-ansi": "^9.0.0", | ||
| "ws": "^8.18.0", | ||
| "xss": "^1.0.15", | ||
| "zod": "^3.24.0" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: The current stable release of Zod v4 is 4.3.6, released on January 22, 2026. Key APIs that differ from Zod v3 and could break existing TypeScript code include: Error customization: Deprecated message parameter in favor of unified error parameter (function). Dropped invalid_type_error and required_error parameters. errorMap is dropped. ZodError changes: Updated issue formats (streamlined, some merged/dropped like ZodNotFiniteIssue). Deprecated .format, .flatten, .formErrors. Deprecated .addIssue and .addIssues. z.number: No longer accepts infinite values (Infinity/-Infinity). .safe no longer accepts floats (behaves like .int). .int accepts only safe integers. z.string: Deprecated chained methods like .email, .uuid etc. (now top-level z.email, z.uuid). Stricter .uuid validation. .refine: Ignores type predicates. Drops ctx.path. Drops function as second argument. Optional helpers dropped: z.ostring, z.onumber, etc. z.literal: Drops symbol support. z.record: Drops single argument usage. Improved enum support (exhaustive checking). z.intersection: Throws regular Error on merge conflict (instead of ZodError). z.tuple: NonEmptyTuple now infers string[] instead of [string, ...string[]]. z.coerce: Input type now unknown instead of specific types. z.promise: Deprecated. Internal: Generic updates, ._def moved to ._zod.def, ZodEffects split, etc. These affect type inference and advanced usage. Requires TypeScript strict mode and TS 5.5+. A codemod npx Citations:
🏁 Script executed: # Find and check documentation files for Zod version references
find . -type f \( -name "README*" -o -name "*.md" -o -name "CHANGELOG*" \) -exec grep -l "zod\|Zod" {} \; 2>/dev/null | head -20Repository: tanbiralam/claude-code Length of output: 77 🏁 Script executed: # Search for Zod usage in the codebase to detect v4-specific APIs
rg "z\.(email|uuid|string|number|refine|promise)" --type ts --type tsx --type js --type jsx -c 2>/dev/null | head -30Repository: tanbiralam/claude-code Length of output: 48 🏁 Script executed: # Check tsconfig for TypeScript version requirement (v4 needs 5.5+)
cat -n tsconfig.json 2>/dev/null || echo "No tsconfig.json found"Repository: tanbiralam/claude-code Length of output: 995 🏁 Script executed: # Check if there are any v4 migration references or comments in the codebase
rg "v4|migration|zod.*4" --type ts --type tsx --type js --type jsx -i -c 2>/dev/null | head -20Repository: tanbiralam/claude-code Length of output: 48 🏁 Script executed: # Read README.md to see what it says about Zod
cat README.mdRepository: tanbiralam/claude-code Length of output: 11243 🏁 Script executed: # Search for Zod imports to see how it's actually used
rg "import.*zod|from.*zod|require.*zod" --type ts --type tsx --type js --type jsxRepository: tanbiralam/claude-code Length of output: 93 🏁 Script executed: # Check actual dependencies in package.json around the zod line
sed -n '80,95p' package.jsonRepository: tanbiralam/claude-code Length of output: 552 🏁 Script executed: # Check the schemas directory to see actual Zod usage patterns
find src/schemas -type f -name "*.ts" -o -name "*.tsx" | head -5Repository: tanbiralam/claude-code Length of output: 86 🏁 Script executed: # Look at one schema file to see what Zod APIs are being used
ls -la src/schemas/ 2>/dev/null | head -20Repository: tanbiralam/claude-code Length of output: 237 🏁 Script executed: cat src/schemas/hooks.tsRepository: tanbiralam/claude-code Length of output: 7947 Zod version mismatch is a runtime blocker. package.json pins v3.24.0, but the codebase imports from Update 🤖 Prompt for AI Agents |
||
| }, | ||
| "devDependencies": { | ||
| "@types/diff": "^7.0.0", | ||
| "@types/lodash-es": "^4.17.12", | ||
| "@types/node": "^22.0.0", | ||
| "@types/picomatch": "^3.0.0", | ||
| "@types/proper-lockfile": "^4.1.4", | ||
| "@types/qrcode": "^1.5.5", | ||
| "@types/react": "^18.3.0", | ||
| "@types/react-reconciler": "^0.28.0", | ||
| "@types/semver": "^7.5.0", | ||
| "@types/shell-quote": "^1.7.0", | ||
| "@types/stack-utils": "^2.0.0", | ||
| "@types/ws": "^8.5.0", | ||
| "bun-types": "^1.2.0", | ||
| "typescript": "^5.7.0" | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| /** | ||
| * Bun plugin that provides a runtime implementation of the `bun:bundle` module. | ||
| * | ||
| * In production, Bun's bundler statically replaces `feature()` calls at compile | ||
| * time. During development (running unbundled with `bun run`), this plugin | ||
| * intercepts `bun:bundle` imports and returns a stub where every feature flag | ||
| * is `false` by default. | ||
| * | ||
| * To enable specific flags during dev, set the env var FEATURE_FLAGS as a | ||
| * comma-separated list: | ||
| * | ||
| * FEATURE_FLAGS=KAIROS,VOICE_MODE bun run src/main.tsx | ||
| */ | ||
| import { plugin } from 'bun' | ||
|
|
||
| const enabledFlags = new Set( | ||
| (process.env.FEATURE_FLAGS ?? '').split(',').filter(Boolean), | ||
| ) | ||
|
|
||
| plugin({ | ||
| name: 'bun-bundle-dev', | ||
| setup(build) { | ||
| build.module('bun:bundle', () => ({ | ||
| exports: { | ||
| feature(flag: string): boolean { | ||
| return enabledFlags.has(flag) | ||
| }, | ||
| }, | ||
| loader: 'object', | ||
| })) | ||
| }, | ||
| }) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface AssistantSession {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface Transport {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| // Stub: not included in leaked source | ||
| export interface State {} | ||
| export interface Warning {} | ||
| export interface Workflow {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Stub: not included in leaked source | ||
| export interface PluginSettingsProps {} | ||
| export interface ViewState {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface UnifiedInstalledItem {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Stub: not included in leaked source | ||
| export interface FeedbackSurveyResponse {} | ||
| export interface FeedbackSurveyType {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Stub: not included in leaked source | ||
| export interface RGBColor {} | ||
| export interface SpinnerMode {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface AgentWizardData {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| // Stub: not included in leaked source | ||
| export interface AgentMcpServerInfo {} | ||
| export interface ClaudeAIServerInfo {} | ||
| export interface HTTPServerInfo {} | ||
| export interface MCPViewState {} | ||
| export interface SSEServerInfo {} | ||
| export interface ServerInfo {} | ||
| export interface StdioServerInfo {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface Option {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| // Stub: not included in leaked source | ||
| export interface WizardContextValue {} | ||
| export interface WizardProviderProps {} | ||
| export interface WizardStepComponent {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface QuerySource {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| // Stub: not included in leaked source | ||
| export interface SDKControlCancelRequest {} | ||
| export interface SDKControlInitializeRequest {} | ||
| export interface SDKControlInitializeResponse {} | ||
| export interface SDKControlMcpSetServersResponse {} | ||
| export interface SDKControlPermissionRequest {} | ||
| export interface SDKControlReloadPluginsResponse {} | ||
| export interface SDKControlRequest {} | ||
| export interface SDKControlRequestInner {} | ||
| export interface SDKControlResponse {} | ||
| export interface SDKPartialAssistantMessage {} | ||
| export interface StdinMessage {} | ||
| export interface StdoutMessage {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Stub: not included in leaked source | ||
| // Star re-export: no specific names identified | ||
| export {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| // Stub: not included in leaked source | ||
| export interface AnyZodRawShape {} | ||
| export interface EffortLevel {} | ||
| export interface ForkSessionOptions {} | ||
| export interface ForkSessionResult {} | ||
| export interface GetSessionInfoOptions {} | ||
| export interface GetSessionMessagesOptions {} | ||
| export interface InferShape {} | ||
| export interface InternalOptions {} | ||
| export interface InternalQuery {} | ||
| export interface ListSessionsOptions {} | ||
| export interface McpSdkServerConfigWithInstance {} | ||
| export interface Options {} | ||
| export interface Query {} | ||
| export interface SDKSession {} | ||
| export interface SDKSessionOptions {} | ||
| export interface SdkMcpToolDefinition {} | ||
| export interface SessionMessage {} | ||
| export interface SessionMutationOptions {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface NonNullableUsage {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface Settings {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Stub: not included in leaked source | ||
| // Star re-export: no specific names identified | ||
| export {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface Cursor {} | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: In current TypeScript (as of 2026), an empty interface interface Cursor {} is equivalent to the type {}, which accepts any non-nullish value (primitives like strings/numbers/booleans, objects, arrays, functions, etc.) due to structural typing. Only null and undefined are not assignable (with strictNullChecks on). The stricter placeholder type recommended for "no properties allowed" (only accepting {} the empty object literal, rejecting anything with properties or primitives) is Record<string, never> (or equivalently { [key: string]: never }). Example: type StrictEmpty = Record<string, never>; const valid: StrictEmpty = {}; // OK const invalid1: StrictEmpty = { foo: 1 }; // Error: Type 'number' is not assignable to 'never' const invalid2: StrictEmpty = "string"; // Error: Type 'string' is not assignable to 'Record<string, never>' This is widely recommended by linters like typescript-eslint (no-empty-object-type) and community sources to avoid the pitfalls of {}. Citations:
🏁 Script executed: # Check if the file exists and read its content
if [ -f "src/ink/cursor.ts" ]; then
echo "=== File content (with line numbers) ==="
cat -n "src/ink/cursor.ts"
else
echo "File not found at src/ink/cursor.ts"
# Try to locate the file
echo "=== Searching for cursor.ts files ==="
find . -name "cursor.ts" -type f 2>/dev/null | head -20
fiRepository: tanbiralam/claude-code Length of output: 186 🏁 Script executed: # Search for usages of Cursor type
echo "=== Searching for 'Cursor' type usages ==="
rg "Cursor" --type ts --type tsx -B 2 -A 2 | head -100Repository: tanbiralam/claude-code Length of output: 153 🏁 Script executed: # Search for usages of Cursor type without tsx flag
echo "=== Searching for 'Cursor' usages in TypeScript files ==="
rg "Cursor" --type ts -B 2 -A 2
echo ""
echo "=== Alternative: grep for Cursor imports/exports ==="
rg "from.*cursor|import.*Cursor|export.*Cursor" --type tsRepository: tanbiralam/claude-code Length of output: 50379 🏁 Script executed: # Search specifically for imports from ink/cursor or references to the stub interface
echo "=== Searching for imports from 'ink/cursor' ==="
rg "from.*ink/cursor|import.*from.*cursor" --type ts | grep -v "utils/Cursor"
echo ""
echo "=== Checking src/ink directory structure ==="
find src/ink -type f -name "*.ts" | head -20
echo ""
echo "=== Checking if cursor is exported from ink's main exports ==="
rg "export.*Cursor|export.*cursor" src/ink --type ts | head -20Repository: tanbiralam/claude-code Length of output: 2552 🏁 Script executed: # Check how Cursor is used in frame.ts
echo "=== Cursor usage in src/ink/frame.ts ==="
cat -n src/ink/frame.ts | head -100Repository: tanbiralam/claude-code Length of output: 4198 🏁 Script executed: # Search for all places where cursor object is created or assigned
echo "=== All assignments to cursor in src/ink/frame.ts ==="
rg "cursor.*:" src/ink/frame.ts -A 1 | head -50
echo ""
echo "=== Check if there are other usages of the Cursor type ==="
rg "Frame\[|\.cursor" src/ink --type ts -B 1 -A 1 | head -100Repository: tanbiralam/claude-code Length of output: 5718 Specify the actual Cursor shape instead of using an empty interface placeholder.
Note: 🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface PasteEvent {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface ResizeEvent {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| // Stub: not included in leaked source |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| // Stub: not included in leaked source | ||
| export interface Chord {} | ||
| export interface KeybindingAction {} | ||
| export interface KeybindingBlock {} | ||
| export interface KeybindingContextName {} | ||
| export interface ParsedBinding {} | ||
| export interface ParsedKeystroke {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Stub: not included in leaked source | ||
| export interface Continue {} | ||
| export interface Terminal {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| // Stub: not included in leaked source | ||
| export interface LspServerConfig {} | ||
| export interface LspServerState {} | ||
| export interface ScopedLspServerConfig {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| // Stub: not included in leaked source | ||
| export interface BillingType {} | ||
| export interface OAuthProfileResponse {} | ||
| export interface OAuthTokenExchangeResponse {} | ||
| export interface OAuthTokens {} | ||
| export interface RateLimitTier {} | ||
| export interface ReferralCampaign {} | ||
| export interface ReferralEligibilityResponse {} | ||
| export interface ReferralRedemptionsResponse {} | ||
| export interface ReferrerRewardInfo {} | ||
| export interface SubscriptionType {} | ||
| export interface UserRolesResponse {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| // Stub: not included in leaked source | ||
| export interface DiscoverySignal {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Stub: not included in leaked source | ||
| export interface Tip {} | ||
| export interface TipContext {} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Stub: not included in leaked source | ||
| const skillPrompt = '' | ||
| export default skillPrompt |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Stub: not included in leaked source | ||
| const csharpClaudeApi = '' | ||
| export default csharpClaudeApi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
What@types/reactand@types/react-reconciler` versions are compatible with:?`
💡 Result:
The compatible versions are the latest
@types/react(19.2.14) and@types/react-reconciler(0.33.0). These provide types for React 19, including ongoing canary updates via the react/canary.d.ts augmentation in DefinitelyTyped. No specific canary-tagged@typespackages exist; types are maintained to support current and experimental React 19 features as evidenced by recent commits adding canary-specific types like SubmitEvent.submitter and optimisticKey.Citations:
🏁 Script executed:
sed -n '94,96p' package.jsonRepository: tanbiralam/claude-code
Length of output: 169
Update
@types/reactand@types/react-reconcilerversions to match React runtime.The canary runtime versions (React 19 and react-reconciler 0.34) are paired with mismatched type packages:
@types/react@^18.3.0targets React 18, and@types/react-reconciler@^0.28.0is outdated. Update to@types/react@^19.2.14and@types/react-reconciler@^0.33.0to resolve incompatibilities and preventtypecheckfailures.🤖 Prompt for AI Agents