raysurfer 0.2.0
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/README.md +115 -0
- package/dist/client.d.ts +98 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/errors.d.ts +17 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21445 -0
- package/dist/sdk-client.d.ts +81 -0
- package/dist/sdk-client.d.ts.map +1 -0
- package/dist/types.d.ts +175 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RaysurferClient - Drop-in enhancement for Claude Agent SDK with code block caching.
|
|
3
|
+
*
|
|
4
|
+
* This client wraps the Claude Agent SDK query function to:
|
|
5
|
+
* 1. Pre-fetch relevant code blocks from the Raysurfer backend
|
|
6
|
+
* 2. Download them as files to a sandbox directory
|
|
7
|
+
* 3. Inject file contents into the system prompt
|
|
8
|
+
* 4. Let the agent use standard Bash tool to execute
|
|
9
|
+
* 5. After task completion, store generated code back to the cache
|
|
10
|
+
*/
|
|
11
|
+
import type { CodeFile } from "./types";
|
|
12
|
+
/** Options for RaysurferClient */
|
|
13
|
+
export interface RaysurferAgentOptions {
|
|
14
|
+
raysurferApiKey?: string;
|
|
15
|
+
raysurferBaseUrl?: string;
|
|
16
|
+
prefetchCount?: number;
|
|
17
|
+
minVerdictScore?: number;
|
|
18
|
+
preferComplete?: boolean;
|
|
19
|
+
sandboxDir?: string;
|
|
20
|
+
cleanupSandbox?: boolean;
|
|
21
|
+
cleanupOnError?: boolean;
|
|
22
|
+
model?: string;
|
|
23
|
+
workingDirectory?: string;
|
|
24
|
+
systemPrompt?: string;
|
|
25
|
+
permissionMode?: "default" | "acceptEdits" | "plan" | "bypassPermissions";
|
|
26
|
+
maxBudgetUsd?: number;
|
|
27
|
+
allowedTools?: string[];
|
|
28
|
+
disallowedTools?: string[];
|
|
29
|
+
maxTurns?: number;
|
|
30
|
+
env?: Record<string, string>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* RaysurferClient - wraps Claude Agent SDK with code block caching
|
|
34
|
+
*
|
|
35
|
+
* Usage:
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const client = new RaysurferClient({
|
|
38
|
+
* raysurferApiKey: "rs_...",
|
|
39
|
+
* model: "claude-sonnet-4-5",
|
|
40
|
+
* systemPrompt: "You are a helpful assistant.",
|
|
41
|
+
* });
|
|
42
|
+
*
|
|
43
|
+
* for await (const message of client.query("Fetch data from the GitHub API")) {
|
|
44
|
+
* console.log(message);
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare class RaysurferClient {
|
|
49
|
+
private options;
|
|
50
|
+
private raysurfer;
|
|
51
|
+
private prefetchedFiles;
|
|
52
|
+
private currentQuery;
|
|
53
|
+
private generatedFiles;
|
|
54
|
+
private taskSucceeded;
|
|
55
|
+
constructor(options?: RaysurferAgentOptions);
|
|
56
|
+
/**
|
|
57
|
+
* Query Claude with pre-fetched code files from Raysurfer.
|
|
58
|
+
*
|
|
59
|
+
* This method:
|
|
60
|
+
* 1. Pre-fetches relevant code files from Raysurfer backend
|
|
61
|
+
* 2. Downloads files to sandbox directory
|
|
62
|
+
* 3. Injects file contents into system prompt
|
|
63
|
+
* 4. Delegates to Claude Agent SDK
|
|
64
|
+
* 5. Stores generated code back to cache on success
|
|
65
|
+
*/
|
|
66
|
+
query(prompt: string): AsyncGenerator<unknown>;
|
|
67
|
+
/** Get the list of pre-fetched code files */
|
|
68
|
+
get files(): CodeFile[];
|
|
69
|
+
/** Get the sandbox directory path */
|
|
70
|
+
get sandbox(): string;
|
|
71
|
+
/** Manually clean up the sandbox directory */
|
|
72
|
+
cleanup(): Promise<void>;
|
|
73
|
+
private prefetchCodeFiles;
|
|
74
|
+
private downloadFilesToSandbox;
|
|
75
|
+
private buildSystemPrompt;
|
|
76
|
+
private formatCodeSnippets;
|
|
77
|
+
private storeGeneratedCode;
|
|
78
|
+
private cleanupSandbox;
|
|
79
|
+
}
|
|
80
|
+
export default RaysurferClient;
|
|
81
|
+
//# sourceMappingURL=sdk-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-client.d.ts","sourceRoot":"","sources":["../src/sdk-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAC;AAIrD,kCAAkC;AAClC,MAAM,WAAW,qBAAqB;IAEpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,mBAAmB,CAAC;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAYS;IAExB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,GAAE,qBAA0B;IAkB/C;;;;;;;;;OASG;IACI,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC;IAyFrD,6CAA6C;IAC7C,IAAI,KAAK,IAAI,QAAQ,EAAE,CAEtB;IAED,qCAAqC;IACrC,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,8CAA8C;IACxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAQhB,iBAAiB;YAejB,sBAAsB;IAWpC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,kBAAkB;YAuBZ,kBAAkB;YAiBlB,cAAc;CAgB7B;AAED,eAAe,eAAe,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RaySurfer SDK types - mirrors the backend API types
|
|
3
|
+
*/
|
|
4
|
+
/** Technical execution outcome - NOT a quality judgment */
|
|
5
|
+
export declare enum ExecutionState {
|
|
6
|
+
COMPLETED = "completed",
|
|
7
|
+
ERRORED = "errored",
|
|
8
|
+
TIMED_OUT = "timed_out",
|
|
9
|
+
CANCELLED = "cancelled"
|
|
10
|
+
}
|
|
11
|
+
/** Agent's judgment on whether an execution was useful */
|
|
12
|
+
export declare enum AgentVerdict {
|
|
13
|
+
THUMBS_UP = "thumbs_up",
|
|
14
|
+
THUMBS_DOWN = "thumbs_down",
|
|
15
|
+
PENDING = "pending"
|
|
16
|
+
}
|
|
17
|
+
/** A stored code block with metadata for semantic retrieval */
|
|
18
|
+
export interface CodeBlock {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
source: string;
|
|
23
|
+
entrypoint: string;
|
|
24
|
+
inputSchema: Record<string, unknown>;
|
|
25
|
+
outputSchema: Record<string, unknown>;
|
|
26
|
+
language: string;
|
|
27
|
+
languageVersion?: string | null;
|
|
28
|
+
dependencies: string[];
|
|
29
|
+
tags: string[];
|
|
30
|
+
capabilities: string[];
|
|
31
|
+
exampleQueries?: string[] | null;
|
|
32
|
+
createdAt?: string | null;
|
|
33
|
+
updatedAt?: string | null;
|
|
34
|
+
}
|
|
35
|
+
/** Stores the actual input/output data */
|
|
36
|
+
export interface ExecutionIO {
|
|
37
|
+
inputData: Record<string, unknown>;
|
|
38
|
+
inputHash?: string;
|
|
39
|
+
outputData?: unknown;
|
|
40
|
+
outputHash?: string;
|
|
41
|
+
outputType?: string;
|
|
42
|
+
}
|
|
43
|
+
/** Agent's assessment of whether an execution was useful */
|
|
44
|
+
export interface AgentReview {
|
|
45
|
+
timestamp?: string;
|
|
46
|
+
verdict: AgentVerdict;
|
|
47
|
+
reasoning: string;
|
|
48
|
+
whatWorked: string[];
|
|
49
|
+
whatDidntWork: string[];
|
|
50
|
+
outputWasUseful: boolean;
|
|
51
|
+
outputWasCorrect: boolean;
|
|
52
|
+
outputWasComplete: boolean;
|
|
53
|
+
errorWasAppropriate?: boolean | null;
|
|
54
|
+
wouldUseAgain: boolean;
|
|
55
|
+
suggestedImprovements: string[];
|
|
56
|
+
requiredWorkaround?: boolean;
|
|
57
|
+
workaroundDescription?: string | null;
|
|
58
|
+
}
|
|
59
|
+
/** Full execution trace */
|
|
60
|
+
export interface ExecutionRecord {
|
|
61
|
+
id: string;
|
|
62
|
+
codeBlockId: string;
|
|
63
|
+
timestamp?: string;
|
|
64
|
+
executionState: ExecutionState;
|
|
65
|
+
durationMs: number;
|
|
66
|
+
errorMessage?: string | null;
|
|
67
|
+
errorType?: string | null;
|
|
68
|
+
io: ExecutionIO;
|
|
69
|
+
triggeringTask: string;
|
|
70
|
+
retrievalScore?: number;
|
|
71
|
+
verdict?: AgentVerdict;
|
|
72
|
+
review?: AgentReview | null;
|
|
73
|
+
}
|
|
74
|
+
/** The best matching code block with full scoring */
|
|
75
|
+
export interface BestMatch {
|
|
76
|
+
codeBlock: CodeBlock;
|
|
77
|
+
combinedScore: number;
|
|
78
|
+
vectorScore: number;
|
|
79
|
+
verdictScore: number;
|
|
80
|
+
errorResilience: number;
|
|
81
|
+
thumbsUp: number;
|
|
82
|
+
thumbsDown: number;
|
|
83
|
+
}
|
|
84
|
+
/** An alternative candidate code block */
|
|
85
|
+
export interface AlternativeCandidate {
|
|
86
|
+
codeBlockId: string;
|
|
87
|
+
name: string;
|
|
88
|
+
combinedScore: number;
|
|
89
|
+
reason: string;
|
|
90
|
+
}
|
|
91
|
+
/** A few-shot example for code generation */
|
|
92
|
+
export interface FewShotExample {
|
|
93
|
+
task: string;
|
|
94
|
+
inputSample: Record<string, unknown>;
|
|
95
|
+
outputSample: unknown;
|
|
96
|
+
codeSnippet: string;
|
|
97
|
+
}
|
|
98
|
+
/** A proven task->code mapping */
|
|
99
|
+
export interface TaskPattern {
|
|
100
|
+
taskPattern: string;
|
|
101
|
+
codeBlockId: string;
|
|
102
|
+
codeBlockName: string;
|
|
103
|
+
thumbsUp: number;
|
|
104
|
+
thumbsDown: number;
|
|
105
|
+
verdictScore: number;
|
|
106
|
+
errorResilience: number;
|
|
107
|
+
lastThumbsUp?: string | null;
|
|
108
|
+
lastThumbsDown?: string | null;
|
|
109
|
+
}
|
|
110
|
+
/** A file written during agent execution */
|
|
111
|
+
export interface FileWritten {
|
|
112
|
+
path: string;
|
|
113
|
+
content: string;
|
|
114
|
+
}
|
|
115
|
+
export interface StoreCodeBlockResponse {
|
|
116
|
+
success: boolean;
|
|
117
|
+
codeBlockId: string;
|
|
118
|
+
embeddingId: string;
|
|
119
|
+
message: string;
|
|
120
|
+
}
|
|
121
|
+
export interface StoreExecutionResponse {
|
|
122
|
+
success: boolean;
|
|
123
|
+
executionId: string;
|
|
124
|
+
patternUpdated: boolean;
|
|
125
|
+
message: string;
|
|
126
|
+
}
|
|
127
|
+
export interface CodeBlockMatch {
|
|
128
|
+
codeBlock: CodeBlock;
|
|
129
|
+
score: number;
|
|
130
|
+
verdictScore: number;
|
|
131
|
+
thumbsUp: number;
|
|
132
|
+
thumbsDown: number;
|
|
133
|
+
recentExecutions: ExecutionRecord[];
|
|
134
|
+
}
|
|
135
|
+
export interface RetrieveCodeBlockResponse {
|
|
136
|
+
codeBlocks: CodeBlockMatch[];
|
|
137
|
+
totalFound: number;
|
|
138
|
+
}
|
|
139
|
+
export interface RetrieveBestResponse {
|
|
140
|
+
bestMatch: BestMatch | null;
|
|
141
|
+
alternativeCandidates: AlternativeCandidate[];
|
|
142
|
+
retrievalConfidence: string;
|
|
143
|
+
}
|
|
144
|
+
export interface SubmitExecutionResultRequest {
|
|
145
|
+
task: string;
|
|
146
|
+
filesWritten: FileWritten[];
|
|
147
|
+
succeeded: boolean;
|
|
148
|
+
}
|
|
149
|
+
export interface SubmitExecutionResultResponse {
|
|
150
|
+
success: boolean;
|
|
151
|
+
codeBlocksStored: number;
|
|
152
|
+
message: string;
|
|
153
|
+
}
|
|
154
|
+
/** A code file ready to be written to sandbox */
|
|
155
|
+
export interface CodeFile {
|
|
156
|
+
codeBlockId: string;
|
|
157
|
+
filename: string;
|
|
158
|
+
source: string;
|
|
159
|
+
entrypoint: string;
|
|
160
|
+
description: string;
|
|
161
|
+
inputSchema: Record<string, unknown>;
|
|
162
|
+
outputSchema: Record<string, unknown>;
|
|
163
|
+
language: string;
|
|
164
|
+
dependencies: string[];
|
|
165
|
+
verdictScore: number;
|
|
166
|
+
thumbsUp: number;
|
|
167
|
+
thumbsDown: number;
|
|
168
|
+
}
|
|
169
|
+
/** Response with code files for a task */
|
|
170
|
+
export interface GetCodeFilesResponse {
|
|
171
|
+
files: CodeFile[];
|
|
172
|
+
task: string;
|
|
173
|
+
totalFound: number;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "raysurfer",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "TypeScript SDK for RaySurfer - code block caching and retrieval for AI agents with Claude Agent SDK integration",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"README.md"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "bun build ./src/index.ts --outdir ./dist --target node && bun run build:types",
|
|
22
|
+
"build:types": "tsc --emitDeclarationOnly --declaration --outDir ./dist",
|
|
23
|
+
"clean": "rm -rf dist",
|
|
24
|
+
"prepublishOnly": "bun run build"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"ai",
|
|
28
|
+
"agents",
|
|
29
|
+
"code-blocks",
|
|
30
|
+
"retrieval",
|
|
31
|
+
"embeddings",
|
|
32
|
+
"claude",
|
|
33
|
+
"anthropic",
|
|
34
|
+
"raysurfer",
|
|
35
|
+
"caching",
|
|
36
|
+
"llm"
|
|
37
|
+
],
|
|
38
|
+
"author": "Raymond Xu",
|
|
39
|
+
"license": "MIT",
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "https://github.com/raymondxu/raysurfer-ts"
|
|
43
|
+
},
|
|
44
|
+
"homepage": "https://raysurfer.com",
|
|
45
|
+
"bugs": {
|
|
46
|
+
"url": "https://github.com/raymondxu/raysurfer-ts/issues"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"@anthropic-ai/claude-agent-sdk": ">=0.1.0"
|
|
50
|
+
},
|
|
51
|
+
"peerDependenciesMeta": {
|
|
52
|
+
"@anthropic-ai/claude-agent-sdk": {
|
|
53
|
+
"optional": true
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@types/bun": "^1.3.6",
|
|
58
|
+
"@types/node": "^22.0.0",
|
|
59
|
+
"typescript": "^5.7.0"
|
|
60
|
+
},
|
|
61
|
+
"engines": {
|
|
62
|
+
"node": ">=18.0.0"
|
|
63
|
+
}
|
|
64
|
+
}
|