raysurfer 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -32
- package/package.json +3 -2
- package/dist/client.d.ts +0 -230
- package/dist/client.d.ts.map +0 -1
- package/dist/errors.d.ts +0 -32
- package/dist/errors.d.ts.map +0 -1
- package/dist/index.d.ts +0 -23
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -1175
- package/dist/sdk-client.d.ts +0 -69
- package/dist/sdk-client.d.ts.map +0 -1
- package/dist/types.d.ts +0 -338
- package/dist/types.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
# RaySurfer TypeScript SDK
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
[Website](https://raysurfer.com) · [Docs](https://docs.raysurfer.com) · [Dashboard](https://raysurfer.com/dashboard/api-keys)
|
|
4
|
+
|
|
5
|
+
<!-- Old: LLM output caching for AI agents. Retrieve proven code instead of regenerating it. -->
|
|
6
|
+
Code reputation layer for AI agents. Let agents re-use generated
|
|
7
|
+
code vs running 30 serial tools or generating code per execution.
|
|
5
8
|
|
|
6
9
|
## Installation
|
|
7
10
|
|
|
@@ -33,24 +36,17 @@ import { RaySurfer } from "raysurfer";
|
|
|
33
36
|
const client = new RaySurfer({ apiKey: "your_api_key" });
|
|
34
37
|
const task = "Fetch GitHub trending repos";
|
|
35
38
|
|
|
36
|
-
// 1.
|
|
37
|
-
const result = await client.
|
|
39
|
+
// 1. Search for cached code matching a task
|
|
40
|
+
const result = await client.search({
|
|
38
41
|
task,
|
|
39
42
|
topK: 5,
|
|
40
43
|
minVerdictScore: 0.3,
|
|
41
44
|
});
|
|
42
45
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// ...
|
|
48
|
-
|
|
49
|
-
// Augment your system prompt with cached code context
|
|
50
|
-
const basePrompt = "You are a helpful coding assistant.";
|
|
51
|
-
const augmentedPrompt = basePrompt + result.addToLlmPrompt;
|
|
52
|
-
|
|
53
|
-
// Use augmentedPrompt with any LLM provider (Anthropic, OpenAI, etc.)
|
|
46
|
+
for (const match of result.matches) {
|
|
47
|
+
console.log(`${match.codeBlock.name}: ${match.combinedScore}`);
|
|
48
|
+
console.log(` Source: ${match.codeBlock.source.slice(0, 80)}...`);
|
|
49
|
+
}
|
|
54
50
|
|
|
55
51
|
// 2. Upload a new code file after execution
|
|
56
52
|
await client.uploadNewCodeSnip({
|
|
@@ -80,9 +76,9 @@ await client.uploadBulkCodeSnips(
|
|
|
80
76
|
// 3. Vote on whether a cached snippet was useful
|
|
81
77
|
await client.voteCodeSnip({
|
|
82
78
|
task,
|
|
83
|
-
codeBlockId: result.
|
|
84
|
-
codeBlockName: result.
|
|
85
|
-
codeBlockDescription: result.
|
|
79
|
+
codeBlockId: result.matches[0].codeBlock.id,
|
|
80
|
+
codeBlockName: result.matches[0].codeBlock.name,
|
|
81
|
+
codeBlockDescription: result.matches[0].codeBlock.description,
|
|
86
82
|
succeeded: true,
|
|
87
83
|
});
|
|
88
84
|
```
|
|
@@ -103,18 +99,18 @@ const client = new RaySurfer({
|
|
|
103
99
|
|
|
104
100
|
### Response Fields
|
|
105
101
|
|
|
106
|
-
The `
|
|
102
|
+
The `search()` response includes:
|
|
107
103
|
|
|
108
|
-
| Field | Type
|
|
109
|
-
| ---------------- |
|
|
110
|
-
| `
|
|
111
|
-
| `
|
|
112
|
-
| `
|
|
113
|
-
| `addToLlmPrompt` | `string` | Pre-formatted string to append to LLM system prompt |
|
|
104
|
+
| Field | Type | Description |
|
|
105
|
+
| ---------------- | --------------- | --------------------------------- |
|
|
106
|
+
| `matches` | `SearchMatch[]` | Matching code blocks with scoring |
|
|
107
|
+
| `totalFound` | `number` | Total matches found |
|
|
108
|
+
| `cacheHit` | `boolean` | Whether results were from cache |
|
|
114
109
|
|
|
115
|
-
Each `
|
|
116
|
-
`
|
|
117
|
-
`
|
|
110
|
+
Each `SearchMatch` contains `codeBlock` (with `id`, `name`,
|
|
111
|
+
`source`, `description`, `entrypoint`, `language`, `dependencies`),
|
|
112
|
+
`combinedScore`, `vectorScore`, `verdictScore`, `thumbsUp`,
|
|
113
|
+
`thumbsDown`, `filename`, and `entrypoint`.
|
|
118
114
|
|
|
119
115
|
### Store a Code Block with Full Metadata
|
|
120
116
|
|
|
@@ -185,8 +181,7 @@ await client.uploadBulkCodeSnips(
|
|
|
185
181
|
|
|
186
182
|
| Method | Description |
|
|
187
183
|
|--------|-------------|
|
|
188
|
-
| `search({ task, topK?, minVerdictScore?, preferComplete?, inputSchema? })` |
|
|
189
|
-
| `getCodeFiles({ task, topK?, minVerdictScore?, preferComplete?, cacheDir? })` | Retrieve cached code files with `addToLlmPrompt` for LLM augmentation |
|
|
184
|
+
| `search({ task, topK?, minVerdictScore?, preferComplete?, inputSchema? })` | Search for cached code snippets |
|
|
190
185
|
| `getCodeSnips({ task, topK?, minVerdictScore? })` | Retrieve cached code snippets by semantic search |
|
|
191
186
|
| `retrieveBest({ task, topK?, minVerdictScore? })` | Retrieve the single best match |
|
|
192
187
|
| `getFewShotExamples(task, k)` | Retrieve few-shot examples for code generation prompting |
|
|
@@ -245,7 +240,7 @@ import { query } from "raysurfer";
|
|
|
245
240
|
for await (const message of query({
|
|
246
241
|
prompt: "Fetch data from GitHub API",
|
|
247
242
|
options: {
|
|
248
|
-
model: "claude-opus-4-
|
|
243
|
+
model: "claude-opus-4-6",
|
|
249
244
|
systemPrompt: "You are a helpful assistant.",
|
|
250
245
|
},
|
|
251
246
|
})) {
|
|
@@ -271,7 +266,7 @@ import {
|
|
|
271
266
|
import { ClaudeSDKClient } from "raysurfer";
|
|
272
267
|
|
|
273
268
|
const client = new ClaudeSDKClient({
|
|
274
|
-
model: "claude-opus-4-
|
|
269
|
+
model: "claude-opus-4-6",
|
|
275
270
|
systemPrompt: "You are a helpful assistant.",
|
|
276
271
|
});
|
|
277
272
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "raysurfer",
|
|
3
|
-
"version": "0.6.
|
|
4
|
-
"
|
|
3
|
+
"version": "0.6.2",
|
|
4
|
+
"_description_old": "Semantic code caching for LLM agents",
|
|
5
|
+
"description": "Code reputation layer for AI agents",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"main": "./dist/index.js",
|
|
7
8
|
"module": "./dist/index.js",
|
package/dist/client.d.ts
DELETED
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RaySurfer SDK client
|
|
3
|
-
*/
|
|
4
|
-
export declare const VERSION = "0.5.10";
|
|
5
|
-
import type { AgentReview, AgentVerdict, AutoReviewParams, AutoReviewResponse, BrowsePublicParams, BrowsePublicResponse, BulkExecutionResultResponse, ExecutionState, FewShotExample, FileWritten, GetCodeFilesResponse, GetExecutionsParams, LogFile, RetrieveBestResponse, RetrieveCodeBlockResponse, RetrieveExecutionsResponse, SearchPublicParams, SearchPublicResponse, SearchResponse, SnipsDesired, StoreCodeBlockResponse, StoreExecutionResponse, SubmitExecutionResultResponse, TaskPattern } from "./types";
|
|
6
|
-
export interface RaySurferOptions {
|
|
7
|
-
/** RaySurfer API key */
|
|
8
|
-
apiKey?: string;
|
|
9
|
-
/** API base URL */
|
|
10
|
-
baseUrl?: string;
|
|
11
|
-
/** Request timeout in milliseconds */
|
|
12
|
-
timeout?: number;
|
|
13
|
-
/** Organization ID for dedicated namespace (team/enterprise tier) */
|
|
14
|
-
organizationId?: string;
|
|
15
|
-
/** Workspace ID for client-specific namespace (enterprise tier only) */
|
|
16
|
-
workspaceId?: string;
|
|
17
|
-
/** Scope of private snippets - "company" (Team/Enterprise) or "client" (Enterprise only) */
|
|
18
|
-
snipsDesired?: SnipsDesired;
|
|
19
|
-
/** Include community public snippets (from github-snips) in retrieval results */
|
|
20
|
-
publicSnips?: boolean;
|
|
21
|
-
}
|
|
22
|
-
export interface StoreCodeBlockParams {
|
|
23
|
-
name: string;
|
|
24
|
-
source: string;
|
|
25
|
-
entrypoint: string;
|
|
26
|
-
language: string;
|
|
27
|
-
description?: string;
|
|
28
|
-
inputSchema?: Record<string, unknown>;
|
|
29
|
-
outputSchema?: Record<string, unknown>;
|
|
30
|
-
languageVersion?: string;
|
|
31
|
-
dependencies?: string[];
|
|
32
|
-
tags?: string[];
|
|
33
|
-
capabilities?: string[];
|
|
34
|
-
exampleQueries?: string[];
|
|
35
|
-
}
|
|
36
|
-
export interface StoreExecutionParams {
|
|
37
|
-
codeBlockId: string;
|
|
38
|
-
triggeringTask: string;
|
|
39
|
-
inputData: Record<string, unknown>;
|
|
40
|
-
outputData: unknown;
|
|
41
|
-
executionState?: ExecutionState;
|
|
42
|
-
durationMs?: number;
|
|
43
|
-
errorMessage?: string;
|
|
44
|
-
errorType?: string;
|
|
45
|
-
verdict?: AgentVerdict;
|
|
46
|
-
review?: AgentReview;
|
|
47
|
-
}
|
|
48
|
-
export interface RetrieveParams {
|
|
49
|
-
task: string;
|
|
50
|
-
topK?: number;
|
|
51
|
-
minVerdictScore?: number;
|
|
52
|
-
}
|
|
53
|
-
export interface GetCodeFilesParams {
|
|
54
|
-
task: string;
|
|
55
|
-
topK?: number;
|
|
56
|
-
minVerdictScore?: number;
|
|
57
|
-
preferComplete?: boolean;
|
|
58
|
-
/** Directory path where files will be written (default: .raysurfer_code). Used to generate full paths in addToLlmPrompt. */
|
|
59
|
-
cacheDir?: string;
|
|
60
|
-
}
|
|
61
|
-
export interface GetTaskPatternsParams {
|
|
62
|
-
task?: string;
|
|
63
|
-
codeBlockId?: string;
|
|
64
|
-
minThumbsUp?: number;
|
|
65
|
-
topK?: number;
|
|
66
|
-
}
|
|
67
|
-
export interface SearchParams {
|
|
68
|
-
task: string;
|
|
69
|
-
topK?: number;
|
|
70
|
-
minVerdictScore?: number;
|
|
71
|
-
preferComplete?: boolean;
|
|
72
|
-
inputSchema?: Record<string, unknown>;
|
|
73
|
-
/** Override client-level workspaceId for this request */
|
|
74
|
-
workspaceId?: string;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Async client for RaySurfer API
|
|
78
|
-
*/
|
|
79
|
-
export declare class RaySurfer {
|
|
80
|
-
private apiKey?;
|
|
81
|
-
private baseUrl;
|
|
82
|
-
private timeout;
|
|
83
|
-
private organizationId?;
|
|
84
|
-
private workspaceId?;
|
|
85
|
-
private snipsDesired?;
|
|
86
|
-
private publicSnips?;
|
|
87
|
-
constructor(options?: RaySurferOptions);
|
|
88
|
-
private request;
|
|
89
|
-
/** Build header overrides for per-request workspaceId */
|
|
90
|
-
private workspaceHeaders;
|
|
91
|
-
/** Store a new code block */
|
|
92
|
-
storeCodeBlock(params: StoreCodeBlockParams): Promise<StoreCodeBlockResponse>;
|
|
93
|
-
/** Store an execution record */
|
|
94
|
-
storeExecution(params: StoreExecutionParams): Promise<StoreExecutionResponse>;
|
|
95
|
-
/**
|
|
96
|
-
* Upload a single code file from an execution result.
|
|
97
|
-
*
|
|
98
|
-
* This is the simplified API for agent integrations. Just send:
|
|
99
|
-
* - The task that was executed
|
|
100
|
-
* - The file that was written during execution
|
|
101
|
-
* - Whether the task succeeded
|
|
102
|
-
* - (Optional) Cached code blocks that were retrieved and used
|
|
103
|
-
*
|
|
104
|
-
* Backend handles: entrypoint detection, tag extraction, language detection,
|
|
105
|
-
* deduplication, quality checks, storage, AND voting for cached code blocks.
|
|
106
|
-
*
|
|
107
|
-
* For uploading multiple files at once, use uploadBulkCodeSnips().
|
|
108
|
-
*/
|
|
109
|
-
uploadNewCodeSnip(taskOrOptions: string | {
|
|
110
|
-
task: string;
|
|
111
|
-
fileWritten: FileWritten;
|
|
112
|
-
succeeded: boolean;
|
|
113
|
-
cachedCodeBlocks?: Array<{
|
|
114
|
-
codeBlockId: string;
|
|
115
|
-
filename: string;
|
|
116
|
-
description: string;
|
|
117
|
-
}>;
|
|
118
|
-
useRaysurferAiVoting?: boolean;
|
|
119
|
-
userVote?: number;
|
|
120
|
-
executionLogs?: string;
|
|
121
|
-
runUrl?: string;
|
|
122
|
-
workspaceId?: string;
|
|
123
|
-
dependencies?: Record<string, string>;
|
|
124
|
-
public?: boolean;
|
|
125
|
-
}, fileWritten?: FileWritten, succeeded?: boolean, cachedCodeBlocks?: Array<{
|
|
126
|
-
codeBlockId: string;
|
|
127
|
-
filename: string;
|
|
128
|
-
description: string;
|
|
129
|
-
}>, useRaysurferAiVoting?: boolean, userVote?: number, executionLogs?: string, runUrl?: string, workspaceId?: string, dependencies?: Record<string, string>): Promise<SubmitExecutionResultResponse>;
|
|
130
|
-
/** Backwards-compatible alias. */
|
|
131
|
-
uploadNewCodeSnips: (taskOrOptions: string | {
|
|
132
|
-
task: string;
|
|
133
|
-
fileWritten: FileWritten;
|
|
134
|
-
succeeded: boolean;
|
|
135
|
-
cachedCodeBlocks?: Array<{
|
|
136
|
-
codeBlockId: string;
|
|
137
|
-
filename: string;
|
|
138
|
-
description: string;
|
|
139
|
-
}>;
|
|
140
|
-
useRaysurferAiVoting?: boolean;
|
|
141
|
-
userVote?: number;
|
|
142
|
-
executionLogs?: string;
|
|
143
|
-
runUrl?: string;
|
|
144
|
-
workspaceId?: string;
|
|
145
|
-
dependencies?: Record<string, string>;
|
|
146
|
-
public?: boolean;
|
|
147
|
-
}, fileWritten?: FileWritten, succeeded?: boolean, cachedCodeBlocks?: Array<{
|
|
148
|
-
codeBlockId: string;
|
|
149
|
-
filename: string;
|
|
150
|
-
description: string;
|
|
151
|
-
}>, useRaysurferAiVoting?: boolean, userVote?: number, executionLogs?: string, runUrl?: string, workspaceId?: string, dependencies?: Record<string, string>) => Promise<SubmitExecutionResultResponse>;
|
|
152
|
-
/**
|
|
153
|
-
* Bulk upload code files, prompts, and logs for sandboxed grading.
|
|
154
|
-
*
|
|
155
|
-
* The backend runs a grader that votes thumbs up/down for each code file.
|
|
156
|
-
*
|
|
157
|
-
* Supports both options object (new) and positional arguments (legacy):
|
|
158
|
-
* - Options: `uploadBulkCodeSnips({ prompts, filesWritten, logFiles, ... })`
|
|
159
|
-
* - Legacy: `uploadBulkCodeSnips(prompts, filesWritten, logFiles, ...)`
|
|
160
|
-
*/
|
|
161
|
-
uploadBulkCodeSnips(promptsOrOptions: string[] | {
|
|
162
|
-
prompts: string[];
|
|
163
|
-
filesWritten: FileWritten[];
|
|
164
|
-
logFiles?: Array<LogFile | {
|
|
165
|
-
path: string;
|
|
166
|
-
content: string | Buffer;
|
|
167
|
-
encoding?: "utf-8" | "base64";
|
|
168
|
-
contentType?: string;
|
|
169
|
-
}>;
|
|
170
|
-
useRaysurferAiVoting?: boolean;
|
|
171
|
-
userVotes?: Record<string, number>;
|
|
172
|
-
workspaceId?: string;
|
|
173
|
-
}, filesWritten?: FileWritten[], logFiles?: Array<LogFile | {
|
|
174
|
-
path: string;
|
|
175
|
-
content: string | Buffer;
|
|
176
|
-
encoding?: "utf-8" | "base64";
|
|
177
|
-
contentType?: string;
|
|
178
|
-
}>, useRaysurferAiVoting?: boolean, userVotes?: Record<string, number>, workspaceId?: string): Promise<BulkExecutionResultResponse>;
|
|
179
|
-
search(params: SearchParams): Promise<SearchResponse>;
|
|
180
|
-
/** Get cached code snippets for a task (semantic search) */
|
|
181
|
-
getCodeSnips(params: RetrieveParams): Promise<RetrieveCodeBlockResponse>;
|
|
182
|
-
/** Get the single best code block for a task using verdict-aware scoring */
|
|
183
|
-
retrieveBest(params: RetrieveParams): Promise<RetrieveBestResponse>;
|
|
184
|
-
/** Retrieve few-shot examples for code generation */
|
|
185
|
-
getFewShotExamples(task: string, k?: number): Promise<FewShotExample[]>;
|
|
186
|
-
/** Retrieve proven task->code mappings */
|
|
187
|
-
getTaskPatterns(params: GetTaskPatternsParams): Promise<TaskPattern[]>;
|
|
188
|
-
getCodeFiles(params: GetCodeFilesParams): Promise<GetCodeFilesResponse>;
|
|
189
|
-
/**
|
|
190
|
-
* Format a prompt string listing all retrieved code files.
|
|
191
|
-
* @internal
|
|
192
|
-
*/
|
|
193
|
-
private formatLlmPrompt;
|
|
194
|
-
/**
|
|
195
|
-
* Get an auto-generated review using Claude Opus 4.5.
|
|
196
|
-
* Useful for programmatically reviewing execution results.
|
|
197
|
-
*/
|
|
198
|
-
autoReview(params: AutoReviewParams): Promise<AutoReviewResponse>;
|
|
199
|
-
/**
|
|
200
|
-
* Retrieve execution records by code block ID, task, or verdict.
|
|
201
|
-
*/
|
|
202
|
-
getExecutions(params?: GetExecutionsParams): Promise<RetrieveExecutionsResponse>;
|
|
203
|
-
/**
|
|
204
|
-
* Vote on whether a cached code snippet was useful for a task.
|
|
205
|
-
*
|
|
206
|
-
* This triggers background voting on the backend to assess whether
|
|
207
|
-
* the cached code actually helped complete the task successfully.
|
|
208
|
-
* The call returns immediately - voting happens asynchronously.
|
|
209
|
-
*/
|
|
210
|
-
voteCodeSnip(params: {
|
|
211
|
-
task: string;
|
|
212
|
-
codeBlockId: string;
|
|
213
|
-
codeBlockName: string;
|
|
214
|
-
codeBlockDescription: string;
|
|
215
|
-
succeeded: boolean;
|
|
216
|
-
}): Promise<{
|
|
217
|
-
success: boolean;
|
|
218
|
-
votePending: boolean;
|
|
219
|
-
message: string;
|
|
220
|
-
}>;
|
|
221
|
-
/** Browse community public snippets without authentication. */
|
|
222
|
-
browsePublic(params?: BrowsePublicParams): Promise<BrowsePublicResponse>;
|
|
223
|
-
/** Search community public snippets by keyword without authentication. */
|
|
224
|
-
searchPublic(params: SearchPublicParams): Promise<SearchPublicResponse>;
|
|
225
|
-
submitExecutionResult(task: string, fileWritten: FileWritten, succeeded: boolean): Promise<SubmitExecutionResultResponse>;
|
|
226
|
-
retrieve(params: RetrieveParams): Promise<RetrieveCodeBlockResponse>;
|
|
227
|
-
private parseCodeBlock;
|
|
228
|
-
}
|
|
229
|
-
export default RaySurfer;
|
|
230
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RaySurfer SDK errors
|
|
3
|
-
*/
|
|
4
|
-
/** Base error for RaySurfer SDK */
|
|
5
|
-
export declare class RaySurferError extends Error {
|
|
6
|
-
constructor(message: string);
|
|
7
|
-
}
|
|
8
|
-
/** API returned an error response */
|
|
9
|
-
export declare class APIError extends RaySurferError {
|
|
10
|
-
statusCode?: number;
|
|
11
|
-
constructor(message: string, statusCode?: number);
|
|
12
|
-
}
|
|
13
|
-
/** Authentication failed */
|
|
14
|
-
export declare class AuthenticationError extends RaySurferError {
|
|
15
|
-
constructor(message?: string);
|
|
16
|
-
}
|
|
17
|
-
/** Cache backend is unreachable */
|
|
18
|
-
export declare class CacheUnavailableError extends RaySurferError {
|
|
19
|
-
statusCode: number;
|
|
20
|
-
constructor(message?: string, statusCode?: number);
|
|
21
|
-
}
|
|
22
|
-
/** Rate limit exceeded */
|
|
23
|
-
export declare class RateLimitError extends RaySurferError {
|
|
24
|
-
retryAfter?: number;
|
|
25
|
-
constructor(message?: string, retryAfter?: number);
|
|
26
|
-
}
|
|
27
|
-
/** Validation failed */
|
|
28
|
-
export declare class ValidationError extends RaySurferError {
|
|
29
|
-
field?: string;
|
|
30
|
-
constructor(message?: string, field?: string);
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mCAAmC;AACnC,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED,qCAAqC;AACrC,qBAAa,QAAS,SAAQ,cAAc;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAKjD;AAED,4BAA4B;AAC5B,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,OAAO,GAAE,MAA0B;CAIhD;AAED,mCAAmC;AACnC,qBAAa,qBAAsB,SAAQ,cAAc;IACvD,UAAU,EAAE,MAAM,CAAC;gBAGjB,OAAO,GAAE,MAAuC,EAChD,UAAU,GAAE,MAAY;CAM3B;AAED,0BAA0B;AAC1B,qBAAa,cAAe,SAAQ,cAAc;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,GAAE,MAA8B,EAAE,UAAU,CAAC,EAAE,MAAM;CAKzE;AAED,wBAAwB;AACxB,qBAAa,eAAgB,SAAQ,cAAc;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEH,OAAO,GAAE,MAA4B,EAAE,KAAK,CAAC,EAAE,MAAM;CAKlE"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RaySurfer TypeScript SDK - Drop-in replacement for Claude Agent SDK with caching.
|
|
3
|
-
*
|
|
4
|
-
* Simply swap your import:
|
|
5
|
-
*
|
|
6
|
-
* // Before
|
|
7
|
-
* import { query } from "@anthropic-ai/claude-agent-sdk";
|
|
8
|
-
*
|
|
9
|
-
* // After
|
|
10
|
-
* import { query } from "raysurfer";
|
|
11
|
-
*
|
|
12
|
-
* Everything else works exactly the same. Set RAYSURFER_API_KEY to enable caching.
|
|
13
|
-
*/
|
|
14
|
-
export type { GetCodeFilesParams, GetTaskPatternsParams, RaySurferOptions, RetrieveParams, SearchParams, StoreCodeBlockParams, StoreExecutionParams, } from "./client";
|
|
15
|
-
export { default as RaySurferDefault, RaySurfer, VERSION } from "./client";
|
|
16
|
-
export { APIError, AuthenticationError, CacheUnavailableError, RateLimitError, RaySurferError, ValidationError, } from "./errors";
|
|
17
|
-
export type { QueryOptions, QueryParams, RaysurferAgentOptions, RaysurferExtras, RaysurferQueryOptions, } from "./sdk-client";
|
|
18
|
-
export { ClaudeSDKClient, default as queryDefault, query, RaysurferClient, } from "./sdk-client";
|
|
19
|
-
export type { AgentReview, AlternativeCandidate, BestMatch, BrowsePublicParams, BrowsePublicResponse, BulkExecutionResultRequest, BulkExecutionResultResponse, CodeBlock, CodeBlockMatch, CodeFile, ExecutionIO, ExecutionRecord, FewShotExample, FileWritten, GetCodeFilesResponse, LogFile, PublicSnippet, RetrieveBestResponse, RetrieveCodeBlockResponse, RetrieveExecutionsResponse, SearchMatch, SearchPublicParams, SearchPublicResponse, SearchResponse, StoreCodeBlockResponse, StoreExecutionResponse, SubmitExecutionResultRequest, SubmitExecutionResultResponse, TaskPattern, UploadBulkCodeSnipsOptions, UploadNewCodeSnipOptions, VoteCodeSnipParams, VoteCodeSnipResponse, } from "./types";
|
|
20
|
-
export { AgentVerdict, ExecutionState } from "./types";
|
|
21
|
-
export type { AccountInfo, AgentDefinition, AgentMcpServerSpec, AnyZodRawShape, ApiKeySource, AsyncHookJSONOutput, BaseHookInput, BaseOutputFormat, CanUseTool, ConfigScope, ExitReason, HookCallback, HookCallbackMatcher, HookEvent, HookInput, HookJSONOutput, InferShape, JsonSchemaOutputFormat, McpHttpServerConfig, McpSdkServerConfig, McpSdkServerConfigWithInstance, McpServerConfig, McpServerConfigForProcessTransport, McpServerStatus, McpSetServersResult, McpSSEServerConfig, McpStdioServerConfig, ModelInfo, ModelUsage, NonNullableUsage, NotificationHookInput, NotificationHookSpecificOutput, Options, OutputFormat, OutputFormatType, PermissionBehavior, PermissionMode, PermissionRequestHookInput, PermissionRequestHookSpecificOutput, PermissionResult, PermissionRuleValue, PermissionUpdate, PermissionUpdateDestination, PostToolUseFailureHookInput, PostToolUseFailureHookSpecificOutput, PostToolUseHookInput, PostToolUseHookSpecificOutput, PreCompactHookInput, PreToolUseHookInput, PreToolUseHookSpecificOutput, Query, RewindFilesResult, SandboxIgnoreViolations, SandboxNetworkConfig, SandboxSettings, SDKAssistantMessage, SDKAssistantMessageError, SDKAuthStatusMessage, SDKCompactBoundaryMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKHookStartedMessage, SDKMessage, SDKPartialAssistantMessage, SDKPermissionDenial, SDKResultError, SDKResultMessage, SDKResultSuccess, SDKStatus, SDKStatusMessage, SDKSystemMessage, SDKTaskNotificationMessage, SDKToolProgressMessage, SDKToolUseSummaryMessage, SDKUserMessage, SDKUserMessageReplay, SdkBeta, SdkMcpToolDefinition, SdkPluginConfig, SessionEndHookInput, SessionStartHookInput, SessionStartHookSpecificOutput, SettingSource, SetupHookInput, SetupHookSpecificOutput, SlashCommand, SpawnedProcess, SpawnOptions, StopHookInput, SubagentStartHookInput, SubagentStartHookSpecificOutput, SubagentStopHookInput, SyncHookJSONOutput, UserPromptSubmitHookInput, UserPromptSubmitHookSpecificOutput, } from "@anthropic-ai/claude-agent-sdk";
|
|
22
|
-
export { AbortError, createSdkMcpServer, EXIT_REASONS, HOOK_EVENTS, tool, } from "@anthropic-ai/claude-agent-sdk";
|
|
23
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|