youmd 0.9.7 → 0.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 (36) hide show
  1. package/dist/commands/machine.d.ts.map +1 -1
  2. package/dist/commands/machine.js +3 -0
  3. package/dist/commands/machine.js.map +1 -1
  4. package/dist/commands/mine.d.ts +46 -0
  5. package/dist/commands/mine.d.ts.map +1 -0
  6. package/dist/commands/mine.js +317 -0
  7. package/dist/commands/mine.js.map +1 -0
  8. package/dist/commands/orchestrate.d.ts.map +1 -1
  9. package/dist/commands/orchestrate.js +33 -0
  10. package/dist/commands/orchestrate.js.map +1 -1
  11. package/dist/commands/prompts.d.ts.map +1 -1
  12. package/dist/commands/prompts.js +5 -2
  13. package/dist/commands/prompts.js.map +1 -1
  14. package/dist/commands/tasks.d.ts +34 -0
  15. package/dist/commands/tasks.d.ts.map +1 -0
  16. package/dist/commands/tasks.js +383 -0
  17. package/dist/commands/tasks.js.map +1 -0
  18. package/dist/index.js +31 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/lib/orchestrator/approvals.d.ts +21 -0
  21. package/dist/lib/orchestrator/approvals.d.ts.map +1 -0
  22. package/dist/lib/orchestrator/approvals.js +65 -0
  23. package/dist/lib/orchestrator/approvals.js.map +1 -0
  24. package/dist/lib/orchestrator/supervisor.d.ts +41 -0
  25. package/dist/lib/orchestrator/supervisor.d.ts.map +1 -1
  26. package/dist/lib/orchestrator/supervisor.js +49 -0
  27. package/dist/lib/orchestrator/supervisor.js.map +1 -1
  28. package/dist/lib/redact.d.ts +15 -0
  29. package/dist/lib/redact.d.ts.map +1 -0
  30. package/dist/lib/redact.js +62 -0
  31. package/dist/lib/redact.js.map +1 -0
  32. package/dist/lib/tasksFile.d.ts +79 -0
  33. package/dist/lib/tasksFile.d.ts.map +1 -0
  34. package/dist/lib/tasksFile.js +306 -0
  35. package/dist/lib/tasksFile.js.map +1 -0
  36. package/package.json +1 -1
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ /**
3
+ * Canonical per-project task files: project-context/tasks.json + tasks.md.
4
+ *
5
+ * tasks.json is the machine truth (schema you-md/tasks/v1, fields aligned
6
+ * with the Convex portfolioTasks table so rows round-trip losslessly).
7
+ * tasks.md is the human/agent view, regenerated from tasks.json on every
8
+ * write. Checkbox edits made directly in tasks.md are reconciled back into
9
+ * tasks.json on the next read — tick a box in either file and both agree.
10
+ * Freeform prose in tasks.md between the notes markers is preserved verbatim
11
+ * across regenerations, so watchpoints and context never get clobbered.
12
+ *
13
+ * Legacy freeform tasks.md files (plain checklists with no id comments) are
14
+ * imported automatically on first read: bullets become tasks, nothing is lost.
15
+ */
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }) : function(o, v) {
30
+ o["default"] = v;
31
+ });
32
+ var __importStar = (this && this.__importStar) || (function () {
33
+ var ownKeys = function(o) {
34
+ ownKeys = Object.getOwnPropertyNames || function (o) {
35
+ var ar = [];
36
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
+ return ar;
38
+ };
39
+ return ownKeys(o);
40
+ };
41
+ return function (mod) {
42
+ if (mod && mod.__esModule) return mod;
43
+ var result = {};
44
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
+ __setModuleDefault(result, mod);
46
+ return result;
47
+ };
48
+ })();
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.TASK_PRIORITIES = exports.TASK_STATUSES = exports.TASKS_SCHEMA = void 0;
51
+ exports.generateTaskId = generateTaskId;
52
+ exports.tasksJsonPath = tasksJsonPath;
53
+ exports.tasksMdPath = tasksMdPath;
54
+ exports.parseLegacyTasksMd = parseLegacyTasksMd;
55
+ exports.renderTasksMd = renderTasksMd;
56
+ exports.reconcileMdCheckboxes = reconcileMdCheckboxes;
57
+ exports.readTasksDoc = readTasksDoc;
58
+ exports.writeTasksDoc = writeTasksDoc;
59
+ exports.addTask = addTask;
60
+ exports.findTask = findTask;
61
+ exports.openTasks = openTasks;
62
+ const fs = __importStar(require("fs"));
63
+ const path = __importStar(require("path"));
64
+ const crypto = __importStar(require("crypto"));
65
+ exports.TASKS_SCHEMA = "you-md/tasks/v1";
66
+ exports.TASK_STATUSES = ["proposed", "open", "in_progress", "done", "snoozed", "cancelled"];
67
+ exports.TASK_PRIORITIES = ["low", "normal", "high", "urgent"];
68
+ const NOTES_START = "<!-- notes:start -->";
69
+ const NOTES_END = "<!-- notes:end -->";
70
+ const ID_COMMENT = /<!--\s*id:([A-Za-z0-9_-]+)\s*-->/;
71
+ const OPEN_STATUSES = ["proposed", "open", "in_progress", "snoozed"];
72
+ function generateTaskId(now = new Date()) {
73
+ const stamp = now.toISOString().slice(0, 10).replace(/-/g, "");
74
+ return `t-${stamp}-${crypto.randomBytes(3).toString("hex")}`;
75
+ }
76
+ function tasksJsonPath(contextDir) {
77
+ return path.join(contextDir, "tasks.json");
78
+ }
79
+ function tasksMdPath(contextDir) {
80
+ return path.join(contextDir, "tasks.md");
81
+ }
82
+ function nowIso() {
83
+ return new Date().toISOString();
84
+ }
85
+ function normalizeStatus(raw) {
86
+ return exports.TASK_STATUSES.includes(raw) ? raw : "open";
87
+ }
88
+ function normalizePriority(raw) {
89
+ return exports.TASK_PRIORITIES.includes(raw) ? raw : "normal";
90
+ }
91
+ function normalizeTask(raw) {
92
+ const created = typeof raw.createdAt === "string" ? raw.createdAt : nowIso();
93
+ return {
94
+ id: typeof raw.id === "string" && raw.id ? raw.id : generateTaskId(),
95
+ title: String(raw.title || "").trim() || "(untitled)",
96
+ description: typeof raw.description === "string" ? raw.description : undefined,
97
+ status: normalizeStatus(raw.status),
98
+ priority: normalizePriority(raw.priority),
99
+ owner: raw.owner === "agent" ? "agent" : "human",
100
+ ownerLabel: typeof raw.ownerLabel === "string" ? raw.ownerLabel : undefined,
101
+ tags: Array.isArray(raw.tags) ? raw.tags.map(String) : [],
102
+ source: typeof raw.source === "string" ? raw.source : undefined,
103
+ verify: typeof raw.verify === "string" ? raw.verify : undefined,
104
+ createdAt: created,
105
+ updatedAt: typeof raw.updatedAt === "string" ? raw.updatedAt : created,
106
+ completedAt: typeof raw.completedAt === "string" ? raw.completedAt : undefined,
107
+ remoteId: typeof raw.remoteId === "string" ? raw.remoteId : undefined,
108
+ };
109
+ }
110
+ /** Parse a legacy freeform tasks.md checklist into task entries. */
111
+ function parseLegacyTasksMd(content, project) {
112
+ const tasks = [];
113
+ const now = nowIso();
114
+ const notes = [];
115
+ let inNotes = false;
116
+ for (const line of content.split(/\r?\n/)) {
117
+ const heading = line.match(/^##\s+(.+)$/);
118
+ if (heading) {
119
+ inNotes = /watchpoint|note/i.test(heading[1]);
120
+ if (inNotes)
121
+ notes.push(`### ${heading[1].trim()}`);
122
+ continue;
123
+ }
124
+ if (inNotes) {
125
+ if (line.trim())
126
+ notes.push(line);
127
+ continue;
128
+ }
129
+ const bullet = line.match(/^\s*-\s*\[([ xX])\]\s+(.*)$/);
130
+ if (!bullet)
131
+ continue;
132
+ const done = bullet[1].toLowerCase() === "x";
133
+ // Legacy entries are often paragraph-length; keep the first sentence as
134
+ // the title and the rest as description so nothing is lost.
135
+ const text = bullet[2].trim();
136
+ const splitAt = text.length > 160 ? text.indexOf(". ") : -1;
137
+ const title = splitAt > 0 ? text.slice(0, splitAt + 1) : text;
138
+ const description = splitAt > 0 ? text.slice(splitAt + 2) : undefined;
139
+ tasks.push(normalizeTask({
140
+ title,
141
+ description,
142
+ status: done ? "done" : "open",
143
+ source: "legacy-md",
144
+ createdAt: now,
145
+ completedAt: done ? now : undefined,
146
+ }));
147
+ }
148
+ return {
149
+ $schema: exports.TASKS_SCHEMA,
150
+ project,
151
+ updatedAt: now,
152
+ tasks,
153
+ notes: notes.length ? notes.join("\n") : undefined,
154
+ };
155
+ }
156
+ function statusLabel(task) {
157
+ const bits = [task.status];
158
+ if (task.priority !== "normal")
159
+ bits.push(task.priority);
160
+ if (task.owner === "agent")
161
+ bits.push(task.ownerLabel ? `agent:${task.ownerLabel}` : "agent");
162
+ if (task.tags.length)
163
+ bits.push(task.tags.map((t) => `#${t}`).join(" "));
164
+ return bits.join(" · ");
165
+ }
166
+ /** Render tasks.md from the doc. Deterministic; safe to regenerate. */
167
+ function renderTasksMd(doc) {
168
+ const active = doc.tasks.filter((t) => OPEN_STATUSES.includes(t.status));
169
+ const closed = doc.tasks.filter((t) => !OPEN_STATUSES.includes(t.status));
170
+ const lines = [
171
+ `# Tasks — ${doc.project}`,
172
+ "",
173
+ "<!-- generated from tasks.json (you-md/tasks/v1). Checkbox edits here sync back on next read;",
174
+ " everything else regenerates. Freeform notes live between the notes markers below. -->",
175
+ "",
176
+ `## Active (${active.length})`,
177
+ "",
178
+ ];
179
+ for (const t of active) {
180
+ lines.push(`- [ ] ${t.title} <!-- id:${t.id} -->`);
181
+ lines.push(` ${statusLabel(t)}`);
182
+ if (t.verify)
183
+ lines.push(` verify: ${t.verify}`);
184
+ if (t.description)
185
+ lines.push(` ${t.description}`);
186
+ }
187
+ lines.push("", `## Done (${closed.length})`, "");
188
+ for (const t of closed) {
189
+ const box = t.status === "done" ? "x" : " ";
190
+ const suffix = t.status === "done" ? "" : ` (${t.status})`;
191
+ lines.push(`- [${box}] ${t.title}${suffix} <!-- id:${t.id} -->`);
192
+ }
193
+ lines.push("", NOTES_START, doc.notes || "", NOTES_END, "");
194
+ return lines.join("\n");
195
+ }
196
+ /**
197
+ * Reconcile checkbox states in tasks.md back into the doc. Only the checkbox
198
+ * is authoritative in md — a ticked box marks done, an unticked box on a
199
+ * done/cancelled task reopens it. Returns the number of changed tasks.
200
+ */
201
+ function reconcileMdCheckboxes(doc, mdContent) {
202
+ const byId = new Map(doc.tasks.map((t) => [t.id, t]));
203
+ let changed = 0;
204
+ for (const line of mdContent.split(/\r?\n/)) {
205
+ const bullet = line.match(/^\s*-\s*\[([ xX])\]\s+(.*)$/);
206
+ if (!bullet)
207
+ continue;
208
+ const idMatch = bullet[2].match(ID_COMMENT);
209
+ if (!idMatch)
210
+ continue;
211
+ const task = byId.get(idMatch[1]);
212
+ if (!task)
213
+ continue;
214
+ const checked = bullet[1].toLowerCase() === "x";
215
+ const isOpen = OPEN_STATUSES.includes(task.status);
216
+ if (checked && isOpen) {
217
+ task.status = "done";
218
+ task.completedAt = nowIso();
219
+ task.updatedAt = nowIso();
220
+ changed += 1;
221
+ }
222
+ else if (!checked && task.status === "done") {
223
+ task.status = "open";
224
+ task.completedAt = undefined;
225
+ task.updatedAt = nowIso();
226
+ changed += 1;
227
+ }
228
+ }
229
+ return changed;
230
+ }
231
+ function extractNotes(mdContent) {
232
+ const start = mdContent.indexOf(NOTES_START);
233
+ const end = mdContent.indexOf(NOTES_END);
234
+ if (start === -1 || end === -1 || end <= start)
235
+ return undefined;
236
+ const notes = mdContent.slice(start + NOTES_START.length, end).trim();
237
+ return notes || undefined;
238
+ }
239
+ /**
240
+ * Load the canonical task doc for a project-context directory.
241
+ *
242
+ * - tasks.json exists → parse it, then reconcile tasks.md checkbox edits.
243
+ * - only a legacy tasks.md exists → import it (one-time migration).
244
+ * - neither exists → fresh empty doc.
245
+ */
246
+ function readTasksDoc(contextDir, project) {
247
+ const jsonPath = tasksJsonPath(contextDir);
248
+ const mdPath = tasksMdPath(contextDir);
249
+ if (fs.existsSync(jsonPath)) {
250
+ let parsed;
251
+ try {
252
+ parsed = JSON.parse(fs.readFileSync(jsonPath, "utf-8"));
253
+ }
254
+ catch {
255
+ parsed = {};
256
+ }
257
+ const rawTasks = Array.isArray(parsed.tasks) ? parsed.tasks : [];
258
+ const doc = {
259
+ $schema: exports.TASKS_SCHEMA,
260
+ project: typeof parsed.project === "string" && parsed.project ? parsed.project : project,
261
+ updatedAt: typeof parsed.updatedAt === "string" ? parsed.updatedAt : nowIso(),
262
+ tasks: rawTasks.map(normalizeTask),
263
+ notes: typeof parsed.notes === "string" ? parsed.notes : undefined,
264
+ };
265
+ let reconciled = 0;
266
+ if (fs.existsSync(mdPath)) {
267
+ const md = fs.readFileSync(mdPath, "utf-8");
268
+ reconciled = reconcileMdCheckboxes(doc, md);
269
+ const notes = extractNotes(md);
270
+ if (notes !== undefined)
271
+ doc.notes = notes;
272
+ }
273
+ return { doc, migrated: false, reconciled };
274
+ }
275
+ if (fs.existsSync(mdPath)) {
276
+ const doc = parseLegacyTasksMd(fs.readFileSync(mdPath, "utf-8"), project);
277
+ return { doc, migrated: true, reconciled: 0 };
278
+ }
279
+ return {
280
+ doc: { $schema: exports.TASKS_SCHEMA, project, updatedAt: nowIso(), tasks: [] },
281
+ migrated: false,
282
+ reconciled: 0,
283
+ };
284
+ }
285
+ /** Write both files atomically-ish: json first (truth), then the md render. */
286
+ function writeTasksDoc(contextDir, doc) {
287
+ fs.mkdirSync(contextDir, { recursive: true });
288
+ doc.updatedAt = nowIso();
289
+ fs.writeFileSync(tasksJsonPath(contextDir), JSON.stringify(doc, null, 2) + "\n", "utf-8");
290
+ fs.writeFileSync(tasksMdPath(contextDir), renderTasksMd(doc), "utf-8");
291
+ }
292
+ function addTask(doc, input) {
293
+ const task = normalizeTask({ ...input, createdAt: nowIso() });
294
+ doc.tasks.push(task);
295
+ return task;
296
+ }
297
+ function findTask(doc, idOrTitle) {
298
+ const needle = idOrTitle.trim().toLowerCase();
299
+ return (doc.tasks.find((t) => t.id.toLowerCase() === needle) ||
300
+ doc.tasks.find((t) => t.title.toLowerCase() === needle) ||
301
+ doc.tasks.find((t) => t.title.toLowerCase().includes(needle)));
302
+ }
303
+ function openTasks(doc) {
304
+ return doc.tasks.filter((t) => OPEN_STATUSES.includes(t.status));
305
+ }
306
+ //# sourceMappingURL=tasksFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasksFile.js","sourceRoot":"","sources":["../../src/lib/tasksFile.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "youmd",
3
- "version": "0.9.7",
3
+ "version": "0.10.0",
4
4
  "description": "Identity context protocol for the agent internet — an MCP where the context is you. CLI for the You.md platform.",
5
5
  "bin": {
6
6
  "you": "dist/you.js",