@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.
Files changed (121) hide show
  1. package/README.md +65 -12
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/analyze.d.ts +6 -0
  4. package/dist/analyze.d.ts.map +1 -1
  5. package/dist/analyze.js +27 -6
  6. package/dist/analyze.js.map +1 -1
  7. package/dist/annotate/agreement.d.ts +99 -0
  8. package/dist/annotate/agreement.d.ts.map +1 -0
  9. package/dist/annotate/agreement.js +126 -0
  10. package/dist/annotate/agreement.js.map +1 -0
  11. package/dist/annotate/client.d.ts +7 -19
  12. package/dist/annotate/client.d.ts.map +1 -1
  13. package/dist/annotate/client.js +28 -82
  14. package/dist/annotate/client.js.map +1 -1
  15. package/dist/annotate/http.d.ts +57 -0
  16. package/dist/annotate/http.d.ts.map +1 -0
  17. package/dist/annotate/http.js +99 -0
  18. package/dist/annotate/http.js.map +1 -0
  19. package/dist/annotate/llm.d.ts +17 -0
  20. package/dist/annotate/llm.d.ts.map +1 -1
  21. package/dist/annotate/llm.js +68 -36
  22. package/dist/annotate/llm.js.map +1 -1
  23. package/dist/annotate/probabilities.d.ts +48 -0
  24. package/dist/annotate/probabilities.d.ts.map +1 -0
  25. package/dist/annotate/probabilities.js +119 -0
  26. package/dist/annotate/probabilities.js.map +1 -0
  27. package/dist/annotate/providers.d.ts +26 -0
  28. package/dist/annotate/providers.d.ts.map +1 -0
  29. package/dist/annotate/providers.js +43 -0
  30. package/dist/annotate/providers.js.map +1 -0
  31. package/dist/annotate/store.d.ts +3 -0
  32. package/dist/annotate/store.d.ts.map +1 -1
  33. package/dist/annotate/store.js +3 -2
  34. package/dist/annotate/store.js.map +1 -1
  35. package/dist/annotate/typesafe-client.d.ts +64 -0
  36. package/dist/annotate/typesafe-client.d.ts.map +1 -0
  37. package/dist/annotate/typesafe-client.js +76 -0
  38. package/dist/annotate/typesafe-client.js.map +1 -0
  39. package/dist/annotate/typesafe-prompt.d.ts +64 -0
  40. package/dist/annotate/typesafe-prompt.d.ts.map +1 -0
  41. package/dist/annotate/typesafe-prompt.js +170 -0
  42. package/dist/annotate/typesafe-prompt.js.map +1 -0
  43. package/dist/canonical/text.d.ts +15 -3
  44. package/dist/canonical/text.d.ts.map +1 -1
  45. package/dist/canonical/text.js +20 -4
  46. package/dist/canonical/text.js.map +1 -1
  47. package/dist/classify/rules.d.ts +7 -0
  48. package/dist/classify/rules.d.ts.map +1 -1
  49. package/dist/classify/rules.js +67 -14
  50. package/dist/classify/rules.js.map +1 -1
  51. package/dist/cli/agreement.d.ts +27 -0
  52. package/dist/cli/agreement.d.ts.map +1 -0
  53. package/dist/cli/agreement.js +153 -0
  54. package/dist/cli/agreement.js.map +1 -0
  55. package/dist/cli/annotate.d.ts.map +1 -1
  56. package/dist/cli/annotate.js +28 -16
  57. package/dist/cli/annotate.js.map +1 -1
  58. package/dist/cli/audit.d.ts +12 -0
  59. package/dist/cli/audit.d.ts.map +1 -0
  60. package/dist/cli/audit.js +134 -0
  61. package/dist/cli/audit.js.map +1 -0
  62. package/dist/cli/disagreements.d.ts.map +1 -1
  63. package/dist/cli/disagreements.js +20 -3
  64. package/dist/cli/disagreements.js.map +1 -1
  65. package/dist/cli/evaluate.d.ts.map +1 -1
  66. package/dist/cli/evaluate.js +5 -70
  67. package/dist/cli/evaluate.js.map +1 -1
  68. package/dist/cli/main.js +28 -2
  69. package/dist/cli/main.js.map +1 -1
  70. package/dist/corpus/analyze.d.ts.map +1 -1
  71. package/dist/corpus/analyze.js +4 -5
  72. package/dist/corpus/analyze.js.map +1 -1
  73. package/dist/corpus/migrations/index.d.ts.map +1 -1
  74. package/dist/corpus/migrations/index.js +14 -0
  75. package/dist/corpus/migrations/index.js.map +1 -1
  76. package/dist/corpus/stats.d.ts +1 -0
  77. package/dist/corpus/stats.d.ts.map +1 -1
  78. package/dist/corpus/stats.js +1 -0
  79. package/dist/corpus/stats.js.map +1 -1
  80. package/dist/detect/patterns/forward-headers.json +24 -0
  81. package/dist/detect/patterns/html-clients.json +27 -0
  82. package/dist/detect/patterns/reply-headers.json +368 -0
  83. package/dist/detect/patterns.d.ts +19 -0
  84. package/dist/detect/patterns.d.ts.map +1 -1
  85. package/dist/detect/patterns.js +53 -25
  86. package/dist/detect/patterns.js.map +1 -1
  87. package/dist/detect/reply-header.d.ts.map +1 -1
  88. package/dist/detect/reply-header.js +12 -1
  89. package/dist/detect/reply-header.js.map +1 -1
  90. package/dist/detect/subject.d.ts +16 -0
  91. package/dist/detect/subject.d.ts.map +1 -0
  92. package/dist/detect/subject.js +22 -0
  93. package/dist/detect/subject.js.map +1 -0
  94. package/dist/eval/pattern-audit.d.ts +56 -0
  95. package/dist/eval/pattern-audit.d.ts.map +1 -0
  96. package/dist/eval/pattern-audit.js +111 -0
  97. package/dist/eval/pattern-audit.js.map +1 -0
  98. package/dist/eval/reference.d.ts +44 -0
  99. package/dist/eval/reference.d.ts.map +1 -0
  100. package/dist/eval/reference.js +87 -0
  101. package/dist/eval/reference.js.map +1 -0
  102. package/dist/index.d.ts +5 -1
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +7 -2
  105. package/dist/index.js.map +1 -1
  106. package/dist/mime/flowed.d.ts +14 -0
  107. package/dist/mime/flowed.d.ts.map +1 -0
  108. package/dist/mime/flowed.js +71 -0
  109. package/dist/mime/flowed.js.map +1 -0
  110. package/dist/mime/parse.js +2 -5
  111. package/dist/mime/parse.js.map +1 -1
  112. package/dist/segment/html-blocks.d.ts.map +1 -1
  113. package/dist/segment/html-blocks.js +11 -7
  114. package/dist/segment/html-blocks.js.map +1 -1
  115. package/dist/segment/text-blocks.d.ts.map +1 -1
  116. package/dist/segment/text-blocks.js +14 -3
  117. package/dist/segment/text-blocks.js.map +1 -1
  118. package/dist/types.d.ts +18 -3
  119. package/dist/types.d.ts.map +1 -1
  120. package/dist/types.js +2 -2
  121. package/package.json +8 -8
@@ -67,6 +67,24 @@ function isQuote(block) {
67
67
  function isAnchorBlock(block) {
68
68
  return block.kind === 'reply_header' || block.kind === 'quoted_header_block';
69
69
  }
70
+ /**
71
+ * Whether an embedded header block (From/Sent/To/Subject) follows within the next few non-blank
72
+ * blocks: the corroboration that turns a lone anchor into Outlook's unmarked history shape.
73
+ */
74
+ function embeddedHeaderAfter(blocks, start) {
75
+ let seen = 0;
76
+ for (let i = start; i < blocks.length && seen < 4; i++) {
77
+ const block = blocks[i];
78
+ if (block.features.isAllBlank) {
79
+ continue;
80
+ }
81
+ seen++;
82
+ if (block.kind === 'quoted_header_block' || block.features.headerFieldLines >= 2) {
83
+ return true;
84
+ }
85
+ }
86
+ return false;
87
+ }
70
88
  /** Group blocks into alternating quoted and unquoted runs, ignoring blank blocks. */
71
89
  function findRuns(blocks) {
72
90
  const runs = [];
@@ -142,9 +160,10 @@ function classifyBlocks(blocks, options = {}) {
142
160
  if (hasAttribution || hasBlockquote) {
143
161
  for (const block of blocks) {
144
162
  const container = strengthOf(block, ['quote-container']);
145
- if (container >= config.minAnchorStrength && containerAnchor === -1) {
163
+ if (container >= config.minAnchorStrength) {
146
164
  containerAnchor = block.index;
147
165
  containerStrength = container;
166
+ break;
148
167
  }
149
168
  }
150
169
  }
@@ -354,10 +373,40 @@ function classifyBlocks(blocks, options = {}) {
354
373
  const runs = findRuns(blocks);
355
374
  const quotedRuns = runs.filter(run => run.quoted);
356
375
  const contentRunsAfterFirstQuote = runs.filter(run => !run.quoted && quotedRuns.length > 0 && run.start > quotedRuns[0].start);
376
+ // Where unmarked history begins, if a separator or reply anchor is followed closely by an
377
+ // embedded header block, the Outlook shape. Paragraphs after that point are the previous
378
+ // message's body, not answers, even though nothing marks them as quoted. Without this, a
379
+ // quote nested inside that history (Outlook replying to a Gmail thread) made the unmarked
380
+ // paragraphs look like answers between two quoted runs, and the whole history stayed visible.
381
+ // Only when the sender wrote something above it. A message that opens with the separator has no
382
+ // reply of its own before the "history", so the history is the message: in the reference set,
383
+ // two such messages lost every authored block when this was unconditional.
384
+ const authoredBefore = (index) => {
385
+ for (let i = 0; i < index; i++) {
386
+ const block = blocks[i];
387
+ if (hasWords(block) && !isQuote(block) && !isAnchorBlock(block) && decisions[i]?.label === 'NEW_CONTENT') {
388
+ return true;
389
+ }
390
+ }
391
+ return false;
392
+ };
393
+ const unmarkedHistoryStart = [separatorAnchor, replyAnchor]
394
+ .filter(index => index !== -1 && embeddedHeaderAfter(blocks, index) && authoredBefore(index))
395
+ .reduce((first, index) => Math.min(first, index), blocks.length);
357
396
  // Interleaved: more than one quoted run, with authored content between them. Every quoted run
358
397
  // is then context for the answer beside it, not disposable history.
359
398
  const interleaved = quotedRuns.length > 1 &&
360
399
  contentRunsAfterFirstQuote.some(run => {
400
+ if (run.start > unmarkedHistoryStart) {
401
+ return false;
402
+ }
403
+ // Likewise inside a trusted quote container: Lark keeps the previous message's body as
404
+ // plain paragraphs inside its history container, which are not answers either.
405
+ if (containerAnchor !== -1 &&
406
+ run.start >= containerAnchor &&
407
+ strengthOf(blocks[run.start], ['quote-container']) >= config.minAnchorStrength) {
408
+ return false;
409
+ }
361
410
  for (let i = run.start; i <= run.end; i++) {
362
411
  const decision = decisions[i];
363
412
  const block = blocks[i];
@@ -497,19 +546,7 @@ function classifyBlocks(blocks, options = {}) {
497
546
  // Corroboration: Outlook's shape is the separator followed closely by the embedded header
498
547
  // block. With it, this is safe to hide. Without it, the region is collapsed but stays
499
548
  // recoverable, because a lone anchor could in principle be text the sender typed.
500
- let corroborated = false;
501
- let seen = 0;
502
- for (let i = replyAnchor; i < blocks.length && seen < 4; i++) {
503
- const block = blocks[i];
504
- if (block.features.isAllBlank) {
505
- continue;
506
- }
507
- seen++;
508
- if (block.kind === 'quoted_header_block' || block.features.headerFieldLines >= 2) {
509
- corroborated = true;
510
- break;
511
- }
512
- }
549
+ const corroborated = embeddedHeaderAfter(blocks, replyAnchor);
513
550
  const reasons = corroborated
514
551
  ? ['preceded_by_reply_header', 'contains_old_message_headers', 'no_new_content_after_region']
515
552
  : ['preceded_by_reply_header', 'ambiguous_kept_visible'];
@@ -680,6 +717,22 @@ function classifyBlocks(blocks, options = {}) {
680
717
  decision.reasons = [...previous.reasons];
681
718
  }
682
719
  }
720
+ // In a forward, what the reply rules found is the forwarded message, not history. Several
721
+ // clients introduce a forward with the same markup they use for replies ("-------- Original
722
+ // Message --------", Outlook's #divRplyFwdMsg, quote containers), so without this the
723
+ // forwarded text is hidden. Relabelling at the end, rather than turning the anchor into a
724
+ // forward anchor, keeps everything the reply rules know about authored text after a quote:
725
+ // the anchor approach collapsed 48 reference NEW_CONTENT blocks that were visible before.
726
+ // This only ever turns hidden into collapsed. Measured on test/fixtures/clients: 144 tokens in
727
+ // 36 captured forwards were hidden before it, none after.
728
+ if (options.messageIsForward && forwardAnchor === -1) {
729
+ for (const decision of decisions) {
730
+ if (decision.label === 'REPLY_HISTORY') {
731
+ decision.label = 'FORWARDED_CONTENT';
732
+ decision.reasons = [...decision.reasons, 'forward_by_subject'];
733
+ }
734
+ }
735
+ }
683
736
  // Final guard: a message must never come out as nothing but its own footer.
684
737
  //
685
738
  // The signature region can legitimately grow to cover everything a sender typed when the
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/classify/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/classify/rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `email-content agreement` subcommand.
3
+ *
4
+ * Measures one annotator against others on the blocks they both labelled. This is the decision
5
+ * gate for adopting a new annotator: its agreement with the strong-model reference, and above all
6
+ * the count of blocks it would hide that every reference calls authored.
7
+ *
8
+ * Reads labels and counts only. Prints no message content.
9
+ */
10
+ import { type AgreementReport } from '../annotate/agreement';
11
+ import { type ParsedArgs } from './args';
12
+ interface AnnotatorSpec {
13
+ name: string;
14
+ model: string;
15
+ promptVersion: string | null;
16
+ }
17
+ /** `model@prompt-version`, or a bare model to take every prompt version's latest label. */
18
+ export declare function parseSpec(spec: string): AnnotatorSpec;
19
+ interface RunCost {
20
+ messages: number;
21
+ promptTokens: number;
22
+ wallMs: number;
23
+ }
24
+ export declare function renderAgreementReport(candidate: string, report: AgreementReport, cost: RunCost): string;
25
+ export declare function agreementCommand(args: ParsedArgs): Promise<number>;
26
+ export {};
27
+ //# sourceMappingURL=agreement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement.d.ts","sourceRoot":"","sources":["../../src/cli/agreement.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAqB,KAAK,eAAe,EAAuB,MAAM,uBAAuB,CAAC;AAKrG,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAElF,UAAU,aAAa;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAKrD;AAqDD,UAAU,OAAO;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAClB;AAaD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CA8CvG;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA2CxE"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ /**
3
+ * `email-content agreement` subcommand.
4
+ *
5
+ * Measures one annotator against others on the blocks they both labelled. This is the decision
6
+ * gate for adopting a new annotator: its agreement with the strong-model reference, and above all
7
+ * the count of blocks it would hide that every reference calls authored.
8
+ *
9
+ * Reads labels and counts only. Prints no 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.parseSpec = parseSpec;
16
+ exports.renderAgreementReport = renderAgreementReport;
17
+ exports.agreementCommand = agreementCommand;
18
+ const node_fs_1 = __importDefault(require("node:fs"));
19
+ const agreement_1 = require("../annotate/agreement");
20
+ const probabilities_1 = require("../annotate/probabilities");
21
+ const stats_1 = require("../corpus/stats");
22
+ const store_1 = require("../corpus/store");
23
+ const args_1 = require("./args");
24
+ /** `model@prompt-version`, or a bare model to take every prompt version's latest label. */
25
+ function parseSpec(spec) {
26
+ const at = spec.lastIndexOf('@');
27
+ const model = at === -1 ? spec : spec.slice(0, at);
28
+ const promptVersion = at === -1 ? null : spec.slice(at + 1) || null;
29
+ return { name: spec, model, promptVersion };
30
+ }
31
+ /** Runs belonging to an annotator, as a WHERE fragment over annotation_runs aliased `r`. */
32
+ function specWhere(spec) {
33
+ return spec.promptVersion
34
+ ? { sql: "r.source = 'llm' AND r.model = ? AND r.prompt_version = ?", params: [spec.model, spec.promptVersion] }
35
+ : { sql: "r.source = 'llm' AND r.model = ?", params: [spec.model] };
36
+ }
37
+ /**
38
+ * Labels for one annotator. Only the candidate needs distributions, and only when a cost ratio is
39
+ * re-applied; only references need a language, since per language figures are keyed on them.
40
+ */
41
+ function loadBlocks(store, spec, need) {
42
+ const where = specWhere(spec);
43
+ // Run order, so that later runs overwrite earlier ones per block in compareAnnotators.
44
+ const rows = store.query(`SELECT a.path, a.representation, a.block_index, a.mime_part, a.block_start, a.block_end, a.char_count, a.label,
45
+ ${need.probabilities ? 'a.probabilities' : 'NULL'} AS probabilities, ${need.lang ? 'm.lang' : 'NULL'} AS lang
46
+ FROM annotations a
47
+ JOIN annotation_runs r ON r.id = a.run_id
48
+ ${need.lang ? 'LEFT JOIN messages m ON m.path = a.path' : ''}
49
+ WHERE a.source = 'llm' AND ${where.sql}
50
+ ORDER BY a.run_id, a.id`, ...where.params);
51
+ return rows.map(row => ({
52
+ path: row.path,
53
+ representation: row.representation,
54
+ blockIndex: row.block_index,
55
+ mimePart: row.mime_part,
56
+ blockStart: row.block_start,
57
+ blockEnd: row.block_end,
58
+ charCount: row.char_count,
59
+ label: row.label,
60
+ probabilities: (0, probabilities_1.parseStoredProbabilities)(row.probabilities),
61
+ lang: row.lang
62
+ }));
63
+ }
64
+ function runCost(store, spec) {
65
+ const where = specWhere(spec);
66
+ const row = store.queryOne(`SELECT SUM(messages) AS messages, SUM(prompt_tokens) AS tokens, SUM(finished_at - started_at) AS wall
67
+ FROM annotation_runs r
68
+ WHERE r.finished_at IS NOT NULL AND ${where.sql}`, ...where.params);
69
+ return { messages: row?.messages ?? 0, promptTokens: row?.tokens ?? 0, wallMs: row?.wall ?? 0 };
70
+ }
71
+ function renderAgreementReport(candidate, report, cost) {
72
+ const out = [];
73
+ out.push(`AGREEMENT: ${candidate}`);
74
+ out.push(` candidate blocks ${report.candidateBlocks}, without any reference label ${report.unmatched}`);
75
+ if (report.costRatio !== null) {
76
+ out.push(` cost rule re-applied at ratio ${report.costRatio} to ${report.rescored} block(s) with a stored distribution`);
77
+ }
78
+ if (cost.messages) {
79
+ out.push(` cost: ${Math.round(cost.promptTokens / cost.messages)} prompt tokens and ${(cost.wallMs / cost.messages).toFixed(0)} ms wall time per message, over ${cost.messages} messages`);
80
+ }
81
+ out.push('');
82
+ for (const ref of report.references) {
83
+ out.push(`vs ${ref.name}`);
84
+ out.push(` shared blocks ${ref.shared}`);
85
+ out.push(` exact label match ${ref.agreed} (${(0, stats_1.pct)(ref.agreed, ref.shared)})`);
86
+ out.push(` by characters ${(0, stats_1.pct)(ref.agreedChars, ref.sharedChars)}`);
87
+ out.push(` candidate hides what reference calls authored ${ref.expensive.blocks} blocks, ${ref.expensive.chars} chars <- expensive`);
88
+ out.push(` candidate shows what reference calls history ${ref.cheap.blocks} blocks, ${ref.cheap.chars} chars <- cheap`);
89
+ if (ref.pairs.length) {
90
+ out.push(' top disagreements (reference -> candidate)');
91
+ for (const pair of ref.pairs.slice(0, 8)) {
92
+ out.push(` ${pair.reference.padEnd(18)} -> ${pair.candidate.padEnd(18)} ${String(pair.blocks).padStart(6)}`);
93
+ }
94
+ }
95
+ out.push(' per reference label');
96
+ for (const item of ref.perLabel) {
97
+ out.push(` ${item.label.padEnd(18)} ${String(item.support).padStart(6)} ${(0, stats_1.pct)(item.agreed, item.support).padStart(6)}`);
98
+ }
99
+ out.push(' per language');
100
+ for (const item of ref.perLang) {
101
+ out.push(` ${item.lang.padEnd(18)} ${String(item.shared).padStart(6)} ${(0, stats_1.pct)(item.agreed, item.shared).padStart(6)}`);
102
+ }
103
+ out.push('');
104
+ }
105
+ if (report.references.length) {
106
+ const c = report.consensusExpensive;
107
+ out.push(`GATE: blocks every reference calls authored and the candidate would hide`);
108
+ out.push(` ${c.blocks} blocks, ${c.chars} chars, of ${c.shared} blocks labelled by all references`);
109
+ out.push('');
110
+ }
111
+ out.push('For scale: two strong models agree on 97.6% of blocks, a weak one on 80.5% (docs/annotation.md).');
112
+ return out.join('\n');
113
+ }
114
+ async function agreementCommand(args) {
115
+ const dbPath = (0, args_1.flagString)(args, 'db', 'data/corpus.sqlite');
116
+ if (!node_fs_1.default.existsSync(dbPath)) {
117
+ process.stderr.write(`no corpus database at ${dbPath}\n`);
118
+ return 2;
119
+ }
120
+ const candidateFlag = (0, args_1.flagString)(args, 'candidate', '');
121
+ const references = (0, args_1.flagString)(args, 'reference', '')
122
+ .split(',')
123
+ .map(item => item.trim())
124
+ .filter(Boolean)
125
+ .map(parseSpec);
126
+ if (!candidateFlag || !references.length) {
127
+ process.stderr.write('usage: agreement --candidate <model@version> --reference <model@version>[,<model@version>...]\n');
128
+ return 2;
129
+ }
130
+ const candidate = parseSpec(candidateFlag);
131
+ const costRatio = args.flags.has('cost-ratio') ? (0, args_1.flagNumberInRange)(args, 'cost-ratio', 10, 1, 1000) : null;
132
+ const store = new store_1.CorpusStore(dbPath);
133
+ try {
134
+ const candidateBlocks = loadBlocks(store, candidate, { probabilities: costRatio !== null, lang: false });
135
+ if (!candidateBlocks.length) {
136
+ process.stderr.write(`no annotations found for ${candidate.name}\n`);
137
+ return 1;
138
+ }
139
+ const report = (0, agreement_1.compareAnnotators)(candidateBlocks, references.map(reference => ({ name: reference.name, blocks: loadBlocks(store, reference, { probabilities: false, lang: true }) })), costRatio);
140
+ const cost = runCost(store, candidate);
141
+ if ((0, args_1.flagBool)(args, 'json', false)) {
142
+ process.stdout.write(`${JSON.stringify({ candidate: candidate.name, ...report, cost }, null, 2)}\n`);
143
+ }
144
+ else {
145
+ process.stdout.write(`${renderAgreementReport(candidate.name, report, cost)}\n`);
146
+ }
147
+ return 0;
148
+ }
149
+ finally {
150
+ store.close();
151
+ }
152
+ }
153
+ //# sourceMappingURL=agreement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement.js","sourceRoot":"","sources":["../../src/cli/agreement.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotate.d.ts","sourceRoot":"","sources":["../../src/cli/annotate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM9C,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AA0DhF,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAiNvE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA2DzE"}
1
+ {"version":3,"file":"annotate.d.ts","sourceRoot":"","sources":["../../src/cli/annotate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM9C,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AA0DhF,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA6NvE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA2DzE"}
@@ -52,8 +52,8 @@ exports.renderAgreement = renderAgreement;
52
52
  const node_fs_1 = __importDefault(require("node:fs"));
53
53
  const node_path_1 = __importDefault(require("node:path"));
54
54
  const llm_1 = require("../annotate/llm");
55
- const client_1 = require("../annotate/client");
56
- const prompt_1 = require("../annotate/prompt");
55
+ const probabilities_1 = require("../annotate/probabilities");
56
+ const providers_1 = require("../annotate/providers");
57
57
  const store_1 = require("../annotate/store");
58
58
  const rules_1 = require("../classify/rules");
59
59
  const store_2 = require("../corpus/store");
@@ -117,16 +117,23 @@ async function annotateCommand(args) {
117
117
  process.stderr.write(`no corpus database at ${dbPath}. Run "corpus scan" first.\n`);
118
118
  return 2;
119
119
  }
120
- const model = (0, args_1.flagString)(args, 'model', 'gpt-5.6-sol');
120
+ const providerName = (0, args_1.flagString)(args, 'provider', 'openai');
121
+ const provider = (0, providers_1.provider)(providerName);
122
+ if (!provider) {
123
+ process.stderr.write(`unknown provider: ${providerName}. Use one of ${Object.keys(providers_1.PROVIDERS).join(', ')}\n`);
124
+ return 2;
125
+ }
126
+ const { promptVersion } = provider;
127
+ const model = (0, args_1.flagString)(args, 'model', provider.defaultModel);
121
128
  const limit = (0, args_1.flagPositiveInt)(args, 'sample', 25);
122
129
  const concurrency = (0, args_1.flagPositiveInt)(args, 'concurrency', 4);
123
130
  const traffic = (0, args_1.flagString)(args, 'traffic', 'human');
124
131
  const seed = (0, args_1.flagString)(args, 'seed', 'annotate');
125
132
  const dryRun = (0, args_1.flagBool)(args, 'dry-run', false);
126
- let client = null;
133
+ let annotator = null;
127
134
  if (!dryRun) {
128
135
  try {
129
- client = new client_1.OpenAIClient((0, client_1.configFromEnv)(model));
136
+ annotator = provider.create(model);
130
137
  }
131
138
  catch (err) {
132
139
  process.stderr.write(`${err instanceof Error ? err.message : String(err)}\n`);
@@ -145,7 +152,7 @@ async function annotateCommand(args) {
145
152
  }
146
153
  // Resume is scoped to the current prompt version: labels made under an older prompt are
147
154
  // different data, and treating them as already-done made a version bump silently no-op.
148
- const already = (0, args_1.flagBool)(args, 'resume', true) ? (0, store_1.annotatedPaths)(store, 'llm', model, prompt_1.PROMPT_VERSION) : new Set();
155
+ const already = (0, args_1.flagBool)(args, 'resume', true) ? (0, store_1.annotatedPaths)(store, 'llm', model, promptVersion) : new Set();
149
156
  // Deterministic selection: hash the path with the seed and take the lowest values, so the same
150
157
  // seed always picks the same messages regardless of database order.
151
158
  const where = ["f.status = 'ok'", 'm.is_reply = 1'];
@@ -206,13 +213,13 @@ async function annotateCommand(args) {
206
213
  store.close();
207
214
  return 1;
208
215
  }
209
- process.stderr.write(`annotating ${selected.length} message(s) with ${model}, concurrency ${concurrency}\n`);
216
+ process.stderr.write(`annotating ${selected.length} message(s) with ${model} (${providerName}, ${promptVersion}), concurrency ${concurrency}\n`);
210
217
  if (already.size) {
211
218
  process.stderr.write(`skipping ${already.size} already annotated by this model\n`);
212
219
  }
213
220
  // A dry run must leave no trace in the database: an empty annotation_runs row looks like an
214
221
  // interrupted run to anything auditing the run history.
215
- const runId = dryRun ? -1 : (0, store_1.startAnnotationRun)(store, { source: 'llm', model, promptVersion: prompt_1.PROMPT_VERSION });
222
+ const runId = dryRun ? -1 : (0, store_1.startAnnotationRun)(store, { source: 'llm', model, promptVersion });
216
223
  let failures = 0;
217
224
  let blockCount = 0;
218
225
  let messageCount = 0;
@@ -239,7 +246,7 @@ async function annotateCommand(args) {
239
246
  }
240
247
  let result;
241
248
  try {
242
- result = await (0, llm_1.annotateBlocks)(client, prepared.blocks, prepared.isReply);
249
+ result = await annotator.annotate(prepared.blocks, prepared.isReply);
243
250
  }
244
251
  catch (err) {
245
252
  failures++;
@@ -267,27 +274,32 @@ async function annotateCommand(args) {
267
274
  confidence: label.confidence,
268
275
  baselineLabel: decision?.label ?? null,
269
276
  baselineConfidence: decision?.confidence ?? null,
270
- baselineReasons: decision?.reasons ?? []
277
+ baselineReasons: decision?.reasons ?? [],
278
+ probabilities: label.probabilities ?? null
271
279
  });
272
280
  }
273
281
  if (messageCount % 10 === 0) {
274
282
  process.stderr.write(` ${messageCount}/${selected.length}\n`);
275
283
  }
276
284
  });
285
+ const usage = annotator?.usage;
277
286
  if (!dryRun) {
278
287
  (0, store_1.writeAnnotations)(store, runId, rows);
279
288
  (0, store_1.finishAnnotationRun)(store, runId, {
280
289
  messages: messageCount,
281
290
  blocks: blockCount,
282
291
  failures,
283
- promptTokens: client?.usage.promptTokens ?? 0,
284
- completionTokens: client?.usage.completionTokens ?? 0
292
+ promptTokens: usage?.promptTokens ?? 0,
293
+ completionTokens: usage?.completionTokens ?? 0
285
294
  });
286
295
  }
287
296
  const elapsed = (Date.now() - started) / 1000;
288
297
  process.stderr.write(`done in ${elapsed.toFixed(1)}s, ${messageCount} messages, ${blockCount} blocks, ${failures} failures\n`);
289
- if (client) {
290
- process.stderr.write(`tokens: ${client.usage.promptTokens} prompt + ${client.usage.completionTokens} completion over ${client.usage.requests} requests\n`);
298
+ if (usage) {
299
+ process.stderr.write(`tokens: ${usage.promptTokens} prompt + ${usage.completionTokens} completion over ${usage.requests} requests\n`);
300
+ if (messageCount) {
301
+ process.stderr.write(`per message: ${Math.round(usage.promptTokens / messageCount)} prompt tokens, ${((1000 * elapsed) / messageCount).toFixed(0)} ms wall time\n`);
302
+ }
291
303
  }
292
304
  if (dryRun) {
293
305
  process.stdout.write(`dry run: would annotate ${messageCount} messages, ${blockCount} blocks\n`);
@@ -340,8 +352,8 @@ function renderAgreement(store, runId) {
340
352
  }
341
353
  out.push('');
342
354
  // The asymmetric cost cell: the baseline hid or collapsed something the model calls authored.
343
- const hidden = rows.filter(row => row.baseline_label === 'REPLY_HISTORY' && (row.label === 'NEW_CONTENT' || row.label === 'INLINE_QUOTE'));
344
- const shown = rows.filter(row => row.label === 'REPLY_HISTORY' && (row.baseline_label === 'NEW_CONTENT' || row.baseline_label === 'INLINE_QUOTE'));
355
+ const hidden = rows.filter(row => row.baseline_label === 'REPLY_HISTORY' && probabilities_1.AUTHORED_LABELS.has(row.label));
356
+ const shown = rows.filter(row => row.label === 'REPLY_HISTORY' && row.baseline_label !== null && probabilities_1.AUTHORED_LABELS.has(row.baseline_label));
345
357
  out.push('ASYMMETRIC COST VIEW');
346
358
  out.push(` baseline said history, llm said authored ${hidden.length} blocks, ${hidden.reduce((sum, row) => sum + row.char_count, 0)} chars <- the expensive direction`);
347
359
  out.push(` baseline said authored, llm said history ${shown.length} blocks, ${shown.reduce((sum, row) => sum + row.char_count, 0)} chars <- the cheap direction`);
@@ -1 +1 @@
1
- {"version":3,"file":"annotate.js","sourceRoot":"","sources":["../../src/cli/annotate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotate.js","sourceRoot":"","sources":["../../src/cli/annotate.ts"],"names":[],"mappings":"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"}