paperlint 7.1.0 → 8.0.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 (261) hide show
  1. package/.github/workflows/ci.yml +3 -0
  2. package/.github/workflows/deadlines.yml +100 -0
  3. package/README.md +6 -0
  4. package/dist/adapters/hotcrp/deadlines.d.ts +8 -0
  5. package/dist/adapters/hotcrp/deadlines.d.ts.map +1 -0
  6. package/dist/adapters/hotcrp/deadlines.io.d.ts +6 -0
  7. package/dist/adapters/hotcrp/deadlines.io.d.ts.map +1 -0
  8. package/dist/adapters/hotcrp/deadlines.io.js +26 -0
  9. package/dist/adapters/hotcrp/deadlines.io.js.map +1 -0
  10. package/dist/adapters/hotcrp/deadlines.js +134 -0
  11. package/dist/adapters/hotcrp/deadlines.js.map +1 -0
  12. package/dist/adapters/hotcrp/index.d.ts +2 -0
  13. package/dist/adapters/hotcrp/index.d.ts.map +1 -1
  14. package/dist/adapters/hotcrp/index.js +2 -0
  15. package/dist/adapters/hotcrp/index.js.map +1 -1
  16. package/dist/build.d.ts.map +1 -1
  17. package/dist/build.js +1 -6
  18. package/dist/build.js.map +1 -1
  19. package/dist/cli.d.ts +3 -4
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +53 -47
  22. package/dist/cli.js.map +1 -1
  23. package/dist/cycle-rules.d.ts +24 -0
  24. package/dist/cycle-rules.d.ts.map +1 -0
  25. package/dist/cycle-rules.js +212 -0
  26. package/dist/cycle-rules.js.map +1 -0
  27. package/dist/domain/cycle.d.ts +148 -0
  28. package/dist/domain/cycle.d.ts.map +1 -0
  29. package/dist/domain/cycle.js +281 -0
  30. package/dist/domain/cycle.js.map +1 -0
  31. package/dist/domain/deadline.d.ts +128 -0
  32. package/dist/domain/deadline.d.ts.map +1 -0
  33. package/dist/domain/deadline.js +281 -0
  34. package/dist/domain/deadline.js.map +1 -0
  35. package/dist/eslint-rules/cycle-stage.d.ts +39 -0
  36. package/dist/eslint-rules/cycle-stage.d.ts.map +1 -0
  37. package/dist/eslint-rules/cycle-stage.js +119 -0
  38. package/dist/eslint-rules/cycle-stage.js.map +1 -0
  39. package/dist/eslint-rules/latex-language.d.ts.map +1 -1
  40. package/dist/eslint-rules/latex-language.js +10 -13
  41. package/dist/eslint-rules/latex-language.js.map +1 -1
  42. package/dist/eslint-rules/paper-context.js +2 -2
  43. package/dist/eslint-rules/paper-typography.d.ts.map +1 -1
  44. package/dist/eslint-rules/paper-typography.js +22 -91
  45. package/dist/eslint-rules/paper-typography.js.map +1 -1
  46. package/dist/eslint-rules/papers.d.ts +1 -3
  47. package/dist/eslint-rules/papers.d.ts.map +1 -1
  48. package/dist/eslint-rules/papers.js +2 -4
  49. package/dist/eslint-rules/papers.js.map +1 -1
  50. package/dist/eslint-rules/tex-build.d.ts.map +1 -1
  51. package/dist/eslint-rules/tex-build.js +8 -25
  52. package/dist/eslint-rules/tex-build.js.map +1 -1
  53. package/dist/init.d.ts +1 -4
  54. package/dist/init.d.ts.map +1 -1
  55. package/dist/init.js +3 -9
  56. package/dist/init.js.map +1 -1
  57. package/dist/lib/markdown.d.ts +5 -81
  58. package/dist/lib/markdown.d.ts.map +1 -1
  59. package/dist/lib/markdown.js +5 -116
  60. package/dist/lib/markdown.js.map +1 -1
  61. package/dist/lib/paper-config.d.ts.map +1 -1
  62. package/dist/lib/paper-config.js +2 -2
  63. package/dist/lib/paper-config.js.map +1 -1
  64. package/dist/lib/skill-eval-fixture.d.ts +6 -4
  65. package/dist/lib/skill-eval-fixture.d.ts.map +1 -1
  66. package/dist/lib/skill-eval-fixture.js +25 -18
  67. package/dist/lib/skill-eval-fixture.js.map +1 -1
  68. package/dist/new-paper.d.ts +5 -11
  69. package/dist/new-paper.d.ts.map +1 -1
  70. package/dist/new-paper.js +12 -23
  71. package/dist/new-paper.js.map +1 -1
  72. package/dist/paper-files.d.ts +4 -4
  73. package/dist/paper-prose.d.ts +17 -0
  74. package/dist/paper-prose.d.ts.map +1 -0
  75. package/dist/paper-prose.js +46 -0
  76. package/dist/paper-prose.js.map +1 -0
  77. package/dist/paper-settings.d.ts +7 -0
  78. package/dist/paper-settings.d.ts.map +1 -1
  79. package/dist/paper-settings.js +61 -8
  80. package/dist/paper-settings.js.map +1 -1
  81. package/dist/ports/venue-deadlines.d.ts +14 -0
  82. package/dist/ports/venue-deadlines.d.ts.map +1 -0
  83. package/dist/ports/venue-deadlines.js +2 -0
  84. package/dist/ports/venue-deadlines.js.map +1 -0
  85. package/dist/presets.d.ts +12 -0
  86. package/dist/presets.d.ts.map +1 -1
  87. package/dist/presets.js +19 -11
  88. package/dist/presets.js.map +1 -1
  89. package/dist/structure.d.ts.map +1 -1
  90. package/dist/structure.js +4 -3
  91. package/dist/structure.js.map +1 -1
  92. package/dist/submission.d.ts +8 -0
  93. package/dist/submission.d.ts.map +1 -1
  94. package/dist/submission.js +41 -10
  95. package/dist/submission.js.map +1 -1
  96. package/dist/tex-requirements.d.ts +3 -0
  97. package/dist/tex-requirements.d.ts.map +1 -1
  98. package/dist/tex-requirements.js +19 -0
  99. package/dist/tex-requirements.js.map +1 -1
  100. package/dist/tex-venue-rules.d.ts +19 -0
  101. package/dist/tex-venue-rules.d.ts.map +1 -1
  102. package/dist/tex-venue-rules.js +69 -0
  103. package/dist/tex-venue-rules.js.map +1 -1
  104. package/dist/types.d.ts +0 -2
  105. package/dist/types.d.ts.map +1 -1
  106. package/dist/venue-rules.d.ts +10 -0
  107. package/dist/venue-rules.d.ts.map +1 -1
  108. package/dist/venue-rules.js +26 -10
  109. package/dist/venue-rules.js.map +1 -1
  110. package/docs/configuration.md +146 -20
  111. package/docs/e2e.md +4 -6
  112. package/docs/prior-art/paper-folder-scaffolding.md +24 -29
  113. package/docs/rules/cycle/evidence.md +87 -0
  114. package/docs/rules/cycle/port-done.md +75 -0
  115. package/docs/rules/cycle/record.md +152 -0
  116. package/docs/rules/cycle/stage.md +85 -0
  117. package/docs/rules/tex/claim-provenance.md +0 -1
  118. package/docs/rules.md +48 -47
  119. package/docs/submission.md +5 -0
  120. package/eslint-rules/cycle-stage.test.mjs +131 -0
  121. package/eslint-rules/cycle-stage.ts +141 -0
  122. package/eslint-rules/latex-language.harness.mjs +3 -3
  123. package/eslint-rules/latex-language.ts +10 -13
  124. package/eslint-rules/paper-context.ts +2 -2
  125. package/eslint-rules/paper-typography.test.mjs +17 -85
  126. package/eslint-rules/paper-typography.ts +22 -98
  127. package/eslint-rules/papers.harness.mjs +1 -1
  128. package/eslint-rules/papers.ts +2 -4
  129. package/eslint-rules/tex-build.harness.mjs +2 -2
  130. package/eslint-rules/tex-build.ts +8 -25
  131. package/eslint.config.mjs +41 -2
  132. package/hooks/hooks.harness.ts +15 -15
  133. package/hooks/paper-edit-guard.hook.mjs +5 -8
  134. package/hooks/paper-edit-guard.test.ts +12 -3
  135. package/hooks/paper-skills-nudge.hook.mjs +2 -3
  136. package/hooks/paper-skills-nudge.test.ts +13 -3
  137. package/hooks/paper-status-gates.hook.mjs +2 -2
  138. package/hooks/paper-status-gates.test.ts +14 -2
  139. package/lib/markdown.test.mjs +5 -60
  140. package/lib/markdown.ts +9 -136
  141. package/lib/paper-config.ts +3 -2
  142. package/lib/skill-checks.test.mjs +4 -1
  143. package/lib/skill-eval-fixture.ts +25 -18
  144. package/package.json +1 -3
  145. package/presets/aidc.jsonc +24 -3
  146. package/presets/aidc.md +6 -3
  147. package/presets/msr.jsonc +25 -1
  148. package/presets/msr.md +5 -1
  149. package/presets/realm.jsonc +1 -1
  150. package/presets/venue-profile.schema.json +39 -0
  151. package/scripts/check.ts +4 -0
  152. package/scripts/harness-api.frozen.json +0 -5
  153. package/scripts/refresh-deadlines.test.ts +431 -0
  154. package/scripts/refresh-deadlines.ts +387 -0
  155. package/skills/cold-read-diff/SKILL.md +3 -3
  156. package/skills/cold-read-diff/SKILL.md.spec.ts +2 -2
  157. package/skills/grade-paper-writing/SKILL.md +14 -22
  158. package/skills/grade-paper-writing/SKILL.md.spec.ts +13 -21
  159. package/skills/grade-paper-writing/__snapshots__/prose-lint.test.ts.snap +40 -26
  160. package/skills/grade-paper-writing/prose-lint.mjs +108 -278
  161. package/skills/grade-paper-writing/prose-lint.test.ts +184 -81
  162. package/skills/paper-adversarial-review/SKILL.md +2 -2
  163. package/skills/paper-adversarial-review/SKILL.md.spec.ts +1 -1
  164. package/skills/paper-pipeline/SKILL.md +9 -12
  165. package/skills/paper-pipeline/SKILL.md.spec.ts +8 -11
  166. package/skills/paper-pipeline/description-language.eval.mjs +25 -15
  167. package/skills/paper-pipeline/framing-vs-vocabulary.eval.mjs +25 -15
  168. package/skills/paper-pipeline/grade-paper-writing-ablation.eval.mjs +25 -15
  169. package/skills/paper-pipeline/pipeline-firing.eval.mjs +27 -16
  170. package/skills/paper-pipeline/pipeline-language.eval.mjs +25 -15
  171. package/skills/paper-pipeline/references/acceptance-gate.md +16 -20
  172. package/skills/paper-pipeline/references/artifact-checklist.md +4 -5
  173. package/skills/paper-pipeline/references/pipeline-status-template.md +1 -1
  174. package/skills/paper-pipeline/scripts/README.md +0 -4
  175. package/skills/paper-pipeline/scripts/extract-ref-facts.harness.mjs +8 -72
  176. package/skills/paper-pipeline/scripts/extract-ref-facts.mjs +48 -156
  177. package/skills/paper-pipeline/scripts/extract-ref-facts.test.mjs +81 -75
  178. package/skills/paper-pipeline/scripts/generated-code.harness.mjs +3 -3
  179. package/skills/paper-status/SKILL.md +2 -2
  180. package/skills/paper-status/SKILL.md.spec.ts +1 -1
  181. package/skills/render-paper/SKILL.md +2 -2
  182. package/skills/render-paper/SKILL.md.spec.ts +1 -1
  183. package/skills/render-paper/extract-pdf-facts.mjs +2 -2
  184. package/skills/tighten-paper/SKILL.md +29 -42
  185. package/skills/tighten-paper/SKILL.md.spec.ts +28 -41
  186. package/skills/verify-citations/scripts/bib-authors.check.test.mjs +0 -13
  187. package/skills/verify-citations/scripts/bib-authors.cli.test.ts +23 -11
  188. package/skills/verify-citations/scripts/bib-authors.mjs +8 -93
  189. package/skills/verify-citations/scripts/bib-authors.test.mjs +1 -44
  190. package/src/adapters/hotcrp/cassette/README.md +22 -0
  191. package/src/adapters/hotcrp/cassette/deadlines-aidc26.html +17 -0
  192. package/src/adapters/hotcrp/cassette/deadlines-fse2027.html +24 -0
  193. package/src/adapters/hotcrp/cassette/deadlines-icse2027.html +25 -0
  194. package/src/adapters/hotcrp/cassette/deadlines-msr2027.html +25 -0
  195. package/src/adapters/hotcrp/cassette/deadlines-nosuch.html +18 -0
  196. package/src/adapters/hotcrp/cassette/deadlines-sosp26.html +26 -0
  197. package/src/adapters/hotcrp/deadlines.io.test.ts +86 -0
  198. package/src/adapters/hotcrp/deadlines.io.ts +27 -0
  199. package/src/adapters/hotcrp/deadlines.test.ts +170 -0
  200. package/src/adapters/hotcrp/deadlines.ts +161 -0
  201. package/src/adapters/hotcrp/index.ts +2 -0
  202. package/src/build.harness.mjs +2 -2
  203. package/src/build.test.ts +1 -1
  204. package/src/build.ts +1 -6
  205. package/src/cli.harness.mjs +26 -46
  206. package/src/cli.test.ts +41 -40
  207. package/src/cli.ts +57 -58
  208. package/src/cycle-rules.test.ts +278 -0
  209. package/src/cycle-rules.ts +273 -0
  210. package/src/domain/cycle.test.ts +456 -0
  211. package/src/domain/cycle.ts +432 -0
  212. package/src/domain/deadline.test.ts +386 -0
  213. package/src/domain/deadline.ts +472 -0
  214. package/src/folder-venue-rule.test.ts +1 -1
  215. package/src/init.test.ts +6 -7
  216. package/src/init.ts +3 -22
  217. package/src/lint-fix.test.ts +10 -4
  218. package/src/new-paper.harness.mjs +9 -28
  219. package/src/new-paper.test.ts +7 -6
  220. package/src/new-paper.ts +11 -30
  221. package/src/paper-files.test.ts +5 -4
  222. package/src/paper-files.ts +4 -4
  223. package/src/paper-prose.test.ts +49 -0
  224. package/src/paper-prose.ts +67 -0
  225. package/src/paper-settings.test.ts +167 -0
  226. package/src/paper-settings.ts +85 -11
  227. package/src/parse-args.test.ts +0 -1
  228. package/src/ports/venue-deadlines.ts +14 -0
  229. package/src/presets.test.ts +105 -0
  230. package/src/presets.ts +43 -10
  231. package/src/rule-cases.test.ts +144 -0
  232. package/src/structure.harness.ts +5 -11
  233. package/src/structure.ts +4 -3
  234. package/src/submission.test.ts +105 -1
  235. package/src/submission.ts +73 -12
  236. package/src/tex-requirements.ts +31 -0
  237. package/src/tex-venue-rules.test.ts +76 -0
  238. package/src/tex-venue-rules.ts +85 -0
  239. package/src/types.ts +0 -2
  240. package/src/venue-rules.test.ts +82 -0
  241. package/src/venue-rules.ts +44 -12
  242. package/fixtures/real-markdown-paper/baseline.json +0 -22
  243. package/fixtures/real-markdown-paper/baseline.ts +0 -70
  244. package/skills/paper-pipeline/PIPELINE-MAP.md +0 -381
  245. package/skills/paper-pipeline/pipeline-firing.baseline.json +0 -270
  246. package/skills/paper-pipeline/references/sweep-2026-08-09-ideal-pipeline.md +0 -585
  247. package/skills/paper-pipeline/scripts/artifact-coverage.harness.mjs +0 -492
  248. package/skills/paper-pipeline/scripts/artifact-coverage.mjs +0 -397
  249. package/skills/paper-pipeline/scripts/artifact-coverage.test.ts +0 -86
  250. package/skills/paper-pipeline/scripts/check-provenance.mjs +0 -184
  251. package/skills/paper-pipeline/scripts/population-map.harness.mjs +0 -135
  252. package/skills/paper-pipeline/scripts/population-map.mjs +0 -188
  253. package/skills/paper-pipeline/scripts/population-map.test.mjs +0 -154
  254. package/skills/paper-pipeline/scripts/provenance.harness.mjs +0 -266
  255. package/skills/paper-pipeline/scripts/round-diff.harness.ts +0 -907
  256. package/skills/paper-pipeline/scripts/round-diff.mjs +0 -583
  257. package/skills/paper-pipeline/scripts/round-diff.test.mjs +0 -159
  258. package/skills/tighten-paper/__snapshots__/structure.test.ts.snap +0 -133
  259. package/skills/tighten-paper/structure.mjs +0 -364
  260. package/skills/tighten-paper/structure.test.ts +0 -117
  261. package/templates/paper/paper.md +0 -4
@@ -1,270 +0,0 @@
1
- {
2
- "version": 1,
3
- "recordedAt": "2026-08-07T01:07:09.341Z",
4
- "reports": {
5
- "pipeline-firing": {
6
- "name": "pipeline-firing",
7
- "trials": 1,
8
- "arms": {
9
- "tighten-paper": {
10
- "runs": 8,
11
- "metrics": {
12
- "recall": 0.75,
13
- "falsePositiveRate": 0
14
- },
15
- "stats": {
16
- "recall": {
17
- "mean": 0.75,
18
- "std": 0.5,
19
- "se": 0.25,
20
- "n": 4,
21
- "passK": 0
22
- },
23
- "falsePositiveRate": {
24
- "mean": 0,
25
- "std": 0,
26
- "se": 0,
27
- "n": 4,
28
- "passK": 0
29
- }
30
- },
31
- "usage": {
32
- "totalCostUsd": 0.9953834000000001,
33
- "meanCostUsd": 0.12442292500000002,
34
- "meanDurationMs": 10830.5,
35
- "totalInputTokens": 36,
36
- "totalOutputTokens": 3983,
37
- "totalCacheCreationTokens": 119008,
38
- "totalCacheReadTokens": 721678
39
- }
40
- },
41
- "grade-paper-writing": {
42
- "runs": 8,
43
- "metrics": {
44
- "recall": 0.5,
45
- "falsePositiveRate": 0
46
- },
47
- "stats": {
48
- "recall": {
49
- "mean": 0.5,
50
- "std": 0.5773502691896257,
51
- "se": 0.28867513459481287,
52
- "n": 4,
53
- "passK": 0
54
- },
55
- "falsePositiveRate": {
56
- "mean": 0,
57
- "std": 0,
58
- "se": 0,
59
- "n": 4,
60
- "passK": 0
61
- }
62
- },
63
- "usage": {
64
- "totalCostUsd": 1.0452466,
65
- "meanCostUsd": 0.130655825,
66
- "meanDurationMs": 13598.25,
67
- "totalInputTokens": 38,
68
- "totalOutputTokens": 5884,
69
- "totalCacheCreationTokens": 120445,
70
- "totalCacheReadTokens": 763892
71
- }
72
- },
73
- "argument-arc": {
74
- "runs": 8,
75
- "metrics": {
76
- "recall": 0.75,
77
- "falsePositiveRate": 0
78
- },
79
- "stats": {
80
- "recall": {
81
- "mean": 0.75,
82
- "std": 0.5,
83
- "se": 0.25,
84
- "n": 4,
85
- "passK": 0
86
- },
87
- "falsePositiveRate": {
88
- "mean": 0,
89
- "std": 0,
90
- "se": 0,
91
- "n": 4,
92
- "passK": 0
93
- }
94
- },
95
- "usage": {
96
- "totalCostUsd": 1.062707,
97
- "meanCostUsd": 0.132838375,
98
- "meanDurationMs": 11936.25,
99
- "totalInputTokens": 43,
100
- "totalOutputTokens": 4402,
101
- "totalCacheCreationTokens": 120427,
102
- "totalCacheReadTokens": 896590
103
- }
104
- },
105
- "paper-adversarial-review": {
106
- "runs": 8,
107
- "metrics": {
108
- "recall": 0.75,
109
- "falsePositiveRate": 0
110
- },
111
- "stats": {
112
- "recall": {
113
- "mean": 0.75,
114
- "std": 0.5,
115
- "se": 0.25,
116
- "n": 4,
117
- "passK": 0
118
- },
119
- "falsePositiveRate": {
120
- "mean": 0,
121
- "std": 0,
122
- "se": 0,
123
- "n": 4,
124
- "passK": 0
125
- }
126
- },
127
- "usage": {
128
- "totalCostUsd": 1.3513067,
129
- "meanCostUsd": 0.1689133375,
130
- "meanDurationMs": 21940.125,
131
- "totalInputTokens": 68,
132
- "totalOutputTokens": 10272,
133
- "totalCacheCreationTokens": 126522,
134
- "totalCacheReadTokens": 1442859
135
- }
136
- },
137
- "pc-panel-review": {
138
- "runs": 8,
139
- "metrics": {
140
- "recall": 0.75,
141
- "falsePositiveRate": 0
142
- },
143
- "stats": {
144
- "recall": {
145
- "mean": 0.75,
146
- "std": 0.5,
147
- "se": 0.25,
148
- "n": 4,
149
- "passK": 0
150
- },
151
- "falsePositiveRate": {
152
- "mean": 0,
153
- "std": 0,
154
- "se": 0,
155
- "n": 4,
156
- "passK": 0
157
- }
158
- },
159
- "usage": {
160
- "totalCostUsd": 1.4467628,
161
- "meanCostUsd": 0.18084535,
162
- "meanDurationMs": 26701,
163
- "totalInputTokens": 642,
164
- "totalOutputTokens": 12323,
165
- "totalCacheCreationTokens": 128442,
166
- "totalCacheReadTokens": 1614556
167
- }
168
- },
169
- "cold-read-diff": {
170
- "runs": 8,
171
- "metrics": {
172
- "recall": 0.5,
173
- "falsePositiveRate": 0
174
- },
175
- "stats": {
176
- "recall": {
177
- "mean": 0.5,
178
- "std": 0.5773502691896257,
179
- "se": 0.28867513459481287,
180
- "n": 4,
181
- "passK": 0
182
- },
183
- "falsePositiveRate": {
184
- "mean": 0,
185
- "std": 0,
186
- "se": 0,
187
- "n": 4,
188
- "passK": 0
189
- }
190
- },
191
- "usage": {
192
- "totalCostUsd": 1.1799009,
193
- "meanCostUsd": 0.1474876125,
194
- "meanDurationMs": 16845.875,
195
- "totalInputTokens": 53,
196
- "totalOutputTokens": 7500,
197
- "totalCacheCreationTokens": 123048,
198
- "totalCacheReadTokens": 1079763
199
- }
200
- },
201
- "verify-citations": {
202
- "runs": 8,
203
- "metrics": {
204
- "recall": 1,
205
- "falsePositiveRate": 0
206
- },
207
- "stats": {
208
- "recall": {
209
- "mean": 1,
210
- "std": 0,
211
- "se": 0,
212
- "n": 4,
213
- "passK": 1
214
- },
215
- "falsePositiveRate": {
216
- "mean": 0,
217
- "std": 0,
218
- "se": 0,
219
- "n": 4,
220
- "passK": 0
221
- }
222
- },
223
- "usage": {
224
- "totalCostUsd": 1.2063428999999999,
225
- "meanCostUsd": 0.15079286249999999,
226
- "meanDurationMs": 17178.25,
227
- "totalInputTokens": 52,
228
- "totalOutputTokens": 7682,
229
- "totalCacheCreationTokens": 124837,
230
- "totalCacheReadTokens": 1123033
231
- }
232
- },
233
- "map-prior-work": {
234
- "runs": 8,
235
- "metrics": {
236
- "recall": 0.75,
237
- "falsePositiveRate": 0
238
- },
239
- "stats": {
240
- "recall": {
241
- "mean": 0.75,
242
- "std": 0.5,
243
- "se": 0.25,
244
- "n": 4,
245
- "passK": 0
246
- },
247
- "falsePositiveRate": {
248
- "mean": 0,
249
- "std": 0,
250
- "se": 0,
251
- "n": 4,
252
- "passK": 0
253
- }
254
- },
255
- "usage": {
256
- "totalCostUsd": 1.2584402000000001,
257
- "meanCostUsd": 0.15730502500000001,
258
- "meanDurationMs": 19536.25,
259
- "totalInputTokens": 55,
260
- "totalOutputTokens": 9461,
261
- "totalCacheCreationTokens": 126289,
262
- "totalCacheReadTokens": 1178704
263
- }
264
- }
265
- },
266
- "totalCostUsd": 9.5460905,
267
- "aborted": false
268
- }
269
- }
270
- }