@chorus-aidlc/chorus-openclaw-plugin 0.1.5 → 0.1.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chorus-aidlc/chorus-openclaw-plugin",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "OpenClaw plugin for Chorus AI-DLC collaboration platform — SSE real-time events + MCP tool integration",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -165,8 +165,12 @@ export class ChorusEventRouter {
165
165
  }
166
166
 
167
167
  private handleMentioned(n: NotificationDetail): void {
168
+ const mentionGuidance = this.buildMentionGuidance(n, n.entityType);
169
+
168
170
  this.triggerAgent(
169
- `[Chorus] You were @mentioned in ${n.entityType} '${n.entityTitle}' (projectUuid: ${n.projectUuid}): ${n.message}`,
171
+ `[Chorus] You were @mentioned in ${n.entityType} '${n.entityTitle}' (entityType: ${n.entityType}, entityUuid: ${n.entityUuid}, projectUuid: ${n.projectUuid}): ${n.message}\n` +
172
+ `Review the ${n.entityType} content and use chorus_get_comments (targetType: "${n.entityType}", targetUuid: "${n.entityUuid}") to see the full conversation, then respond.\n` +
173
+ mentionGuidance,
170
174
  { notificationUuid: n.uuid, action: "mentioned", entityUuid: n.entityUuid, projectUuid: n.projectUuid }
171
175
  );
172
176
  }
@@ -195,7 +199,7 @@ export class ChorusEventRouter {
195
199
 
196
200
  const reviewInfo = n.message.includes("Note: ") ? ` Review note: "${n.message.split("Note: ").pop()}"` : "";
197
201
  this.triggerAgent(
198
- `[Chorus] Proposal '${n.entityTitle}' was APPROVED (projectUuid: ${n.projectUuid})!${reviewInfo} Documents and tasks have been created. ` +
202
+ `[Chorus] Proposal '${n.entityTitle}' was APPROVED (proposalUuid: ${n.entityUuid}, projectUuid: ${n.projectUuid})!${reviewInfo} Documents and tasks have been created. ` +
199
203
  `Use chorus_get_available_tasks with projectUuid: "${n.projectUuid}" to see the new tasks ready for work.\n` +
200
204
  mentionGuidance,
201
205
  { notificationUuid: n.uuid, action: "proposal_approved", entityUuid: n.entityUuid, projectUuid: n.projectUuid }
@@ -351,7 +351,26 @@ export function registerPmTools(api: any, mcpClient: ChorusMcpClient) {
351
351
  },
352
352
  });
353
353
 
354
- // 16. chorus_pm_create_idea
354
+ // 16. chorus_move_idea
355
+ api.registerTool({
356
+ name: "chorus_move_idea",
357
+ description: "Move an Idea to a different project within the same company. Also moves linked draft/pending Proposals.",
358
+ parameters: {
359
+ type: "object",
360
+ properties: {
361
+ ideaUuid: { type: "string", description: "UUID of the idea to move" },
362
+ targetProjectUuid: { type: "string", description: "UUID of the target project" },
363
+ },
364
+ required: ["ideaUuid", "targetProjectUuid"],
365
+ additionalProperties: false,
366
+ },
367
+ async execute(_id: string, { ideaUuid, targetProjectUuid }: { ideaUuid: string; targetProjectUuid: string }) {
368
+ const result = await mcpClient.callTool("chorus_move_idea", { ideaUuid, targetProjectUuid });
369
+ return JSON.stringify(result, null, 2);
370
+ },
371
+ });
372
+
373
+ // 17. chorus_pm_create_idea
355
374
  api.registerTool({
356
375
  name: "chorus_pm_create_idea",
357
376
  description: "Create a new Idea in a project. Use this when you discover a requirement, want to propose work, or record a user request.",