sparkecoder 0.1.55 → 0.1.56
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 +15 -12
- package/dist/agent/index.js.map +1 -1
- package/dist/cli.js +15 -12
- package/dist/cli.js.map +1 -1
- package/dist/{index-dJv_dqUq.d.ts → index-CqKMYoJv.d.ts} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +15 -12
- package/dist/index.js.map +1 -1
- package/dist/{search-DrztQ_iP.d.ts → search-CZsTAZ90.d.ts} +1 -1
- package/dist/server/index.js +15 -12
- package/dist/server/index.js.map +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/index.js +2 -6
- 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.js.nft.json +1 -1
- 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 +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/tools.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- 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 +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/embed/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/web/.next/server/app/embed/[id]/page_client-reference-manifest.js +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/{2374f_c9e3cd7b._.js → 2374f_05c00b91._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_de035f79._.js → 2374f_1fa4a79a._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_273991ba._.js → 2374f_39f76acc._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_8d018190._.js → 2374f_562d2f4f._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_7b421f78._.js → 2374f_6ced4caf._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_ec997752._.js → 2374f_800db4e3._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_2572135b._.js → 2374f_934cb548._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_5ee28d4c._.js → 2374f_aade2a6d._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_460c0d78._.js → 2374f_ac284eb3._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_a7457131._.js → 2374f_c272cbb4._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_06a5ea48._.js → 2374f_d118a207._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_df3c414e._.js → 2374f_e35df3d7._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_88cbeb7b._.js → 2374f_ef435bac._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_65b86b54._.js → 2374f_f661d73d._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{[root-of-the-server]__a87e1c27._.js → [root-of-the-server]__8cdc7b0b._.js} +2 -2
- package/web/.next/standalone/web/.next/server/chunks/ssr/{[root-of-the-server]__c94aac98._.js → [root-of-the-server]__f44222d9._.js} +2 -2
- package/web/.next/standalone/web/.next/server/chunks/ssr/{web_b85931da._.js → web_0a13adb9._.js} +2 -2
- 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/chunks/{9b4c4424a720586b.js → ca717ddd7c8f37e8.js} +2 -2
- package/web/.next/standalone/web/.next/static/static/chunks/{9b4c4424a720586b.js → ca717ddd7c8f37e8.js} +2 -2
- package/web/.next/standalone/web/src/components/ai-elements/search-tool.tsx +7 -9
- package/web/.next/static/chunks/{9b4c4424a720586b.js → ca717ddd7c8f37e8.js} +2 -2
- /package/web/.next/standalone/web/.next/static/{NvcDNpBzx7zCsiSYYtQ3Z → static/yfBGAcI8gI55lwQllPu-z}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/{NvcDNpBzx7zCsiSYYtQ3Z → static/yfBGAcI8gI55lwQllPu-z}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/{NvcDNpBzx7zCsiSYYtQ3Z → static/yfBGAcI8gI55lwQllPu-z}/_ssgManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/{static/NvcDNpBzx7zCsiSYYtQ3Z → yfBGAcI8gI55lwQllPu-z}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/{static/NvcDNpBzx7zCsiSYYtQ3Z → yfBGAcI8gI55lwQllPu-z}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/{static/NvcDNpBzx7zCsiSYYtQ3Z → yfBGAcI8gI55lwQllPu-z}/_ssgManifest.js +0 -0
- /package/web/.next/static/{NvcDNpBzx7zCsiSYYtQ3Z → yfBGAcI8gI55lwQllPu-z}/_buildManifest.js +0 -0
- /package/web/.next/static/{NvcDNpBzx7zCsiSYYtQ3Z → yfBGAcI8gI55lwQllPu-z}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{NvcDNpBzx7zCsiSYYtQ3Z → yfBGAcI8gI55lwQllPu-z}/_ssgManifest.js +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ModelMessage, streamText } from 'ai';
|
|
2
2
|
import { S as Session, b as ToolExecution } from './schema-NcQknWCg.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { B as BashToolProgress, W as WriteFileProgress, S as SearchToolProgress } from './search-
|
|
4
|
+
import { B as BashToolProgress, W as WriteFileProgress, S as SearchToolProgress } from './search-CZsTAZ90.js';
|
|
5
5
|
|
|
6
6
|
declare const ToolApprovalConfigSchema: z.ZodObject<{
|
|
7
7
|
bash: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { R as ResolvedConfig } from './index-
|
|
2
|
-
export { A as Agent, a as AgentOptions, b as AgentRunOptions, c as AgentStreamResult, S as SparkcoderConfig, T as ToolApprovalConfig } from './index-
|
|
1
|
+
import { R as ResolvedConfig } from './index-CqKMYoJv.js';
|
|
2
|
+
export { A as Agent, a as AgentOptions, b as AgentRunOptions, c as AgentStreamResult, S as SparkcoderConfig, T as ToolApprovalConfig } from './index-CqKMYoJv.js';
|
|
3
3
|
export { ServerOptions, createApp, startServer, stopServer } from './server/index.js';
|
|
4
4
|
export { checkpointQueries, closeDatabase, fileBackupQueries, getDb, initDatabase, messageQueries, sessionQueries, skillQueries, todoQueries, toolExecutionQueries } from './db/index.js';
|
|
5
5
|
import { F as FileBackup, C as Checkpoint } from './schema-NcQknWCg.js';
|
|
6
6
|
export { a as Message, M as ModelMessage, S as Session, q as SessionConfig, f as Terminal, T as TodoItem, b as ToolExecution } from './schema-NcQknWCg.js';
|
|
7
7
|
export { createLoadSkillTool, createReadFileTool, createTodoTool, createTools } from './tools/index.js';
|
|
8
|
-
export { c as createBashTool, a as createWriteFileTool } from './search-
|
|
8
|
+
export { c as createBashTool, a as createWriteFileTool } from './search-CZsTAZ90.js';
|
|
9
9
|
import 'ai';
|
|
10
10
|
import 'zod';
|
|
11
11
|
import 'hono/types';
|
package/dist/index.js
CHANGED
|
@@ -4194,14 +4194,10 @@ The Explore agent will explore the codebase and return a summary of findings.
|
|
|
4194
4194
|
This is more thorough than a simple grep because it can follow references and understand context.
|
|
4195
4195
|
It also has access to semantic search to find code by meaning, not just text.
|
|
4196
4196
|
|
|
4197
|
-
|
|
4198
|
-
- "Find all React components that use the useState hook"
|
|
4199
|
-
- "Where is the authentication logic implemented?"
|
|
4200
|
-
- "Find all API routes and their handlers"
|
|
4201
|
-
- "Search for usages of the UserService class"`,
|
|
4197
|
+
CRITICAL: The explore agent has ZERO context. It cannot see the conversation, the user's message, devtools data, or any prior context. You MUST pass ALL relevant context via the "context" parameter. If the user selected a component (component name, file path, HTML, component stack) or there is a <devtools-context> block, you MUST copy that information into the "context" field verbatim. Without it the explore agent is searching blind.`,
|
|
4202
4198
|
inputSchema: z10.object({
|
|
4203
4199
|
query: z10.string().describe("What to search for. Be specific about what you're looking for."),
|
|
4204
|
-
context: z10.string().
|
|
4200
|
+
context: z10.string().describe("ALL context the explore agent needs. It has ZERO context on its own - no conversation history, no devtools data, nothing. You MUST include: any selected component info (name, file path, HTML, component stack), any <devtools-context> block (page URL, path, viewport), and any other relevant details from the user message. The explore agent literally only sees the query and this context field.")
|
|
4205
4201
|
}),
|
|
4206
4202
|
execute: async ({ query, context }, toolOptions) => {
|
|
4207
4203
|
const toolCallId = toolOptions.toolCallId || `explore_agent_${Date.now()}`;
|
|
@@ -4529,6 +4525,11 @@ Use this proactively after making code changes to catch errors early.
|
|
|
4529
4525
|
|
|
4530
4526
|
**Choose the right search approach:**
|
|
4531
4527
|
|
|
4528
|
+
0. **Use paths to your advantage \u2014 skip searching if you already have what you need.**
|
|
4529
|
+
- If the user selected a component via devtools and you can see the component name, file path, and/or line number, you ALREADY know where the code is. Just use \`read_file\` to read that file directly \u2014 do NOT call \`explore_agent\` to "find" something you already have the location of.
|
|
4530
|
+
- If you received a **page path** (e.g. \`/dashboard\`, \`/settings/profile\`), map it to the corresponding file in the project structure. In Next.js this means \`app/dashboard/page.tsx\`, \`app/settings/profile/page.tsx\`, etc. In other frameworks, check the routing convention (e.g. \`pages/\`, \`src/routes/\`). Use \`read_file\` on the mapped path directly.
|
|
4531
|
+
- If the file path doesn't exist or \`read_file\` fails, fall back to grep to locate it (e.g. \`rg "ComponentName" --type ts -l\`) since devtools paths can sometimes be slightly off or truncated.
|
|
4532
|
+
- Read up and down component trees when you have the file path or page path to find what you're looking for.
|
|
4532
4533
|
1. **Use the \`explore_agent\` tool (Explore agent)** for:
|
|
4533
4534
|
- Semantic/exploratory questions: "How does authentication work?", "Where is user data processed?"
|
|
4534
4535
|
- Finding code by meaning or concept, not exact text
|
|
@@ -4538,11 +4539,12 @@ Use this proactively after making code changes to catch errors early.
|
|
|
4538
4539
|
|
|
4539
4540
|
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.
|
|
4540
4541
|
|
|
4541
|
-
**
|
|
4542
|
-
-
|
|
4543
|
-
-
|
|
4544
|
-
-
|
|
4545
|
-
-
|
|
4542
|
+
**MANDATORY \u2014 The Explore agent has ZERO context.** It cannot see the conversation, the user's messages, devtools data, or anything else. The \`query\` and \`context\` fields are the ONLY information it receives. Every time you call \`explore_agent\`, you MUST populate the \`context\` field with ALL relevant information:
|
|
4543
|
+
- Copy the ENTIRE \`<devtools-context>\` block (page URL, path, viewport) if one exists in the user's message.
|
|
4544
|
+
- Copy ALL selected component info (component name, file path, line number, HTML snippet, component stack) if the user selected something via devtools.
|
|
4545
|
+
- Include any file paths, component names, or page names the user mentioned.
|
|
4546
|
+
- If you skip the \`context\` field, the explore agent is searching completely blind and will waste time guessing.
|
|
4547
|
+
- NEVER call \`explore_agent\` with only a \`query\` and no \`context\` when the user's message contains devtools or component information.
|
|
4546
4548
|
|
|
4547
4549
|
2. **Use direct commands (grep/rg, find)** for:
|
|
4548
4550
|
- Exact string matches: \`rg "functionName"\`, \`rg "class MyClass"\`
|
|
@@ -4551,7 +4553,8 @@ Use this proactively after making code changes to catch errors early.
|
|
|
4551
4553
|
- Counting occurrences or listing all matches
|
|
4552
4554
|
|
|
4553
4555
|
**Examples:**
|
|
4554
|
-
-
|
|
4556
|
+
- User selected \`<LandingButton>\` at \`src/components/LandingButton.tsx:12\` \u2192 Just \`read_file("src/components/LandingButton.tsx")\`. Do NOT call explore_agent.
|
|
4557
|
+
- "Where is the API authentication handled?" (no file path given) \u2192 Use \`explore_agent\` tool
|
|
4555
4558
|
- "Find all usages of getUserById" \u2192 Use \`rg "getUserById"\`
|
|
4556
4559
|
- "How does the payment flow work?" \u2192 Use \`explore_agent\` tool
|
|
4557
4560
|
- "Find files named config" \u2192 Use \`find . -name "*config*"\`
|