ofiere-openclaw-plugin 4.56.2 → 4.56.3
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/src/tools.js +14 -2
- package/package.json +1 -1
- package/src/tools.ts +13 -1
package/dist/src/tools.js
CHANGED
|
@@ -810,9 +810,21 @@ async function handleUpdateTask(supabase, userId, params) {
|
|
|
810
810
|
"title", "description", "status", "priority", "progress",
|
|
811
811
|
"agent_id", "start_date", "due_date", "tags",
|
|
812
812
|
];
|
|
813
|
+
// Fix #8 (2026-05-17): Postgres rejects empty-string for timestamptz columns,
|
|
814
|
+
// so LLM callers passing start_date/due_date="" to clear a stale value would
|
|
815
|
+
// error instead of nulling the column. Coerce empty/whitespace → null here
|
|
816
|
+
// to match the dashboard native executor (see tool-executor.ts handleTaskOps).
|
|
817
|
+
const TIMESTAMP_FIELDS = ["start_date", "due_date"];
|
|
813
818
|
for (const f of fields) {
|
|
814
|
-
if (params[f] !== undefined)
|
|
815
|
-
|
|
819
|
+
if (params[f] !== undefined) {
|
|
820
|
+
if (TIMESTAMP_FIELDS.includes(f)) {
|
|
821
|
+
const v = params[f];
|
|
822
|
+
updates[f] = (typeof v === "string" && v.trim() === "") ? null : v;
|
|
823
|
+
}
|
|
824
|
+
else {
|
|
825
|
+
updates[f] = params[f];
|
|
826
|
+
}
|
|
827
|
+
}
|
|
816
828
|
}
|
|
817
829
|
// Cycle 13 (BUG 2): keep status and completed_at consistent. Setting status
|
|
818
830
|
// to DONE stamps completed_at + progress=100. Setting status to anything
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ofiere-openclaw-plugin",
|
|
3
|
-
"version": "4.56.
|
|
3
|
+
"version": "4.56.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "OpenClaw plugin for Ofiere PM - 18 meta-tools covering tasks, agents, projects, scheduling, knowledge, workflows, notifications, memory, prompts, constellation, space file management, execution plan builder, SOP management, agent brain, talent management, corporate frameworks, agent office canvas, and PM gate approvals",
|
|
6
6
|
"keywords": [
|
package/src/tools.ts
CHANGED
|
@@ -900,8 +900,20 @@ async function handleUpdateTask(
|
|
|
900
900
|
"title", "description", "status", "priority", "progress",
|
|
901
901
|
"agent_id", "start_date", "due_date", "tags",
|
|
902
902
|
];
|
|
903
|
+
// Fix #8 (2026-05-17): Postgres rejects empty-string for timestamptz columns,
|
|
904
|
+
// so LLM callers passing start_date/due_date="" to clear a stale value would
|
|
905
|
+
// error instead of nulling the column. Coerce empty/whitespace → null here
|
|
906
|
+
// to match the dashboard native executor (see tool-executor.ts handleTaskOps).
|
|
907
|
+
const TIMESTAMP_FIELDS = ["start_date", "due_date"];
|
|
903
908
|
for (const f of fields) {
|
|
904
|
-
if (params[f] !== undefined)
|
|
909
|
+
if (params[f] !== undefined) {
|
|
910
|
+
if (TIMESTAMP_FIELDS.includes(f)) {
|
|
911
|
+
const v = params[f];
|
|
912
|
+
updates[f] = (typeof v === "string" && v.trim() === "") ? null : v;
|
|
913
|
+
} else {
|
|
914
|
+
updates[f] = params[f];
|
|
915
|
+
}
|
|
916
|
+
}
|
|
905
917
|
}
|
|
906
918
|
// Cycle 13 (BUG 2): keep status and completed_at consistent. Setting status
|
|
907
919
|
// to DONE stamps completed_at + progress=100. Setting status to anything
|