@vincemakes/kiso-task-ext 0.1.45 → 0.1.47
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/kiso-task.mjs +11 -0
- package/package.json +2 -2
package/dist/kiso-task.mjs
CHANGED
|
@@ -64,6 +64,17 @@ export function parseTaskSet(input) {
|
|
|
64
64
|
if (active.length > 1) {
|
|
65
65
|
return { error: `task_set: at most one active item (${active.length} are active — mark the others done first)` };
|
|
66
66
|
}
|
|
67
|
+
// diet D (0.1.47): duplicate texts are refused, never merged — a
|
|
68
|
+
// duplicated line would fork the counts in the echo and the CLI's
|
|
69
|
+
// checklist cell (the whole-table-replace discipline: resend the
|
|
70
|
+
// corrected list). Same discipline as the at-most-one-active rule.
|
|
71
|
+
const seen = new Set();
|
|
72
|
+
for (const it of items) {
|
|
73
|
+
if (seen.has(it.text)) {
|
|
74
|
+
return { error: `task_set: duplicate item text "${it.text}" — each item must be unique` };
|
|
75
|
+
}
|
|
76
|
+
seen.add(it.text);
|
|
77
|
+
}
|
|
67
78
|
return { items };
|
|
68
79
|
}
|
|
69
80
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vincemakes/kiso-task-ext",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "kiso official task extension
|
|
3
|
+
"version": "0.1.47",
|
|
4
|
+
"description": "kiso official task extension — long-horizon working memory (task_set), kernel untouched",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "./dist/kiso-task.mjs",
|