@vincentwei1021/synapse-openclaw-plugin 0.5.3 → 0.5.5

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/event-router.ts +21 -12
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vincentwei1021/synapse-openclaw-plugin",
3
- "version": "0.5.3",
3
+ "version": "0.5.5",
4
4
  "description": "OpenClaw plugin for Synapse research orchestration — SSE notifications, MCP tools, experiment lifecycle, autonomous loop",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -323,26 +323,34 @@ Proposed experiments will enter "pending_review" status and require human approv
323
323
  );
324
324
  }
325
325
 
326
+ private static readonly DEFAULT_DEEP_RESEARCH_MSG = "Generate a deep research literature review for this project.";
327
+ private static readonly DEFAULT_AUTO_SEARCH_MSG = "Search for related papers for this project.";
328
+
326
329
  private handleDeepResearchRequested(n: NotificationDetail): void {
327
330
  const projectUuid = n.projectUuid ?? n.researchProjectUuid ?? "";
328
- const hasCustomPrompt = n.message.length > 100;
331
+ const hasCustomPrompt = n.message !== SynapseEventRouter.DEFAULT_DEEP_RESEARCH_MSG;
332
+
333
+ const basePrompt = `[Synapse] Deep research literature review requested for project (projectUuid: ${projectUuid}).
329
334
 
330
- const defaultPrompt = `1. Use synapse_get_related_works with researchProjectUuid "${projectUuid}" to read all collected papers
335
+ 1. Use synapse_get_related_works with researchProjectUuid "${projectUuid}" to read all collected papers
331
336
  2. Use synapse_get_project_full_context with researchProjectUuid "${projectUuid}" to understand the research objectives
332
337
  3. Analyze how each paper relates to the project's goals — identify key methods, findings, and gaps in the literature
333
338
  4. Create a comprehensive literature review document summarizing your analysis`;
334
339
 
335
- this.triggerAgent(
336
- `[Synapse] Deep research literature review requested for project (projectUuid: ${projectUuid}).\n\n${hasCustomPrompt ? n.message : defaultPrompt}`,
337
- { notificationUuid: n.uuid, action: "deep_research_requested", entityUuid: n.entityUuid, projectUuid }
338
- );
340
+ const prompt = hasCustomPrompt
341
+ ? `${basePrompt}\n\nAdditional instructions from the user:\n${n.message}`
342
+ : basePrompt;
343
+
344
+ this.triggerAgent(prompt, { notificationUuid: n.uuid, action: "deep_research_requested", entityUuid: n.entityUuid, projectUuid });
339
345
  }
340
346
 
341
347
  private handleAutoSearchTriggered(n: NotificationDetail): void {
342
348
  const projectUuid = n.projectUuid ?? n.researchProjectUuid ?? "";
343
- const hasCustomPrompt = n.message.length > 100;
349
+ const hasCustomPrompt = n.message !== SynapseEventRouter.DEFAULT_AUTO_SEARCH_MSG;
344
350
 
345
- const defaultPrompt = `Search for academic papers related to this research project:
351
+ const basePrompt = `[Synapse] Paper search requested for project "${n.entityTitle}" (projectUuid: ${projectUuid}).
352
+
353
+ Search for academic papers related to this research project:
346
354
  1. Use synapse_get_related_works with researchProjectUuid "${projectUuid}" to see what papers are already collected — avoid searching for topics already well-covered
347
355
  2. Use synapse_get_project_full_context with researchProjectUuid "${projectUuid}" to understand the research objectives, datasets, and methods
348
356
  3. Based on the project context and gaps in existing papers, use synapse_search_papers to find new relevant academic papers
@@ -350,10 +358,11 @@ Proposed experiments will enter "pending_review" status and require human approv
350
358
  5. Search with multiple query variations to maximize coverage, but call synapse_search_papers sequentially (one at a time) to avoid rate limits
351
359
  6. Focus on papers that fill gaps not covered by existing related works`;
352
360
 
353
- this.triggerAgent(
354
- `[Synapse] Paper search requested for project "${n.entityTitle}" (projectUuid: ${projectUuid}).\n\n${hasCustomPrompt ? n.message : defaultPrompt}`,
355
- { notificationUuid: n.uuid, action: "auto_search_triggered", entityUuid: n.entityUuid, projectUuid }
356
- );
361
+ const prompt = hasCustomPrompt
362
+ ? `${basePrompt}\n\nAdditional instructions from the user:\n${n.message}`
363
+ : basePrompt;
364
+
365
+ this.triggerAgent(prompt, { notificationUuid: n.uuid, action: "auto_search_triggered", entityUuid: n.entityUuid, projectUuid });
357
366
  }
358
367
 
359
368
  private handleExperimentReportRequested(n: NotificationDetail): void {