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.
- package/dist/commands/machine.d.ts.map +1 -1
- package/dist/commands/machine.js +3 -0
- package/dist/commands/machine.js.map +1 -1
- package/dist/commands/mine.d.ts +46 -0
- package/dist/commands/mine.d.ts.map +1 -0
- package/dist/commands/mine.js +317 -0
- package/dist/commands/mine.js.map +1 -0
- package/dist/commands/orchestrate.d.ts.map +1 -1
- package/dist/commands/orchestrate.js +33 -0
- package/dist/commands/orchestrate.js.map +1 -1
- package/dist/commands/prompts.d.ts.map +1 -1
- package/dist/commands/prompts.js +5 -2
- package/dist/commands/prompts.js.map +1 -1
- package/dist/commands/tasks.d.ts +34 -0
- package/dist/commands/tasks.d.ts.map +1 -0
- package/dist/commands/tasks.js +383 -0
- package/dist/commands/tasks.js.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/orchestrator/approvals.d.ts +21 -0
- package/dist/lib/orchestrator/approvals.d.ts.map +1 -0
- package/dist/lib/orchestrator/approvals.js +65 -0
- package/dist/lib/orchestrator/approvals.js.map +1 -0
- package/dist/lib/orchestrator/supervisor.d.ts +41 -0
- package/dist/lib/orchestrator/supervisor.d.ts.map +1 -1
- package/dist/lib/orchestrator/supervisor.js +49 -0
- package/dist/lib/orchestrator/supervisor.js.map +1 -1
- package/dist/lib/redact.d.ts +15 -0
- package/dist/lib/redact.d.ts.map +1 -0
- package/dist/lib/redact.js +62 -0
- package/dist/lib/redact.js.map +1 -0
- package/dist/lib/tasksFile.d.ts +79 -0
- package/dist/lib/tasksFile.d.ts.map +1 -0
- package/dist/lib/tasksFile.js +306 -0
- package/dist/lib/tasksFile.js.map +1 -0
- 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;
|
|
1
|
+
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../../src/lib/orchestrator/supervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|