@bobfrankston/mailx-store 0.1.95 → 0.1.99
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/package.json +5 -5
- package/store.js +7 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx-store",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.99",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
},
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@bobfrankston/mailx-types": "^0.1.
|
|
13
|
-
"@bobfrankston/mailx-settings": "^0.1.
|
|
12
|
+
"@bobfrankston/mailx-types": "^0.1.67",
|
|
13
|
+
"@bobfrankston/mailx-settings": "^0.1.65",
|
|
14
14
|
"@bobfrankston/mailx-bus": "^0.1.2",
|
|
15
15
|
"mailparser": "^3.7.2"
|
|
16
16
|
},
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
},
|
|
30
30
|
".transformedSnapshot": {
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@bobfrankston/mailx-types": "^0.1.
|
|
33
|
-
"@bobfrankston/mailx-settings": "^0.1.
|
|
32
|
+
"@bobfrankston/mailx-types": "^0.1.67",
|
|
33
|
+
"@bobfrankston/mailx-settings": "^0.1.65",
|
|
34
34
|
"@bobfrankston/mailx-bus": "^0.1.2",
|
|
35
35
|
"mailparser": "^3.7.2"
|
|
36
36
|
}
|
package/store.js
CHANGED
|
@@ -544,19 +544,23 @@ export class Store {
|
|
|
544
544
|
// forges, so an alias the user never got round to listing is still
|
|
545
545
|
// covered. (Claude Code 2026-08-25)
|
|
546
546
|
const trustHeaderLines = (parsed.headerLines || []).map(h => ({ key: h.key, line: h.line }));
|
|
547
|
-
const
|
|
547
|
+
const trustInput = {
|
|
548
548
|
headerLines: trustHeaderLines,
|
|
549
549
|
fromAddress: envelope.from?.address || "",
|
|
550
550
|
ownAddresses: [...recipients, (deliveredTo.match(/[^\s<>]+@[^\s<>]+/) || [""])[0]].filter(Boolean),
|
|
551
551
|
bodyHtml,
|
|
552
552
|
bodyText,
|
|
553
|
-
}
|
|
553
|
+
};
|
|
554
|
+
const trust = assessMessageTrust(trustInput);
|
|
554
555
|
// The server's score travels separately from the findings: a finding is
|
|
555
556
|
// an accusation and fires only on evidence, this is a measurement the
|
|
556
557
|
// reader asked to see either way (Bob 2026-08-25). A 2.7 against a 4.5
|
|
557
558
|
// threshold is "did not quite trip the wire", which is not the same
|
|
558
559
|
// thing as clean — and that is exactly the message that got through.
|
|
559
|
-
|
|
560
|
+
// Same input as the findings, so the chip and the banner are computed
|
|
561
|
+
// from one analysis and cannot contradict each other about whether the
|
|
562
|
+
// sender was proved. (Claude Code 2026-08-27)
|
|
563
|
+
const spamScore = spamScoreOf(trustInput);
|
|
560
564
|
if (bodyHtml && !allowRemote) {
|
|
561
565
|
const result = sanitizeHtml(bodyHtml);
|
|
562
566
|
bodyHtml = result.html;
|