@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
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Agreement between annotators.
3
+ *
4
+ * `evaluate` scores the extractor against a reference. This scores an annotator against other
5
+ * annotators, which is the question a new annotator has to answer before its labels are worth
6
+ * anything: two strong models agree on 97.6 percent of blocks and a weak one on 80.5
7
+ * (docs/annotation.md), so a candidate's agreement with the strong models says which of those it
8
+ * resembles.
9
+ *
10
+ * Pure over rows, so it is testable without a database.
11
+ */
12
+ import { type Label } from '../types';
13
+ import { type LabelProbabilities } from './probabilities';
14
+ export interface AnnotatedBlock {
15
+ path: string;
16
+ representation: string;
17
+ blockIndex: number;
18
+ mimePart: string | null;
19
+ blockStart: number | null;
20
+ blockEnd: number | null;
21
+ charCount: number;
22
+ label: Label;
23
+ probabilities: LabelProbabilities | null;
24
+ lang: string | null;
25
+ }
26
+ export interface PairCount {
27
+ reference: Label;
28
+ candidate: Label;
29
+ blocks: number;
30
+ }
31
+ export interface ReferenceAgreement {
32
+ name: string;
33
+ /** Blocks labelled by both the candidate and this reference. */
34
+ shared: number;
35
+ agreed: number;
36
+ sharedChars: number;
37
+ agreedChars: number;
38
+ /** The candidate would hide what this reference calls authored: the expensive direction. */
39
+ expensive: {
40
+ blocks: number;
41
+ chars: number;
42
+ };
43
+ /** The candidate leaves visible what this reference calls history: the cheap direction. */
44
+ cheap: {
45
+ blocks: number;
46
+ chars: number;
47
+ };
48
+ /** Most frequent disagreements, largest first. */
49
+ pairs: PairCount[];
50
+ perLabel: {
51
+ label: Label;
52
+ support: number;
53
+ agreed: number;
54
+ }[];
55
+ perLang: {
56
+ lang: string;
57
+ shared: number;
58
+ agreed: number;
59
+ }[];
60
+ }
61
+ export interface AgreementReport {
62
+ candidateBlocks: number;
63
+ /** Candidate blocks no reference has a label for, usually because segmentation changed. */
64
+ unmatched: number;
65
+ /** Cost ratio re-applied to the candidate's stored distributions, or null for stored labels. */
66
+ costRatio: number | null;
67
+ /** Candidate blocks whose label was recomputed from a stored distribution. */
68
+ rescored: number;
69
+ references: ReferenceAgreement[];
70
+ /**
71
+ * Blocks every reference calls authored and the candidate would hide. The gate number: an
72
+ * annotator that hides what all strong models agree was written by the sender cannot be used
73
+ * to size content loss, whatever its overall agreement.
74
+ */
75
+ consensusExpensive: {
76
+ blocks: number;
77
+ chars: number;
78
+ shared: number;
79
+ };
80
+ }
81
+ /**
82
+ * Identity of a block. Offsets as well as the index, because annotation runs made under different
83
+ * extractor versions can segment the same message differently, and pairing block 7 with a
84
+ * different block 7 would count a segmentation change as a disagreement.
85
+ */
86
+ export declare function blockKey(block: Pick<AnnotatedBlock, 'path' | 'representation' | 'blockIndex' | 'mimePart' | 'blockStart' | 'blockEnd'>): string;
87
+ /**
88
+ * Compare a candidate annotator against one or more references.
89
+ *
90
+ * @param candidate the candidate's labels, in run order
91
+ * @param references each reference's labels, in run order
92
+ * @param costRatio when set, re-derive the candidate's label from its stored distribution with
93
+ * this ratio instead of using the stored label; blocks without a distribution keep their label
94
+ */
95
+ export declare function compareAnnotators(candidate: readonly AnnotatedBlock[], references: readonly {
96
+ name: string;
97
+ blocks: readonly AnnotatedBlock[];
98
+ }[], costRatio?: number | null): AgreementReport;
99
+ //# sourceMappingURL=agreement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement.d.ts","sourceRoot":"","sources":["../../src/annotate/agreement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAkC,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1F,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACtB,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,2FAA2F;IAC3F,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,kDAAkD;IAClD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9D,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/D;AAED,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,2FAA2F;IAC3F,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC;;;;OAIG;IACH,kBAAkB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC,GAAG,MAAM,CAE/I;AA4ED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,UAAU,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,EAAE,EAC1E,SAAS,GAAE,MAAM,GAAG,IAAW,GAChC,eAAe,CAoCjB"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ /**
3
+ * Agreement between annotators.
4
+ *
5
+ * `evaluate` scores the extractor against a reference. This scores an annotator against other
6
+ * annotators, which is the question a new annotator has to answer before its labels are worth
7
+ * anything: two strong models agree on 97.6 percent of blocks and a weak one on 80.5
8
+ * (docs/annotation.md), so a candidate's agreement with the strong models says which of those it
9
+ * resembles.
10
+ *
11
+ * Pure over rows, so it is testable without a database.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.blockKey = blockKey;
15
+ exports.compareAnnotators = compareAnnotators;
16
+ const probabilities_1 = require("./probabilities");
17
+ /**
18
+ * Identity of a block. Offsets as well as the index, because annotation runs made under different
19
+ * extractor versions can segment the same message differently, and pairing block 7 with a
20
+ * different block 7 would count a segmentation change as a disagreement.
21
+ */
22
+ function blockKey(block) {
23
+ return [block.path, block.representation, block.mimePart ?? '', block.blockIndex, block.blockStart ?? '', block.blockEnd ?? ''].join('\u0000');
24
+ }
25
+ function byKey(blocks) {
26
+ // Later entries win, so callers pass rows in run order and get the latest label per block.
27
+ return new Map(blocks.map(block => [blockKey(block), block]));
28
+ }
29
+ function tally(map, key, agreed) {
30
+ const entry = map.get(key) ?? { total: 0, agreed: 0 };
31
+ entry.total++;
32
+ entry.agreed += agreed ? 1 : 0;
33
+ map.set(key, entry);
34
+ }
35
+ function compareOne(name, candidate, reference) {
36
+ const result = {
37
+ name,
38
+ shared: 0,
39
+ agreed: 0,
40
+ sharedChars: 0,
41
+ agreedChars: 0,
42
+ expensive: { blocks: 0, chars: 0 },
43
+ cheap: { blocks: 0, chars: 0 },
44
+ pairs: [],
45
+ perLabel: [],
46
+ perLang: []
47
+ };
48
+ const pairs = new Map();
49
+ const byLabel = new Map();
50
+ const byLang = new Map();
51
+ for (const [key, { label, charCount }] of candidate) {
52
+ const ref = reference.get(key);
53
+ if (!ref) {
54
+ continue;
55
+ }
56
+ const agreed = label === ref.label;
57
+ result.shared++;
58
+ result.sharedChars += charCount;
59
+ tally(byLabel, ref.label, agreed);
60
+ tally(byLang, ref.lang ?? 'unknown', agreed);
61
+ if (agreed) {
62
+ result.agreed++;
63
+ result.agreedChars += charCount;
64
+ continue;
65
+ }
66
+ const pairKey = `${ref.label}|${label}`;
67
+ const pair = pairs.get(pairKey) ?? { reference: ref.label, candidate: label, blocks: 0 };
68
+ pair.blocks++;
69
+ pairs.set(pairKey, pair);
70
+ if (label === 'REPLY_HISTORY' && probabilities_1.AUTHORED_LABELS.has(ref.label)) {
71
+ result.expensive.blocks++;
72
+ result.expensive.chars += charCount;
73
+ }
74
+ else if (ref.label === 'REPLY_HISTORY' && probabilities_1.AUTHORED_LABELS.has(label)) {
75
+ result.cheap.blocks++;
76
+ result.cheap.chars += charCount;
77
+ }
78
+ }
79
+ result.pairs = [...pairs.values()].sort((a, b) => b.blocks - a.blocks || `${a.reference}${a.candidate}`.localeCompare(`${b.reference}${b.candidate}`));
80
+ result.perLabel = [...byLabel].map(([label, { total, agreed }]) => ({ label, support: total, agreed })).sort((a, b) => b.support - a.support);
81
+ result.perLang = [...byLang].map(([lang, { total, agreed }]) => ({ lang, shared: total, agreed })).sort((a, b) => b.shared - a.shared);
82
+ return result;
83
+ }
84
+ /**
85
+ * Compare a candidate annotator against one or more references.
86
+ *
87
+ * @param candidate the candidate's labels, in run order
88
+ * @param references each reference's labels, in run order
89
+ * @param costRatio when set, re-derive the candidate's label from its stored distribution with
90
+ * this ratio instead of using the stored label; blocks without a distribution keep their label
91
+ */
92
+ function compareAnnotators(candidate, references, costRatio = null) {
93
+ const judged = new Map();
94
+ let rescored = 0;
95
+ for (const [key, block] of byKey(candidate)) {
96
+ const rescore = costRatio !== null && block.probabilities !== null;
97
+ rescored += rescore ? 1 : 0;
98
+ judged.set(key, { label: rescore ? (0, probabilities_1.applyCostRule)(block.probabilities, costRatio) : block.label, charCount: block.charCount });
99
+ }
100
+ const referenceMaps = references.map(reference => ({ name: reference.name, blocks: byKey(reference.blocks) }));
101
+ let unmatched = 0;
102
+ const consensusExpensive = { blocks: 0, chars: 0, shared: 0 };
103
+ for (const [key, { label, charCount }] of judged) {
104
+ const refs = referenceMaps.map(reference => reference.blocks.get(key));
105
+ if (!refs.some(Boolean)) {
106
+ unmatched++;
107
+ }
108
+ if (!referenceMaps.length || !refs.every(Boolean)) {
109
+ continue;
110
+ }
111
+ consensusExpensive.shared++;
112
+ if (label === 'REPLY_HISTORY' && refs.every(ref => probabilities_1.AUTHORED_LABELS.has(ref.label))) {
113
+ consensusExpensive.blocks++;
114
+ consensusExpensive.chars += charCount;
115
+ }
116
+ }
117
+ return {
118
+ candidateBlocks: judged.size,
119
+ unmatched,
120
+ costRatio,
121
+ rescored,
122
+ references: referenceMaps.map(reference => compareOne(reference.name, judged, reference.blocks)),
123
+ consensusExpensive
124
+ };
125
+ }
126
+ //# sourceMappingURL=agreement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement.js","sourceRoot":"","sources":["../../src/annotate/agreement.ts"],"names":[],"mappings":"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"}
@@ -5,24 +5,14 @@
5
5
  * Adding a vendor SDK for one optional command would change that materially, and the surface used
6
6
  * here is a single POST with a JSON schema response format.
7
7
  *
8
- * This is the one place in the codebase that sends message content off the machine. It is only
9
- * reachable from `email-content annotate`, never from `extract()` or the corpus scanner. See
8
+ * This is one of the two places in the codebase that send message content off the machine, the
9
+ * other being `typesafe-client.ts`. Both are only reachable from `email-content annotate`, never
10
+ * from `extract()` or the corpus scanner. See
10
11
  * docs/threat-model.md, "Configured exception: LLM annotation".
11
12
  */
12
- export interface OpenAIConfig {
13
- apiKey: string;
14
- baseUrl: string;
15
- model: string;
16
- /** Per request timeout in milliseconds. */
17
- timeoutMs: number;
18
- maxRetries: number;
19
- }
20
- export interface Usage {
21
- promptTokens: number;
22
- completionTokens: number;
23
- totalTokens: number;
24
- requests: number;
25
- }
13
+ import { ApiError, type ApiConfig, type Usage } from './http';
14
+ export type { Usage } from './http';
15
+ export type OpenAIConfig = ApiConfig;
26
16
  export interface CompletionRequest {
27
17
  system: string;
28
18
  user: string;
@@ -40,9 +30,7 @@ export interface CompletionClient {
40
30
  readonly model: string;
41
31
  complete<T>(request: CompletionRequest): Promise<T>;
42
32
  }
43
- export declare class OpenAIError extends Error {
44
- readonly status: number;
45
- readonly retryable: boolean;
33
+ export declare class OpenAIError extends ApiError {
46
34
  constructor(message: string, status: number, retryable: boolean);
47
35
  }
48
36
  /** Load configuration from the environment, after process.loadEnvFile(). */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/annotate/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,KAAK;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACvD;AAED,qBAAa,WAAY,SAAQ,KAAK;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;CAMlE;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,YAAY,CAahG;AAMD,qBAAa,YAAa,YAAW,gBAAgB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAyE;gBAElF,MAAM,EAAE,YAAY;IAIhC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;;;;;OAMG;IACG,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;CAoF5D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/annotate/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAA8B,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE1F,YAAY,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACvD;AAED,qBAAa,WAAY,SAAQ,QAAQ;gBACzB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;CAIlE;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,YAAY,CAEhG;AAED,qBAAa,YAAa,YAAW,gBAAgB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAyE;gBAElF,MAAM,EAAE,YAAY;IAIhC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;;;;;OAMG;IACG,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;CA2C5D"}
@@ -6,41 +6,25 @@
6
6
  * Adding a vendor SDK for one optional command would change that materially, and the surface used
7
7
  * here is a single POST with a JSON schema response format.
8
8
  *
9
- * This is the one place in the codebase that sends message content off the machine. It is only
10
- * reachable from `email-content annotate`, never from `extract()` or the corpus scanner. See
9
+ * This is one of the two places in the codebase that send message content off the machine, the
10
+ * other being `typesafe-client.ts`. Both are only reachable from `email-content annotate`, never
11
+ * from `extract()` or the corpus scanner. See
11
12
  * docs/threat-model.md, "Configured exception: LLM annotation".
12
13
  */
13
14
  Object.defineProperty(exports, "__esModule", { value: true });
14
15
  exports.OpenAIClient = exports.OpenAIError = void 0;
15
16
  exports.configFromEnv = configFromEnv;
16
- class OpenAIError extends Error {
17
- status;
18
- retryable;
17
+ const http_1 = require("./http");
18
+ class OpenAIError extends http_1.ApiError {
19
19
  constructor(message, status, retryable) {
20
- super(message);
20
+ super(message, status, retryable);
21
21
  this.name = 'OpenAIError';
22
- this.status = status;
23
- this.retryable = retryable;
24
22
  }
25
23
  }
26
24
  exports.OpenAIError = OpenAIError;
27
25
  /** Load configuration from the environment, after process.loadEnvFile(). */
28
26
  function configFromEnv(model, overrides = {}) {
29
- const apiKey = process.env.OPENAI_API_KEY;
30
- if (!apiKey) {
31
- throw new Error('OPENAI_API_KEY is not set. Copy .env.example to .env and fill it in.');
32
- }
33
- return {
34
- apiKey,
35
- baseUrl: process.env.OPENAI_BASE_URL || 'https://api.openai.com/v1',
36
- model,
37
- timeoutMs: 120000,
38
- maxRetries: 5,
39
- ...overrides
40
- };
41
- }
42
- function sleep(ms) {
43
- return new Promise(resolve => setTimeout(resolve, ms));
27
+ return (0, http_1.apiConfigFromEnv)({ keyVar: 'OPENAI_API_KEY', urlVar: 'OPENAI_BASE_URL', defaultUrl: 'https://api.openai.com/v1' }, model, overrides);
44
28
  }
45
29
  class OpenAIClient {
46
30
  config;
@@ -59,55 +43,27 @@ class OpenAIClient {
59
43
  * contract, and a retry would usually fail the same way.
60
44
  */
61
45
  async complete(request) {
62
- let lastError = null;
63
- for (let attempt = 0; attempt <= this.config.maxRetries; attempt++) {
64
- if (attempt > 0) {
65
- // Full jitter, capped, so a burst of workers does not retry in lockstep.
66
- const backoff = Math.min(30000, 500 * 2 ** (attempt - 1));
67
- await sleep(Math.random() * backoff);
68
- }
69
- const controller = new AbortController();
70
- const timer = setTimeout(() => controller.abort(), this.config.timeoutMs);
71
- try {
72
- const response = await fetch(`${this.config.baseUrl}/chat/completions`, {
73
- method: 'POST',
74
- signal: controller.signal,
75
- headers: {
76
- Authorization: `Bearer ${this.config.apiKey}`,
77
- 'Content-Type': 'application/json'
78
- },
79
- body: JSON.stringify({
80
- model: this.config.model,
81
- messages: [
82
- { role: 'system', content: request.system },
83
- { role: 'user', content: request.user }
84
- ],
85
- response_format: {
86
- type: 'json_schema',
87
- json_schema: { name: request.schemaName, strict: true, schema: request.schema }
88
- }
89
- })
90
- });
91
- if (!response.ok) {
92
- const retryable = response.status === 429 || response.status >= 500;
93
- let detail = `HTTP ${response.status}`;
94
- try {
95
- const body = (await response.json());
96
- if (body.error?.message) {
97
- detail = body.error.message.slice(0, 300);
98
- }
99
- }
100
- catch {
101
- // Body was not JSON. The status alone is enough.
102
- }
103
- const error = new OpenAIError(detail, response.status, retryable);
104
- if (!retryable) {
105
- throw error;
106
- }
107
- lastError = error;
108
- continue;
46
+ return (0, http_1.postJson)({
47
+ url: `${this.config.baseUrl}/chat/completions`,
48
+ apiKey: this.config.apiKey,
49
+ policy: this.config,
50
+ payload: {
51
+ model: this.config.model,
52
+ messages: [
53
+ { role: 'system', content: request.system },
54
+ { role: 'user', content: request.user }
55
+ ],
56
+ response_format: {
57
+ type: 'json_schema',
58
+ json_schema: { name: request.schemaName, strict: true, schema: request.schema }
109
59
  }
110
- const body = (await response.json());
60
+ },
61
+ httpError: (status, body) => {
62
+ const message = body?.error?.message;
63
+ return new OpenAIError(message ? message.slice(0, 300) : `HTTP ${status}`, status, status === 429 || status >= 500);
64
+ },
65
+ parse: raw => {
66
+ const body = raw;
111
67
  this.usage.requests++;
112
68
  this.usage.promptTokens += body.usage?.prompt_tokens ?? 0;
113
69
  this.usage.completionTokens += body.usage?.completion_tokens ?? 0;
@@ -122,17 +78,7 @@ class OpenAIClient {
122
78
  }
123
79
  return JSON.parse(content);
124
80
  }
125
- catch (err) {
126
- if (err instanceof OpenAIError && !err.retryable) {
127
- throw err;
128
- }
129
- lastError = err instanceof Error ? err : new Error(String(err));
130
- }
131
- finally {
132
- clearTimeout(timer);
133
- }
134
- }
135
- throw lastError ?? new Error('request failed');
81
+ });
136
82
  }
137
83
  }
138
84
  exports.OpenAIClient = OpenAIClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/annotate/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/annotate/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Retrying JSON POST shared by the annotator clients.
3
+ *
4
+ * Both providers need the same thing: one authenticated POST, exponential backoff on rate limits
5
+ * and overload, and no retry once the provider has said the request itself is wrong. Keeping that
6
+ * loop in one place means a fix to it cannot land in one client and not the other.
7
+ */
8
+ export interface RetryPolicy {
9
+ /** Per request timeout in milliseconds. */
10
+ timeoutMs: number;
11
+ maxRetries: number;
12
+ }
13
+ /** What every provider client needs: where, who, which model, and how hard to retry. */
14
+ export interface ApiConfig extends RetryPolicy {
15
+ apiKey: string;
16
+ baseUrl: string;
17
+ model: string;
18
+ }
19
+ /**
20
+ * Load a provider's configuration from the environment, after process.loadEnvFile().
21
+ *
22
+ * Throws when the key is missing. That is the fail closed guarantee in docs/threat-model.md: a
23
+ * provider without a configured key never gets as far as reading a message.
24
+ */
25
+ export declare function apiConfigFromEnv(env: {
26
+ keyVar: string;
27
+ urlVar: string;
28
+ defaultUrl: string;
29
+ }, model: string, overrides?: Partial<ApiConfig>): ApiConfig;
30
+ /** Token accounting, in one shape for every provider. */
31
+ export interface Usage {
32
+ promptTokens: number;
33
+ completionTokens: number;
34
+ totalTokens: number;
35
+ requests: number;
36
+ }
37
+ /** An HTTP or protocol failure from an annotation provider. */
38
+ export declare class ApiError extends Error {
39
+ readonly status: number;
40
+ readonly retryable: boolean;
41
+ constructor(message: string, status: number, retryable: boolean);
42
+ }
43
+ export interface PostJsonOptions<T> {
44
+ url: string;
45
+ apiKey: string;
46
+ payload: unknown;
47
+ policy: RetryPolicy;
48
+ /** Build the error for a non 2xx response. Decides what, if anything, of the body is surfaced. */
49
+ httpError(status: number, body: unknown): ApiError;
50
+ /**
51
+ * Turn a 2xx body into the result. Runs inside the retry loop: throwing an ApiError with
52
+ * `retryable: false` stops immediately, any other error is retried like a network failure.
53
+ */
54
+ parse(body: unknown): T;
55
+ }
56
+ export declare function postJson<T>(options: PostJsonOptions<T>): Promise<T>;
57
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/annotate/http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,WAAW;IACxB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wFAAwF;AACxF,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,SAAS,CAa1J;AAED,yDAAyD;AACzD,MAAM,WAAW,KAAK;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,+DAA+D;AAC/D,qBAAa,QAAS,SAAQ,KAAK;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;CAMlE;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,kGAAkG;IAClG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACnD;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC;CAC3B;AAMD,wBAAsB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAqDzE"}