raysurfer 0.5.13 → 0.6.1

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 CHANGED
@@ -1,5 +1,7 @@
1
1
  # RaySurfer TypeScript SDK
2
2
 
3
+ [Website](https://raysurfer.com) · [Docs](https://docs.raysurfer.com) · [Dashboard](https://raysurfer.com/dashboard/api-keys)
4
+
3
5
  LLM output caching for AI agents. Retrieve proven code instead of
4
6
  regenerating it.
5
7
 
@@ -33,24 +35,17 @@ import { RaySurfer } from "raysurfer";
33
35
  const client = new RaySurfer({ apiKey: "your_api_key" });
34
36
  const task = "Fetch GitHub trending repos";
35
37
 
36
- // 1. Retrieve cached code files for a task
37
- const result = await client.getCodeFiles({
38
+ // 1. Search for cached code matching a task
39
+ const result = await client.search({
38
40
  task,
39
41
  topK: 5,
40
42
  minVerdictScore: 0.3,
41
43
  });
42
44
 
43
- // result.addToLlmPrompt contains a pre-formatted string like:
44
- //
45
- // You have access to pre-written code files:
46
- // - .raysurfer_code/github_fetcher.ts: Fetches trending repos
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.)
45
+ for (const match of result.matches) {
46
+ console.log(`${match.codeBlock.name}: ${match.combinedScore}`);
47
+ console.log(` Source: ${match.codeBlock.source.slice(0, 80)}...`);
48
+ }
54
49
 
55
50
  // 2. Upload a new code file after execution
56
51
  await client.uploadNewCodeSnip({
@@ -80,9 +75,9 @@ await client.uploadBulkCodeSnips(
80
75
  // 3. Vote on whether a cached snippet was useful
81
76
  await client.voteCodeSnip({
82
77
  task,
83
- codeBlockId: result.files[0].codeBlockId,
84
- codeBlockName: result.files[0].filename,
85
- codeBlockDescription: result.files[0].description,
78
+ codeBlockId: result.matches[0].codeBlock.id,
79
+ codeBlockName: result.matches[0].codeBlock.name,
80
+ codeBlockDescription: result.matches[0].codeBlock.description,
86
81
  succeeded: true,
87
82
  });
88
83
  ```
@@ -103,18 +98,18 @@ const client = new RaySurfer({
103
98
 
104
99
  ### Response Fields
105
100
 
106
- The `getCodeFiles()` response includes:
101
+ The `search()` response includes:
107
102
 
108
- | Field | Type | Description |
109
- | ---------------- | ------------ | --------------------------------- |
110
- | `files` | `CodeFile[]` | Retrieved code files with metadata|
111
- | `task` | `string` | The task that was searched |
112
- | `totalFound` | `number` | Total matches found |
113
- | `addToLlmPrompt` | `string` | Pre-formatted string to append to LLM system prompt |
103
+ | Field | Type | Description |
104
+ | ---------------- | --------------- | --------------------------------- |
105
+ | `matches` | `SearchMatch[]` | Matching code blocks with scoring |
106
+ | `totalFound` | `number` | Total matches found |
107
+ | `cacheHit` | `boolean` | Whether results were from cache |
114
108
 
115
- Each `CodeFile` contains `codeBlockId`, `filename`, `source`,
116
- `description`, `verdictScore`, `thumbsUp`, `thumbsDown`, and
117
- `similarityScore`.
109
+ Each `SearchMatch` contains `codeBlock` (with `id`, `name`,
110
+ `source`, `description`, `entrypoint`, `language`, `dependencies`),
111
+ `combinedScore`, `vectorScore`, `verdictScore`, `thumbsUp`,
112
+ `thumbsDown`, `filename`, and `entrypoint`.
118
113
 
119
114
  ### Store a Code Block with Full Metadata
120
115
 
@@ -185,8 +180,7 @@ await client.uploadBulkCodeSnips(
185
180
 
186
181
  | Method | Description |
187
182
  |--------|-------------|
188
- | `search({ task, topK?, minVerdictScore?, preferComplete?, inputSchema? })` | Unified search for cached code (recommended) |
189
- | `getCodeFiles({ task, topK?, minVerdictScore?, preferComplete?, cacheDir? })` | Retrieve cached code files with `addToLlmPrompt` for LLM augmentation |
183
+ | `search({ task, topK?, minVerdictScore?, preferComplete?, inputSchema? })` | Search for cached code snippets |
190
184
  | `getCodeSnips({ task, topK?, minVerdictScore? })` | Retrieve cached code snippets by semantic search |
191
185
  | `retrieveBest({ task, topK?, minVerdictScore? })` | Retrieve the single best match |
192
186
  | `getFewShotExamples(task, k)` | Retrieve few-shot examples for code generation prompting |
@@ -245,7 +239,7 @@ import { query } from "raysurfer";
245
239
  for await (const message of query({
246
240
  prompt: "Fetch data from GitHub API",
247
241
  options: {
248
- model: "claude-opus-4-5-20250514",
242
+ model: "claude-opus-4-6-20260210",
249
243
  systemPrompt: "You are a helpful assistant.",
250
244
  },
251
245
  })) {
@@ -271,7 +265,7 @@ import {
271
265
  import { ClaudeSDKClient } from "raysurfer";
272
266
 
273
267
  const client = new ClaudeSDKClient({
274
- model: "claude-opus-4-5-20250514",
268
+ model: "claude-opus-4-6-20260210",
275
269
  systemPrompt: "You are a helpful assistant.",
276
270
  });
277
271
 
package/dist/client.d.ts CHANGED
@@ -122,11 +122,13 @@ export declare class RaySurfer {
122
122
  workspaceId?: string;
123
123
  dependencies?: Record<string, string>;
124
124
  public?: boolean;
125
+ voteSource?: "ai" | "human";
126
+ voteCount?: number;
125
127
  }, fileWritten?: FileWritten, succeeded?: boolean, cachedCodeBlocks?: Array<{
126
128
  codeBlockId: string;
127
129
  filename: string;
128
130
  description: string;
129
- }>, useRaysurferAiVoting?: boolean, userVote?: number, executionLogs?: string, runUrl?: string, workspaceId?: string, dependencies?: Record<string, string>): Promise<SubmitExecutionResultResponse>;
131
+ }>, useRaysurferAiVoting?: boolean, userVote?: number, executionLogs?: string, runUrl?: string, workspaceId?: string, dependencies?: Record<string, string>, voteSource?: "ai" | "human", voteCount?: number): Promise<SubmitExecutionResultResponse>;
130
132
  /** Backwards-compatible alias. */
131
133
  uploadNewCodeSnips: (taskOrOptions: string | {
132
134
  task: string;
@@ -144,11 +146,13 @@ export declare class RaySurfer {
144
146
  workspaceId?: string;
145
147
  dependencies?: Record<string, string>;
146
148
  public?: boolean;
149
+ voteSource?: "ai" | "human";
150
+ voteCount?: number;
147
151
  }, fileWritten?: FileWritten, succeeded?: boolean, cachedCodeBlocks?: Array<{
148
152
  codeBlockId: string;
149
153
  filename: string;
150
154
  description: string;
151
- }>, useRaysurferAiVoting?: boolean, userVote?: number, executionLogs?: string, runUrl?: string, workspaceId?: string, dependencies?: Record<string, string>) => Promise<SubmitExecutionResultResponse>;
155
+ }>, useRaysurferAiVoting?: boolean, userVote?: number, executionLogs?: string, runUrl?: string, workspaceId?: string, dependencies?: Record<string, string>, voteSource?: "ai" | "human", voteCount?: number) => Promise<SubmitExecutionResultResponse>;
152
156
  /**
153
157
  * Bulk upload code files, prompts, and logs for sandboxed grading.
154
158
  *
@@ -170,12 +174,14 @@ export declare class RaySurfer {
170
174
  useRaysurferAiVoting?: boolean;
171
175
  userVotes?: Record<string, number>;
172
176
  workspaceId?: string;
177
+ voteSource?: "ai" | "human";
178
+ voteCount?: number;
173
179
  }, filesWritten?: FileWritten[], logFiles?: Array<LogFile | {
174
180
  path: string;
175
181
  content: string | Buffer;
176
182
  encoding?: "utf-8" | "base64";
177
183
  contentType?: string;
178
- }>, useRaysurferAiVoting?: boolean, userVotes?: Record<string, number>, workspaceId?: string): Promise<BulkExecutionResultResponse>;
184
+ }>, useRaysurferAiVoting?: boolean, userVotes?: Record<string, number>, workspaceId?: string, voteSource?: "ai" | "human", voteCount?: number): Promise<BulkExecutionResultResponse>;
179
185
  search(params: SearchParams): Promise<SearchResponse>;
180
186
  /** Get cached code snippets for a task (semantic search) */
181
187
  getCodeSnips(params: RetrieveParams): Promise<RetrieveCodeBlockResponse>;
@@ -192,7 +198,7 @@ export declare class RaySurfer {
192
198
  */
193
199
  private formatLlmPrompt;
194
200
  /**
195
- * Get an auto-generated review using Claude Opus 4.5.
201
+ * Get an auto-generated review using Claude Opus 4.6.
196
202
  * Useful for programmatically reviewing execution results.
197
203
  */
198
204
  autoReview(params: AutoReviewParams): Promise<AutoReviewResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -233,7 +233,7 @@ class RaySurfer {
233
233
  message: result.message
234
234
  };
235
235
  }
236
- async uploadNewCodeSnip(taskOrOptions, fileWritten, succeeded, cachedCodeBlocks, useRaysurferAiVoting = true, userVote, executionLogs, runUrl, workspaceId, dependencies) {
236
+ async uploadNewCodeSnip(taskOrOptions, fileWritten, succeeded, cachedCodeBlocks, useRaysurferAiVoting = true, userVote, executionLogs, runUrl, workspaceId, dependencies, voteSource, voteCount) {
237
237
  let opts;
238
238
  if (typeof taskOrOptions === "object") {
239
239
  opts = taskOrOptions;
@@ -248,7 +248,9 @@ class RaySurfer {
248
248
  executionLogs,
249
249
  runUrl,
250
250
  workspaceId,
251
- dependencies
251
+ dependencies,
252
+ voteSource,
253
+ voteCount
252
254
  };
253
255
  }
254
256
  const data = {
@@ -279,6 +281,12 @@ class RaySurfer {
279
281
  if (opts.public) {
280
282
  data.public = true;
281
283
  }
284
+ if (opts.voteSource !== undefined) {
285
+ data.vote_source = opts.voteSource;
286
+ }
287
+ if (opts.voteCount !== undefined) {
288
+ data.vote_count = opts.voteCount;
289
+ }
282
290
  const result = await this.request("POST", "/api/store/execution-result", data, this.workspaceHeaders(opts.workspaceId));
283
291
  return {
284
292
  success: result.success,
@@ -287,7 +295,7 @@ class RaySurfer {
287
295
  };
288
296
  }
289
297
  uploadNewCodeSnips = this.uploadNewCodeSnip.bind(this);
290
- async uploadBulkCodeSnips(promptsOrOptions, filesWritten, logFiles, useRaysurferAiVoting = true, userVotes, workspaceId) {
298
+ async uploadBulkCodeSnips(promptsOrOptions, filesWritten, logFiles, useRaysurferAiVoting = true, userVotes, workspaceId, voteSource, voteCount) {
291
299
  let opts;
292
300
  if (!Array.isArray(promptsOrOptions)) {
293
301
  opts = promptsOrOptions;
@@ -298,7 +306,9 @@ class RaySurfer {
298
306
  logFiles,
299
307
  useRaysurferAiVoting,
300
308
  userVotes,
301
- workspaceId
309
+ workspaceId,
310
+ voteSource,
311
+ voteCount
302
312
  };
303
313
  }
304
314
  const normalizedLogs = opts.logFiles?.map((log) => {
@@ -320,6 +330,12 @@ class RaySurfer {
320
330
  if (opts.userVotes) {
321
331
  data.user_votes = opts.userVotes;
322
332
  }
333
+ if (opts.voteSource !== undefined) {
334
+ data.vote_source = opts.voteSource;
335
+ }
336
+ if (opts.voteCount !== undefined) {
337
+ data.vote_count = opts.voteCount;
338
+ }
323
339
  const result = await this.request("POST", "/api/store/bulk-execution-result", data, this.workspaceHeaders(opts.workspaceId));
324
340
  return {
325
341
  success: result.success,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "raysurfer",
3
- "version": "0.5.13",
3
+ "version": "0.6.1",
4
4
  "description": "Semantic code caching for LLM agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",