@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.
Files changed (2) hide show
  1. package/dist/kiso-task.mjs +11 -0
  2. package/package.json +2 -2
@@ -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.45",
4
- "description": "kiso official task extension \u2014 long-horizon working memory (task_set), kernel untouched",
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",