@modusensus/dsh-mneme 0.8.4 → 0.8.5

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 (69) hide show
  1. package/README.md +16 -7
  2. package/bin/dsh-mneme-mcp.mjs +11 -3
  3. package/lib/api-standalone.js +11 -0
  4. package/lib/api.js +21 -0
  5. package/lib/client.js +213 -31
  6. package/lib/config.js +82 -0
  7. package/lib/document.js +221 -0
  8. package/lib/dream/sleep.js +6 -4
  9. package/lib/dream.js +1347 -1319
  10. package/lib/guide.js +44 -0
  11. package/lib/heat.js +2 -0
  12. package/lib/inject.js +91 -15
  13. package/lib/lang.js +6 -0
  14. package/lib/organize.js +450 -0
  15. package/lib/recall-stats.js +23 -1
  16. package/lib/runtime/layout.js +30 -0
  17. package/lib/runtime/loader.js +4 -1
  18. package/lib/runtime/verify.js +19 -6
  19. package/lib/search/adaptive.js +38 -0
  20. package/lib/service.js +165 -12
  21. package/lib/settings.js +31 -2
  22. package/lib/store.js +109 -8
  23. package/lib/summarize.js +253 -8
  24. package/lib/tools.js +136 -8
  25. package/package.json +6 -6
  26. package/runtime-manifest.json +104 -174
  27. package/scripts/build-runtime-manifest.mjs +8 -1
  28. package/scripts/sync-test-badge.mjs +18 -12
  29. package/src/api-standalone.js +11 -0
  30. package/src/api.js +21 -0
  31. package/src/config.js +82 -0
  32. package/src/document.js +221 -0
  33. package/src/dream/sleep.js +6 -4
  34. package/src/dream.js +1347 -1319
  35. package/src/guide.js +44 -0
  36. package/src/heat.js +2 -0
  37. package/src/inject.js +91 -15
  38. package/src/lang.js +6 -0
  39. package/src/organize.js +450 -0
  40. package/src/recall-stats.js +23 -1
  41. package/src/runtime/layout.js +30 -0
  42. package/src/runtime/loader.js +4 -1
  43. package/src/runtime/verify.js +19 -6
  44. package/src/search/adaptive.js +38 -0
  45. package/src/service.js +165 -12
  46. package/src/settings.js +31 -2
  47. package/src/store.js +109 -8
  48. package/src/summarize.js +253 -8
  49. package/src/tools.js +136 -8
  50. package/test/adaptive-inject-budget.test.js +85 -0
  51. package/test/api.test.js +65 -3
  52. package/test/client.test.js +63 -2
  53. package/test/document.test.js +523 -0
  54. package/test/dream.test.js +51 -0
  55. package/test/inject-content-cap.test.js +5 -3
  56. package/test/inject-pools.test.js +170 -0
  57. package/test/inject-recall.test.js +105 -0
  58. package/test/inject.test.js +35 -1
  59. package/test/llm-audit.test.js +153 -0
  60. package/test/organize.test.js +418 -0
  61. package/test/recall-stats.test.js +7 -1
  62. package/test/runtime-loader.test.js +18 -0
  63. package/test/runtime-manifest.test.js +2 -1
  64. package/test/runtime-verify.test.js +65 -0
  65. package/test/sleep.test.js +37 -0
  66. package/test/store.test.js +13 -0
  67. package/test/summarize.test.js +407 -3
  68. package/test/tools-dto-schema-matrix.test.js +325 -0
  69. package/test/tools.test.js +36 -3
@@ -1,18 +1,14 @@
1
1
  {
2
2
  "manifestVersion": 2,
3
3
  "entry": "@huggingface/transformers",
4
- "transformersVersion": "4.2.0",
4
+ "transformersVersion": "4.3.0",
5
5
  "excluded": {
6
- "onnxruntime-web": "Node 构建从不 import 它(打桩验证:嵌入结果逐字节相同)"
6
+ "onnxruntime-web": "Node 构建从不 import 它(打桩验证:嵌入结果逐字节相同)",
7
+ "@img/sharp-freebsd-wasm32": "FreeBSD 专用 WASM 回退,覆盖平台之外",
8
+ "@img/sharp-webcontainers-wasm32": "WebContainers 专用 WASM 回退,覆盖平台之外",
9
+ "@img/sharp-wasm32": "无 os 约束的 WASM 回退,Node 构建从不 import"
7
10
  },
8
11
  "packages": [
9
- {
10
- "name": "@emnapi/runtime",
11
- "version": "1.11.3",
12
- "rel": "@emnapi/runtime",
13
- "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==",
14
- "tarball": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz"
15
- },
16
12
  {
17
13
  "name": "@huggingface/jinja",
18
14
  "version": "0.5.10",
@@ -22,17 +18,17 @@
22
18
  },
23
19
  {
24
20
  "name": "@huggingface/tokenizers",
25
- "version": "0.1.3",
21
+ "version": "0.2.0",
26
22
  "rel": "@huggingface/tokenizers",
27
- "integrity": "sha512-8rF/RRT10u+kn7YuUbUg0OF30K8rjTc78aHpxT+qJ1uWSqxT1MHi8+9ltwYfkFYJzT/oS+qw3JVfHtNMGAdqyA==",
28
- "tarball": "https://registry.npmjs.org/@huggingface/tokenizers/-/tokenizers-0.1.3.tgz"
23
+ "integrity": "sha512-LidMHe1FpcSYH4vcSjXooda34pC0M8m1gmDOv7SQi6Iv+ib1zX7J3sHBCC9/3FPCkn2k1b55FneVqMRxrr99pg==",
24
+ "tarball": "https://registry.npmjs.org/@huggingface/tokenizers/-/tokenizers-0.2.0.tgz"
29
25
  },
30
26
  {
31
27
  "name": "@huggingface/transformers",
32
- "version": "4.2.0",
28
+ "version": "4.3.0",
33
29
  "rel": "@huggingface/transformers",
34
- "integrity": "sha512-8BRCoBMH0XsWaEIamuR0LrJGAfftgHAfb2Vrffy0VKlSAE/MnUJ5/h/zTfEP3fDIft+nk7TqB8xXEyABGitBjQ==",
35
- "tarball": "https://registry.npmjs.org/@huggingface/transformers/-/transformers-4.2.0.tgz"
30
+ "integrity": "sha512-fL1A/WUZwouPrOlYxU5dzIwD2T5J781JiB2jDR8bFe5DwCj0Gfudq+NEXCMno49kQgajHA7xQkrRLJlqG1veEA==",
31
+ "tarball": "https://registry.npmjs.org/@huggingface/transformers/-/transformers-4.3.0.tgz"
36
32
  },
37
33
  {
38
34
  "name": "@img/colour",
@@ -43,10 +39,10 @@
43
39
  },
44
40
  {
45
41
  "name": "@img/sharp-darwin-arm64",
46
- "version": "0.34.5",
42
+ "version": "0.35.4",
47
43
  "rel": "@img/sharp-darwin-arm64",
48
- "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
49
- "tarball": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz",
44
+ "integrity": "sha512-Uhfl4V4lhP2nbUVF9+hyH1+luj86f1gUFeo8ALYxFoULoU+G87D43BfeMP8XHsk9boxAnCY/bf2EHwhA7MuGsA==",
45
+ "tarball": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.4.tgz",
50
46
  "os": [
51
47
  "darwin"
52
48
  ],
@@ -56,10 +52,10 @@
56
52
  },
57
53
  {
58
54
  "name": "@img/sharp-darwin-x64",
59
- "version": "0.34.5",
55
+ "version": "0.35.4",
60
56
  "rel": "@img/sharp-darwin-x64",
61
- "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
62
- "tarball": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz",
57
+ "integrity": "sha512-hWniXY3bG5qKpkKrAwPe4y+VTPmf086YQAnkxWh7uA1YrlRouWGa0M0Mxj3ZjnXFkv7/TD1bTy9lGUK26vRvWw==",
58
+ "tarball": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.4.tgz",
63
59
  "os": [
64
60
  "darwin"
65
61
  ],
@@ -69,10 +65,10 @@
69
65
  },
70
66
  {
71
67
  "name": "@img/sharp-libvips-darwin-arm64",
72
- "version": "1.2.4",
68
+ "version": "1.3.3",
73
69
  "rel": "@img/sharp-libvips-darwin-arm64",
74
- "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
75
- "tarball": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz",
70
+ "integrity": "sha512-suTBPTDGrI9WodccaDdwZItTSaBYASlBk1NSfElSHrUfzu3szG6lvIF58+WiFvnfzuK8ZBFS5zE00PxqxnRiPg==",
71
+ "tarball": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.3.tgz",
76
72
  "os": [
77
73
  "darwin"
78
74
  ],
@@ -82,10 +78,10 @@
82
78
  },
83
79
  {
84
80
  "name": "@img/sharp-libvips-darwin-x64",
85
- "version": "1.2.4",
81
+ "version": "1.3.3",
86
82
  "rel": "@img/sharp-libvips-darwin-x64",
87
- "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
88
- "tarball": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz",
83
+ "integrity": "sha512-FVJZ5mITMobmXIz/hPDTw0EintTW5H3WfrxwLqEqjiIihlu+hVRyGrFQ60xl0Lxn7Bt3zdpevPaQi0HEzqz9fw==",
84
+ "tarball": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.3.tgz",
89
85
  "os": [
90
86
  "darwin"
91
87
  ],
@@ -95,10 +91,10 @@
95
91
  },
96
92
  {
97
93
  "name": "@img/sharp-libvips-linux-arm",
98
- "version": "1.2.4",
94
+ "version": "1.3.3",
99
95
  "rel": "@img/sharp-libvips-linux-arm",
100
- "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
101
- "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz",
96
+ "integrity": "sha512-3rbU4vqXXc3hY/OiXdl52xZvT0F1yEngWfvqudtPJg/KkyiaQw2DRsFrNzpmLvfavbwOq3qXn36GP8obHRULQA==",
97
+ "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.3.tgz",
102
98
  "os": [
103
99
  "linux"
104
100
  ],
@@ -111,10 +107,10 @@
111
107
  },
112
108
  {
113
109
  "name": "@img/sharp-libvips-linux-arm64",
114
- "version": "1.2.4",
110
+ "version": "1.3.3",
115
111
  "rel": "@img/sharp-libvips-linux-arm64",
116
- "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
117
- "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz",
112
+ "integrity": "sha512-0DaL0A6Xu6sQSQFwe4iVCrKWU2cCTItnRsYsCdxAMm9NF6twAA9BKnoqy4hqz4+azQ0JHuA26qiUKsf1XJ/v5A==",
113
+ "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.3.tgz",
118
114
  "os": [
119
115
  "linux"
120
116
  ],
@@ -127,10 +123,10 @@
127
123
  },
128
124
  {
129
125
  "name": "@img/sharp-libvips-linux-ppc64",
130
- "version": "1.2.4",
126
+ "version": "1.3.3",
131
127
  "rel": "@img/sharp-libvips-linux-ppc64",
132
- "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==",
133
- "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz",
128
+ "integrity": "sha512-cdn1OvUBwsXhbC0zSzJnNzf5MZ/mTrobawDvNXBTxe8VtqKAm0sRuEY2Evzovb/w9JMk4TvRxqt1mekSuJz64w==",
129
+ "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.3.tgz",
134
130
  "os": [
135
131
  "linux"
136
132
  ],
@@ -143,10 +139,10 @@
143
139
  },
144
140
  {
145
141
  "name": "@img/sharp-libvips-linux-riscv64",
146
- "version": "1.2.4",
142
+ "version": "1.3.3",
147
143
  "rel": "@img/sharp-libvips-linux-riscv64",
148
- "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==",
149
- "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz",
144
+ "integrity": "sha512-HjPVx7yKz+0lqdhDlTw1tt90wamBoxhiXpvl1XZpJLiHH4RCJ5yDTqH+VlYPv2fwFs89JFw4c1IexYOcQUi4IQ==",
145
+ "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.3.tgz",
150
146
  "os": [
151
147
  "linux"
152
148
  ],
@@ -159,10 +155,10 @@
159
155
  },
160
156
  {
161
157
  "name": "@img/sharp-libvips-linux-s390x",
162
- "version": "1.2.4",
158
+ "version": "1.3.3",
163
159
  "rel": "@img/sharp-libvips-linux-s390x",
164
- "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==",
165
- "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz",
160
+ "integrity": "sha512-neWLh+3yCNThxnfy3c4BbVBeGgt9aftno+XbT56iK28RgeDs3UOFWviLWlUu0bArYVYJaFDK+RRohbicUNCm8Q==",
161
+ "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.3.tgz",
166
162
  "os": [
167
163
  "linux"
168
164
  ],
@@ -175,10 +171,10 @@
175
171
  },
176
172
  {
177
173
  "name": "@img/sharp-libvips-linux-x64",
178
- "version": "1.2.4",
174
+ "version": "1.3.3",
179
175
  "rel": "@img/sharp-libvips-linux-x64",
180
- "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
181
- "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz",
176
+ "integrity": "sha512-4vKmvAst9nrowcqquKFAyZJUDolUaIp8uRiN0mWFguJ1IplC9/pitXtlnnlU4aa/eJw3J7i67V+pwUL+wZGdsA==",
177
+ "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.3.tgz",
182
178
  "os": [
183
179
  "linux"
184
180
  ],
@@ -191,10 +187,10 @@
191
187
  },
192
188
  {
193
189
  "name": "@img/sharp-libvips-linuxmusl-arm64",
194
- "version": "1.2.4",
190
+ "version": "1.3.3",
195
191
  "rel": "@img/sharp-libvips-linuxmusl-arm64",
196
- "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
197
- "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz",
192
+ "integrity": "sha512-Y9kQaLMuNoB0bPYOOdcZMaseNrFpPodIWWMrx+CZyydf2xn68j9WYc6sWWRrDwNkzCQjKYfc68L7jKjGlHMibw==",
193
+ "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.3.tgz",
198
194
  "os": [
199
195
  "linux"
200
196
  ],
@@ -207,10 +203,10 @@
207
203
  },
208
204
  {
209
205
  "name": "@img/sharp-libvips-linuxmusl-x64",
210
- "version": "1.2.4",
206
+ "version": "1.3.3",
211
207
  "rel": "@img/sharp-libvips-linuxmusl-x64",
212
- "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
213
- "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz",
208
+ "integrity": "sha512-fj8Mv0HHfD1Rr+4I68+3agJynxDWtBFgicTbSOb9Bke6pIwzGcJ+RX/yHjmiEGFMCavY/dxvem7MyNaJF+wDiw==",
209
+ "tarball": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.3.tgz",
214
210
  "os": [
215
211
  "linux"
216
212
  ],
@@ -223,10 +219,10 @@
223
219
  },
224
220
  {
225
221
  "name": "@img/sharp-linux-arm",
226
- "version": "0.34.5",
222
+ "version": "0.35.4",
227
223
  "rel": "@img/sharp-linux-arm",
228
- "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
229
- "tarball": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz",
224
+ "integrity": "sha512-7OAS8gI0EReKGVN2HssHlM6umJgxF5VI3xN0p9FA91p/YO+ou5hiNghLdZ5BEHztwaaK5+bLKRf8x/o2L2nk9A==",
225
+ "tarball": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.4.tgz",
230
226
  "os": [
231
227
  "linux"
232
228
  ],
@@ -239,10 +235,10 @@
239
235
  },
240
236
  {
241
237
  "name": "@img/sharp-linux-arm64",
242
- "version": "0.34.5",
238
+ "version": "0.35.4",
243
239
  "rel": "@img/sharp-linux-arm64",
244
- "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
245
- "tarball": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz",
240
+ "integrity": "sha512-De4jpEnAU8Hd5oT0j1G3uL4ZvTuipVMn7YC6vPaJhy6/7EwEae0SVAoBrUMYQbkLGDm85taVWwuPc1a44LTzCQ==",
241
+ "tarball": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.4.tgz",
246
242
  "os": [
247
243
  "linux"
248
244
  ],
@@ -255,10 +251,10 @@
255
251
  },
256
252
  {
257
253
  "name": "@img/sharp-linux-ppc64",
258
- "version": "0.34.5",
254
+ "version": "0.35.4",
259
255
  "rel": "@img/sharp-linux-ppc64",
260
- "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==",
261
- "tarball": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz",
256
+ "integrity": "sha512-2oYZJeIl4kCcMGk4ouZVjnkCtFrpQFlNEtJ6GbxzhHQchwH0NH/qEb9ykmOl29dqwMq+JhFdZn+1ak2FKhI9fQ==",
257
+ "tarball": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.4.tgz",
262
258
  "os": [
263
259
  "linux"
264
260
  ],
@@ -271,10 +267,10 @@
271
267
  },
272
268
  {
273
269
  "name": "@img/sharp-linux-riscv64",
274
- "version": "0.34.5",
270
+ "version": "0.35.4",
275
271
  "rel": "@img/sharp-linux-riscv64",
276
- "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==",
277
- "tarball": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz",
272
+ "integrity": "sha512-cPbNChoRURAWdebDIHSenxRpgEdy7JkPydSnUxRm9VvKD7m0/xVaR/8Fzlu81pk5nHEvHH87UZUA7cTtwnbJSA==",
273
+ "tarball": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.4.tgz",
278
274
  "os": [
279
275
  "linux"
280
276
  ],
@@ -287,10 +283,10 @@
287
283
  },
288
284
  {
289
285
  "name": "@img/sharp-linux-s390x",
290
- "version": "0.34.5",
286
+ "version": "0.35.4",
291
287
  "rel": "@img/sharp-linux-s390x",
292
- "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==",
293
- "tarball": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz",
288
+ "integrity": "sha512-RY0JFY8Fd6RonCBtHz+DvadaPkXDSI1AUn6yWL9TipqkZ1vY8w8evqdgyDFnkm4/K1ve1TvZiaePP5oSd4+WVQ==",
289
+ "tarball": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.4.tgz",
294
290
  "os": [
295
291
  "linux"
296
292
  ],
@@ -303,10 +299,10 @@
303
299
  },
304
300
  {
305
301
  "name": "@img/sharp-linux-x64",
306
- "version": "0.34.5",
302
+ "version": "0.35.4",
307
303
  "rel": "@img/sharp-linux-x64",
308
- "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
309
- "tarball": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz",
304
+ "integrity": "sha512-9qvvEAuk8k89TfWUoX2htWjbAMX8p+NxCppjpcg5k6xMsjhBQPTsoIh36h9Qde4WRuGpJeYnOjdosDn/cnv+OA==",
305
+ "tarball": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.4.tgz",
310
306
  "os": [
311
307
  "linux"
312
308
  ],
@@ -319,10 +315,10 @@
319
315
  },
320
316
  {
321
317
  "name": "@img/sharp-linuxmusl-arm64",
322
- "version": "0.34.5",
318
+ "version": "0.35.4",
323
319
  "rel": "@img/sharp-linuxmusl-arm64",
324
- "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
325
- "tarball": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz",
320
+ "integrity": "sha512-KB5jxpfWQTr0nc3xdHtWChdbifHrBGsd2SM62Eyxrl8afikm+f5qGBU75SJIZBT/S1MC8XyacdlXBMSWq6OURA==",
321
+ "tarball": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.4.tgz",
326
322
  "os": [
327
323
  "linux"
328
324
  ],
@@ -335,10 +331,10 @@
335
331
  },
336
332
  {
337
333
  "name": "@img/sharp-linuxmusl-x64",
338
- "version": "0.34.5",
334
+ "version": "0.35.4",
339
335
  "rel": "@img/sharp-linuxmusl-x64",
340
- "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
341
- "tarball": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz",
336
+ "integrity": "sha512-f+eZJZIQNEEd26RPSW+76chwOf1XtA2Y/O+5ocVyLliHkeih3e+jhLVBdNTd2rS3IbNXK8+ug93Vf5ZXtF5Lxg==",
337
+ "tarball": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.4.tgz",
342
338
  "os": [
343
339
  "linux"
344
340
  ],
@@ -349,22 +345,12 @@
349
345
  "musl"
350
346
  ]
351
347
  },
352
- {
353
- "name": "@img/sharp-wasm32",
354
- "version": "0.34.5",
355
- "rel": "@img/sharp-wasm32",
356
- "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==",
357
- "tarball": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz",
358
- "cpu": [
359
- "wasm32"
360
- ]
361
- },
362
348
  {
363
349
  "name": "@img/sharp-win32-arm64",
364
- "version": "0.34.5",
350
+ "version": "0.35.4",
365
351
  "rel": "@img/sharp-win32-arm64",
366
- "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
367
- "tarball": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
352
+ "integrity": "sha512-iNdlBX9gLVvqe2I3uIJSIKTq6wckP/DYxZtcqxm09x5Gi24DnFBmPAWZmr60ZyYMG0xlzo6goG3670ar+RXvRw==",
353
+ "tarball": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.4.tgz",
368
354
  "os": [
369
355
  "win32"
370
356
  ],
@@ -374,10 +360,10 @@
374
360
  },
375
361
  {
376
362
  "name": "@img/sharp-win32-ia32",
377
- "version": "0.34.5",
363
+ "version": "0.35.4",
378
364
  "rel": "@img/sharp-win32-ia32",
379
- "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==",
380
- "tarball": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz",
365
+ "integrity": "sha512-kqRsbaa5CS6KHlpxnN7WhE6vAAugXyZButpRdvDWetlv6Qv4N9WTcrWzF7tXfB9T7MsoadqdI8hmwLq6UlLvtw==",
366
+ "tarball": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.4.tgz",
381
367
  "os": [
382
368
  "win32"
383
369
  ],
@@ -387,10 +373,10 @@
387
373
  },
388
374
  {
389
375
  "name": "@img/sharp-win32-x64",
390
- "version": "0.34.5",
376
+ "version": "0.35.4",
391
377
  "rel": "@img/sharp-win32-x64",
392
- "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
393
- "tarball": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz",
378
+ "integrity": "sha512-XtmnYhBcrORsJ4XJngyzr/EWP0hRZLAZRFaApdKuviyqF78+ylxh2y06ZmtULAMOnObJ3ucpN0AcwSWnMowTRg==",
379
+ "tarball": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.4.tgz",
394
380
  "os": [
395
381
  "win32"
396
382
  ],
@@ -400,17 +386,10 @@
400
386
  },
401
387
  {
402
388
  "name": "adm-zip",
403
- "version": "0.6.0",
389
+ "version": "0.6.1",
404
390
  "rel": "adm-zip",
405
- "integrity": "sha512-XleryMhbuksdKtofnWZ9Sk+4CUTbms4Mb/EU32SZwToAyZ5RgVos/ki8n+yr0LWHOGKuakbXTuuYNHLQjhddgg==",
406
- "tarball": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.6.0.tgz"
407
- },
408
- {
409
- "name": "boolean",
410
- "version": "3.2.0",
411
- "rel": "boolean",
412
- "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
413
- "tarball": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz"
391
+ "integrity": "sha512-Xwrja8nx9e5o2N1my4DsKCeKpdrnACyr1wtbPxBDgGzKzKyE9kRtBFA8mWldI+RVlD7CBZNWY/wQ2+ydwOR6kQ==",
392
+ "tarball": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.6.1.tgz"
414
393
  },
415
394
  {
416
395
  "name": "define-data-property",
@@ -433,13 +412,6 @@
433
412
  "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
434
413
  "tarball": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz"
435
414
  },
436
- {
437
- "name": "detect-node",
438
- "version": "2.1.0",
439
- "rel": "detect-node",
440
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
441
- "tarball": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz"
442
- },
443
415
  {
444
416
  "name": "es-define-property",
445
417
  "version": "1.0.1",
@@ -454,13 +426,6 @@
454
426
  "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
455
427
  "tarball": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz"
456
428
  },
457
- {
458
- "name": "es6-error",
459
- "version": "4.1.1",
460
- "rel": "es6-error",
461
- "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
462
- "tarball": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz"
463
- },
464
429
  {
465
430
  "name": "escape-string-regexp",
466
431
  "version": "4.0.0",
@@ -470,10 +435,10 @@
470
435
  },
471
436
  {
472
437
  "name": "global-agent",
473
- "version": "3.0.0",
438
+ "version": "4.1.3",
474
439
  "rel": "global-agent",
475
- "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
476
- "tarball": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz"
440
+ "integrity": "sha512-KUJEViiuFT3I97t+GYMikLPJS2Lfo/S2F+DQuBWzuzaMPnvt5yyZePzArx36fBzpGTxZjIpDbXLeySLgh+k76g==",
441
+ "tarball": "https://registry.npmjs.org/global-agent/-/global-agent-4.1.3.tgz"
477
442
  },
478
443
  {
479
444
  "name": "globalthis",
@@ -496,19 +461,12 @@
496
461
  "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
497
462
  "tarball": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz"
498
463
  },
499
- {
500
- "name": "json-stringify-safe",
501
- "version": "5.0.1",
502
- "rel": "json-stringify-safe",
503
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
504
- "tarball": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
505
- },
506
464
  {
507
465
  "name": "matcher",
508
- "version": "3.0.0",
466
+ "version": "4.0.0",
509
467
  "rel": "matcher",
510
- "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
511
- "tarball": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz"
468
+ "integrity": "sha512-S6x5wmcDmsDRRU/c2dkccDwQPXoFczc5+HpQ2lON8pnvHlnvHAHj5WlLVvw6n6vNyHuVugYrFohYxbS+pvFpKQ==",
469
+ "tarball": "https://registry.npmjs.org/matcher/-/matcher-4.0.0.tgz"
512
470
  },
513
471
  {
514
472
  "name": "object-keys",
@@ -519,30 +477,23 @@
519
477
  },
520
478
  {
521
479
  "name": "onnxruntime-common",
522
- "version": "1.24.3",
480
+ "version": "1.30.0",
523
481
  "rel": "onnxruntime-common",
524
- "integrity": "sha512-GeuPZO6U/LBJXvwdaqHbuUmoXiEdeCjWi/EG7Y1HNnDwJYuk6WUbNXpF6luSUY8yASul3cmUlLGrCCL1ZgVXqA==",
525
- "tarball": "https://registry.npmjs.org/onnxruntime-common/-/onnxruntime-common-1.24.3.tgz"
482
+ "integrity": "sha512-7fdVWjAID1dVhH/G8qK3APARunV4VkBFoCQAP7qp4Wkab0mrorvmc+sqiT+mKXOzDqdjN5j+/Z9nb4gzNPWcyA==",
483
+ "tarball": "https://registry.npmjs.org/onnxruntime-common/-/onnxruntime-common-1.30.0.tgz"
526
484
  },
527
485
  {
528
486
  "name": "onnxruntime-node",
529
- "version": "1.24.3",
487
+ "version": "1.30.0",
530
488
  "rel": "onnxruntime-node",
531
- "integrity": "sha512-JH7+czbc8ALA819vlTgcV+Q214/+VjGeBHDjX81+ZCD0PCVCIFGFNtT0V4sXG/1JXypKPgScQcB3ij/hk3YnTg==",
532
- "tarball": "https://registry.npmjs.org/onnxruntime-node/-/onnxruntime-node-1.24.3.tgz",
489
+ "integrity": "sha512-twhs1C2C/BFkz1yc5OY0KIU2GUq6DURO7hD4bx5Q2Qy3nAMJwRXW8xU3NVczE29VA9lolLOYepoD8fjTGOfIqw==",
490
+ "tarball": "https://registry.npmjs.org/onnxruntime-node/-/onnxruntime-node-1.30.0.tgz",
533
491
  "os": [
534
492
  "win32",
535
493
  "darwin",
536
494
  "linux"
537
495
  ]
538
496
  },
539
- {
540
- "name": "roarr",
541
- "version": "2.15.4",
542
- "rel": "roarr",
543
- "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
544
- "tarball": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz"
545
- },
546
497
  {
547
498
  "name": "semver",
548
499
  "version": "7.8.5",
@@ -550,47 +501,26 @@
550
501
  "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==",
551
502
  "tarball": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz"
552
503
  },
553
- {
554
- "name": "semver-compare",
555
- "version": "1.0.0",
556
- "rel": "semver-compare",
557
- "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
558
- "tarball": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz"
559
- },
560
504
  {
561
505
  "name": "serialize-error",
562
- "version": "7.0.1",
506
+ "version": "8.1.0",
563
507
  "rel": "serialize-error",
564
- "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
565
- "tarball": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz"
508
+ "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==",
509
+ "tarball": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz"
566
510
  },
567
511
  {
568
512
  "name": "sharp",
569
- "version": "0.34.5",
513
+ "version": "0.35.4",
570
514
  "rel": "sharp",
571
- "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==",
572
- "tarball": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz"
573
- },
574
- {
575
- "name": "sprintf-js",
576
- "version": "1.1.3",
577
- "rel": "sprintf-js",
578
- "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
579
- "tarball": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz"
580
- },
581
- {
582
- "name": "tslib",
583
- "version": "2.8.1",
584
- "rel": "tslib",
585
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
586
- "tarball": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz"
515
+ "integrity": "sha512-n++8XWcj+jCOr2IOl7h8LbKnGBDY4aPbmprMONBNFdn0ImXqpGVv5zliDs0V9HbmbCQLpbuo2ej9rAoOQTvMDA==",
516
+ "tarball": "https://registry.npmjs.org/sharp/-/sharp-0.35.4.tgz"
587
517
  },
588
518
  {
589
519
  "name": "type-fest",
590
- "version": "0.13.1",
520
+ "version": "0.20.2",
591
521
  "rel": "type-fest",
592
- "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
593
- "tarball": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz"
522
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
523
+ "tarball": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
594
524
  }
595
525
  ]
596
526
  }
@@ -29,7 +29,14 @@ const ENTRY = "@huggingface/transformers";
29
29
  * 嵌入结果逐字节相同:dims=[2,512]、L2 范数 1.0000、cos 0.3053)。而它解包后 127.7MB,占整个
30
30
  * 闭包约三分之一。所以清单里剔除它,风险由 verify 的真实推理兜底。
31
31
  */
32
- const EXCLUDED = { "onnxruntime-web": "Node 构建从不 import 它(打桩验证:嵌入结果逐字节相同)" };
32
+ const EXCLUDED = {
33
+ "onnxruntime-web": "Node 构建从不 import 它(打桩验证:嵌入结果逐字节相同)",
34
+ // sharp 0.35 起把 WASM 回退包装进 optionalDependencies(freebsd/webcontainers 场景),
35
+ // 六个覆盖平台在 Node 里从不 import;wasm32 无 os 约束,会混进每个平台的 natives 断言。
36
+ "@img/sharp-freebsd-wasm32": "FreeBSD 专用 WASM 回退,覆盖平台之外",
37
+ "@img/sharp-webcontainers-wasm32": "WebContainers 专用 WASM 回退,覆盖平台之外",
38
+ "@img/sharp-wasm32": "无 os 约束的 WASM 回退,Node 构建从不 import",
39
+ };
33
40
 
34
41
  /**
35
42
  * 被剔除的包,以及**它子树下的一切**。
@@ -1,9 +1,12 @@
1
- // 发版流水线的徽章对齐(release.yml 的 badge job 调用;手动可跑 npm run badge:sync)。
1
+ // 发版前对齐徽章(手动跑 npm run badge:sync;release.yml 不再有 badge job ——
2
+ // main 受保护,github-actions[bot] 的 GITHUB_TOKEN 绕过不了 required status
3
+ // checks,push 必被 GH006 拒)。
2
4
  //
3
5
  // 做三件事:
4
- // 1. 跑一遍全量测试(npm test),取最后的 `pass N` 汇总数;
6
+ // 1. 跑一遍全量测试(npm test),取套件总数(`ℹ tests N` 汇总行);
5
7
  // 2. 把双 README 的 tests 徽章(img.shields.io/badge/tests-N%20passed)与
6
- // 开发命令注释(# N 个测试 / # N tests)刷成该数字;
8
+ // 开发命令注释(# N 个测试 / # 运行 N 个测试 / # N 个 node:test 测试 /
9
+ // # N tests)刷成该数字;
7
10
  // 3. 有变化就写回文件(由调用方决定是否 commit/push),无变化静默退出。
8
11
  //
9
12
  // 测试失败(fail>0 或进程非零退出)时以非零退出且不改任何文件——徽章永远
@@ -32,11 +35,14 @@ try {
32
35
  process.exit(1);
33
36
  }
34
37
 
35
- // 2) 取汇总 pass 数(spec reporter 的 `ℹ pass N`;取最后一处防逐用例行干扰)
36
- const matches = [...output.matchAll(/pass (\d+)/g)];
37
- const pass = matches.length ? Number(matches[matches.length - 1][1]) : 0;
38
- if (!pass) {
39
- console.error("无法从测试输出解析 pass 数,徽章不更新");
38
+ // 2) 取套件总数(spec reporter 的 `ℹ tests N`;取最后一处防逐用例行干扰)
39
+ // 用总数而非 `pass N`:平台条件跳过的用例(如 Windows 未开开发者模式时的
40
+ // 符号链接断言)在 pass 里不计、在 tests 里计入,而徽章报的是 CI(ubuntu)
41
+ // 口径 —— 用总数则本地在 Windows 跑也得到同一个数,不必手工修。
42
+ const matches = [...output.matchAll(/ℹ tests (\d+)/g)];
43
+ const count = matches.length ? Number(matches[matches.length - 1][1]) : 0;
44
+ if (!count) {
45
+ console.error("无法从测试输出解析套件总数,徽章不更新");
40
46
  process.exit(1);
41
47
  }
42
48
 
@@ -49,13 +55,13 @@ let changed = 0;
49
55
  for (const file of targets) {
50
56
  let text = readFileSync(file, "utf8");
51
57
  const next = text
52
- .replace(/tests-\d+%20passed-/g, `tests-${pass}%20passed-`)
53
- .replace(/(#\s*)\d+( 个测试)/g, `$1${pass}$2`)
54
- .replace(/(#\s*)\d+( tests)/g, `$1${pass}$2`);
58
+ .replace(/tests-\d+%20passed-/g, `tests-${count}%20passed-`)
59
+ .replace(/(#\s*(?:运行\s*)?)\d+( 个(?:\s*node:test)?\s*测试)/g, `$1${count}$2`)
60
+ .replace(/(#\s*)\d+( tests)/g, `$1${count}$2`);
55
61
  if (next !== text) {
56
62
  writeFileSync(file, next);
57
63
  changed += 1;
58
64
  console.log(`updated: ${file}`);
59
65
  }
60
66
  }
61
- console.log(`pass=${pass}, files changed=${changed}`);
67
+ console.log(`tests=${count}, files changed=${changed}`);