sparkecoder 0.1.54 → 0.1.55

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.
Files changed (91) hide show
  1. package/dist/agent/index.d.ts +2 -2
  2. package/dist/agent/index.js +40 -15
  3. package/dist/agent/index.js.map +1 -1
  4. package/dist/cli.js +40 -15
  5. package/dist/cli.js.map +1 -1
  6. package/dist/{index-BYOHniN4.d.ts → index-dJv_dqUq.d.ts} +5 -5
  7. package/dist/index.d.ts +3 -3
  8. package/dist/index.js +40 -15
  9. package/dist/index.js.map +1 -1
  10. package/dist/{search-DALwmPRX.d.ts → search-DrztQ_iP.d.ts} +5 -5
  11. package/dist/server/index.js +40 -15
  12. package/dist/server/index.js.map +1 -1
  13. package/dist/tools/index.d.ts +2 -2
  14. package/dist/tools/index.js +34 -15
  15. package/dist/tools/index.js.map +1 -1
  16. package/package.json +1 -1
  17. package/web/.next/BUILD_ID +1 -1
  18. package/web/.next/standalone/web/.next/BUILD_ID +1 -1
  19. package/web/.next/standalone/web/.next/build-manifest.json +2 -2
  20. package/web/.next/standalone/web/.next/prerender-manifest.json +3 -3
  21. package/web/.next/standalone/web/.next/server/app/_global-error.html +2 -2
  22. package/web/.next/standalone/web/.next/server/app/_global-error.rsc +1 -1
  23. package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  24. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  25. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  26. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  27. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  28. package/web/.next/standalone/web/.next/server/app/_not-found.html +1 -1
  29. package/web/.next/standalone/web/.next/server/app/_not-found.rsc +1 -1
  30. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  31. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  32. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  33. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  34. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  35. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  36. package/web/.next/standalone/web/.next/server/app/docs/installation.html +2 -2
  37. package/web/.next/standalone/web/.next/server/app/docs/installation.rsc +1 -1
  38. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_full.segment.rsc +1 -1
  39. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_head.segment.rsc +1 -1
  40. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_index.segment.rsc +1 -1
  41. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_tree.segment.rsc +1 -1
  42. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation/__PAGE__.segment.rsc +1 -1
  43. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation.segment.rsc +1 -1
  44. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs.segment.rsc +1 -1
  45. package/web/.next/standalone/web/.next/server/app/docs/skills.html +2 -2
  46. package/web/.next/standalone/web/.next/server/app/docs/skills.rsc +1 -1
  47. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_full.segment.rsc +1 -1
  48. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_head.segment.rsc +1 -1
  49. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_index.segment.rsc +1 -1
  50. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_tree.segment.rsc +1 -1
  51. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills/__PAGE__.segment.rsc +1 -1
  52. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills.segment.rsc +1 -1
  53. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs.segment.rsc +1 -1
  54. package/web/.next/standalone/web/.next/server/app/docs/tools.html +2 -2
  55. package/web/.next/standalone/web/.next/server/app/docs/tools.rsc +1 -1
  56. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_full.segment.rsc +1 -1
  57. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_head.segment.rsc +1 -1
  58. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_index.segment.rsc +1 -1
  59. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_tree.segment.rsc +1 -1
  60. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools/__PAGE__.segment.rsc +1 -1
  61. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools.segment.rsc +1 -1
  62. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs.segment.rsc +1 -1
  63. package/web/.next/standalone/web/.next/server/app/docs.html +2 -2
  64. package/web/.next/standalone/web/.next/server/app/docs.rsc +1 -1
  65. package/web/.next/standalone/web/.next/server/app/docs.segments/_full.segment.rsc +1 -1
  66. package/web/.next/standalone/web/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  67. package/web/.next/standalone/web/.next/server/app/docs.segments/_index.segment.rsc +1 -1
  68. package/web/.next/standalone/web/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
  69. package/web/.next/standalone/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  70. package/web/.next/standalone/web/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  71. package/web/.next/standalone/web/.next/server/app/index.html +1 -1
  72. package/web/.next/standalone/web/.next/server/app/index.rsc +1 -1
  73. package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p/__PAGE__.segment.rsc +1 -1
  74. package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p.segment.rsc +1 -1
  75. package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +1 -1
  76. package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  77. package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
  78. package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  79. package/web/.next/standalone/web/.next/server/pages/404.html +1 -1
  80. package/web/.next/standalone/web/.next/server/pages/500.html +2 -2
  81. package/web/.next/standalone/web/.next/server/server-reference-manifest.js +1 -1
  82. package/web/.next/standalone/web/.next/server/server-reference-manifest.json +1 -1
  83. /package/web/.next/standalone/web/.next/static/{7rKMR1VNC_1_vH6S9H5aS → NvcDNpBzx7zCsiSYYtQ3Z}/_buildManifest.js +0 -0
  84. /package/web/.next/standalone/web/.next/static/{7rKMR1VNC_1_vH6S9H5aS → NvcDNpBzx7zCsiSYYtQ3Z}/_clientMiddlewareManifest.json +0 -0
  85. /package/web/.next/standalone/web/.next/static/{7rKMR1VNC_1_vH6S9H5aS → NvcDNpBzx7zCsiSYYtQ3Z}/_ssgManifest.js +0 -0
  86. /package/web/.next/standalone/web/.next/static/static/{7rKMR1VNC_1_vH6S9H5aS → NvcDNpBzx7zCsiSYYtQ3Z}/_buildManifest.js +0 -0
  87. /package/web/.next/standalone/web/.next/static/static/{7rKMR1VNC_1_vH6S9H5aS → NvcDNpBzx7zCsiSYYtQ3Z}/_clientMiddlewareManifest.json +0 -0
  88. /package/web/.next/standalone/web/.next/static/static/{7rKMR1VNC_1_vH6S9H5aS → NvcDNpBzx7zCsiSYYtQ3Z}/_ssgManifest.js +0 -0
  89. /package/web/.next/static/{7rKMR1VNC_1_vH6S9H5aS → NvcDNpBzx7zCsiSYYtQ3Z}/_buildManifest.js +0 -0
  90. /package/web/.next/static/{7rKMR1VNC_1_vH6S9H5aS → NvcDNpBzx7zCsiSYYtQ3Z}/_clientMiddlewareManifest.json +0 -0
  91. /package/web/.next/static/{7rKMR1VNC_1_vH6S9H5aS → NvcDNpBzx7zCsiSYYtQ3Z}/_ssgManifest.js +0 -0
@@ -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-BYOHniN4.js';
4
- import '../search-DALwmPRX.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-dJv_dqUq.js';
4
+ import '../search-DrztQ_iP.js';
5
5
  import 'zod';
@@ -3234,41 +3234,60 @@ var SearchSubagent = class extends Subagent {
3234
3234
  this.maxSteps = 10;
3235
3235
  }
3236
3236
  getSystemPrompt(options) {
3237
- return `You are an Explore agent for codebase discovery. Your job is to find relevant files, understand code structure, and return clear findings to the main agent.
3237
+ const contextBlock = options.additionalContext ? `
3238
+ ## Active Context (from devtools)
3239
+ ${options.additionalContext}
3238
3240
 
3239
- Working Directory: ${options.workingDirectory}
3241
+ Use this context to understand what the user is currently looking at. If they reference "this page", "this component", "this screen", etc., this context tells you which page/route they mean. Search for files related to this page/route first.
3242
+ ` : "";
3243
+ return `You are an Explore agent - a READ-ONLY file search and code analysis specialist. Your job is to find relevant files, understand code structure, and return clear findings to the main agent. You MUST NOT create, modify, or delete any files.
3240
3244
 
3241
- You have these tools available:
3242
- - grep: Search for patterns in files using ripgrep (rg)
3243
- - glob: Find files matching a pattern
3244
- - read_file: Read contents of a specific file
3245
- - list_dir: List directory contents
3246
- - semantic_search: Search the codebase by meaning (finds code related to a concept, not just exact text matches). Use this first when available!
3245
+ Working Directory: ${options.workingDirectory}
3246
+ ${contextBlock}
3247
+ ## Available Tools
3248
+ - **semantic_search**: Search the codebase by meaning (finds code related to a concept). Use this FIRST when available - it's the fastest way to explore.
3249
+ - **grep**: Search for exact patterns in files using ripgrep. Best for exact symbol/string matches.
3250
+ - **glob**: Find files matching a name pattern. Best for file discovery.
3251
+ - **read_file**: Read contents of a specific file. Use to examine code found in searches.
3252
+ - **list_dir**: List directory contents. Use to understand project structure.
3247
3253
 
3248
- ## Strategy
3254
+ ## Search Strategy
3249
3255
 
3250
3256
  1. **Start with semantic_search** if available - it finds code by meaning, which is the fastest way to explore
3251
- 2. Use grep for exact pattern matching and glob for file discovery
3252
- 3. Read key files to get actual code content
3253
- 4. Run searches in PARALLEL when possible to cover different angles
3257
+ 2. **Use grep** for exact symbol/string matches (function names, class names, imports)
3258
+ 3. **Use glob** for file discovery by name patterns
3259
+ 4. **Read key files** to get actual code content and understand context
3260
+ 5. **Run searches in PARALLEL** - make multiple tool calls at once to cover different angles simultaneously. This is critical for speed.
3261
+
3262
+ ### Tool Selection Guide
3263
+ - Know the exact name? Use **grep** (e.g. \`getUserById\`, \`class AuthService\`)
3264
+ - Exploring a concept? Use **semantic_search** (e.g. "how does authentication work")
3265
+ - Looking for files? Use **glob** (e.g. \`**/*.config.ts\`, \`**/auth/**\`)
3266
+ - Need file content? Use **read_file** with optional line ranges for large files
3254
3267
 
3255
3268
  ## CRITICAL: Your text output IS the result
3256
3269
 
3257
- The text you write in your responses is what gets sent back to the main agent as the summary. You MUST include:
3270
+ The text you write in your responses is what gets sent back to the main agent as the summary. The main agent has NO other context about what you found. You MUST include:
3258
3271
  - **Exact file paths** (relative to working directory)
3259
3272
  - **Line numbers** where relevant code is found
3260
3273
  - **Key code snippets** showing the important parts
3261
- - **How pieces connect together**
3274
+ - **How pieces connect together** - explain relationships between files
3262
3275
  - **What you actually found**, not just metadata
3263
3276
 
3264
3277
  ALWAYS end with a comprehensive summary of your findings. This summary IS the data that the main agent receives.
3265
3278
 
3279
+ ## Constraints
3280
+ - You are READ-ONLY. Do NOT attempt to create, write, edit, or delete files.
3281
+ - Be fast. Return results quickly. Don't over-explore when you've found what's needed.
3282
+ - Be thorough but efficient. If you find the answer in 2 searches, stop there.
3283
+ - No emojis in output.
3284
+
3266
3285
  ## Example good output:
3267
3286
  "Found the authentication system in src/auth/:
3268
3287
  - \`src/auth/provider.ts\` (lines 15-45): AuthProvider class handles JWT token validation
3269
3288
  - \`src/auth/middleware.ts\` (lines 8-20): Express middleware that checks auth headers
3270
3289
  - \`src/auth/hooks.ts\`: useAuth() hook used by React components
3271
- The auth flow: middleware validates JWT \u2192 provider decodes token \u2192 user context set"
3290
+ The auth flow: middleware validates JWT -> provider decodes token -> user context set"
3272
3291
 
3273
3292
  ## Example bad output:
3274
3293
  "I searched for auth and found some files." (too vague, no paths, no details)
@@ -3928,6 +3947,12 @@ Use this proactively after making code changes to catch errors early.
3928
3947
 
3929
3948
  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.
3930
3949
 
3950
+ **IMPORTANT: The Explore agent has NO context on its own.** When you call \`explore_agent\`, you MUST pass along any relevant context the user has given you via the \`context\` parameter. In particular:
3951
+ - If the user selected a component via devtools (you'll see component name, file path, HTML, component stack in their message), pass ALL of that to the explore agent's \`context\` field.
3952
+ - If there is a \`<devtools-context>\` block with the current page URL, path, and viewport, include that too.
3953
+ - If the user references "this page", "this component", "this button", etc., the explore agent needs the component name, file path, and page path to know what to search for.
3954
+ - The explore agent cannot see the conversation history. The \`query\` and \`context\` fields are the ONLY information it receives.
3955
+
3931
3956
  2. **Use direct commands (grep/rg, find)** for:
3932
3957
  - Exact string matches: \`rg "functionName"\`, \`rg "class MyClass"\`
3933
3958
  - Finding files by name: \`find . -name "*.config.ts"\`