dsh-context-compression-improved 0.1.1 → 0.2.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 (148) hide show
  1. package/.gitattributes +1 -0
  2. package/.github/workflows/ci.yml +39 -0
  3. package/CHANGELOG.ja.md +39 -0
  4. package/CHANGELOG.ko.md +39 -0
  5. package/CHANGELOG.md +135 -0
  6. package/CHANGELOG.zh.md +39 -0
  7. package/CONTRIBUTING.md +22 -0
  8. package/README.ja.md +104 -0
  9. package/README.ko.md +103 -0
  10. package/README.md +89 -12
  11. package/README.zh.md +87 -12
  12. package/SECURITY.md +18 -0
  13. package/THIRD_PARTY_NOTICES.md +7 -31
  14. package/docs/installation.ja.md +76 -0
  15. package/docs/installation.ko.md +76 -0
  16. package/docs/installation.md +76 -0
  17. package/docs/installation.zh.md +76 -0
  18. package/docs/repair-log.md +582 -0
  19. package/eslint.config.js +30 -0
  20. package/package.json +84 -81
  21. package/packages/selector/LICENSE +21 -0
  22. package/packages/selector/README.md +26 -0
  23. package/packages/selector/README.zh.md +26 -0
  24. package/packages/selector/THIRD_PARTY_NOTICES.md +38 -0
  25. package/packages/selector/docs/history-tool-call-working-set-spec.md +112 -0
  26. package/packages/selector/docs/native-tool-result-selector-spec.md +34 -0
  27. package/packages/selector/docs/subagent-cache-reuse-spec.md +46 -0
  28. package/packages/selector/lib/style.css +308 -0
  29. package/packages/selector/package.json +115 -0
  30. package/{screenshots.json → packages/selector/screenshots.json} +6 -6
  31. package/packages/selector/src/client/CompressionProfileControls.tsx +229 -0
  32. package/packages/selector/src/client/CompressionProfileSelector.module.css +170 -0
  33. package/packages/selector/src/client/CompressionProfileSelector.tsx +79 -0
  34. package/packages/selector/src/client/CustomPolicyEditor.tsx +216 -0
  35. package/packages/selector/src/client/EstimatorControls.tsx +281 -0
  36. package/packages/selector/src/client/decode.ts +49 -0
  37. package/packages/selector/src/client/index.ts +111 -0
  38. package/packages/selector/src/client/locales.ts +198 -0
  39. package/packages/selector/src/client/preset-options.ts +70 -0
  40. package/packages/selector/src/client/settings-section.tsx +126 -0
  41. package/packages/selector/src/css-modules.d.ts +6 -0
  42. package/packages/selector/src/deepseek-v4-tokenizer.ts +210 -0
  43. package/packages/selector/src/estimator-catalog.ts +104 -0
  44. package/packages/selector/src/index.ts +327 -0
  45. package/packages/selector/src/invariant.ts +113 -0
  46. package/packages/selector/src/preset-overlay.ts +567 -0
  47. package/packages/selector/src/profiles.ts +342 -0
  48. package/packages/selector/src/pruner/content.ts +188 -0
  49. package/packages/selector/src/pruner/session.ts +94 -0
  50. package/packages/selector/src/pruner/state.ts +43 -0
  51. package/packages/selector/src/pruner/tuning.ts +23 -0
  52. package/packages/selector/src/pruner/types.ts +60 -0
  53. package/packages/selector/src/pruner.ts +2144 -0
  54. package/packages/selector/src/runtime/adaptive-cost.ts +194 -0
  55. package/packages/selector/src/runtime/audit.ts +215 -0
  56. package/packages/selector/src/runtime/config.ts +613 -0
  57. package/packages/selector/src/runtime/custom-policy.ts +278 -0
  58. package/packages/selector/src/runtime/deepseek-official-pricing.ts +298 -0
  59. package/packages/selector/src/runtime/deepseek-v4-vision-tokens.ts +254 -0
  60. package/packages/selector/src/runtime/measurement.ts +403 -0
  61. package/packages/selector/src/runtime/reducers.ts +656 -0
  62. package/packages/selector/src/runtime/retrieve.ts +457 -0
  63. package/packages/selector/src/runtime/session-events.ts +17 -0
  64. package/packages/selector/src/runtime/tail-trim.ts +166 -0
  65. package/packages/selector/src/runtime/token-count.ts +72 -0
  66. package/packages/selector/src/runtime/tokenpilot/dedup.ts +81 -0
  67. package/packages/selector/src/runtime/tokenpilot/estimator.ts +183 -0
  68. package/packages/selector/src/runtime/tokenpilot/locator.ts +128 -0
  69. package/packages/selector/src/runtime/tokenpilot/read-state.ts +77 -0
  70. package/packages/selector/src/runtime/types.ts +309 -0
  71. package/packages/selector/src/runtime/value.ts +48 -0
  72. package/packages/selector/tests/auto-compact.client.spec.tsx +226 -0
  73. package/packages/selector/tests/built/client-artifact.spec.ts +51 -0
  74. package/packages/selector/tests/cache-prefix-audit.spec.ts +123 -0
  75. package/packages/selector/tests/code-skeleton.client.spec.ts +88 -0
  76. package/packages/selector/tests/custom-contract.client.spec.ts +202 -0
  77. package/packages/selector/tests/estimator-catalog.spec.ts +70 -0
  78. package/packages/selector/tests/estimator-channel.client.spec.tsx +247 -0
  79. package/packages/selector/tests/estimator-route-registration.host.spec.ts +176 -0
  80. package/packages/selector/tests/host-preset-overlay.host.spec.ts +204 -0
  81. package/packages/selector/tests/preset-options-write.client.spec.ts +181 -0
  82. package/packages/selector/tests/preset-overlay-loader.e2e.host.spec.ts +196 -0
  83. package/packages/selector/tests/preset-overlay.host.spec.ts +243 -0
  84. package/packages/selector/tests/profiles.client.spec.tsx +434 -0
  85. package/packages/selector/tests/public/package-contract.client.spec.ts +33 -0
  86. package/packages/selector/tests/runtime/adaptive-cost.spec.ts +167 -0
  87. package/packages/selector/tests/runtime/audit.spec.ts +129 -0
  88. package/packages/selector/tests/runtime/auto-compact-config.spec.ts +523 -0
  89. package/packages/selector/tests/runtime/code-skeleton.spec.ts +141 -0
  90. package/packages/selector/tests/runtime/deepseek-official-pricing.spec.ts +186 -0
  91. package/packages/selector/tests/runtime/deepseek-v4-tokenizer.spec.ts +122 -0
  92. package/packages/selector/tests/runtime/deepseek-v4-vision-tokens.spec.ts +122 -0
  93. package/packages/selector/tests/runtime/fixtures/profile-baseline.json +273 -0
  94. package/packages/selector/tests/runtime/fixtures/tokenizer-golden.json +106 -0
  95. package/packages/selector/tests/runtime/fixtures/vision-golden.json +459 -0
  96. package/packages/selector/tests/runtime/public/public-runtime.spec.ts +2531 -0
  97. package/packages/selector/tests/runtime/session-events.spec.ts +27 -0
  98. package/packages/selector/tests/runtime/tokenizer-golden.spec.ts +53 -0
  99. package/packages/selector/tests/runtime/tokenpilot/dedup.spec.ts +52 -0
  100. package/packages/selector/tests/runtime/tokenpilot/estimator.spec.ts +56 -0
  101. package/packages/selector/tests/runtime/tokenpilot/locator.spec.ts +76 -0
  102. package/packages/selector/tests/runtime/tokenpilot/profile-baseline.spec.ts +100 -0
  103. package/packages/selector/tests/runtime/tokenpilot/read-state.spec.ts +58 -0
  104. package/packages/selector/tests/runtime/value.spec.ts +23 -0
  105. package/packages/selector/tests/standing-generation.host.spec.ts +631 -0
  106. package/packages/selector/tests/subagent-cache-reuse.host.spec.ts +250 -0
  107. package/packages/selector/tests/support/cache-prefix-audit.ts +105 -0
  108. package/packages/selector/tests/support/mock-adapter.ts +37 -0
  109. package/packages/selector/tests/support/ui-primitives.tsx +34 -0
  110. package/packages/selector/tsconfig.json +11 -0
  111. package/packages/selector/tsdown.client.config.ts +102 -0
  112. package/packages/selector/tsdown.config.ts +20 -0
  113. package/pnpm-workspace.yaml +19 -0
  114. package/scripts/capture-profile-baseline.ts +80 -0
  115. package/scripts/generate-tokenizer-fixtures.py +81 -0
  116. package/scripts/generate-vision-fixtures.py +208 -0
  117. package/scripts/packed-components-smoke.ts +713 -0
  118. package/scripts/packed-install-e2e.ts +1072 -0
  119. package/scripts/verify-release.ts +300 -0
  120. package/tests/TEST_INVENTORY.md +42 -0
  121. package/tsconfig.base.json +18 -0
  122. package/tsconfig.json +7 -0
  123. package/tsconfig.scripts.json +13 -0
  124. package/tsconfig.tests.json +15 -0
  125. package/vitest.built.config.ts +9 -0
  126. package/vitest.config.ts +43 -0
  127. /package/{assets → packages/selector/assets}/deepseek-v4/LICENSE.DeepSeek-V4-Pro.txt +0 -0
  128. /package/{assets → packages/selector/assets}/deepseek-v4/manifest.json +0 -0
  129. /package/{assets → packages/selector/assets}/deepseek-v4/tokenizer.json +0 -0
  130. /package/{assets → packages/selector/assets}/deepseek-v4/tokenizer_config.json +0 -0
  131. /package/{assets → packages/selector/assets}/deepseek-v4-vision-exp/LICENSE.DeepSeek-V4-Flash-Vision-Exp.txt +0 -0
  132. /package/{assets → packages/selector/assets}/deepseek-v4-vision-exp/manifest.json +0 -0
  133. /package/{assets → packages/selector/assets}/deepseek-v4-vision-exp/tokenizer.json +0 -0
  134. /package/{assets → packages/selector/assets}/deepseek-v4-vision-exp/tokenizer_config.json +0 -0
  135. /package/{assets → packages/selector/assets}/screenshots/context-compression-selector-profiles.jpg +0 -0
  136. /package/{assets → packages/selector/assets}/screenshots/context-compression-selector-settings.png +0 -0
  137. /package/{cordis.patch.yml → packages/selector/cordis.patch.yml} +0 -0
  138. /package/{dsh.plugin.json → packages/selector/dsh.plugin.json} +0 -0
  139. /package/{lib → packages/selector/lib}/client.d.ts +0 -0
  140. /package/{lib → packages/selector/lib}/client.js +0 -0
  141. /package/{lib → packages/selector/lib}/config.js +0 -0
  142. /package/{lib → packages/selector/lib}/index.d.ts +0 -0
  143. /package/{lib → packages/selector/lib}/index.js +0 -0
  144. /package/{lib → packages/selector/lib}/invariant.d.ts +0 -0
  145. /package/{lib → packages/selector/lib}/invariant.js +0 -0
  146. /package/{lib → packages/selector/lib}/pruner.d.ts +0 -0
  147. /package/{lib → packages/selector/lib}/pruner.js +0 -0
  148. /package/{lib → packages/selector/lib}/tail-trim.js +0 -0
@@ -0,0 +1,459 @@
1
+ {
2
+ "source": {
3
+ "repository": "deepseek-ai/DeepSeek-V4-Flash-Vision-Exp",
4
+ "revision": "6821d6ad3681a4b137b066b76094fa82ebd0a380",
5
+ "files": [
6
+ "inference/image_processor.py",
7
+ "config.json"
8
+ ]
9
+ },
10
+ "parameters": {
11
+ "visionPatchSize": 14,
12
+ "visionDownsampleRatio": 3,
13
+ "visionMaxNTokens": 384,
14
+ "visionMinPixels": 147456,
15
+ "visionMaxWhRatio": 8
16
+ },
17
+ "singleImages": [
18
+ {
19
+ "width": 14,
20
+ "height": 14,
21
+ "startTokenPos": 0,
22
+ "nLlmH": 10,
23
+ "nLlmW": 10,
24
+ "tokensAtStart0": 117
25
+ },
26
+ {
27
+ "width": 28,
28
+ "height": 14,
29
+ "startTokenPos": 0,
30
+ "nLlmH": 7,
31
+ "nLlmW": 13,
32
+ "tokensAtStart0": 117
33
+ },
34
+ {
35
+ "width": 56,
36
+ "height": 56,
37
+ "startTokenPos": 0,
38
+ "nLlmH": 10,
39
+ "nLlmW": 10,
40
+ "tokensAtStart0": 117
41
+ },
42
+ {
43
+ "width": 100,
44
+ "height": 100,
45
+ "startTokenPos": 0,
46
+ "nLlmH": 10,
47
+ "nLlmW": 10,
48
+ "tokensAtStart0": 117
49
+ },
50
+ {
51
+ "width": 224,
52
+ "height": 224,
53
+ "startTokenPos": 0,
54
+ "nLlmH": 10,
55
+ "nLlmW": 10,
56
+ "tokensAtStart0": 117
57
+ },
58
+ {
59
+ "width": 240,
60
+ "height": 180,
61
+ "startTokenPos": 0,
62
+ "nLlmH": 8,
63
+ "nLlmW": 11,
64
+ "tokensAtStart0": 101
65
+ },
66
+ {
67
+ "width": 180,
68
+ "height": 240,
69
+ "startTokenPos": 0,
70
+ "nLlmH": 11,
71
+ "nLlmW": 8,
72
+ "tokensAtStart0": 113
73
+ },
74
+ {
75
+ "width": 384,
76
+ "height": 384,
77
+ "startTokenPos": 0,
78
+ "nLlmH": 10,
79
+ "nLlmW": 10,
80
+ "tokensAtStart0": 117
81
+ },
82
+ {
83
+ "width": 512,
84
+ "height": 384,
85
+ "startTokenPos": 0,
86
+ "nLlmH": 10,
87
+ "nLlmW": 13,
88
+ "tokensAtStart0": 145
89
+ },
90
+ {
91
+ "width": 640,
92
+ "height": 480,
93
+ "startTokenPos": 0,
94
+ "nLlmH": 12,
95
+ "nLlmW": 16,
96
+ "tokensAtStart0": 209
97
+ },
98
+ {
99
+ "width": 800,
100
+ "height": 600,
101
+ "startTokenPos": 0,
102
+ "nLlmH": 15,
103
+ "nLlmW": 20,
104
+ "tokensAtStart0": 341
105
+ },
106
+ {
107
+ "width": 1024,
108
+ "height": 768,
109
+ "startTokenPos": 0,
110
+ "nLlmH": 16,
111
+ "nLlmW": 21,
112
+ "tokensAtStart0": 357
113
+ },
114
+ {
115
+ "width": 768,
116
+ "height": 1024,
117
+ "startTokenPos": 0,
118
+ "nLlmH": 20,
119
+ "nLlmW": 15,
120
+ "tokensAtStart0": 325
121
+ },
122
+ {
123
+ "width": 1280,
124
+ "height": 960,
125
+ "startTokenPos": 0,
126
+ "nLlmH": 16,
127
+ "nLlmW": 21,
128
+ "tokensAtStart0": 357
129
+ },
130
+ {
131
+ "width": 1600,
132
+ "height": 1200,
133
+ "startTokenPos": 0,
134
+ "nLlmH": 16,
135
+ "nLlmW": 21,
136
+ "tokensAtStart0": 357
137
+ },
138
+ {
139
+ "width": 2048,
140
+ "height": 1536,
141
+ "startTokenPos": 0,
142
+ "nLlmH": 16,
143
+ "nLlmW": 21,
144
+ "tokensAtStart0": 357
145
+ },
146
+ {
147
+ "width": 2000,
148
+ "height": 2000,
149
+ "startTokenPos": 0,
150
+ "nLlmH": 18,
151
+ "nLlmW": 18,
152
+ "tokensAtStart0": 349
153
+ },
154
+ {
155
+ "width": 4096,
156
+ "height": 4096,
157
+ "startTokenPos": 0,
158
+ "nLlmH": 18,
159
+ "nLlmW": 18,
160
+ "tokensAtStart0": 349
161
+ },
162
+ {
163
+ "width": 8,
164
+ "height": 8,
165
+ "startTokenPos": 0,
166
+ "nLlmH": 10,
167
+ "nLlmW": 10,
168
+ "tokensAtStart0": 117
169
+ },
170
+ {
171
+ "width": 4,
172
+ "height": 400,
173
+ "startTokenPos": 0,
174
+ "nLlmH": 92,
175
+ "nLlmW": 1,
176
+ "tokensAtStart0": 189
177
+ },
178
+ {
179
+ "width": 400,
180
+ "height": 4,
181
+ "startTokenPos": 0,
182
+ "nLlmH": 4,
183
+ "nLlmW": 26,
184
+ "tokensAtStart0": 113
185
+ },
186
+ {
187
+ "width": 64,
188
+ "height": 512,
189
+ "startTokenPos": 0,
190
+ "nLlmH": 26,
191
+ "nLlmW": 4,
192
+ "tokensAtStart0": 137
193
+ },
194
+ {
195
+ "width": 1152,
196
+ "height": 128,
197
+ "startTokenPos": 0,
198
+ "nLlmH": 4,
199
+ "nLlmW": 26,
200
+ "tokensAtStart0": 113
201
+ },
202
+ {
203
+ "width": 1024,
204
+ "height": 119,
205
+ "startTokenPos": 0,
206
+ "nLlmH": 4,
207
+ "nLlmW": 26,
208
+ "tokensAtStart0": 113
209
+ },
210
+ {
211
+ "width": 4200,
212
+ "height": 100,
213
+ "startTokenPos": 0,
214
+ "nLlmH": 4,
215
+ "nLlmW": 26,
216
+ "tokensAtStart0": 113
217
+ },
218
+ {
219
+ "width": 100,
220
+ "height": 4200,
221
+ "startTokenPos": 0,
222
+ "nLlmH": 84,
223
+ "nLlmW": 2,
224
+ "tokensAtStart0": 257
225
+ },
226
+ {
227
+ "width": 147,
228
+ "height": 147,
229
+ "startTokenPos": 0,
230
+ "nLlmH": 10,
231
+ "nLlmW": 10,
232
+ "tokensAtStart0": 117
233
+ },
234
+ {
235
+ "width": 1414,
236
+ "height": 1414,
237
+ "startTokenPos": 0,
238
+ "nLlmH": 18,
239
+ "nLlmW": 18,
240
+ "tokensAtStart0": 349
241
+ }
242
+ ],
243
+ "startPositions": [
244
+ {
245
+ "width": 640,
246
+ "height": 480,
247
+ "startTokenPos": 0,
248
+ "nLlmH": 12,
249
+ "nLlmW": 16,
250
+ "tokens": 209
251
+ },
252
+ {
253
+ "width": 640,
254
+ "height": 480,
255
+ "startTokenPos": 1,
256
+ "nLlmH": 12,
257
+ "nLlmW": 16,
258
+ "tokens": 208
259
+ },
260
+ {
261
+ "width": 640,
262
+ "height": 480,
263
+ "startTokenPos": 2,
264
+ "nLlmH": 12,
265
+ "nLlmW": 16,
266
+ "tokens": 207
267
+ },
268
+ {
269
+ "width": 640,
270
+ "height": 480,
271
+ "startTokenPos": 3,
272
+ "nLlmH": 12,
273
+ "nLlmW": 16,
274
+ "tokens": 206
275
+ },
276
+ {
277
+ "width": 640,
278
+ "height": 480,
279
+ "startTokenPos": 4,
280
+ "nLlmH": 12,
281
+ "nLlmW": 16,
282
+ "tokens": 209
283
+ },
284
+ {
285
+ "width": 640,
286
+ "height": 480,
287
+ "startTokenPos": 5,
288
+ "nLlmH": 12,
289
+ "nLlmW": 16,
290
+ "tokens": 208
291
+ },
292
+ {
293
+ "width": 640,
294
+ "height": 480,
295
+ "startTokenPos": 7,
296
+ "nLlmH": 12,
297
+ "nLlmW": 16,
298
+ "tokens": 206
299
+ },
300
+ {
301
+ "width": 640,
302
+ "height": 480,
303
+ "startTokenPos": 8,
304
+ "nLlmH": 12,
305
+ "nLlmW": 16,
306
+ "tokens": 209
307
+ },
308
+ {
309
+ "width": 640,
310
+ "height": 480,
311
+ "startTokenPos": 17,
312
+ "nLlmH": 12,
313
+ "nLlmW": 16,
314
+ "tokens": 208
315
+ },
316
+ {
317
+ "width": 640,
318
+ "height": 480,
319
+ "startTokenPos": 64,
320
+ "nLlmH": 12,
321
+ "nLlmW": 16,
322
+ "tokens": 209
323
+ },
324
+ {
325
+ "width": 640,
326
+ "height": 480,
327
+ "startTokenPos": 101,
328
+ "nLlmH": 12,
329
+ "nLlmW": 16,
330
+ "tokens": 208
331
+ },
332
+ {
333
+ "width": 640,
334
+ "height": 480,
335
+ "startTokenPos": 383,
336
+ "nLlmH": 12,
337
+ "nLlmW": 16,
338
+ "tokens": 206
339
+ },
340
+ {
341
+ "width": 640,
342
+ "height": 480,
343
+ "startTokenPos": 384,
344
+ "nLlmH": 12,
345
+ "nLlmW": 16,
346
+ "tokens": 209
347
+ },
348
+ {
349
+ "width": 640,
350
+ "height": 480,
351
+ "startTokenPos": 766,
352
+ "nLlmH": 12,
353
+ "nLlmW": 16,
354
+ "tokens": 207
355
+ },
356
+ {
357
+ "width": 640,
358
+ "height": 480,
359
+ "startTokenPos": 767,
360
+ "nLlmH": 12,
361
+ "nLlmW": 16,
362
+ "tokens": 206
363
+ }
364
+ ],
365
+ "sequences": [
366
+ {
367
+ "entries": [
368
+ {
369
+ "width": 640,
370
+ "height": 480,
371
+ "startTokenPos": 3,
372
+ "nLlmH": 12,
373
+ "nLlmW": 16,
374
+ "tokens": 206
375
+ },
376
+ {
377
+ "width": 800,
378
+ "height": 600,
379
+ "startTokenPos": 209,
380
+ "nLlmH": 15,
381
+ "nLlmW": 20,
382
+ "tokens": 340
383
+ },
384
+ {
385
+ "width": 1024,
386
+ "height": 768,
387
+ "startTokenPos": 549,
388
+ "nLlmH": 16,
389
+ "nLlmW": 21,
390
+ "tokens": 356
391
+ }
392
+ ]
393
+ },
394
+ {
395
+ "entries": [
396
+ {
397
+ "width": 2048,
398
+ "height": 1536,
399
+ "startTokenPos": 3,
400
+ "nLlmH": 16,
401
+ "nLlmW": 21,
402
+ "tokens": 354
403
+ },
404
+ {
405
+ "width": 147,
406
+ "height": 147,
407
+ "startTokenPos": 357,
408
+ "nLlmH": 10,
409
+ "nLlmW": 10,
410
+ "tokens": 116
411
+ },
412
+ {
413
+ "width": 4096,
414
+ "height": 4096,
415
+ "startTokenPos": 473,
416
+ "nLlmH": 18,
417
+ "nLlmW": 18,
418
+ "tokens": 348
419
+ }
420
+ ]
421
+ },
422
+ {
423
+ "entries": [
424
+ {
425
+ "width": 64,
426
+ "height": 512,
427
+ "startTokenPos": 3,
428
+ "nLlmH": 26,
429
+ "nLlmW": 4,
430
+ "tokens": 134
431
+ },
432
+ {
433
+ "width": 1152,
434
+ "height": 128,
435
+ "startTokenPos": 137,
436
+ "nLlmH": 4,
437
+ "nLlmW": 26,
438
+ "tokens": 112
439
+ },
440
+ {
441
+ "width": 4200,
442
+ "height": 100,
443
+ "startTokenPos": 249,
444
+ "nLlmH": 4,
445
+ "nLlmW": 26,
446
+ "tokens": 112
447
+ },
448
+ {
449
+ "width": 100,
450
+ "height": 4200,
451
+ "startTokenPos": 361,
452
+ "nLlmH": 84,
453
+ "nLlmW": 2,
454
+ "tokens": 256
455
+ }
456
+ ]
457
+ }
458
+ ]
459
+ }