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,65 @@
1
+ "use strict";
2
+ // approvals.ts — pure selection of agent-bus "approval-response" messages addressed
3
+ // to THIS host, mapped into worker-delivery inputs. Kept side-effect-free so it is
4
+ // trivially unit-testable; the watch loop (orchestrate.ts) does the fetch + the
5
+ // registry write (supervisor.applyApprovalDecisions).
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.APPROVAL_RESPONSE_KIND = void 0;
8
+ exports.normalizeHost = normalizeHost;
9
+ exports.selectApprovalDecisions = selectApprovalDecisions;
10
+ exports.APPROVAL_RESPONSE_KIND = "approval-response";
11
+ /** Normalize a hostname for tolerant matching (case + common local suffixes). */
12
+ function normalizeHost(value) {
13
+ return String(value ?? "")
14
+ .trim()
15
+ .toLowerCase()
16
+ .replace(/\.local$/, "")
17
+ .replace(/\.lan$/, "");
18
+ }
19
+ function asRecord(value) {
20
+ return value && typeof value === "object" && !Array.isArray(value)
21
+ ? value
22
+ : null;
23
+ }
24
+ function asDecision(value) {
25
+ return value === "approved" || value === "denied" ? value : null;
26
+ }
27
+ function asString(value) {
28
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
29
+ }
30
+ /**
31
+ * From a batch of bus messages, pick the `approval-response` messages addressed
32
+ * to `host` that carry a workerId + a valid decision, and map them into
33
+ * worker-delivery inputs. A message with no explicit `targetHost` is skipped —
34
+ * we never deliver an unaddressed decision to the wrong machine's workers.
35
+ */
36
+ function selectApprovalDecisions(messages, host) {
37
+ const localHost = normalizeHost(host);
38
+ if (!localHost)
39
+ return [];
40
+ const out = [];
41
+ const seen = new Set();
42
+ for (const message of messages) {
43
+ if (!message || message.kind !== exports.APPROVAL_RESPONSE_KIND)
44
+ continue;
45
+ if (!message.messageId || seen.has(message.messageId))
46
+ continue;
47
+ if (normalizeHost(message.targetHost) !== localHost)
48
+ continue;
49
+ const meta = asRecord(message.metadata);
50
+ const workerId = asString(meta?.workerId);
51
+ const decision = asDecision(meta?.decision);
52
+ if (!workerId || !decision)
53
+ continue;
54
+ seen.add(message.messageId);
55
+ out.push({
56
+ workerId,
57
+ decision,
58
+ messageId: message.messageId,
59
+ note: asString(meta?.note) ?? asString(message.body),
60
+ decidedAt: typeof message.createdAt === "number" ? message.createdAt : undefined,
61
+ });
62
+ }
63
+ return out;
64
+ }
65
+ //# sourceMappingURL=approvals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../../src/lib/orchestrator/approvals.ts"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,mFAAmF;AACnF,gFAAgF;AAChF,sDAAsD;;;AAiBtD,sCAMC;AAsBD,0DA8BC;AA7DY,QAAA,sBAAsB,GAAG,mBAAmB,CAAC;AAE1D,iFAAiF;AACjF,SAAgB,aAAa,CAAC,KAAgC;IAC5D,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACvB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,QAA+B,EAC/B,IAAY;IAEZ,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,8BAAsB;YAAE,SAAS;QAClE,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,SAAS;QAChE,IAAI,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS;YAAE,SAAS;QAE9D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,SAAS;QAErC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC;YACP,QAAQ;YACR,QAAQ;YACR,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YACpD,SAAS,EAAE,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SACjF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -19,7 +19,19 @@ export interface WorkerRecord {
19
19
  host: string;
20
20
  /** True once this worker's terminal transition has been reported (watch loop). */
21
21
  reported?: boolean;
22
+ /**
23
+ * Latest human decision delivered to this worker from the shell's attention
24
+ * queue (approve/deny), delivered by the `you orchestrate watch` loop off the
25
+ * agent-bus `approval-response` message. A polling worker reads this (and the
26
+ * matching `# approval ...` line appended to its log) to unblock.
27
+ */
28
+ decision?: Decision;
29
+ /** ISO time the decision was delivered into this record. */
30
+ decidedAt?: string;
31
+ /** Bus messageIds already delivered — idempotency ledger so watch never re-delivers. */
32
+ approvalMessageIds?: string[];
22
33
  }
34
+ export type Decision = "approved" | "denied";
23
35
  /** Terminal worker states — the worker is no longer doing work. */
24
36
  export declare const TERMINAL_WORKER_STATUSES: WorkerStatus[];
25
37
  export declare function isTerminalWorkerStatus(status: WorkerStatus): boolean;
@@ -75,6 +87,35 @@ export declare function stopWorker(id: string): {
75
87
  export declare function collectUnreportedCompletions(): WorkerRecord[];
76
88
  /** Mark the given worker ids as reported (call only after the completion was successfully posted). */
77
89
  export declare function markReported(ids: string[]): void;
90
+ export interface ApprovalDeliveryInput {
91
+ /** Worker this decision is addressed to. */
92
+ workerId: string;
93
+ decision: Decision;
94
+ /** Bus messageId — idempotency key so a decision is delivered exactly once. */
95
+ messageId: string;
96
+ /** Optional owner note carried on the decision. */
97
+ note?: string;
98
+ /** Epoch ms the decision was made (defaults to now). */
99
+ decidedAt?: number;
100
+ }
101
+ export interface ApprovalDeliveryResult {
102
+ workerId: string;
103
+ messageId: string;
104
+ delivered: boolean;
105
+ reason: "ok" | "no-worker" | "already-delivered";
106
+ }
107
+ /**
108
+ * Deliver human approve/deny decisions (harvested from the agent bus by the
109
+ * watch loop) into the worker registry so the waiting worker can see them:
110
+ * patch the target worker record (`decision`/`decidedAt`) AND append a
111
+ * `# approval ...` marker line to its log file. Idempotent per `messageId`
112
+ * via each worker's `approvalMessageIds` ledger — re-running watch never
113
+ * re-delivers the same decision. Loads/saves the registry once for the batch.
114
+ *
115
+ * This is the minimal viable delivery primitive — NOT a blocking-approval
116
+ * framework. A worker/polling loop reads the record or greps its log to unblock.
117
+ */
118
+ export declare function applyApprovalDecisions(inputs: ApprovalDeliveryInput[]): ApprovalDeliveryResult[];
78
119
  /** Drop exited/stopped workers older than `maxAgeMs` from the registry (keeps running ones). */
79
120
  export declare function pruneWorkers(maxAgeMs?: number): number;
80
121
  //# sourceMappingURL=supervisor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../../src/lib/orchestrator/supervisor.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,aAAa,CAAC;IACvB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,mEAAmE;AACnE,eAAO,MAAM,wBAAwB,EAAE,YAAY,EAAoC,CAAC;AAExF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAEpE;AA8DD,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAiB5C;AAaD,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAS3D;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,OAAO,GAAE,YAAY,EAAkB,GAAG,YAAY,EAAE,CAWtF;AASD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAmGtE;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE9D;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAUxG;AAED,yDAAyD;AACzD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBtE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,IAAI,YAAY,EAAE,CAG7D;AAED,sGAAsG;AACtG,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAYhD;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,QAAQ,SAAsB,GAAG,MAAM,CAWnE"}
1
+ {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../../src/lib/orchestrator/supervisor.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,aAAa,CAAC;IACvB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE7C,mEAAmE;AACnE,eAAO,MAAM,wBAAwB,EAAE,YAAY,EAAoC,CAAC;AAExF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAEpE;AA8DD,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAiB5C;AAaD,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAS3D;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,OAAO,GAAE,YAAY,EAAkB,GAAG,YAAY,EAAE,CAWtF;AASD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAmGtE;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE9D;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAUxG;AAED,yDAAyD;AACzD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBtE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,IAAI,YAAY,EAAE,CAG7D;AAED,sGAAsG;AACtG,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAYhD;AAED,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,IAAI,GAAG,WAAW,GAAG,mBAAmB,CAAC;CAClD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,sBAAsB,EAAE,CAsChG;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,QAAQ,SAAsB,GAAG,MAAM,CAWnE"}
@@ -53,6 +53,7 @@ exports.getWorkerOutput = getWorkerOutput;
53
53
  exports.stopWorker = stopWorker;
54
54
  exports.collectUnreportedCompletions = collectUnreportedCompletions;
55
55
  exports.markReported = markReported;
56
+ exports.applyApprovalDecisions = applyApprovalDecisions;
56
57
  exports.pruneWorkers = pruneWorkers;
57
58
  const child_process = __importStar(require("child_process"));
58
59
  const fs = __importStar(require("fs"));
@@ -336,6 +337,54 @@ function markReported(ids) {
336
337
  if (changed)
337
338
  saveWorkers(workers);
338
339
  }
340
+ /**
341
+ * Deliver human approve/deny decisions (harvested from the agent bus by the
342
+ * watch loop) into the worker registry so the waiting worker can see them:
343
+ * patch the target worker record (`decision`/`decidedAt`) AND append a
344
+ * `# approval ...` marker line to its log file. Idempotent per `messageId`
345
+ * via each worker's `approvalMessageIds` ledger — re-running watch never
346
+ * re-delivers the same decision. Loads/saves the registry once for the batch.
347
+ *
348
+ * This is the minimal viable delivery primitive — NOT a blocking-approval
349
+ * framework. A worker/polling loop reads the record or greps its log to unblock.
350
+ */
351
+ function applyApprovalDecisions(inputs) {
352
+ if (inputs.length === 0)
353
+ return [];
354
+ const workers = loadWorkers();
355
+ const results = [];
356
+ let changed = false;
357
+ for (const input of inputs) {
358
+ const worker = workers.find((w) => w.id === input.workerId);
359
+ if (!worker) {
360
+ results.push({ workerId: input.workerId, messageId: input.messageId, delivered: false, reason: "no-worker" });
361
+ continue;
362
+ }
363
+ const ledger = worker.approvalMessageIds ?? [];
364
+ if (ledger.includes(input.messageId)) {
365
+ results.push({ workerId: input.workerId, messageId: input.messageId, delivered: false, reason: "already-delivered" });
366
+ continue;
367
+ }
368
+ const decidedIso = new Date(input.decidedAt ?? Date.now()).toISOString();
369
+ worker.decision = input.decision;
370
+ worker.decidedAt = decidedIso;
371
+ worker.approvalMessageIds = [...ledger, input.messageId];
372
+ changed = true;
373
+ // Append a human-readable marker so a worker tailing its own log (or a
374
+ // `you orchestrate logs <id>` reader) sees the decision immediately.
375
+ try {
376
+ const noteSuffix = input.note ? ` — ${input.note.replace(/\s+/g, " ").trim().slice(0, 300)}` : "";
377
+ fs.appendFileSync(worker.logFile, `\n# approval ${input.decision} (msg ${input.messageId}) at ${decidedIso}${noteSuffix}\n`);
378
+ }
379
+ catch {
380
+ /* log append is best-effort; the registry patch is the source of truth */
381
+ }
382
+ results.push({ workerId: input.workerId, messageId: input.messageId, delivered: true, reason: "ok" });
383
+ }
384
+ if (changed)
385
+ saveWorkers(workers);
386
+ return results;
387
+ }
339
388
  /** Drop exited/stopped workers older than `maxAgeMs` from the registry (keeps running ones). */
340
389
  function pruneWorkers(maxAgeMs = 24 * 60 * 60 * 1000) {
341
390
  const now = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../../src/lib/orchestrator/supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../../src/lib/orchestrator/supervisor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Shared secret + PII redaction.
3
+ *
4
+ * Runs over any user text before it is written to a corpus, exported, or
5
+ * handed to an LLM. Best-effort by design — regexes over free text can never
6
+ * be exhaustive — so callers must still treat output as sensitive-ish, but
7
+ * this stops the common credential shapes cold.
8
+ */
9
+ export interface RedactResult {
10
+ text: string;
11
+ /** Number of individual replacements made across all patterns. */
12
+ hits: number;
13
+ }
14
+ export declare function redactText(text: string): RedactResult;
15
+ //# sourceMappingURL=redact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/lib/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;CACd;AA6CD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAYrD"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * Shared secret + PII redaction.
4
+ *
5
+ * Runs over any user text before it is written to a corpus, exported, or
6
+ * handed to an LLM. Best-effort by design — regexes over free text can never
7
+ * be exhaustive — so callers must still treat output as sensitive-ish, but
8
+ * this stops the common credential shapes cold.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.redactText = redactText;
12
+ // Order matters: specific token shapes run before the generic key=value
13
+ // catch-all so a Stripe key inside `secret=sk_live_...` reports as a Stripe
14
+ // key, and before EMAIL/PHONE so structured tokens aren't half-eaten.
15
+ const REDACTIONS = [
16
+ { pattern: /sk-ant-[A-Za-z0-9_-]{20,}/g, replace: () => "[ANTHROPIC_KEY]" },
17
+ { pattern: /sk-or-[A-Za-z0-9_-]{20,}/g, replace: () => "[OPENROUTER_KEY]" },
18
+ { pattern: /sk_live_[A-Za-z0-9]{20,}/g, replace: () => "[STRIPE_KEY]" },
19
+ { pattern: /sk-[A-Za-z0-9_-]{20,}/g, replace: () => "[API_KEY]" },
20
+ { pattern: /whsec_[A-Za-z0-9]{20,}/g, replace: () => "[WEBHOOK_SECRET]" },
21
+ { pattern: /gh[pousr]_[A-Za-z0-9]{20,}/g, replace: () => "[GITHUB_TOKEN]" },
22
+ { pattern: /github_pat_[A-Za-z0-9_]{20,}/g, replace: () => "[GITHUB_TOKEN]" },
23
+ { pattern: /xox[baprs]-[A-Za-z0-9-]{10,}/g, replace: () => "[SLACK_TOKEN]" },
24
+ { pattern: /AKIA[0-9A-Z]{16}/g, replace: () => "[AWS_KEY]" },
25
+ { pattern: /sbp_[A-Za-z0-9]{20,}/g, replace: () => "[SUPABASE_TOKEN]" },
26
+ { pattern: /(?:dev|prod):[a-z0-9-]+\|[A-Za-z0-9+/=]{20,}/g, replace: () => "[CONVEX_DEPLOY_KEY]" },
27
+ {
28
+ pattern: /eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}/g,
29
+ replace: () => "[JWT]",
30
+ },
31
+ {
32
+ // key: value / key=value assignments; keeps the key name so the mined
33
+ // corpus still shows WHAT was configured, just not the value.
34
+ // (?!\[) keeps it from eating placeholders a more specific pattern
35
+ // already substituted, e.g. `token: [JWT]`.
36
+ pattern: /\b(api[_-]?key|apikey|secret|token|password|passwd)(\s*[:=]\s*)(?!\[)\S+/gi,
37
+ replace: (key) => `${key}=[REDACTED]`,
38
+ },
39
+ { pattern: /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g, replace: () => "[EMAIL]" },
40
+ {
41
+ // Phone shapes: optional +country, then 9-14 digits in dot/dash/space/paren
42
+ // groups. Deliberately narrower than "any digit run" so dates
43
+ // (2026-07-09), timestamps, and version strings survive.
44
+ pattern: /(?<![\d.-])(?:\+?\d{1,3}[\s.-])?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}(?![\d.-])/g,
45
+ replace: () => "[PHONE]",
46
+ },
47
+ { pattern: /\b(?:\d{1,3}\.){3}\d{1,3}\b/g, replace: () => "[IP]" },
48
+ ];
49
+ function redactText(text) {
50
+ let out = text;
51
+ let hits = 0;
52
+ for (const { pattern, replace } of REDACTIONS) {
53
+ out = out.replace(pattern, (...args) => {
54
+ hits += 1;
55
+ // args = [match, ...groups, offset, string]; pass captured groups only.
56
+ const groups = args.slice(1, -2);
57
+ return replace(...groups);
58
+ });
59
+ }
60
+ return { text: out, hits };
61
+ }
62
+ //# sourceMappingURL=redact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/lib/redact.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAmDH,gCAYC;AAlDD,wEAAwE;AACxE,4EAA4E;AAC5E,sEAAsE;AACtE,MAAM,UAAU,GAAuB;IACrC,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE;IAC3E,EAAE,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;IAC3E,EAAE,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;IACvE,EAAE,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;IACjE,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;IACzE,EAAE,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE;IAC3E,EAAE,OAAO,EAAE,+BAA+B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE;IAC7E,EAAE,OAAO,EAAE,+BAA+B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;IAC5E,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;IAC5D,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;IACvE,EAAE,OAAO,EAAE,+CAA+C,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE;IAClG;QACE,OAAO,EAAE,gEAAgE;QACzE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;KACvB;IACD;QACE,sEAAsE;QACtE,8DAA8D;QAC9D,mEAAmE;QACnE,4CAA4C;QAC5C,OAAO,EAAE,4EAA4E;QACrF,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa;KACtC;IACD,EAAE,OAAO,EAAE,iDAAiD,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;IACxF;QACE,4EAA4E;QAC5E,8DAA8D;QAC9D,yDAAyD;QACzD,OAAO,EAAE,gFAAgF;QACzF,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;KACzB;IACD,EAAE,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE;CACnE,CAAC;AAEF,SAAgB,UAAU,CAAC,IAAY;IACrC,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,EAAE,CAAC;QAC9C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,CAAC;YACV,wEAAwE;YACxE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAa,CAAC;YAC7C,OAAO,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Canonical per-project task files: project-context/tasks.json + tasks.md.
3
+ *
4
+ * tasks.json is the machine truth (schema you-md/tasks/v1, fields aligned
5
+ * with the Convex portfolioTasks table so rows round-trip losslessly).
6
+ * tasks.md is the human/agent view, regenerated from tasks.json on every
7
+ * write. Checkbox edits made directly in tasks.md are reconciled back into
8
+ * tasks.json on the next read — tick a box in either file and both agree.
9
+ * Freeform prose in tasks.md between the notes markers is preserved verbatim
10
+ * across regenerations, so watchpoints and context never get clobbered.
11
+ *
12
+ * Legacy freeform tasks.md files (plain checklists with no id comments) are
13
+ * imported automatically on first read: bullets become tasks, nothing is lost.
14
+ */
15
+ export declare const TASKS_SCHEMA = "you-md/tasks/v1";
16
+ export declare const TASK_STATUSES: readonly ["proposed", "open", "in_progress", "done", "snoozed", "cancelled"];
17
+ export declare const TASK_PRIORITIES: readonly ["low", "normal", "high", "urgent"];
18
+ export type TaskStatus = (typeof TASK_STATUSES)[number];
19
+ export type TaskPriority = (typeof TASK_PRIORITIES)[number];
20
+ export interface TaskEntry {
21
+ id: string;
22
+ title: string;
23
+ description?: string;
24
+ status: TaskStatus;
25
+ priority: TaskPriority;
26
+ owner: "human" | "agent";
27
+ ownerLabel?: string;
28
+ tags: string[];
29
+ /** "manual" | "braindump" | "agent" | "github" | "chat" | "legacy-md" | ... */
30
+ source?: string;
31
+ /** What proof means done — the anti-"marked done but not working" field. */
32
+ verify?: string;
33
+ createdAt: string;
34
+ updatedAt: string;
35
+ completedAt?: string;
36
+ /** Convex portfolioTasks id once synced to the platform. */
37
+ remoteId?: string;
38
+ }
39
+ export interface TasksDoc {
40
+ $schema: typeof TASKS_SCHEMA;
41
+ project: string;
42
+ updatedAt: string;
43
+ tasks: TaskEntry[];
44
+ /** Freeform notes preserved in tasks.md between the notes markers. */
45
+ notes?: string;
46
+ }
47
+ export declare function generateTaskId(now?: Date): string;
48
+ export declare function tasksJsonPath(contextDir: string): string;
49
+ export declare function tasksMdPath(contextDir: string): string;
50
+ /** Parse a legacy freeform tasks.md checklist into task entries. */
51
+ export declare function parseLegacyTasksMd(content: string, project: string): TasksDoc;
52
+ /** Render tasks.md from the doc. Deterministic; safe to regenerate. */
53
+ export declare function renderTasksMd(doc: TasksDoc): string;
54
+ /**
55
+ * Reconcile checkbox states in tasks.md back into the doc. Only the checkbox
56
+ * is authoritative in md — a ticked box marks done, an unticked box on a
57
+ * done/cancelled task reopens it. Returns the number of changed tasks.
58
+ */
59
+ export declare function reconcileMdCheckboxes(doc: TasksDoc, mdContent: string): number;
60
+ /**
61
+ * Load the canonical task doc for a project-context directory.
62
+ *
63
+ * - tasks.json exists → parse it, then reconcile tasks.md checkbox edits.
64
+ * - only a legacy tasks.md exists → import it (one-time migration).
65
+ * - neither exists → fresh empty doc.
66
+ */
67
+ export declare function readTasksDoc(contextDir: string, project: string): {
68
+ doc: TasksDoc;
69
+ migrated: boolean;
70
+ reconciled: number;
71
+ };
72
+ /** Write both files atomically-ish: json first (truth), then the md render. */
73
+ export declare function writeTasksDoc(contextDir: string, doc: TasksDoc): void;
74
+ export declare function addTask(doc: TasksDoc, input: Partial<TaskEntry> & {
75
+ title: string;
76
+ }): TaskEntry;
77
+ export declare function findTask(doc: TasksDoc, idOrTitle: string): TaskEntry | undefined;
78
+ export declare function openTasks(doc: TasksDoc): TaskEntry[];
79
+ //# sourceMappingURL=tasksFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasksFile.d.ts","sourceRoot":"","sources":["../../src/lib/tasksFile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAC9C,eAAO,MAAM,aAAa,8EAA+E,CAAC;AAC1G,eAAO,MAAM,eAAe,8CAA+C,CAAC;AAE5E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,YAAY,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,wBAAgB,cAAc,CAAC,GAAG,OAAa,GAAG,MAAM,CAGvD;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEtD;AAkCD,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CA6C7E;AAUD,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CA0BnD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAyB9E;AAUD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAuC1H;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAKrE;AAED,wBAAgB,OAAO,CACrB,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5C,SAAS,CAIX;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAOhF;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,EAAE,CAEpD"}