@postalsys/email-content 0.0.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +207 -17
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/analyze.d.ts +55 -15
  4. package/dist/analyze.d.ts.map +1 -1
  5. package/dist/analyze.js +264 -61
  6. package/dist/analyze.js.map +1 -1
  7. package/dist/canonical/html.d.ts +21 -2
  8. package/dist/canonical/html.d.ts.map +1 -1
  9. package/dist/canonical/html.js +213 -14
  10. package/dist/canonical/html.js.map +1 -1
  11. package/dist/classify/confidence.d.ts +12 -0
  12. package/dist/classify/confidence.d.ts.map +1 -1
  13. package/dist/classify/confidence.js +54 -4
  14. package/dist/classify/confidence.js.map +1 -1
  15. package/dist/classify/reconcile.d.ts +25 -17
  16. package/dist/classify/reconcile.d.ts.map +1 -1
  17. package/dist/classify/reconcile.js +52 -20
  18. package/dist/classify/reconcile.js.map +1 -1
  19. package/dist/cli/annotate.d.ts.map +1 -1
  20. package/dist/cli/annotate.js +6 -3
  21. package/dist/cli/annotate.js.map +1 -1
  22. package/dist/cli/args.d.ts +14 -0
  23. package/dist/cli/args.d.ts.map +1 -1
  24. package/dist/cli/args.js +48 -1
  25. package/dist/cli/args.js.map +1 -1
  26. package/dist/cli/benchmark.d.ts +39 -0
  27. package/dist/cli/benchmark.d.ts.map +1 -1
  28. package/dist/cli/benchmark.js +179 -66
  29. package/dist/cli/benchmark.js.map +1 -1
  30. package/dist/cli/corpus.d.ts.map +1 -1
  31. package/dist/cli/corpus.js +13 -8
  32. package/dist/cli/corpus.js.map +1 -1
  33. package/dist/cli/disagreements.d.ts.map +1 -1
  34. package/dist/cli/disagreements.js +7 -4
  35. package/dist/cli/disagreements.js.map +1 -1
  36. package/dist/cli/evaluate.d.ts.map +1 -1
  37. package/dist/cli/evaluate.js +34 -10
  38. package/dist/cli/evaluate.js.map +1 -1
  39. package/dist/cli/extract.d.ts.map +1 -1
  40. package/dist/cli/extract.js +8 -3
  41. package/dist/cli/extract.js.map +1 -1
  42. package/dist/cli/main.js +8 -0
  43. package/dist/cli/main.js.map +1 -1
  44. package/dist/corpus/scanner.d.ts +9 -1
  45. package/dist/corpus/scanner.d.ts.map +1 -1
  46. package/dist/corpus/scanner.js +52 -13
  47. package/dist/corpus/scanner.js.map +1 -1
  48. package/dist/corpus/store.d.ts +33 -2
  49. package/dist/corpus/store.d.ts.map +1 -1
  50. package/dist/corpus/store.js +64 -4
  51. package/dist/corpus/store.js.map +1 -1
  52. package/dist/detect/patterns.d.ts +29 -0
  53. package/dist/detect/patterns.d.ts.map +1 -1
  54. package/dist/detect/patterns.js +80 -6
  55. package/dist/detect/patterns.js.map +1 -1
  56. package/dist/detect/reply-header.d.ts +14 -0
  57. package/dist/detect/reply-header.d.ts.map +1 -1
  58. package/dist/detect/reply-header.js +80 -37
  59. package/dist/detect/reply-header.js.map +1 -1
  60. package/dist/eval/oracle.d.ts +80 -0
  61. package/dist/eval/oracle.d.ts.map +1 -0
  62. package/dist/eval/oracle.js +250 -0
  63. package/dist/eval/oracle.js.map +1 -0
  64. package/dist/index.d.ts +6 -3
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +94 -56
  67. package/dist/index.js.map +1 -1
  68. package/dist/mime/model.d.ts +28 -3
  69. package/dist/mime/model.d.ts.map +1 -1
  70. package/dist/mime/model.js +41 -1
  71. package/dist/mime/model.js.map +1 -1
  72. package/dist/mime/parse.d.ts.map +1 -1
  73. package/dist/mime/parse.js +19 -2
  74. package/dist/mime/parse.js.map +1 -1
  75. package/dist/mime/select.d.ts +71 -0
  76. package/dist/mime/select.d.ts.map +1 -0
  77. package/dist/mime/select.js +198 -0
  78. package/dist/mime/select.js.map +1 -0
  79. package/dist/segment/html-blocks.d.ts +1 -1
  80. package/dist/segment/html-blocks.d.ts.map +1 -1
  81. package/dist/segment/html-blocks.js +77 -8
  82. package/dist/segment/html-blocks.js.map +1 -1
  83. package/dist/segment/text-blocks.d.ts.map +1 -1
  84. package/dist/segment/text-blocks.js +18 -1
  85. package/dist/segment/text-blocks.js.map +1 -1
  86. package/dist/segment/types.d.ts +14 -0
  87. package/dist/segment/types.d.ts.map +1 -1
  88. package/dist/types.d.ts +132 -11
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/types.js +37 -3
  91. package/dist/types.js.map +1 -1
  92. package/dist/util/worker-pool.d.ts +21 -0
  93. package/dist/util/worker-pool.d.ts.map +1 -1
  94. package/dist/util/worker-pool.js +61 -13
  95. package/dist/util/worker-pool.js.map +1 -1
  96. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/util/worker-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACnC;AA+BD,qBAAa,kBAAmB,SAAQ,KAAK;gBAC7B,EAAE,EAAE,MAAM;CAIzB;AAED;;;GAGG;AACH,qBAAa,UAAU,CAAC,KAAK,EAAE,OAAO,CAAE,SAAQ,YAAY;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,iBAAiB;IAQtC,OAAO,CAAC,KAAK;IA4Cb,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,UAAU;IAclB,sDAAsD;IACtD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAe/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB/B"}
1
+ {"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/util/worker-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,4FAA4F;AAC5F,qBAAa,wBAAyB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM;CAK/B;AA+BD,qBAAa,kBAAmB,SAAQ,KAAK;gBAC7B,EAAE,EAAE,MAAM;CAIzB;AAED;;;GAGG;AACH,qBAAa,UAAU,CAAC,KAAK,EAAE,OAAO,CAAE,SAAQ,YAAY;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAyC;gBAE7C,OAAO,EAAE,iBAAiB;IAStC,OAAO,CAAC,KAAK;IA4Cb,OAAO,CAAC,OAAO;IAyBf,uDAAuD;IACvD,OAAO,CAAC,IAAI;IAWZ,oGAAoG;IACpG,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,UAAU;IAclB,sDAAsD;IACtD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB/B"}
@@ -9,9 +9,19 @@
9
9
  * cannot wedge a scan of 320k files.
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.WorkerPool = exports.WorkerTimeoutError = void 0;
12
+ exports.WorkerPool = exports.WorkerTimeoutError = exports.WorkerRestartBudgetError = void 0;
13
13
  const node_worker_threads_1 = require("node:worker_threads");
14
14
  const node_events_1 = require("node:events");
15
+ /** The pool gave up replacing workers. Carries the ids of the tasks that were in flight. */
16
+ class WorkerRestartBudgetError extends Error {
17
+ restarts;
18
+ constructor(restarts) {
19
+ super(`worker pool gave up after ${restarts} restarts; workers are crashing faster than they can do work`);
20
+ this.name = 'WorkerRestartBudgetError';
21
+ this.restarts = restarts;
22
+ }
23
+ }
24
+ exports.WorkerRestartBudgetError = WorkerRestartBudgetError;
15
25
  class WorkerTimeoutError extends Error {
16
26
  constructor(ms) {
17
27
  super(`worker task timed out after ${ms}ms`);
@@ -29,9 +39,14 @@ class WorkerPool extends node_events_1.EventEmitter {
29
39
  queue = [];
30
40
  nextId = 1;
31
41
  closing = false;
42
+ restarts = 0;
43
+ maxRestarts;
44
+ /** Set once the restart budget is spent. Every queued and future task fails with it. */
45
+ brokenBy = null;
32
46
  constructor(options) {
33
47
  super();
34
48
  this.options = options;
49
+ this.maxRestarts = options.maxRestarts ?? 50 + 10 * Math.max(1, options.size);
35
50
  for (let i = 0; i < Math.max(1, options.size); i++) {
36
51
  this.spawn();
37
52
  }
@@ -60,18 +75,18 @@ class WorkerPool extends node_events_1.EventEmitter {
60
75
  });
61
76
  worker.on('error', err => {
62
77
  this.emit('worker-error', err);
63
- const current = slot.current;
64
- if (current) {
65
- clearTimeout(current.timer);
66
- slot.current = null;
67
- current.reject(err instanceof Error ? err : new Error(String(err)));
68
- }
78
+ this.fail(slot, err instanceof Error ? err : new Error(String(err)));
69
79
  this.replace(slot);
70
80
  });
71
- worker.on('exit', () => {
72
- if (!this.closing && this.slots.includes(slot)) {
73
- this.replace(slot);
81
+ worker.on('exit', code => {
82
+ if (this.closing || !this.slots.includes(slot)) {
83
+ return;
74
84
  }
85
+ // A worker that exits while holding a task takes the task down with it. Rejecting here
86
+ // rather than letting the per task timer expire turns a crash into an immediate failure
87
+ // instead of one that costs the whole timeout before anyone notices.
88
+ this.fail(slot, new Error(`worker exited with code ${code} while running a task`));
89
+ this.replace(slot);
75
90
  });
76
91
  this.slots.push(slot);
77
92
  return slot;
@@ -83,9 +98,39 @@ class WorkerPool extends node_events_1.EventEmitter {
83
98
  }
84
99
  slot.busy = false;
85
100
  void slot.worker.terminate().catch(() => undefined);
86
- if (!this.closing) {
87
- this.spawn();
88
- this.drainQueue();
101
+ if (this.closing || this.brokenBy) {
102
+ return;
103
+ }
104
+ // Circuit breaker. A worker that dies during startup would otherwise be replaced forever,
105
+ // producing no results, no error and no end.
106
+ this.restarts++;
107
+ if (this.restarts > this.maxRestarts) {
108
+ this.brokenBy = new WorkerRestartBudgetError(this.restarts);
109
+ this.emit('worker-error', this.brokenBy);
110
+ this.failQueue(this.brokenBy);
111
+ return;
112
+ }
113
+ this.spawn();
114
+ this.drainQueue();
115
+ }
116
+ /** Reject whatever a slot was running, if anything. */
117
+ fail(slot, err) {
118
+ const current = slot.current;
119
+ if (!current) {
120
+ return;
121
+ }
122
+ clearTimeout(current.timer);
123
+ slot.current = null;
124
+ slot.busy = false;
125
+ current.reject(err);
126
+ }
127
+ /** Reject everything in flight and waiting, so a broken pool stops a run instead of stalling it. */
128
+ failQueue(err) {
129
+ while (this.queue.length) {
130
+ this.queue.shift().reject(err);
131
+ }
132
+ for (const slot of this.slots) {
133
+ this.fail(slot, err);
89
134
  }
90
135
  }
91
136
  dispatch(slot, item) {
@@ -125,6 +170,9 @@ class WorkerPool extends node_events_1.EventEmitter {
125
170
  if (this.closing) {
126
171
  return Promise.reject(new Error('worker pool is closing'));
127
172
  }
173
+ if (this.brokenBy) {
174
+ return Promise.reject(this.brokenBy);
175
+ }
128
176
  return new Promise((resolve, reject) => {
129
177
  const item = { envelope: { id: this.nextId++, task }, resolve, reject };
130
178
  const slot = this.slots.find(candidate => !candidate.busy);
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../src/util/worker-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../src/util/worker-pool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postalsys/email-content",
3
- "version": "0.0.4",
3
+ "version": "0.1.0",
4
4
  "description": "Extract conversationally relevant content from arbitrary email messages",
5
5
  "keywords": [
6
6
  "email",
@@ -39,7 +39,7 @@
39
39
  "dist"
40
40
  ],
41
41
  "engines": {
42
- "node": ">=24.0.0"
42
+ "node": ">=20.0.0"
43
43
  },
44
44
  "publishConfig": {
45
45
  "access": "public"
@@ -52,10 +52,11 @@
52
52
  "lint": "eslint src test",
53
53
  "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \"docs/**/*.md\" \"*.json\" \"*.js\"",
54
54
  "format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\" \"docs/**/*.md\" \"*.json\" \"*.js\"",
55
- "test": "npm run build:test && node --test \".build-test/test/**/*.test.js\"",
56
- "test:fast": "node --test \"test/**/*.test.ts\"",
55
+ "test": "npm run build:test && node --test .build-test/test/*.test.js",
56
+ "test:fast": "node --test test/*.test.ts",
57
57
  "prepublishOnly": "npm run build",
58
- "cli": "node dist/cli/main.js"
58
+ "cli": "node dist/cli/main.js",
59
+ "verify:package": "node scripts/verify-package.js"
59
60
  },
60
61
  "dependencies": {
61
62
  "@zone-eu/mailsplit": "5.4.14",