sparkecoder 0.1.26 → 0.1.28
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/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.js +18 -16
- package/dist/agent/index.js.map +1 -1
- package/dist/cli.js +41 -39
- package/dist/cli.js.map +1 -1
- package/dist/{index-CWO1mYcx.d.ts → index-C6EWZ-I9.d.ts} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +26 -20
- package/dist/index.js.map +1 -1
- package/dist/{search-DApagzr3.d.ts → search-CGYXoS4f.d.ts} +1 -1
- package/dist/server/index.js +26 -20
- package/dist/server/index.js.map +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/index.js +15 -13
- package/dist/tools/index.js.map +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/web/.next/build-manifest.json +2 -2
- package/web/.next/standalone/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/installation.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/skills.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.html +5 -5
- package/web/.next/standalone/web/.next/server/app/docs/tools.rsc +4 -4
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_full.segment.rsc +4 -4
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools/__PAGE__.segment.rsc +4 -4
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.html +3 -3
- package/web/.next/standalone/web/.next/server/app/docs.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.segments/_full.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.html +1 -1
- package/web/.next/standalone/web/.next/server/app/index.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__2dbf511a._.js +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__397fadd4._.js +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__f764bebe._.js +1 -1
- package/web/.next/standalone/web/.next/server/pages/404.html +1 -1
- package/web/.next/standalone/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/standalone/web/.next/static/{static/chunks/0cc382a66266188e.js → chunks/ce505264d78c8eff.js} +1 -1
- package/web/.next/{static/chunks/0cc382a66266188e.js → standalone/web/.next/static/static/chunks/ce505264d78c8eff.js} +1 -1
- package/web/.next/standalone/web/src/app/docs/page.mdx +1 -1
- package/web/.next/standalone/web/src/app/docs/tools/page.mdx +3 -3
- package/web/.next/standalone/web/src/components/ai-elements/search-tool.tsx +3 -3
- package/web/.next/standalone/web/src/components/ai-elements/subagent-modal.tsx +2 -2
- package/web/.next/{standalone/web/.next/static/chunks/0cc382a66266188e.js → static/chunks/ce505264d78c8eff.js} +1 -1
- /package/web/.next/standalone/web/.next/static/{gnPGpNaKfNwMKujKqMYAv → 7lQ63rHHj5A-p0phF3egM}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/{gnPGpNaKfNwMKujKqMYAv → 7lQ63rHHj5A-p0phF3egM}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/{gnPGpNaKfNwMKujKqMYAv → 7lQ63rHHj5A-p0phF3egM}/_ssgManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/static/{gnPGpNaKfNwMKujKqMYAv → 7lQ63rHHj5A-p0phF3egM}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/static/{gnPGpNaKfNwMKujKqMYAv → 7lQ63rHHj5A-p0phF3egM}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/static/{gnPGpNaKfNwMKujKqMYAv → 7lQ63rHHj5A-p0phF3egM}/_ssgManifest.js +0 -0
- /package/web/.next/static/{gnPGpNaKfNwMKujKqMYAv → 7lQ63rHHj5A-p0phF3egM}/_buildManifest.js +0 -0
- /package/web/.next/static/{gnPGpNaKfNwMKujKqMYAv → 7lQ63rHHj5A-p0phF3egM}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{gnPGpNaKfNwMKujKqMYAv → 7lQ63rHHj5A-p0phF3egM}/_ssgManifest.js +0 -0
package/dist/agent/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'ai';
|
|
2
2
|
import '../schema-NcQknWCg.js';
|
|
3
|
-
export { A as Agent, a as AgentOptions, b as AgentRunOptions, c as AgentStreamResult, C as ContextManager, M as MessageAttachment, d as buildSystemPrompt } from '../index-
|
|
4
|
-
import '../search-
|
|
3
|
+
export { A as Agent, a as AgentOptions, b as AgentRunOptions, c as AgentStreamResult, C as ContextManager, M as MessageAttachment, d as buildSystemPrompt } from '../index-C6EWZ-I9.js';
|
|
4
|
+
import '../search-CGYXoS4f.js';
|
|
5
5
|
import 'zod';
|
package/dist/agent/index.js
CHANGED
|
@@ -2774,13 +2774,13 @@ var MAX_OUTPUT_CHARS4 = 2e4;
|
|
|
2774
2774
|
var MAX_FILE_SIZE2 = 2 * 1024 * 1024;
|
|
2775
2775
|
var SearchSubagent = class extends Subagent {
|
|
2776
2776
|
type = "search";
|
|
2777
|
-
name = "
|
|
2777
|
+
name = "Explore Agent";
|
|
2778
2778
|
constructor(model) {
|
|
2779
2779
|
super(model || SUBAGENT_MODELS.search);
|
|
2780
2780
|
this.maxSteps = 15;
|
|
2781
2781
|
}
|
|
2782
2782
|
getSystemPrompt(options) {
|
|
2783
|
-
return `You are
|
|
2783
|
+
return `You are an Explore agent for codebase discovery. Your job is to map the structure, find relevant files, and surface connections based on the user's query.
|
|
2784
2784
|
|
|
2785
2785
|
Working Directory: ${options.workingDirectory}
|
|
2786
2786
|
|
|
@@ -2790,9 +2790,9 @@ You have these tools available:
|
|
|
2790
2790
|
- read_file: Read contents of a specific file
|
|
2791
2791
|
- list_dir: List directory contents
|
|
2792
2792
|
|
|
2793
|
-
## Strategy -
|
|
2793
|
+
## Strategy - Explore in Parallel
|
|
2794
2794
|
|
|
2795
|
-
IMPORTANT: When
|
|
2795
|
+
IMPORTANT: When exploring, run MULTIPLE searches in PARALLEL to cover different variations and related terms. Don't explore sequentially - batch your searches together!
|
|
2796
2796
|
|
|
2797
2797
|
For example, if asked "how does authentication work":
|
|
2798
2798
|
- Search for "auth", "login", "session", "jwt", "token" all at once
|
|
@@ -2814,10 +2814,11 @@ For example, if asked "how does authentication work":
|
|
|
2814
2814
|
- Search content: patterns, function names, class names
|
|
2815
2815
|
|
|
2816
2816
|
## Execution Flow
|
|
2817
|
-
1.
|
|
2818
|
-
2.
|
|
2819
|
-
3.
|
|
2820
|
-
4.
|
|
2817
|
+
1. Start broad: list likely directories or entry points if the query is open-ended
|
|
2818
|
+
2. Run 2-4 parallel searches covering different angles of the query
|
|
2819
|
+
3. Review results and identify the most relevant files
|
|
2820
|
+
4. Read the key files to understand the full context
|
|
2821
|
+
5. Provide a clear summary with exact file paths and line numbers
|
|
2821
2822
|
|
|
2822
2823
|
Be efficient - you have limited steps. Maximize coverage with parallel tool calls.
|
|
2823
2824
|
|
|
@@ -2826,6 +2827,7 @@ When done, provide a summary with:
|
|
|
2826
2827
|
- Key files/locations found (with full paths)
|
|
2827
2828
|
- Relevant code snippets showing the important parts
|
|
2828
2829
|
- How the pieces connect together
|
|
2830
|
+
- Suggested next files to inspect (if more depth is needed)
|
|
2829
2831
|
|
|
2830
2832
|
Keep your responses concise and focused on actionable information.`;
|
|
2831
2833
|
}
|
|
@@ -3076,13 +3078,13 @@ function createSearchSubagent(model) {
|
|
|
3076
3078
|
var MAX_RESULT_CHARS = 8e3;
|
|
3077
3079
|
function createSearchTool(options) {
|
|
3078
3080
|
return tool8({
|
|
3079
|
-
description: `Delegate a search task to a specialized
|
|
3081
|
+
description: `Delegate a search task to a specialized Explore agent. Use this when you need to:
|
|
3080
3082
|
- Find files or code matching a pattern
|
|
3081
3083
|
- Explore the codebase structure
|
|
3082
3084
|
- Search for specific functions, classes, or variables
|
|
3083
3085
|
- Understand how a feature is implemented
|
|
3084
3086
|
|
|
3085
|
-
The
|
|
3087
|
+
The Explore agent will explore the codebase and return a summary of findings.
|
|
3086
3088
|
This is more thorough than a simple grep because it can follow references and understand context.
|
|
3087
3089
|
|
|
3088
3090
|
Examples:
|
|
@@ -3144,7 +3146,7 @@ Context: ${context}` : query;
|
|
|
3144
3146
|
};
|
|
3145
3147
|
}
|
|
3146
3148
|
const searchResult = result.result;
|
|
3147
|
-
let formattedResult = `##
|
|
3149
|
+
let formattedResult = `## Explore Results
|
|
3148
3150
|
|
|
3149
3151
|
`;
|
|
3150
3152
|
formattedResult += `**Summary:** ${searchResult.summary}
|
|
@@ -3377,7 +3379,7 @@ async function getIndexStatus(workingDirectory) {
|
|
|
3377
3379
|
workingDirectory,
|
|
3378
3380
|
config.resolvedVectorGateway.namespace
|
|
3379
3381
|
);
|
|
3380
|
-
const isConfigured =
|
|
3382
|
+
const isConfigured = config.resolvedRemoteServer.isConfigured;
|
|
3381
3383
|
if (!namespace) {
|
|
3382
3384
|
return {
|
|
3383
3385
|
namespace: "",
|
|
@@ -3465,7 +3467,7 @@ Returns matching code snippets with file paths, line numbers, and relevance scor
|
|
|
3465
3467
|
if (!client) {
|
|
3466
3468
|
return {
|
|
3467
3469
|
success: false,
|
|
3468
|
-
error:
|
|
3470
|
+
error: "Remote server not configured. Set SPARKECODER_REMOTE_URL/SPARKECODER_AUTH_KEY or run sparkecoder to register."
|
|
3469
3471
|
};
|
|
3470
3472
|
}
|
|
3471
3473
|
try {
|
|
@@ -3664,7 +3666,7 @@ You have access to powerful tools for:
|
|
|
3664
3666
|
- **linter**: Check files for type errors and lint issues (TypeScript, JavaScript, TSX, JSX)
|
|
3665
3667
|
- **todo**: Manage your task list to track progress on complex operations
|
|
3666
3668
|
- **load_skill**: Load specialized knowledge documents for specific tasks
|
|
3667
|
-
- **search**:
|
|
3669
|
+
- **search**: Explore agent for semantic discovery - for exploratory questions and finding code by meaning
|
|
3668
3670
|
|
|
3669
3671
|
|
|
3670
3672
|
IMPORTANT: If you have zero context of where you are working, always explore it first to understand the structure before doing things for the user.
|
|
@@ -3758,14 +3760,14 @@ Use this proactively after making code changes to catch errors early.
|
|
|
3758
3760
|
|
|
3759
3761
|
**Choose the right search approach:**
|
|
3760
3762
|
|
|
3761
|
-
1. **Use the \`search\` tool (
|
|
3763
|
+
1. **Use the \`search\` tool (Explore agent)** for:
|
|
3762
3764
|
- Semantic/exploratory questions: "How does authentication work?", "Where is user data processed?"
|
|
3763
3765
|
- Finding code by meaning or concept, not exact text
|
|
3764
3766
|
- Understanding how features are implemented across multiple files
|
|
3765
3767
|
- Exploring unfamiliar parts of the codebase
|
|
3766
3768
|
- Questions like "where", "how", "what does X do"
|
|
3767
3769
|
|
|
3768
|
-
The
|
|
3770
|
+
The Explore agent is a mini-agent that intelligently explores the codebase, reads relevant files, and returns a summary of what it found. It's best for understanding and discovery.
|
|
3769
3771
|
|
|
3770
3772
|
2. **Use direct commands (grep/rg, find)** for:
|
|
3771
3773
|
- Exact string matches: \`rg "functionName"\`, \`rg "class MyClass"\`
|