@postalsys/email-content 0.1.7 → 0.1.9
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/README.md +65 -12
- package/dist/.tsbuildinfo +1 -1
- package/dist/analyze.d.ts +6 -0
- package/dist/analyze.d.ts.map +1 -1
- package/dist/analyze.js +27 -6
- package/dist/analyze.js.map +1 -1
- package/dist/annotate/agreement.d.ts +99 -0
- package/dist/annotate/agreement.d.ts.map +1 -0
- package/dist/annotate/agreement.js +126 -0
- package/dist/annotate/agreement.js.map +1 -0
- package/dist/annotate/client.d.ts +7 -19
- package/dist/annotate/client.d.ts.map +1 -1
- package/dist/annotate/client.js +28 -82
- package/dist/annotate/client.js.map +1 -1
- package/dist/annotate/http.d.ts +57 -0
- package/dist/annotate/http.d.ts.map +1 -0
- package/dist/annotate/http.js +99 -0
- package/dist/annotate/http.js.map +1 -0
- package/dist/annotate/llm.d.ts +17 -0
- package/dist/annotate/llm.d.ts.map +1 -1
- package/dist/annotate/llm.js +68 -36
- package/dist/annotate/llm.js.map +1 -1
- package/dist/annotate/probabilities.d.ts +48 -0
- package/dist/annotate/probabilities.d.ts.map +1 -0
- package/dist/annotate/probabilities.js +119 -0
- package/dist/annotate/probabilities.js.map +1 -0
- package/dist/annotate/providers.d.ts +26 -0
- package/dist/annotate/providers.d.ts.map +1 -0
- package/dist/annotate/providers.js +43 -0
- package/dist/annotate/providers.js.map +1 -0
- package/dist/annotate/store.d.ts +3 -0
- package/dist/annotate/store.d.ts.map +1 -1
- package/dist/annotate/store.js +3 -2
- package/dist/annotate/store.js.map +1 -1
- package/dist/annotate/typesafe-client.d.ts +64 -0
- package/dist/annotate/typesafe-client.d.ts.map +1 -0
- package/dist/annotate/typesafe-client.js +76 -0
- package/dist/annotate/typesafe-client.js.map +1 -0
- package/dist/annotate/typesafe-prompt.d.ts +64 -0
- package/dist/annotate/typesafe-prompt.d.ts.map +1 -0
- package/dist/annotate/typesafe-prompt.js +170 -0
- package/dist/annotate/typesafe-prompt.js.map +1 -0
- package/dist/canonical/text.d.ts +15 -3
- package/dist/canonical/text.d.ts.map +1 -1
- package/dist/canonical/text.js +20 -4
- package/dist/canonical/text.js.map +1 -1
- package/dist/classify/rules.d.ts +7 -0
- package/dist/classify/rules.d.ts.map +1 -1
- package/dist/classify/rules.js +67 -14
- package/dist/classify/rules.js.map +1 -1
- package/dist/cli/agreement.d.ts +27 -0
- package/dist/cli/agreement.d.ts.map +1 -0
- package/dist/cli/agreement.js +153 -0
- package/dist/cli/agreement.js.map +1 -0
- package/dist/cli/annotate.d.ts.map +1 -1
- package/dist/cli/annotate.js +28 -16
- package/dist/cli/annotate.js.map +1 -1
- package/dist/cli/audit.d.ts +12 -0
- package/dist/cli/audit.d.ts.map +1 -0
- package/dist/cli/audit.js +134 -0
- package/dist/cli/audit.js.map +1 -0
- package/dist/cli/disagreements.d.ts.map +1 -1
- package/dist/cli/disagreements.js +20 -3
- package/dist/cli/disagreements.js.map +1 -1
- package/dist/cli/evaluate.d.ts.map +1 -1
- package/dist/cli/evaluate.js +5 -70
- package/dist/cli/evaluate.js.map +1 -1
- package/dist/cli/main.js +28 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/corpus/analyze.d.ts.map +1 -1
- package/dist/corpus/analyze.js +4 -5
- package/dist/corpus/analyze.js.map +1 -1
- package/dist/corpus/migrations/index.d.ts.map +1 -1
- package/dist/corpus/migrations/index.js +14 -0
- package/dist/corpus/migrations/index.js.map +1 -1
- package/dist/corpus/stats.d.ts +1 -0
- package/dist/corpus/stats.d.ts.map +1 -1
- package/dist/corpus/stats.js +1 -0
- package/dist/corpus/stats.js.map +1 -1
- package/dist/detect/patterns/forward-headers.json +24 -0
- package/dist/detect/patterns/html-clients.json +27 -0
- package/dist/detect/patterns/reply-headers.json +368 -0
- package/dist/detect/patterns.d.ts +19 -0
- package/dist/detect/patterns.d.ts.map +1 -1
- package/dist/detect/patterns.js +53 -25
- package/dist/detect/patterns.js.map +1 -1
- package/dist/detect/reply-header.d.ts.map +1 -1
- package/dist/detect/reply-header.js +12 -1
- package/dist/detect/reply-header.js.map +1 -1
- package/dist/detect/subject.d.ts +16 -0
- package/dist/detect/subject.d.ts.map +1 -0
- package/dist/detect/subject.js +22 -0
- package/dist/detect/subject.js.map +1 -0
- package/dist/eval/pattern-audit.d.ts +56 -0
- package/dist/eval/pattern-audit.d.ts.map +1 -0
- package/dist/eval/pattern-audit.js +111 -0
- package/dist/eval/pattern-audit.js.map +1 -0
- package/dist/eval/reference.d.ts +44 -0
- package/dist/eval/reference.d.ts.map +1 -0
- package/dist/eval/reference.js +87 -0
- package/dist/eval/reference.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/mime/flowed.d.ts +14 -0
- package/dist/mime/flowed.d.ts.map +1 -0
- package/dist/mime/flowed.js +71 -0
- package/dist/mime/flowed.js.map +1 -0
- package/dist/mime/parse.js +2 -5
- package/dist/mime/parse.js.map +1 -1
- package/dist/segment/html-blocks.d.ts.map +1 -1
- package/dist/segment/html-blocks.js +11 -7
- package/dist/segment/html-blocks.js.map +1 -1
- package/dist/segment/text-blocks.d.ts.map +1 -1
- package/dist/segment/text-blocks.js +14 -3
- package/dist/segment/text-blocks.js.map +1 -1
- package/dist/types.d.ts +18 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/package.json +8 -8
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `email-content audit` subcommand.
|
|
3
|
+
*
|
|
4
|
+
* Per pattern and per rule precision against the stored reference labels, so a pattern that fires
|
|
5
|
+
* on authored text can be found and fixed by name. See src/eval/pattern-audit.ts for what the two
|
|
6
|
+
* views measure.
|
|
7
|
+
*
|
|
8
|
+
* Prints pattern ids, reason codes and counts only, never message content.
|
|
9
|
+
*/
|
|
10
|
+
import { type ParsedArgs } from './args';
|
|
11
|
+
export declare function auditCommand(args: ParsedArgs): Promise<number>;
|
|
12
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/cli/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAA4C,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAwBnF,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAuGpE"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `email-content audit` subcommand.
|
|
4
|
+
*
|
|
5
|
+
* Per pattern and per rule precision against the stored reference labels, so a pattern that fires
|
|
6
|
+
* on authored text can be found and fixed by name. See src/eval/pattern-audit.ts for what the two
|
|
7
|
+
* views measure.
|
|
8
|
+
*
|
|
9
|
+
* Prints pattern ids, reason codes and counts only, never message content.
|
|
10
|
+
*/
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.auditCommand = auditCommand;
|
|
16
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
17
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
18
|
+
const index_1 = require("../index");
|
|
19
|
+
const store_1 = require("../corpus/store");
|
|
20
|
+
const thread_index_1 = require("../corpus/thread-index");
|
|
21
|
+
const pattern_audit_1 = require("../eval/pattern-audit");
|
|
22
|
+
const reference_1 = require("../eval/reference");
|
|
23
|
+
const parse_1 = require("../mime/parse");
|
|
24
|
+
const types_1 = require("../types");
|
|
25
|
+
const args_1 = require("./args");
|
|
26
|
+
function pct(value, total) {
|
|
27
|
+
return total ? `${((100 * value) / total).toFixed(1)}%` : '-';
|
|
28
|
+
}
|
|
29
|
+
function renderRows(title, rows, minBlocks) {
|
|
30
|
+
const out = [title, ` ${'key'.padEnd(52)} blocks precision authored lost lost chars reference labels`];
|
|
31
|
+
for (const row of rows) {
|
|
32
|
+
if (row.blocks < minBlocks && !row.authoredHidden) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
const labels = types_1.LABELS.filter(label => row.byReference[label])
|
|
36
|
+
.map(label => `${label.slice(0, 5)}:${row.byReference[label]}`)
|
|
37
|
+
.join(' ');
|
|
38
|
+
out.push(` ${row.key.slice(0, 52).padEnd(52)} ${String(row.blocks).padStart(6)} ${(row.expected ? pct(row.matching, row.scored) : '-').padStart(10)} ` +
|
|
39
|
+
`${String(row.authored).padStart(9)} ${String(row.authoredHidden).padStart(5)} ${String(row.authoredHiddenChars).padStart(11)} ${labels}`);
|
|
40
|
+
}
|
|
41
|
+
out.push('');
|
|
42
|
+
return out;
|
|
43
|
+
}
|
|
44
|
+
async function auditCommand(args) {
|
|
45
|
+
const dbPath = (0, args_1.flagString)(args, 'db', 'data/corpus.sqlite');
|
|
46
|
+
if (!node_fs_1.default.existsSync(dbPath)) {
|
|
47
|
+
process.stderr.write(`no corpus database at ${dbPath}\n`);
|
|
48
|
+
return 2;
|
|
49
|
+
}
|
|
50
|
+
const model = (0, args_1.flagString)(args, 'model', 'gpt-5.6-sol');
|
|
51
|
+
const promptVersion = (0, args_1.flagString)(args, 'prompt-version', '');
|
|
52
|
+
const useHistory = (0, args_1.flagBool)(args, 'history', false);
|
|
53
|
+
const minBlocks = (0, args_1.flagNonNegativeInt)(args, 'min', 5);
|
|
54
|
+
const store = new store_1.CorpusStore(dbPath);
|
|
55
|
+
const root = store.latestCompletedRun()?.root;
|
|
56
|
+
if (!root) {
|
|
57
|
+
process.stderr.write('no completed scan run found\n');
|
|
58
|
+
store.close();
|
|
59
|
+
return 2;
|
|
60
|
+
}
|
|
61
|
+
const byPath = (0, reference_1.loadReference)(store, model, promptVersion);
|
|
62
|
+
if (!byPath.size) {
|
|
63
|
+
process.stderr.write(`no annotations found for model ${model}. Run "annotate" first.\n`);
|
|
64
|
+
store.close();
|
|
65
|
+
return 2;
|
|
66
|
+
}
|
|
67
|
+
const resolver = useHistory ? (0, thread_index_1.corpusThreadResolver)(store, root) : null;
|
|
68
|
+
process.stderr.write(`auditing ${byPath.size} messages against ${model}${useHistory ? ', with thread history' : ''}\n`);
|
|
69
|
+
const blocks = [];
|
|
70
|
+
let failures = 0;
|
|
71
|
+
let unaligned = 0;
|
|
72
|
+
for (const [relPath, references] of byPath) {
|
|
73
|
+
let result;
|
|
74
|
+
try {
|
|
75
|
+
const raw = node_fs_1.default.readFileSync(node_path_1.default.join(root, relPath));
|
|
76
|
+
let historyDocuments;
|
|
77
|
+
if (resolver) {
|
|
78
|
+
try {
|
|
79
|
+
historyDocuments = await resolver.resolve((await (0, parse_1.parseMessage)(raw)).headers);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
historyDocuments = undefined;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
result = await (0, index_1.extract)(raw, { explain: true, ...(historyDocuments?.length ? { historyDocuments } : {}) });
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
failures++;
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
const diagnostics = result.diagnostics?.blocks ?? [];
|
|
92
|
+
const primary = result.diagnostics?.primaryPart ?? '';
|
|
93
|
+
const byCoordinates = new Map(diagnostics.map(block => [`${block.mimePart}|${block.sourceIndex}`, block]));
|
|
94
|
+
const lookup = (0, reference_1.segmentLookup)(result.segments, result.hiddenSegments);
|
|
95
|
+
for (const reference of references) {
|
|
96
|
+
// Same fallback as the segment lookup: an annotation without a part belongs to the
|
|
97
|
+
// only part a single section message has.
|
|
98
|
+
const block = byCoordinates.get(`${reference.mime_part ?? primary}|${reference.block_index}`);
|
|
99
|
+
if (!block) {
|
|
100
|
+
unaligned++;
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
const covering = lookup(reference.mime_part, reference.block_index);
|
|
104
|
+
blocks.push({
|
|
105
|
+
reference: reference.label,
|
|
106
|
+
predicted: covering?.label ?? 'UNKNOWN',
|
|
107
|
+
hidden: covering?.hidden ?? false,
|
|
108
|
+
chars: reference.char_count,
|
|
109
|
+
evidence: block.evidence,
|
|
110
|
+
reasons: block.reasons
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
store.close();
|
|
115
|
+
if (failures) {
|
|
116
|
+
process.stderr.write(`${failures} message(s) could not be audited\n`);
|
|
117
|
+
}
|
|
118
|
+
if (unaligned) {
|
|
119
|
+
// Annotations made before a segmentation change can point at blocks that no longer exist.
|
|
120
|
+
process.stderr.write(`${unaligned} annotated block(s) no longer align with the current segmentation and were skipped\n`);
|
|
121
|
+
}
|
|
122
|
+
const audit = (0, pattern_audit_1.auditPatterns)(blocks);
|
|
123
|
+
if ((0, args_1.flagBool)(args, 'json', false)) {
|
|
124
|
+
process.stdout.write(`${JSON.stringify(audit, null, 2)}\n`);
|
|
125
|
+
return 0;
|
|
126
|
+
}
|
|
127
|
+
const out = [`PATTERN AUDIT vs ${model}${useHistory ? ' (with history)' : ' (no history)'}`, ` blocks ${audit.blocks}`, ''];
|
|
128
|
+
out.push(' precision: share of hits whose reference label is one the evidence kind implies', ' authored: hits the reference says the sender wrote (NEW_CONTENT or INLINE_QUOTE)', ' lost: authored hits the extractor hid', '');
|
|
129
|
+
out.push(...renderRows('EVIDENCE (pattern precision, worst first)', audit.evidence, minBlocks));
|
|
130
|
+
out.push(...renderRows('REASONS (rule precision against the label the rule assigned)', audit.reasons, minBlocks));
|
|
131
|
+
process.stdout.write(`${out.join('\n')}\n`);
|
|
132
|
+
return 0;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/cli/audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disagreements.d.ts","sourceRoot":"","sources":["../../src/cli/disagreements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"disagreements.d.ts","sourceRoot":"","sources":["../../src/cli/disagreements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,EAAmD,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AA6C1F,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA8H5E"}
|
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.disagreementsCommand = disagreementsCommand;
|
|
18
18
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
19
19
|
const node_path_1 = __importDefault(require("node:path"));
|
|
20
|
+
const probabilities_1 = require("../annotate/probabilities");
|
|
20
21
|
const rules_1 = require("../classify/rules");
|
|
21
22
|
const store_1 = require("../corpus/store");
|
|
22
23
|
const parse_1 = require("../mime/parse");
|
|
@@ -64,6 +65,11 @@ async function disagreementsCommand(args) {
|
|
|
64
65
|
return 2;
|
|
65
66
|
}
|
|
66
67
|
const limit = (0, args_1.flagPositiveInt)(args, 'limit', 20);
|
|
68
|
+
const sort = (0, args_1.flagString)(args, 'sort', 'size');
|
|
69
|
+
if (sort !== 'size' && sort !== 'margin') {
|
|
70
|
+
process.stderr.write(`unknown sort: ${sort}. Use size or margin\n`);
|
|
71
|
+
return 2;
|
|
72
|
+
}
|
|
67
73
|
const context = (0, args_1.flagNonNegativeInt)(args, 'context', 2);
|
|
68
74
|
const store = new store_1.CorpusStore(dbPath);
|
|
69
75
|
// Only a run that finished cleanly. An interrupted or failed run holds partial output that
|
|
@@ -92,10 +98,13 @@ async function disagreementsCommand(args) {
|
|
|
92
98
|
params.push(versionFilter);
|
|
93
99
|
}
|
|
94
100
|
const runJoin = joins.length ? `AND run_id IN (SELECT r.id FROM annotation_runs r WHERE ${joins.join(' AND ')})` : '';
|
|
95
|
-
|
|
101
|
+
// Smallest margin first: the blocks the annotator itself found ambiguous, which is where a human
|
|
102
|
+
// adjudicator adds the most. Rows without a distribution have no margin and sort last, by size.
|
|
103
|
+
const order = sort === 'margin' ? 'margin IS NULL, margin, char_count DESC' : 'char_count DESC';
|
|
104
|
+
const rows = store.query(`SELECT path, block_index, representation, label, confidence, baseline_label, baseline_conf, baseline_reasons, char_count, probabilities, margin
|
|
96
105
|
FROM annotations
|
|
97
106
|
WHERE ${clause} ${runFilter ? 'AND run_id = ' + runFilter : ''} ${runJoin}
|
|
98
|
-
ORDER BY
|
|
107
|
+
ORDER BY ${order}
|
|
99
108
|
LIMIT ?`, ...params, limit);
|
|
100
109
|
if (!rows.length) {
|
|
101
110
|
process.stdout.write(`no ${direction} disagreements recorded\n`);
|
|
@@ -103,7 +112,7 @@ async function disagreementsCommand(args) {
|
|
|
103
112
|
return 0;
|
|
104
113
|
}
|
|
105
114
|
const out = [];
|
|
106
|
-
out.push(`${rows.length} ${direction} disagreement(s), largest first`);
|
|
115
|
+
out.push(`${rows.length} ${direction} disagreement(s), ${sort === 'margin' ? 'most ambiguous' : 'largest'} first`);
|
|
107
116
|
if (direction === 'expensive') {
|
|
108
117
|
out.push('The baseline treated these as reply history. The annotator thought the sender wrote them.');
|
|
109
118
|
out.push('Each one is a candidate content loss bug and should be judged by a human.');
|
|
@@ -126,6 +135,14 @@ async function disagreementsCommand(args) {
|
|
|
126
135
|
out.push(`${row.path} block #${row.block_index} (${row.representation})`);
|
|
127
136
|
out.push(` baseline: ${row.baseline_label} ${row.baseline_conf?.toFixed(2) ?? '?'} annotator: ${row.label} ${row.confidence.toFixed(2)}`);
|
|
128
137
|
out.push(` reasons: ${row.baseline_reasons || 'none'}`);
|
|
138
|
+
const probabilities = (0, probabilities_1.parseStoredProbabilities)(row.probabilities);
|
|
139
|
+
if (probabilities) {
|
|
140
|
+
const ranked = Object.entries(probabilities)
|
|
141
|
+
.filter(([, value]) => value >= 0.01)
|
|
142
|
+
.sort((a, b) => b[1] - a[1])
|
|
143
|
+
.map(([label, value]) => `${label} ${value.toFixed(2)}`);
|
|
144
|
+
out.push(` p: ${ranked.join(' ')} (margin ${(row.margin ?? (0, probabilities_1.probabilityMargin)(probabilities)).toFixed(2)})`);
|
|
145
|
+
}
|
|
129
146
|
if (block) {
|
|
130
147
|
out.push(` depth: quote=${block.features.quoteDepth} blockquote=${block.features.blockquoteDepth} kind=${block.kind}`);
|
|
131
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disagreements.js","sourceRoot":"","sources":["../../src/cli/disagreements.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;
|
|
1
|
+
{"version":3,"file":"disagreements.js","sourceRoot":"","sources":["../../src/cli/disagreements.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/cli/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/cli/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,OAAO,EAA4C,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAsEnF,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAyHvE"}
|
package/dist/cli/evaluate.js
CHANGED
|
@@ -25,6 +25,7 @@ const store_1 = require("../corpus/store");
|
|
|
25
25
|
const thread_index_1 = require("../corpus/thread-index");
|
|
26
26
|
const metrics_1 = require("../eval/metrics");
|
|
27
27
|
const parse_1 = require("../mime/parse");
|
|
28
|
+
const reference_1 = require("../eval/reference");
|
|
28
29
|
const types_1 = require("../types");
|
|
29
30
|
const args_1 = require("./args");
|
|
30
31
|
function pct(value) {
|
|
@@ -102,39 +103,13 @@ async function evaluateCommand(args) {
|
|
|
102
103
|
store.close();
|
|
103
104
|
return 2;
|
|
104
105
|
}
|
|
105
|
-
//
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
// messages labelled only under an older convention are still included. The annotation guide's
|
|
109
|
-
// rule that runs made under different conventions must never be silently compared is the
|
|
110
|
-
// reason the flag exists; use it whenever more than one prompt version is present.
|
|
111
|
-
const versionClause = promptVersion ? ' AND r.prompt_version = ?' : '';
|
|
112
|
-
const versionClauseInner = promptVersion ? ' AND r2.prompt_version = ?' : '';
|
|
113
|
-
const params = promptVersion ? [model, promptVersion, promptVersion] : [model];
|
|
114
|
-
const reference = store.query(`SELECT a.path, a.block_index, a.mime_part, a.label, a.char_count, m.client, m.lang, m.reply_style
|
|
115
|
-
FROM annotations a
|
|
116
|
-
JOIN annotation_runs r ON r.id = a.run_id
|
|
117
|
-
JOIN messages m ON m.path = a.path
|
|
118
|
-
WHERE r.model = ? AND a.source = 'llm'${versionClause}
|
|
119
|
-
AND a.id = (SELECT MAX(a2.id) FROM annotations a2
|
|
120
|
-
JOIN annotation_runs r2 ON r2.id = a2.run_id
|
|
121
|
-
WHERE a2.path = a.path AND a2.block_index = a.block_index AND r2.model = r.model${versionClauseInner})
|
|
122
|
-
ORDER BY a.path, a.block_index`, ...params);
|
|
123
|
-
if (!reference.length) {
|
|
106
|
+
// See loadReference for why an explicit --prompt-version matters when several are present.
|
|
107
|
+
const byPath = (0, reference_1.loadReference)(store, model, promptVersion);
|
|
108
|
+
if (!byPath.size) {
|
|
124
109
|
process.stderr.write(`no annotations found for model ${model}. Run "annotate" first.\n`);
|
|
125
110
|
store.close();
|
|
126
111
|
return 2;
|
|
127
112
|
}
|
|
128
|
-
const byPath = new Map();
|
|
129
|
-
for (const row of reference) {
|
|
130
|
-
const list = byPath.get(row.path);
|
|
131
|
-
if (list) {
|
|
132
|
-
list.push(row);
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
byPath.set(row.path, [row]);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
113
|
const paths = [...byPath.keys()].slice(0, limit || undefined);
|
|
139
114
|
const resolver = useHistory ? (0, thread_index_1.corpusThreadResolver)(store, root) : null;
|
|
140
115
|
process.stderr.write(`evaluating ${paths.length} messages against ${model}${useHistory ? ', with thread history' : ''}\n`);
|
|
@@ -172,47 +147,7 @@ async function evaluateCommand(args) {
|
|
|
172
147
|
failures++;
|
|
173
148
|
continue;
|
|
174
149
|
}
|
|
175
|
-
|
|
176
|
-
// so a block is matched by its index falling inside a segment's block range.
|
|
177
|
-
//
|
|
178
|
-
// Keyed per MIME part, not by block index alone. Block indices are section-local, so in a
|
|
179
|
-
// multipart message with several body sections two segments legitimately start at index 0,
|
|
180
|
-
// and a flat map silently kept only the last of them. Older annotations predate the part
|
|
181
|
-
// being recorded; those fall back to a single unnamed bucket, which is exactly the previous
|
|
182
|
-
// behaviour for the single section messages they came from.
|
|
183
|
-
const predictions = new Map();
|
|
184
|
-
const bucketFor = (part) => {
|
|
185
|
-
let bucket = predictions.get(part);
|
|
186
|
-
if (!bucket) {
|
|
187
|
-
bucket = new Map();
|
|
188
|
-
predictions.set(part, bucket);
|
|
189
|
-
}
|
|
190
|
-
return bucket;
|
|
191
|
-
};
|
|
192
|
-
for (const segment of [...result.segments, ...result.hiddenSegments]) {
|
|
193
|
-
const blockIndex = (0, types_1.blockIndexOf)(segment.source);
|
|
194
|
-
if (blockIndex !== null) {
|
|
195
|
-
bucketFor((0, types_1.mimePartOf)(segment.source) ?? '').set(blockIndex, { label: segment.type, hidden: segment.visibility === 'hide' });
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
const ordered = new Map([...predictions].map(([part, bucket]) => [part, [...bucket.keys()].sort((a, b) => a - b)]));
|
|
199
|
-
// Segments start at a block index and run to the next one, so fill forward within the part.
|
|
200
|
-
const lookup = (part, index) => {
|
|
201
|
-
// An annotation with no recorded part matches whichever part the output actually used,
|
|
202
|
-
// which for a single section message is the only one there is.
|
|
203
|
-
const key = part !== null && predictions.has(part) ? part : (predictions.keys().next().value ?? '');
|
|
204
|
-
const starts = ordered.get(key) ?? [];
|
|
205
|
-
let best = null;
|
|
206
|
-
for (const start of starts) {
|
|
207
|
-
if (start <= index) {
|
|
208
|
-
best = start;
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
break;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
return best === null ? null : (predictions.get(key)?.get(best) ?? null);
|
|
215
|
-
};
|
|
150
|
+
const lookup = (0, reference_1.segmentLookup)(result.segments, result.hiddenSegments);
|
|
216
151
|
const first = references[0];
|
|
217
152
|
const group = groupBy === 'history'
|
|
218
153
|
? historyDocuments?.length
|
package/dist/cli/evaluate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/cli/evaluate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/cli/evaluate.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.js
CHANGED
|
@@ -74,8 +74,10 @@ Commands:
|
|
|
74
74
|
--traffic <class> human, ticketing, mailing-list, bulk, all (default human)
|
|
75
75
|
--replies false Include non replies
|
|
76
76
|
|
|
77
|
-
annotate Label blocks with an LLM instead of a human (sends content to
|
|
78
|
-
--
|
|
77
|
+
annotate Label blocks with an LLM instead of a human (sends content to the provider)
|
|
78
|
+
--provider <p> openai or typesafe (default openai)
|
|
79
|
+
--model <id> Model id (default gpt-5.6-sol, or jev-1.13.0 for typesafe)
|
|
80
|
+
--paths <file> Annotate exactly these corpus paths instead of sampling
|
|
79
81
|
--sample <n> Messages to annotate (default 25)
|
|
80
82
|
--concurrency <n> Parallel requests (default 4)
|
|
81
83
|
--traffic <class> Traffic class to sample from (default human)
|
|
@@ -87,6 +89,15 @@ Commands:
|
|
|
87
89
|
--direction <d> expensive, cheap, footers, all (default expensive)
|
|
88
90
|
--limit <n> Rows to show (default 20)
|
|
89
91
|
--run <id> Restrict to one annotation run
|
|
92
|
+
--model <id> Restrict to one annotator model
|
|
93
|
+
--prompt-version <v> Restrict to one prompt version
|
|
94
|
+
--sort <s> size, or margin for most ambiguous first (default size)
|
|
95
|
+
|
|
96
|
+
agreement Compare one annotator against others on shared blocks
|
|
97
|
+
--candidate <m@v> Annotator to judge, as model@prompt-version
|
|
98
|
+
--reference <m@v,...> Comma separated reference annotators
|
|
99
|
+
--cost-ratio <n> Re-apply the cost rule to the candidate's stored probabilities
|
|
100
|
+
--json Emit the full report as JSON
|
|
90
101
|
|
|
91
102
|
evaluate Score the extractor against an annotated reference set
|
|
92
103
|
--model <id> Reference annotations from this model (default gpt-5.6-sol)
|
|
@@ -94,6 +105,13 @@ Commands:
|
|
|
94
105
|
--group-by <field> client, lang or reply-style (default client)
|
|
95
106
|
--json Emit the full report as JSON
|
|
96
107
|
|
|
108
|
+
audit Per pattern and per rule precision against an annotated reference set
|
|
109
|
+
--model <id> Reference annotations from this model (default gpt-5.6-sol)
|
|
110
|
+
--prompt-version <v> Restrict to one prompt version
|
|
111
|
+
--history Resolve thread history from the corpus while auditing
|
|
112
|
+
--min <n> Hide rows with fewer blocks unless they lost content (default 5)
|
|
113
|
+
--json Emit the full report as JSON
|
|
114
|
+
|
|
97
115
|
version Print version information
|
|
98
116
|
|
|
99
117
|
Privacy: no command prints message bodies, subjects or addresses.
|
|
@@ -122,10 +140,18 @@ async function main(argv) {
|
|
|
122
140
|
const { disagreementsCommand } = await Promise.resolve().then(() => __importStar(require('./disagreements')));
|
|
123
141
|
return disagreementsCommand({ ...args, positional: args.positional.slice(1) });
|
|
124
142
|
}
|
|
143
|
+
case 'agreement': {
|
|
144
|
+
const { agreementCommand } = await Promise.resolve().then(() => __importStar(require('./agreement')));
|
|
145
|
+
return agreementCommand({ ...args, positional: args.positional.slice(1) });
|
|
146
|
+
}
|
|
125
147
|
case 'evaluate': {
|
|
126
148
|
const { evaluateCommand } = await Promise.resolve().then(() => __importStar(require('./evaluate')));
|
|
127
149
|
return evaluateCommand({ ...args, positional: args.positional.slice(1) });
|
|
128
150
|
}
|
|
151
|
+
case 'audit': {
|
|
152
|
+
const { auditCommand } = await Promise.resolve().then(() => __importStar(require('./audit')));
|
|
153
|
+
return auditCommand({ ...args, positional: args.positional.slice(1) });
|
|
154
|
+
}
|
|
129
155
|
case 'version':
|
|
130
156
|
process.stdout.write(`extractor ${types_1.EXTRACTOR_VERSION}, processing ${types_1.PROCESSING_VERSION}, node ${process.version}\n`);
|
|
131
157
|
return 0;
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";;AACA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oCAAqF;AACrF,iCAAmD;AAEnD,MAAM,KAAK,GAAG
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/corpus/analyze.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAoC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/corpus/analyze.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAoC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAGnE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,qBAAqB,EAAE,OAAO,CAAC;CAClC;AAiHD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CA6FlF"}
|
package/dist/corpus/analyze.js
CHANGED
|
@@ -16,8 +16,7 @@ const patterns_1 = require("../detect/patterns");
|
|
|
16
16
|
const traffic_1 = require("../detect/traffic");
|
|
17
17
|
const hash_1 = require("../util/hash");
|
|
18
18
|
const lang_1 = require("../util/lang");
|
|
19
|
-
const
|
|
20
|
-
const FORWARD_SUBJECT = /^\s*(fwd?|tr|wg|vs|vl|doorst|пересылка)\s*:/i;
|
|
19
|
+
const subject_1 = require("../detect/subject");
|
|
21
20
|
function pickParts(message) {
|
|
22
21
|
const plain = [];
|
|
23
22
|
const html = [];
|
|
@@ -155,9 +154,9 @@ function analyzeMessage(message, salt) {
|
|
|
155
154
|
const subject = headers.subject || '';
|
|
156
155
|
const subjectPrefix = !subject
|
|
157
156
|
? 'none'
|
|
158
|
-
: REPLY_SUBJECT.test(subject)
|
|
157
|
+
: subject_1.REPLY_SUBJECT.test(subject)
|
|
159
158
|
? 'reply'
|
|
160
|
-
: FORWARD_SUBJECT.test(subject)
|
|
159
|
+
: subject_1.FORWARD_SUBJECT.test(subject)
|
|
161
160
|
? 'forward'
|
|
162
161
|
: 'plain';
|
|
163
162
|
const rootPart = message.partsById.get(message.rootId);
|
|
@@ -176,7 +175,7 @@ function analyzeMessage(message, salt) {
|
|
|
176
175
|
dateMs: headers.dateMs,
|
|
177
176
|
fromDomain: extractDomain(headers.from),
|
|
178
177
|
fromHash: fromAddress ? (0, hash_1.saltedHash)(salt, fromAddress) : null,
|
|
179
|
-
subjectHash: subject ? (0, hash_1.saltedHash)(salt, subject.trim().toLowerCase().replace(REPLY_SUBJECT, '').replace(FORWARD_SUBJECT, '').trim()) : null,
|
|
178
|
+
subjectHash: subject ? (0, hash_1.saltedHash)(salt, subject.trim().toLowerCase().replace(subject_1.REPLY_SUBJECT, '').replace(subject_1.FORWARD_SUBJECT, '').trim()) : null,
|
|
180
179
|
subjectPrefix,
|
|
181
180
|
subjectLength: subject.length,
|
|
182
181
|
structure: message.structure,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/corpus/analyze.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/corpus/analyze.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/corpus/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/corpus/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EAgK1C,CAAC"}
|
|
@@ -152,6 +152,20 @@ CREATE INDEX annotations_path ON annotations(path);
|
|
|
152
152
|
CREATE INDEX annotations_run ON annotations(run_id);
|
|
153
153
|
CREATE INDEX annotations_source ON annotations(source);
|
|
154
154
|
CREATE INDEX annotations_agree ON annotations(agrees);
|
|
155
|
+
`
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
version: 3,
|
|
159
|
+
name: 'annotation-probabilities',
|
|
160
|
+
sql: `
|
|
161
|
+
-- Full label distribution per block, as JSON, from annotators that return one. The stored label is
|
|
162
|
+
-- a decision rule applied to it, so keeping the distribution lets the rule change without paying
|
|
163
|
+
-- for inference again. Null for annotators that only return a label.
|
|
164
|
+
ALTER TABLE annotations ADD COLUMN probabilities TEXT;
|
|
165
|
+
-- Gap between the two most probable labels, derived from probabilities at write time. A column
|
|
166
|
+
-- rather than a read time computation so review triage can ORDER BY it with a LIMIT, instead of
|
|
167
|
+
-- loading and parsing every disagreement to rank them.
|
|
168
|
+
ALTER TABLE annotations ADD COLUMN margin REAL;
|
|
155
169
|
`
|
|
156
170
|
}
|
|
157
171
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/corpus/migrations/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAQU,QAAA,UAAU,GAAyB;IAC5C;QACI,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFZ;KACI;IACD;QACI,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CZ;KACI;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/corpus/migrations/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAQU,QAAA,UAAU,GAAyB;IAC5C;QACI,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFZ;KACI;IACD;QACI,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CZ;KACI;IACD;QACI,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,0BAA0B;QAChC,GAAG,EAAE;;;;;;;;;CASZ;KACI;CACJ,CAAC"}
|