ofiere-openclaw-plugin 4.8.0 → 4.10.0

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/tools.ts +15 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ofiere-openclaw-plugin",
3
- "version": "4.8.0",
3
+ "version": "4.10.0",
4
4
  "type": "module",
5
5
  "description": "OpenClaw plugin for Ofiere PM - 10 meta-tools with 13-action workflow mastery covering tasks, agents, projects, scheduling, knowledge, workflows, notifications, memory, prompts, and constellation agent architecture",
6
6
  "keywords": ["openclaw", "ofiere", "project-management", "agents", "plugin"],
package/src/tools.ts CHANGED
@@ -207,9 +207,8 @@ function registerTaskOps(
207
207
  action: {
208
208
  type: "string",
209
209
  description: "The operation to perform",
210
- enum: ["list", "create", "update", "delete"],
210
+ enum: ["list", "get", "create", "update", "delete"],
211
211
  },
212
- task_id: { type: "string", description: "Task ID (required for update, delete)" },
213
212
  title: { type: "string", description: "Task title (required for create)" },
214
213
  description: { type: "string", description: "Task description" },
215
214
  instructions: { type: "string", description: "Detailed instructions for the agent executing this task" },
@@ -426,7 +425,7 @@ async function handleCreateTask(
426
425
  space_id: (params.space_id as string) || null,
427
426
  folder_id: (params.folder_id as string) || null,
428
427
  start_date: (params.start_date as string) || null,
429
- due_date: (params.due_date as string) || null,
428
+ due_date: (params.due_date as string) || (params.start_date as string) || null,
430
429
  tags: (params.tags as string[]) || [],
431
430
  progress: 0,
432
431
  sort_order: 0,
@@ -1094,6 +1093,19 @@ function registerScheduleOps(
1094
1093
  };
1095
1094
  const { error } = await supabase.from("scheduler_events").insert(insertData);
1096
1095
  if (error) return err(error.message);
1096
+
1097
+ // ── Backfill: sync dates to linked task ──────────────────────
1098
+ if (params.task_id) {
1099
+ try {
1100
+ const isoDate = `${params.scheduled_date}T${(params.scheduled_time as string) || "09:00"}:00Z`;
1101
+ await supabase.from("tasks").update({
1102
+ start_date: isoDate,
1103
+ due_date: isoDate,
1104
+ updated_at: new Date().toISOString(),
1105
+ }).eq("id", params.task_id as string).eq("user_id", userId);
1106
+ } catch { /* non-fatal: scheduler event was already created */ }
1107
+ }
1108
+
1097
1109
  return ok({ message: `Event "${params.title}" scheduled for ${params.scheduled_date}`, id: evtId });
1098
1110
  }
1099
1111
  case "update": {