@khorsheed/dsh-reader 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.
- package/README.en.md +90 -0
- package/README.i18n.yaml +6 -0
- package/README.md +90 -0
- package/cordis.patch.yml +13 -0
- package/lib/client.js +15119 -0
- package/lib/index.js +3660 -0
- package/lib/invariant.js +38 -0
- package/lib/typert.host.d.ts +3 -0
- package/lib/typert.host.js +1738 -0
- package/lib/typert.remote-client.d.ts +82 -0
- package/lib/typert.remote-client.js +1115 -0
- package/lib/types/arxiv.d.ts +47 -0
- package/lib/types/arxiv.js +76 -0
- package/lib/types/client/ReaderPane.d.ts +71 -0
- package/lib/types/client/ReaderPane.js +3135 -0
- package/lib/types/client/contract.d.ts +254 -0
- package/lib/types/client/contract.js +1 -0
- package/lib/types/client/definition.d.ts +27 -0
- package/lib/types/client/definition.js +32 -0
- package/lib/types/client/extract-article.d.ts +102 -0
- package/lib/types/client/extract-article.js +1024 -0
- package/lib/types/client/icons.d.ts +27 -0
- package/lib/types/client/icons.js +11 -0
- package/lib/types/client/index.d.ts +34 -0
- package/lib/types/client/index.js +222 -0
- package/lib/types/client/locales.d.ts +391 -0
- package/lib/types/client/locales.js +382 -0
- package/lib/types/client/parse-rss.d.ts +69 -0
- package/lib/types/client/parse-rss.js +656 -0
- package/lib/types/client/quote.d.ts +89 -0
- package/lib/types/client/quote.js +119 -0
- package/lib/types/client/selectors.d.ts +167 -0
- package/lib/types/client/selectors.js +413 -0
- package/lib/types/client/session.d.ts +171 -0
- package/lib/types/client/session.js +223 -0
- package/lib/types/client/store.d.ts +181 -0
- package/lib/types/client/store.js +226 -0
- package/lib/types/client/translate.d.ts +379 -0
- package/lib/types/client/translate.js +873 -0
- package/lib/types/index.d.ts +48 -0
- package/lib/types/index.js +25 -0
- package/lib/types/invariant.d.ts +29 -0
- package/lib/types/invariant.js +38 -0
- package/lib/types/link-resolvers.d.ts +107 -0
- package/lib/types/link-resolvers.js +299 -0
- package/lib/types/remote.d.ts +224 -0
- package/lib/types/remote.js +275 -0
- package/lib/types/schedule.d.ts +78 -0
- package/lib/types/schedule.js +114 -0
- package/lib/types/service.d.ts +633 -0
- package/lib/types/service.js +1697 -0
- package/lib/types/store.d.ts +224 -0
- package/lib/types/store.js +916 -0
- package/lib/types/types.d.ts +710 -0
- package/lib/types/types.js +182 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +128 -0
|
@@ -0,0 +1,1738 @@
|
|
|
1
|
+
/* Generated by @deepseek-ai/dsh-typert-generator from FaceModel — do not edit. */
|
|
2
|
+
import { z } from 'zod'
|
|
3
|
+
|
|
4
|
+
let _khorsheed_dsh_reader_reader_addSource_parameter_0$schema$value
|
|
5
|
+
const _khorsheed_dsh_reader_reader_addSource_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_addSource_parameter_0$schema$value ??= z.object({
|
|
6
|
+
'url': z.string(),
|
|
7
|
+
'label': z.string().optional(),
|
|
8
|
+
}))
|
|
9
|
+
let _khorsheed_dsh_reader_reader_addSource_result$schema$value
|
|
10
|
+
const _khorsheed_dsh_reader_reader_addSource_result$schema = () => (_khorsheed_dsh_reader_reader_addSource_result$schema$value ??= z.union([z.literal("unavailable"), z.object({
|
|
11
|
+
'outcome': z.union([z.literal("subscribed"), z.literal("saved-link")]).readonly(),
|
|
12
|
+
'kind': z.union([z.literal("rss"), z.literal("link")]).readonly(),
|
|
13
|
+
'id': z.string().readonly(),
|
|
14
|
+
'label': z.string().readonly(),
|
|
15
|
+
'failure': z.object({
|
|
16
|
+
'code': z.union([z.literal("unreadable"), z.literal("empty"), z.literal("blocked"), z.literal("login"), z.literal("unsupported-type"), z.literal("redirected"), z.literal("unreachable"), z.literal("http")]).readonly(),
|
|
17
|
+
'message': z.string().readonly(),
|
|
18
|
+
}).readonly().optional(),
|
|
19
|
+
}), z.literal("invalid-url"), z.literal("duplicate"), z.literal("unsupported-content"), z.literal("fetch-failed"), z.object({
|
|
20
|
+
'outcome': z.literal("fetch-failed").readonly(),
|
|
21
|
+
'reason': z.string().readonly(),
|
|
22
|
+
})]))
|
|
23
|
+
let _khorsheed_dsh_reader_reader_capabilities_result$schema$value
|
|
24
|
+
const _khorsheed_dsh_reader_reader_capabilities_result$schema = () => (_khorsheed_dsh_reader_reader_capabilities_result$schema$value ??= z.object({
|
|
25
|
+
'protocolVersion': z.literal(1).readonly(),
|
|
26
|
+
'hasFs': z.boolean().readonly(),
|
|
27
|
+
'hasSideChat': z.boolean().readonly(),
|
|
28
|
+
'nextRefreshAt': z.string().readonly().optional(),
|
|
29
|
+
'lastRefreshAt': z.string().readonly().optional(),
|
|
30
|
+
}))
|
|
31
|
+
let _khorsheed_dsh_reader_reader_clearRecent_result$schema$value
|
|
32
|
+
const _khorsheed_dsh_reader_reader_clearRecent_result$schema = () => (_khorsheed_dsh_reader_reader_clearRecent_result$schema$value ??= z.object({
|
|
33
|
+
'removed': z.number(),
|
|
34
|
+
}))
|
|
35
|
+
let _khorsheed_dsh_reader_reader_clearTranslations_result$schema$value
|
|
36
|
+
const _khorsheed_dsh_reader_reader_clearTranslations_result$schema = () => (_khorsheed_dsh_reader_reader_clearTranslations_result$schema$value ??= z.object({
|
|
37
|
+
'clearedEntries': z.number(),
|
|
38
|
+
'clearedMemory': z.boolean(),
|
|
39
|
+
}))
|
|
40
|
+
let _khorsheed_dsh_reader_reader_createTag_parameter_0$schema$value
|
|
41
|
+
const _khorsheed_dsh_reader_reader_createTag_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_createTag_parameter_0$schema$value ??= z.object({
|
|
42
|
+
'name': z.string(),
|
|
43
|
+
}))
|
|
44
|
+
let _khorsheed_dsh_reader_reader_createTag_result$schema$value
|
|
45
|
+
const _khorsheed_dsh_reader_reader_createTag_result$schema = () => (_khorsheed_dsh_reader_reader_createTag_result$schema$value ??= z.union([z.literal("unavailable"), z.literal("ok"), z.literal("empty"), z.literal("not-found"), z.literal("duplicate"), z.object({
|
|
46
|
+
'id': z.string().readonly(),
|
|
47
|
+
'name': z.string().readonly(),
|
|
48
|
+
'createdAt': z.string().readonly(),
|
|
49
|
+
}), z.literal("invalid")]))
|
|
50
|
+
let _khorsheed_dsh_reader_reader_deleteTag_parameter_0$schema$value
|
|
51
|
+
const _khorsheed_dsh_reader_reader_deleteTag_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_deleteTag_parameter_0$schema$value ??= z.object({
|
|
52
|
+
'id': z.string(),
|
|
53
|
+
}))
|
|
54
|
+
let _khorsheed_dsh_reader_reader_deleteTag_result$schema$value
|
|
55
|
+
const _khorsheed_dsh_reader_reader_deleteTag_result$schema = () => (_khorsheed_dsh_reader_reader_deleteTag_result$schema$value ??= z.union([z.literal("unavailable"), z.literal("ok"), z.literal("empty"), z.literal("not-found"), z.literal("duplicate"), z.literal("invalid")]))
|
|
56
|
+
let _khorsheed_dsh_reader_reader_entryFetchStates_parameter_0$schema$value
|
|
57
|
+
const _khorsheed_dsh_reader_reader_entryFetchStates_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_entryFetchStates_parameter_0$schema$value ??= z.object({
|
|
58
|
+
'entryIds': z.array(z.string()),
|
|
59
|
+
}))
|
|
60
|
+
let _khorsheed_dsh_reader_reader_entryFetchStates_result$schema$value
|
|
61
|
+
const _khorsheed_dsh_reader_reader_entryFetchStates_result$schema = () => (_khorsheed_dsh_reader_reader_entryFetchStates_result$schema$value ??= z.object({
|
|
62
|
+
'states': z.record(z.string(), z.union([z.object({
|
|
63
|
+
'state': z.literal("none").readonly(),
|
|
64
|
+
}), z.object({
|
|
65
|
+
'state': z.literal("fetching").readonly(),
|
|
66
|
+
'at': z.string().readonly(),
|
|
67
|
+
}), z.object({
|
|
68
|
+
'state': z.literal("raw").readonly(),
|
|
69
|
+
'at': z.string().readonly(),
|
|
70
|
+
}), z.object({
|
|
71
|
+
'state': z.literal("ready").readonly(),
|
|
72
|
+
'at': z.string().readonly().optional(),
|
|
73
|
+
}), z.object({
|
|
74
|
+
'state': z.literal("failed").readonly(),
|
|
75
|
+
'at': z.string().readonly(),
|
|
76
|
+
'message': z.string().readonly(),
|
|
77
|
+
'code': z.union([z.literal("unreadable"), z.literal("empty"), z.literal("blocked"), z.literal("login"), z.literal("unsupported-type"), z.literal("redirected"), z.literal("unreachable"), z.literal("http")]).readonly().optional(),
|
|
78
|
+
})])),
|
|
79
|
+
}))
|
|
80
|
+
let _khorsheed_dsh_reader_reader_entryTags_parameter_0$schema$value
|
|
81
|
+
const _khorsheed_dsh_reader_reader_entryTags_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_entryTags_parameter_0$schema$value ??= z.object({
|
|
82
|
+
'entryId': z.string(),
|
|
83
|
+
}))
|
|
84
|
+
let _khorsheed_dsh_reader_reader_entryTags_result$schema$value
|
|
85
|
+
const _khorsheed_dsh_reader_reader_entryTags_result$schema = () => (_khorsheed_dsh_reader_reader_entryTags_result$schema$value ??= z.object({
|
|
86
|
+
'tags': z.array(z.object({
|
|
87
|
+
'id': z.string().readonly(),
|
|
88
|
+
'name': z.string().readonly(),
|
|
89
|
+
'createdAt': z.string().readonly(),
|
|
90
|
+
})),
|
|
91
|
+
}))
|
|
92
|
+
let _khorsheed_dsh_reader_reader_fetchEntryBody_parameter_0$schema$value
|
|
93
|
+
const _khorsheed_dsh_reader_reader_fetchEntryBody_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_fetchEntryBody_parameter_0$schema$value ??= z.object({
|
|
94
|
+
'entryId': z.string(),
|
|
95
|
+
'url': z.string(),
|
|
96
|
+
}))
|
|
97
|
+
let _khorsheed_dsh_reader_reader_fetchEntryBody_result$schema$value
|
|
98
|
+
const _khorsheed_dsh_reader_reader_fetchEntryBody_result$schema = () => (_khorsheed_dsh_reader_reader_fetchEntryBody_result$schema$value ??= z.object({
|
|
99
|
+
'entryId': z.string(),
|
|
100
|
+
'url': z.string().optional(),
|
|
101
|
+
'raw': z.string().optional(),
|
|
102
|
+
'rawFile': z.string().optional(),
|
|
103
|
+
'truncated': z.boolean().optional(),
|
|
104
|
+
'error': z.string().optional(),
|
|
105
|
+
}))
|
|
106
|
+
let _khorsheed_dsh_reader_reader_getBodies_parameter_0$schema$value
|
|
107
|
+
const _khorsheed_dsh_reader_reader_getBodies_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_getBodies_parameter_0$schema$value ??= z.object({
|
|
108
|
+
'ids': z.array(z.string()),
|
|
109
|
+
}))
|
|
110
|
+
let _khorsheed_dsh_reader_reader_getBodies_result$schema$value
|
|
111
|
+
const _khorsheed_dsh_reader_reader_getBodies_result$schema = () => (_khorsheed_dsh_reader_reader_getBodies_result$schema$value ??= z.object({
|
|
112
|
+
'bodies': z.array(z.object({
|
|
113
|
+
'id': z.string().readonly(),
|
|
114
|
+
'raw': z.string().readonly().optional(),
|
|
115
|
+
'truncated': z.boolean().readonly().optional(),
|
|
116
|
+
'error': z.string().readonly().optional(),
|
|
117
|
+
'title': z.string().readonly().optional(),
|
|
118
|
+
'excerpt': z.string().readonly().optional(),
|
|
119
|
+
})),
|
|
120
|
+
}))
|
|
121
|
+
let _khorsheed_dsh_reader_reader_getCachePolicy_result$schema$value
|
|
122
|
+
const _khorsheed_dsh_reader_reader_getCachePolicy_result$schema = () => (_khorsheed_dsh_reader_reader_getCachePolicy_result$schema$value ??= z.object({
|
|
123
|
+
'ttlHours': z.number(),
|
|
124
|
+
'maxEntries': z.number(),
|
|
125
|
+
'translationBudgetChars': z.number(),
|
|
126
|
+
}))
|
|
127
|
+
let _khorsheed_dsh_reader_reader_getEntryBody_parameter_0$schema$value
|
|
128
|
+
const _khorsheed_dsh_reader_reader_getEntryBody_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_getEntryBody_parameter_0$schema$value ??= z.object({
|
|
129
|
+
'entryId': z.string(),
|
|
130
|
+
'url': z.string(),
|
|
131
|
+
'feedHtml': z.string().optional(),
|
|
132
|
+
}))
|
|
133
|
+
let _khorsheed_dsh_reader_reader_getEntryBody_result$schema$value
|
|
134
|
+
const _khorsheed_dsh_reader_reader_getEntryBody_result$schema = () => (_khorsheed_dsh_reader_reader_getEntryBody_result$schema$value ??= z.object({
|
|
135
|
+
'entryId': z.string().readonly(),
|
|
136
|
+
'cached': z.boolean().readonly(),
|
|
137
|
+
'fresh': z.boolean().readonly(),
|
|
138
|
+
'fromFeed': z.boolean().readonly(),
|
|
139
|
+
'html': z.string().readonly().optional(),
|
|
140
|
+
'fetchedAt': z.string().readonly().optional(),
|
|
141
|
+
'truncated': z.boolean().readonly().optional(),
|
|
142
|
+
'scriptFigures': z.number().readonly().optional(),
|
|
143
|
+
'rendered': z.boolean().readonly().optional(),
|
|
144
|
+
'error': z.string().readonly().optional(),
|
|
145
|
+
}))
|
|
146
|
+
let _khorsheed_dsh_reader_reader_getEntryTranslation_parameter_0$schema$value
|
|
147
|
+
const _khorsheed_dsh_reader_reader_getEntryTranslation_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_getEntryTranslation_parameter_0$schema$value ??= z.object({
|
|
148
|
+
'entryId': z.string(),
|
|
149
|
+
}))
|
|
150
|
+
let _khorsheed_dsh_reader_reader_getEntryTranslation_result$schema$value
|
|
151
|
+
const _khorsheed_dsh_reader_reader_getEntryTranslation_result$schema = () => (_khorsheed_dsh_reader_reader_getEntryTranslation_result$schema$value ??= z.object({
|
|
152
|
+
'translation': z.object({
|
|
153
|
+
'pair': z.string().readonly(),
|
|
154
|
+
'bodyHash': z.string().readonly(),
|
|
155
|
+
'segments': z.record(z.string(), z.string()).readonly(),
|
|
156
|
+
}).optional(),
|
|
157
|
+
}))
|
|
158
|
+
let _khorsheed_dsh_reader_reader_getRawBody_parameter_0$schema$value
|
|
159
|
+
const _khorsheed_dsh_reader_reader_getRawBody_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_getRawBody_parameter_0$schema$value ??= z.object({
|
|
160
|
+
'entryId': z.string(),
|
|
161
|
+
}))
|
|
162
|
+
let _khorsheed_dsh_reader_reader_getRawBody_result$schema$value
|
|
163
|
+
const _khorsheed_dsh_reader_reader_getRawBody_result$schema = () => (_khorsheed_dsh_reader_reader_getRawBody_result$schema$value ??= z.object({
|
|
164
|
+
'entryId': z.string(),
|
|
165
|
+
'raw': z.string().optional(),
|
|
166
|
+
'url': z.string().optional(),
|
|
167
|
+
'truncated': z.boolean().optional(),
|
|
168
|
+
'error': z.string().optional(),
|
|
169
|
+
}))
|
|
170
|
+
let _khorsheed_dsh_reader_reader_getSentenceTranslations_parameter_0$schema$value
|
|
171
|
+
const _khorsheed_dsh_reader_reader_getSentenceTranslations_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_getSentenceTranslations_parameter_0$schema$value ??= z.object({
|
|
172
|
+
'pair': z.string(),
|
|
173
|
+
'hashes': z.array(z.string()),
|
|
174
|
+
}))
|
|
175
|
+
let _khorsheed_dsh_reader_reader_getSentenceTranslations_result$schema$value
|
|
176
|
+
const _khorsheed_dsh_reader_reader_getSentenceTranslations_result$schema = () => (_khorsheed_dsh_reader_reader_getSentenceTranslations_result$schema$value ??= z.object({
|
|
177
|
+
'translations': z.record(z.string(), z.string()),
|
|
178
|
+
}))
|
|
179
|
+
let _khorsheed_dsh_reader_reader_getStorageStats_result$schema$value
|
|
180
|
+
const _khorsheed_dsh_reader_reader_getStorageStats_result$schema = () => (_khorsheed_dsh_reader_reader_getStorageStats_result$schema$value ??= z.object({
|
|
181
|
+
'bodies': z.object({
|
|
182
|
+
'entries': z.number().readonly(),
|
|
183
|
+
'chars': z.number().readonly(),
|
|
184
|
+
}).readonly(),
|
|
185
|
+
'translations': z.object({
|
|
186
|
+
'entries': z.number().readonly(),
|
|
187
|
+
'chars': z.number().readonly(),
|
|
188
|
+
'memoryEntries': z.number().readonly(),
|
|
189
|
+
'memoryChars': z.number().readonly(),
|
|
190
|
+
}).readonly(),
|
|
191
|
+
}))
|
|
192
|
+
let _khorsheed_dsh_reader_reader_listBackfillCandidates_parameter_0$schema$value
|
|
193
|
+
const _khorsheed_dsh_reader_reader_listBackfillCandidates_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_listBackfillCandidates_parameter_0$schema$value ??= z.object({
|
|
194
|
+
'entries': z.array(z.object({
|
|
195
|
+
'entryId': z.string(),
|
|
196
|
+
'url': z.string(),
|
|
197
|
+
'label': z.string(),
|
|
198
|
+
'hasBody': z.boolean(),
|
|
199
|
+
})),
|
|
200
|
+
'limit': z.number().optional(),
|
|
201
|
+
}))
|
|
202
|
+
let _khorsheed_dsh_reader_reader_listBackfillCandidates_result$schema$value
|
|
203
|
+
const _khorsheed_dsh_reader_reader_listBackfillCandidates_result$schema = () => (_khorsheed_dsh_reader_reader_listBackfillCandidates_result$schema$value ??= z.object({
|
|
204
|
+
'candidates': z.array(z.object({
|
|
205
|
+
'entryId': z.string().readonly(),
|
|
206
|
+
'url': z.string().readonly(),
|
|
207
|
+
'label': z.string().readonly(),
|
|
208
|
+
'lastError': z.string().readonly().optional(),
|
|
209
|
+
})),
|
|
210
|
+
}))
|
|
211
|
+
let _khorsheed_dsh_reader_reader_listRecent_result$schema$value
|
|
212
|
+
const _khorsheed_dsh_reader_reader_listRecent_result$schema = () => (_khorsheed_dsh_reader_reader_listRecent_result$schema$value ??= z.object({
|
|
213
|
+
'entries': z.array(z.object({
|
|
214
|
+
'entryId': z.string().readonly(),
|
|
215
|
+
'sourceId': z.string().readonly(),
|
|
216
|
+
'title': z.string().readonly(),
|
|
217
|
+
'url': z.string().readonly().optional(),
|
|
218
|
+
'readAt': z.string().readonly(),
|
|
219
|
+
})),
|
|
220
|
+
}))
|
|
221
|
+
let _khorsheed_dsh_reader_reader_listSources_result$schema$value
|
|
222
|
+
const _khorsheed_dsh_reader_reader_listSources_result$schema = () => (_khorsheed_dsh_reader_reader_listSources_result$schema$value ??= z.object({
|
|
223
|
+
'sources': z.array(z.object({
|
|
224
|
+
'id': z.string().readonly(),
|
|
225
|
+
'kind': z.union([z.literal("rss"), z.literal("link")]).readonly(),
|
|
226
|
+
'url': z.string().readonly(),
|
|
227
|
+
'label': z.string().readonly(),
|
|
228
|
+
'enabled': z.boolean().readonly(),
|
|
229
|
+
'addedAt': z.string().readonly(),
|
|
230
|
+
'fetchedAt': z.string().readonly().optional(),
|
|
231
|
+
'status': z.union([z.literal("ok"), z.literal("error"), z.literal("fetching")]).readonly().optional(),
|
|
232
|
+
'error': z.string().readonly().optional(),
|
|
233
|
+
'truncated': z.boolean().readonly().optional(),
|
|
234
|
+
'hasBody': z.boolean().readonly(),
|
|
235
|
+
'failure': z.object({
|
|
236
|
+
'code': z.union([z.literal("unreadable"), z.literal("empty"), z.literal("blocked"), z.literal("login"), z.literal("unsupported-type"), z.literal("redirected"), z.literal("unreachable"), z.literal("http")]).readonly(),
|
|
237
|
+
'message': z.string().readonly(),
|
|
238
|
+
}).readonly().optional(),
|
|
239
|
+
'resolvedFrom': z.string().readonly().optional(),
|
|
240
|
+
})),
|
|
241
|
+
}))
|
|
242
|
+
let _khorsheed_dsh_reader_reader_listTags_result$schema$value
|
|
243
|
+
const _khorsheed_dsh_reader_reader_listTags_result$schema = () => (_khorsheed_dsh_reader_reader_listTags_result$schema$value ??= z.object({
|
|
244
|
+
'tags': z.array(z.object({
|
|
245
|
+
'id': z.string().readonly(),
|
|
246
|
+
'name': z.string().readonly(),
|
|
247
|
+
'createdAt': z.string().readonly(),
|
|
248
|
+
})),
|
|
249
|
+
'counts': z.record(z.string(), z.number()),
|
|
250
|
+
}))
|
|
251
|
+
let _khorsheed_dsh_reader_reader_pruneTags_result$schema$value
|
|
252
|
+
const _khorsheed_dsh_reader_reader_pruneTags_result$schema = () => (_khorsheed_dsh_reader_reader_pruneTags_result$schema$value ??= z.object({
|
|
253
|
+
'removed': z.number(),
|
|
254
|
+
}))
|
|
255
|
+
let _khorsheed_dsh_reader_reader_quoteToSideChat_parameter_0$schema$value
|
|
256
|
+
const _khorsheed_dsh_reader_reader_quoteToSideChat_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_quoteToSideChat_parameter_0$schema$value ??= z.object({
|
|
257
|
+
'contextKey': z.string(),
|
|
258
|
+
'label': z.string(),
|
|
259
|
+
'text': z.string(),
|
|
260
|
+
}))
|
|
261
|
+
let _khorsheed_dsh_reader_reader_quoteToSideChat_result$schema$value
|
|
262
|
+
const _khorsheed_dsh_reader_reader_quoteToSideChat_result$schema = () => (_khorsheed_dsh_reader_reader_quoteToSideChat_result$schema$value ??= z.union([z.literal("unavailable"), z.literal("ok")]))
|
|
263
|
+
let _khorsheed_dsh_reader_reader_recordRead_parameter_0$schema$value
|
|
264
|
+
const _khorsheed_dsh_reader_reader_recordRead_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_recordRead_parameter_0$schema$value ??= z.object({
|
|
265
|
+
'entryId': z.string(),
|
|
266
|
+
'sourceId': z.string(),
|
|
267
|
+
'title': z.string(),
|
|
268
|
+
'url': z.string().optional(),
|
|
269
|
+
}))
|
|
270
|
+
let _khorsheed_dsh_reader_reader_recordRead_result$schema$value
|
|
271
|
+
const _khorsheed_dsh_reader_reader_recordRead_result$schema = () => (_khorsheed_dsh_reader_reader_recordRead_result$schema$value ??= z.object({
|
|
272
|
+
'entries': z.number(),
|
|
273
|
+
}))
|
|
274
|
+
let _khorsheed_dsh_reader_reader_refresh_parameter_0$schema$value
|
|
275
|
+
const _khorsheed_dsh_reader_reader_refresh_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_refresh_parameter_0$schema$value ??= z.object({
|
|
276
|
+
'ids': z.array(z.string()).optional(),
|
|
277
|
+
}))
|
|
278
|
+
let _khorsheed_dsh_reader_reader_refresh_result$schema$value
|
|
279
|
+
const _khorsheed_dsh_reader_reader_refresh_result$schema = () => (_khorsheed_dsh_reader_reader_refresh_result$schema$value ??= z.object({
|
|
280
|
+
'results': z.array(z.object({
|
|
281
|
+
'id': z.string().readonly(),
|
|
282
|
+
'status': z.union([z.literal("unavailable"), z.literal("ok"), z.literal("fetch-failed"), z.literal("truncated")]).readonly(),
|
|
283
|
+
'message': z.string().readonly().optional(),
|
|
284
|
+
})),
|
|
285
|
+
}))
|
|
286
|
+
let _khorsheed_dsh_reader_reader_rememberSentences_parameter_0$schema$value
|
|
287
|
+
const _khorsheed_dsh_reader_reader_rememberSentences_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_rememberSentences_parameter_0$schema$value ??= z.object({
|
|
288
|
+
'pair': z.string(),
|
|
289
|
+
'entries': z.array(z.object({
|
|
290
|
+
'hash': z.string().readonly(),
|
|
291
|
+
'source': z.string().readonly(),
|
|
292
|
+
'target': z.string().readonly(),
|
|
293
|
+
})),
|
|
294
|
+
'recalled': z.array(z.object({
|
|
295
|
+
'hash': z.string().readonly(),
|
|
296
|
+
'source': z.string().readonly(),
|
|
297
|
+
'target': z.string().readonly(),
|
|
298
|
+
})).optional(),
|
|
299
|
+
'entryId': z.string().optional(),
|
|
300
|
+
'bodyHash': z.string().optional(),
|
|
301
|
+
}))
|
|
302
|
+
let _khorsheed_dsh_reader_reader_rememberSentences_result$schema$value
|
|
303
|
+
const _khorsheed_dsh_reader_reader_rememberSentences_result$schema = () => (_khorsheed_dsh_reader_reader_rememberSentences_result$schema$value ??= z.object({
|
|
304
|
+
'stored': z.number(),
|
|
305
|
+
}))
|
|
306
|
+
let _khorsheed_dsh_reader_reader_removeSource_parameter_0$schema$value
|
|
307
|
+
const _khorsheed_dsh_reader_reader_removeSource_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_removeSource_parameter_0$schema$value ??= z.object({
|
|
308
|
+
'id': z.string(),
|
|
309
|
+
'entryIds': z.array(z.string()).optional(),
|
|
310
|
+
}))
|
|
311
|
+
let _khorsheed_dsh_reader_reader_removeSource_result$schema$value
|
|
312
|
+
const _khorsheed_dsh_reader_reader_removeSource_result$schema = () => (_khorsheed_dsh_reader_reader_removeSource_result$schema$value ??= z.union([z.literal("unavailable"), z.literal("ok"), z.literal("not-found"), z.literal("invalid-url"), z.literal("invalid-time"), z.literal("duplicate")]))
|
|
313
|
+
let _khorsheed_dsh_reader_reader_renameTag_parameter_0$schema$value
|
|
314
|
+
const _khorsheed_dsh_reader_reader_renameTag_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_renameTag_parameter_0$schema$value ??= z.object({
|
|
315
|
+
'id': z.string(),
|
|
316
|
+
'name': z.string(),
|
|
317
|
+
}))
|
|
318
|
+
let _khorsheed_dsh_reader_reader_renameTag_result$schema$value
|
|
319
|
+
const _khorsheed_dsh_reader_reader_renameTag_result$schema = () => (_khorsheed_dsh_reader_reader_renameTag_result$schema$value ??= z.union([z.literal("unavailable"), z.literal("ok"), z.literal("empty"), z.literal("not-found"), z.literal("duplicate"), z.literal("invalid")]))
|
|
320
|
+
let _khorsheed_dsh_reader_reader_setCachePolicy_parameter_0$schema$value
|
|
321
|
+
const _khorsheed_dsh_reader_reader_setCachePolicy_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_setCachePolicy_parameter_0$schema$value ??= z.object({
|
|
322
|
+
'ttlHours': z.number(),
|
|
323
|
+
'maxEntries': z.number().optional(),
|
|
324
|
+
'translationBudgetChars': z.number().optional(),
|
|
325
|
+
}))
|
|
326
|
+
let _khorsheed_dsh_reader_reader_setCachePolicy_result$schema$value
|
|
327
|
+
const _khorsheed_dsh_reader_reader_setCachePolicy_result$schema = () => (_khorsheed_dsh_reader_reader_setCachePolicy_result$schema$value ??= z.union([z.literal("unavailable"), z.literal("ok"), z.literal("empty"), z.literal("not-found"), z.literal("duplicate"), z.literal("invalid")]))
|
|
328
|
+
let _khorsheed_dsh_reader_reader_storeEntryBody_parameter_0$schema$value
|
|
329
|
+
const _khorsheed_dsh_reader_reader_storeEntryBody_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_storeEntryBody_parameter_0$schema$value ??= z.object({
|
|
330
|
+
'entryId': z.string(),
|
|
331
|
+
'url': z.string(),
|
|
332
|
+
'html': z.string(),
|
|
333
|
+
'truncated': z.boolean().optional(),
|
|
334
|
+
'scriptFigures': z.number().optional(),
|
|
335
|
+
'bodyHash': z.string().optional(),
|
|
336
|
+
'title': z.string().optional(),
|
|
337
|
+
'excerpt': z.string().optional(),
|
|
338
|
+
}))
|
|
339
|
+
let _khorsheed_dsh_reader_reader_storeEntryBody_result$schema$value
|
|
340
|
+
const _khorsheed_dsh_reader_reader_storeEntryBody_result$schema = () => (_khorsheed_dsh_reader_reader_storeEntryBody_result$schema$value ??= z.object({
|
|
341
|
+
'entryId': z.string().readonly(),
|
|
342
|
+
'cached': z.boolean().readonly(),
|
|
343
|
+
'fresh': z.boolean().readonly(),
|
|
344
|
+
'fromFeed': z.boolean().readonly(),
|
|
345
|
+
'html': z.string().readonly().optional(),
|
|
346
|
+
'fetchedAt': z.string().readonly().optional(),
|
|
347
|
+
'truncated': z.boolean().readonly().optional(),
|
|
348
|
+
'scriptFigures': z.number().readonly().optional(),
|
|
349
|
+
'rendered': z.boolean().readonly().optional(),
|
|
350
|
+
'error': z.string().readonly().optional(),
|
|
351
|
+
}))
|
|
352
|
+
let _khorsheed_dsh_reader_reader_tagEntry_parameter_0$schema$value
|
|
353
|
+
const _khorsheed_dsh_reader_reader_tagEntry_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_tagEntry_parameter_0$schema$value ??= z.object({
|
|
354
|
+
'entryId': z.string(),
|
|
355
|
+
'tagId': z.string(),
|
|
356
|
+
'on': z.boolean(),
|
|
357
|
+
}))
|
|
358
|
+
let _khorsheed_dsh_reader_reader_tagEntry_result$schema$value
|
|
359
|
+
const _khorsheed_dsh_reader_reader_tagEntry_result$schema = () => (_khorsheed_dsh_reader_reader_tagEntry_result$schema$value ??= z.union([z.literal("unavailable"), z.literal("ok"), z.literal("empty"), z.literal("not-found"), z.literal("duplicate"), z.literal("invalid")]))
|
|
360
|
+
let _khorsheed_dsh_reader_reader_updateSource_parameter_0$schema$value
|
|
361
|
+
const _khorsheed_dsh_reader_reader_updateSource_parameter_0$schema = () => (_khorsheed_dsh_reader_reader_updateSource_parameter_0$schema$value ??= z.object({
|
|
362
|
+
'id': z.string(),
|
|
363
|
+
'enabled': z.boolean().optional(),
|
|
364
|
+
'label': z.string().optional(),
|
|
365
|
+
'url': z.string().optional(),
|
|
366
|
+
'timeOfDay': z.string().optional(),
|
|
367
|
+
}))
|
|
368
|
+
let _khorsheed_dsh_reader_reader_updateSource_result$schema$value
|
|
369
|
+
const _khorsheed_dsh_reader_reader_updateSource_result$schema = () => (_khorsheed_dsh_reader_reader_updateSource_result$schema$value ??= z.union([z.literal("unavailable"), z.literal("ok"), z.literal("not-found"), z.literal("invalid-url"), z.literal("invalid-time"), z.literal("duplicate")]))
|
|
370
|
+
|
|
371
|
+
export const TYPERT = {
|
|
372
|
+
package: '@khorsheed/dsh-reader',
|
|
373
|
+
face: 'host',
|
|
374
|
+
schemas: [
|
|
375
|
+
],
|
|
376
|
+
invocations: [
|
|
377
|
+
{
|
|
378
|
+
id: '@khorsheed/dsh-reader#reader/addSource',
|
|
379
|
+
service: 'readerRemote',
|
|
380
|
+
namespace: 'reader',
|
|
381
|
+
method: 'addSource',
|
|
382
|
+
invocation: { kind: 'direct' },
|
|
383
|
+
parameters: [
|
|
384
|
+
{
|
|
385
|
+
name: 'request',
|
|
386
|
+
wire: 'request',
|
|
387
|
+
source: 'json',
|
|
388
|
+
codec: {
|
|
389
|
+
mode: 'strict',
|
|
390
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/addSource:request',
|
|
391
|
+
create: _khorsheed_dsh_reader_reader_addSource_parameter_0$schema,
|
|
392
|
+
schema: _khorsheed_dsh_reader_reader_addSource_parameter_0$schema(),
|
|
393
|
+
},
|
|
394
|
+
},
|
|
395
|
+
],
|
|
396
|
+
result: {
|
|
397
|
+
mode: 'strict',
|
|
398
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/addSource:result',
|
|
399
|
+
create: _khorsheed_dsh_reader_reader_addSource_result$schema,
|
|
400
|
+
schema: _khorsheed_dsh_reader_reader_addSource_result$schema(),
|
|
401
|
+
},
|
|
402
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":71,"column":3},
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
id: '@khorsheed/dsh-reader#reader/capabilities',
|
|
406
|
+
service: 'readerRemote',
|
|
407
|
+
namespace: 'reader',
|
|
408
|
+
method: 'capabilities',
|
|
409
|
+
invocation: { kind: 'direct' },
|
|
410
|
+
parameters: [
|
|
411
|
+
],
|
|
412
|
+
result: {
|
|
413
|
+
mode: 'strict',
|
|
414
|
+
typeSymbol: '@khorsheed/dsh-reader/types#ReaderCapabilities',
|
|
415
|
+
create: _khorsheed_dsh_reader_reader_capabilities_result$schema,
|
|
416
|
+
schema: _khorsheed_dsh_reader_reader_capabilities_result$schema(),
|
|
417
|
+
},
|
|
418
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":59,"column":3},
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
id: '@khorsheed/dsh-reader#reader/clearRecent',
|
|
422
|
+
service: 'readerRemote',
|
|
423
|
+
namespace: 'reader',
|
|
424
|
+
method: 'clearRecent',
|
|
425
|
+
invocation: { kind: 'direct' },
|
|
426
|
+
parameters: [
|
|
427
|
+
],
|
|
428
|
+
result: {
|
|
429
|
+
mode: 'strict',
|
|
430
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/clearRecent:result',
|
|
431
|
+
create: _khorsheed_dsh_reader_reader_clearRecent_result$schema,
|
|
432
|
+
schema: _khorsheed_dsh_reader_reader_clearRecent_result$schema(),
|
|
433
|
+
},
|
|
434
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":274,"column":3},
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
id: '@khorsheed/dsh-reader#reader/clearTranslations',
|
|
438
|
+
service: 'readerRemote',
|
|
439
|
+
namespace: 'reader',
|
|
440
|
+
method: 'clearTranslations',
|
|
441
|
+
invocation: { kind: 'direct' },
|
|
442
|
+
parameters: [
|
|
443
|
+
],
|
|
444
|
+
result: {
|
|
445
|
+
mode: 'strict',
|
|
446
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/clearTranslations:result',
|
|
447
|
+
create: _khorsheed_dsh_reader_reader_clearTranslations_result$schema,
|
|
448
|
+
schema: _khorsheed_dsh_reader_reader_clearTranslations_result$schema(),
|
|
449
|
+
},
|
|
450
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":198,"column":3},
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
id: '@khorsheed/dsh-reader#reader/createTag',
|
|
454
|
+
service: 'readerRemote',
|
|
455
|
+
namespace: 'reader',
|
|
456
|
+
method: 'createTag',
|
|
457
|
+
invocation: { kind: 'direct' },
|
|
458
|
+
parameters: [
|
|
459
|
+
{
|
|
460
|
+
name: 'request',
|
|
461
|
+
wire: 'request',
|
|
462
|
+
source: 'json',
|
|
463
|
+
codec: {
|
|
464
|
+
mode: 'strict',
|
|
465
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/createTag:request',
|
|
466
|
+
create: _khorsheed_dsh_reader_reader_createTag_parameter_0$schema,
|
|
467
|
+
schema: _khorsheed_dsh_reader_reader_createTag_parameter_0$schema(),
|
|
468
|
+
},
|
|
469
|
+
},
|
|
470
|
+
],
|
|
471
|
+
result: {
|
|
472
|
+
mode: 'strict',
|
|
473
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/createTag:result',
|
|
474
|
+
create: _khorsheed_dsh_reader_reader_createTag_result$schema,
|
|
475
|
+
schema: _khorsheed_dsh_reader_reader_createTag_result$schema(),
|
|
476
|
+
},
|
|
477
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":210,"column":3},
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
id: '@khorsheed/dsh-reader#reader/deleteTag',
|
|
481
|
+
service: 'readerRemote',
|
|
482
|
+
namespace: 'reader',
|
|
483
|
+
method: 'deleteTag',
|
|
484
|
+
invocation: { kind: 'direct' },
|
|
485
|
+
parameters: [
|
|
486
|
+
{
|
|
487
|
+
name: 'request',
|
|
488
|
+
wire: 'request',
|
|
489
|
+
source: 'json',
|
|
490
|
+
codec: {
|
|
491
|
+
mode: 'strict',
|
|
492
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/deleteTag:request',
|
|
493
|
+
create: _khorsheed_dsh_reader_reader_deleteTag_parameter_0$schema,
|
|
494
|
+
schema: _khorsheed_dsh_reader_reader_deleteTag_parameter_0$schema(),
|
|
495
|
+
},
|
|
496
|
+
},
|
|
497
|
+
],
|
|
498
|
+
result: {
|
|
499
|
+
mode: 'strict',
|
|
500
|
+
typeSymbol: '@khorsheed/dsh-reader/types#ReaderAnnotationOutcome',
|
|
501
|
+
create: _khorsheed_dsh_reader_reader_deleteTag_result$schema,
|
|
502
|
+
schema: _khorsheed_dsh_reader_reader_deleteTag_result$schema(),
|
|
503
|
+
},
|
|
504
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":222,"column":3},
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
id: '@khorsheed/dsh-reader#reader/entryFetchStates',
|
|
508
|
+
service: 'readerRemote',
|
|
509
|
+
namespace: 'reader',
|
|
510
|
+
method: 'entryFetchStates',
|
|
511
|
+
invocation: { kind: 'direct' },
|
|
512
|
+
parameters: [
|
|
513
|
+
{
|
|
514
|
+
name: 'request',
|
|
515
|
+
wire: 'request',
|
|
516
|
+
source: 'json',
|
|
517
|
+
codec: {
|
|
518
|
+
mode: 'strict',
|
|
519
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/entryFetchStates:request',
|
|
520
|
+
create: _khorsheed_dsh_reader_reader_entryFetchStates_parameter_0$schema,
|
|
521
|
+
schema: _khorsheed_dsh_reader_reader_entryFetchStates_parameter_0$schema(),
|
|
522
|
+
},
|
|
523
|
+
},
|
|
524
|
+
],
|
|
525
|
+
result: {
|
|
526
|
+
mode: 'strict',
|
|
527
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/entryFetchStates:result',
|
|
528
|
+
create: _khorsheed_dsh_reader_reader_entryFetchStates_result$schema,
|
|
529
|
+
schema: _khorsheed_dsh_reader_reader_entryFetchStates_result$schema(),
|
|
530
|
+
},
|
|
531
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":145,"column":3},
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
id: '@khorsheed/dsh-reader#reader/entryTags',
|
|
535
|
+
service: 'readerRemote',
|
|
536
|
+
namespace: 'reader',
|
|
537
|
+
method: 'entryTags',
|
|
538
|
+
invocation: { kind: 'direct' },
|
|
539
|
+
parameters: [
|
|
540
|
+
{
|
|
541
|
+
name: 'request',
|
|
542
|
+
wire: 'request',
|
|
543
|
+
source: 'json',
|
|
544
|
+
codec: {
|
|
545
|
+
mode: 'strict',
|
|
546
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/entryTags:request',
|
|
547
|
+
create: _khorsheed_dsh_reader_reader_entryTags_parameter_0$schema,
|
|
548
|
+
schema: _khorsheed_dsh_reader_reader_entryTags_parameter_0$schema(),
|
|
549
|
+
},
|
|
550
|
+
},
|
|
551
|
+
],
|
|
552
|
+
result: {
|
|
553
|
+
mode: 'strict',
|
|
554
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/entryTags:result',
|
|
555
|
+
create: _khorsheed_dsh_reader_reader_entryTags_result$schema,
|
|
556
|
+
schema: _khorsheed_dsh_reader_reader_entryTags_result$schema(),
|
|
557
|
+
},
|
|
558
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":234,"column":3},
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
id: '@khorsheed/dsh-reader#reader/fetchEntryBody',
|
|
562
|
+
service: 'readerRemote',
|
|
563
|
+
namespace: 'reader',
|
|
564
|
+
method: 'fetchEntryBody',
|
|
565
|
+
invocation: { kind: 'direct' },
|
|
566
|
+
parameters: [
|
|
567
|
+
{
|
|
568
|
+
name: 'request',
|
|
569
|
+
wire: 'request',
|
|
570
|
+
source: 'json',
|
|
571
|
+
codec: {
|
|
572
|
+
mode: 'strict',
|
|
573
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/fetchEntryBody:request',
|
|
574
|
+
create: _khorsheed_dsh_reader_reader_fetchEntryBody_parameter_0$schema,
|
|
575
|
+
schema: _khorsheed_dsh_reader_reader_fetchEntryBody_parameter_0$schema(),
|
|
576
|
+
},
|
|
577
|
+
},
|
|
578
|
+
],
|
|
579
|
+
result: {
|
|
580
|
+
mode: 'strict',
|
|
581
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/fetchEntryBody:result',
|
|
582
|
+
create: _khorsheed_dsh_reader_reader_fetchEntryBody_result$schema,
|
|
583
|
+
schema: _khorsheed_dsh_reader_reader_fetchEntryBody_result$schema(),
|
|
584
|
+
},
|
|
585
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":115,"column":3},
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
id: '@khorsheed/dsh-reader#reader/getBodies',
|
|
589
|
+
service: 'readerRemote',
|
|
590
|
+
namespace: 'reader',
|
|
591
|
+
method: 'getBodies',
|
|
592
|
+
invocation: { kind: 'direct' },
|
|
593
|
+
parameters: [
|
|
594
|
+
{
|
|
595
|
+
name: 'request',
|
|
596
|
+
wire: 'request',
|
|
597
|
+
source: 'json',
|
|
598
|
+
codec: {
|
|
599
|
+
mode: 'strict',
|
|
600
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/getBodies:request',
|
|
601
|
+
create: _khorsheed_dsh_reader_reader_getBodies_parameter_0$schema,
|
|
602
|
+
schema: _khorsheed_dsh_reader_reader_getBodies_parameter_0$schema(),
|
|
603
|
+
},
|
|
604
|
+
},
|
|
605
|
+
],
|
|
606
|
+
result: {
|
|
607
|
+
mode: 'strict',
|
|
608
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/getBodies:result',
|
|
609
|
+
create: _khorsheed_dsh_reader_reader_getBodies_result$schema,
|
|
610
|
+
schema: _khorsheed_dsh_reader_reader_getBodies_result$schema(),
|
|
611
|
+
},
|
|
612
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":101,"column":9},
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
id: '@khorsheed/dsh-reader#reader/getCachePolicy',
|
|
616
|
+
service: 'readerRemote',
|
|
617
|
+
namespace: 'reader',
|
|
618
|
+
method: 'getCachePolicy',
|
|
619
|
+
invocation: { kind: 'direct' },
|
|
620
|
+
parameters: [
|
|
621
|
+
],
|
|
622
|
+
result: {
|
|
623
|
+
mode: 'strict',
|
|
624
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/getCachePolicy:result',
|
|
625
|
+
create: _khorsheed_dsh_reader_reader_getCachePolicy_result$schema,
|
|
626
|
+
schema: _khorsheed_dsh_reader_reader_getCachePolicy_result$schema(),
|
|
627
|
+
},
|
|
628
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":240,"column":3},
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
id: '@khorsheed/dsh-reader#reader/getEntryBody',
|
|
632
|
+
service: 'readerRemote',
|
|
633
|
+
namespace: 'reader',
|
|
634
|
+
method: 'getEntryBody',
|
|
635
|
+
invocation: { kind: 'direct' },
|
|
636
|
+
parameters: [
|
|
637
|
+
{
|
|
638
|
+
name: 'request',
|
|
639
|
+
wire: 'request',
|
|
640
|
+
source: 'json',
|
|
641
|
+
codec: {
|
|
642
|
+
mode: 'strict',
|
|
643
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/getEntryBody:request',
|
|
644
|
+
create: _khorsheed_dsh_reader_reader_getEntryBody_parameter_0$schema,
|
|
645
|
+
schema: _khorsheed_dsh_reader_reader_getEntryBody_parameter_0$schema(),
|
|
646
|
+
},
|
|
647
|
+
},
|
|
648
|
+
],
|
|
649
|
+
result: {
|
|
650
|
+
mode: 'strict',
|
|
651
|
+
typeSymbol: '@khorsheed/dsh-reader/types#ReaderEntryBodyView',
|
|
652
|
+
create: _khorsheed_dsh_reader_reader_getEntryBody_result$schema,
|
|
653
|
+
schema: _khorsheed_dsh_reader_reader_getEntryBody_result$schema(),
|
|
654
|
+
},
|
|
655
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":109,"column":3},
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
id: '@khorsheed/dsh-reader#reader/getEntryTranslation',
|
|
659
|
+
service: 'readerRemote',
|
|
660
|
+
namespace: 'reader',
|
|
661
|
+
method: 'getEntryTranslation',
|
|
662
|
+
invocation: { kind: 'direct' },
|
|
663
|
+
parameters: [
|
|
664
|
+
{
|
|
665
|
+
name: 'request',
|
|
666
|
+
wire: 'request',
|
|
667
|
+
source: 'json',
|
|
668
|
+
codec: {
|
|
669
|
+
mode: 'strict',
|
|
670
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/getEntryTranslation:request',
|
|
671
|
+
create: _khorsheed_dsh_reader_reader_getEntryTranslation_parameter_0$schema,
|
|
672
|
+
schema: _khorsheed_dsh_reader_reader_getEntryTranslation_parameter_0$schema(),
|
|
673
|
+
},
|
|
674
|
+
},
|
|
675
|
+
],
|
|
676
|
+
result: {
|
|
677
|
+
mode: 'strict',
|
|
678
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/getEntryTranslation:result',
|
|
679
|
+
create: _khorsheed_dsh_reader_reader_getEntryTranslation_result$schema,
|
|
680
|
+
schema: _khorsheed_dsh_reader_reader_getEntryTranslation_result$schema(),
|
|
681
|
+
},
|
|
682
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":168,"column":3},
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
id: '@khorsheed/dsh-reader#reader/getRawBody',
|
|
686
|
+
service: 'readerRemote',
|
|
687
|
+
namespace: 'reader',
|
|
688
|
+
method: 'getRawBody',
|
|
689
|
+
invocation: { kind: 'direct' },
|
|
690
|
+
parameters: [
|
|
691
|
+
{
|
|
692
|
+
name: 'request',
|
|
693
|
+
wire: 'request',
|
|
694
|
+
source: 'json',
|
|
695
|
+
codec: {
|
|
696
|
+
mode: 'strict',
|
|
697
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/getRawBody:request',
|
|
698
|
+
create: _khorsheed_dsh_reader_reader_getRawBody_parameter_0$schema,
|
|
699
|
+
schema: _khorsheed_dsh_reader_reader_getRawBody_parameter_0$schema(),
|
|
700
|
+
},
|
|
701
|
+
},
|
|
702
|
+
],
|
|
703
|
+
result: {
|
|
704
|
+
mode: 'strict',
|
|
705
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/getRawBody:result',
|
|
706
|
+
create: _khorsheed_dsh_reader_reader_getRawBody_result$schema,
|
|
707
|
+
schema: _khorsheed_dsh_reader_reader_getRawBody_result$schema(),
|
|
708
|
+
},
|
|
709
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":151,"column":3},
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
id: '@khorsheed/dsh-reader#reader/getSentenceTranslations',
|
|
713
|
+
service: 'readerRemote',
|
|
714
|
+
namespace: 'reader',
|
|
715
|
+
method: 'getSentenceTranslations',
|
|
716
|
+
invocation: { kind: 'direct' },
|
|
717
|
+
parameters: [
|
|
718
|
+
{
|
|
719
|
+
name: 'request',
|
|
720
|
+
wire: 'request',
|
|
721
|
+
source: 'json',
|
|
722
|
+
codec: {
|
|
723
|
+
mode: 'strict',
|
|
724
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/getSentenceTranslations:request',
|
|
725
|
+
create: _khorsheed_dsh_reader_reader_getSentenceTranslations_parameter_0$schema,
|
|
726
|
+
schema: _khorsheed_dsh_reader_reader_getSentenceTranslations_parameter_0$schema(),
|
|
727
|
+
},
|
|
728
|
+
},
|
|
729
|
+
],
|
|
730
|
+
result: {
|
|
731
|
+
mode: 'strict',
|
|
732
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/getSentenceTranslations:result',
|
|
733
|
+
create: _khorsheed_dsh_reader_reader_getSentenceTranslations_result$schema,
|
|
734
|
+
schema: _khorsheed_dsh_reader_reader_getSentenceTranslations_result$schema(),
|
|
735
|
+
},
|
|
736
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":174,"column":3},
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
id: '@khorsheed/dsh-reader#reader/getStorageStats',
|
|
740
|
+
service: 'readerRemote',
|
|
741
|
+
namespace: 'reader',
|
|
742
|
+
method: 'getStorageStats',
|
|
743
|
+
invocation: { kind: 'direct' },
|
|
744
|
+
parameters: [
|
|
745
|
+
],
|
|
746
|
+
result: {
|
|
747
|
+
mode: 'strict',
|
|
748
|
+
typeSymbol: '@khorsheed/dsh-reader/types#ReaderStorageStats',
|
|
749
|
+
create: _khorsheed_dsh_reader_reader_getStorageStats_result$schema,
|
|
750
|
+
schema: _khorsheed_dsh_reader_reader_getStorageStats_result$schema(),
|
|
751
|
+
},
|
|
752
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":192,"column":3},
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
id: '@khorsheed/dsh-reader#reader/listBackfillCandidates',
|
|
756
|
+
service: 'readerRemote',
|
|
757
|
+
namespace: 'reader',
|
|
758
|
+
method: 'listBackfillCandidates',
|
|
759
|
+
invocation: { kind: 'direct' },
|
|
760
|
+
parameters: [
|
|
761
|
+
{
|
|
762
|
+
name: 'request',
|
|
763
|
+
wire: 'request',
|
|
764
|
+
source: 'json',
|
|
765
|
+
codec: {
|
|
766
|
+
mode: 'strict',
|
|
767
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/listBackfillCandidates:request',
|
|
768
|
+
create: _khorsheed_dsh_reader_reader_listBackfillCandidates_parameter_0$schema,
|
|
769
|
+
schema: _khorsheed_dsh_reader_reader_listBackfillCandidates_parameter_0$schema(),
|
|
770
|
+
},
|
|
771
|
+
},
|
|
772
|
+
],
|
|
773
|
+
result: {
|
|
774
|
+
mode: 'strict',
|
|
775
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/listBackfillCandidates:result',
|
|
776
|
+
create: _khorsheed_dsh_reader_reader_listBackfillCandidates_result$schema,
|
|
777
|
+
schema: _khorsheed_dsh_reader_reader_listBackfillCandidates_result$schema(),
|
|
778
|
+
},
|
|
779
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":157,"column":3},
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
id: '@khorsheed/dsh-reader#reader/listRecent',
|
|
783
|
+
service: 'readerRemote',
|
|
784
|
+
namespace: 'reader',
|
|
785
|
+
method: 'listRecent',
|
|
786
|
+
invocation: { kind: 'direct' },
|
|
787
|
+
parameters: [
|
|
788
|
+
],
|
|
789
|
+
result: {
|
|
790
|
+
mode: 'strict',
|
|
791
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/listRecent:result',
|
|
792
|
+
create: _khorsheed_dsh_reader_reader_listRecent_result$schema,
|
|
793
|
+
schema: _khorsheed_dsh_reader_reader_listRecent_result$schema(),
|
|
794
|
+
},
|
|
795
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":268,"column":3},
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
id: '@khorsheed/dsh-reader#reader/listSources',
|
|
799
|
+
service: 'readerRemote',
|
|
800
|
+
namespace: 'reader',
|
|
801
|
+
method: 'listSources',
|
|
802
|
+
invocation: { kind: 'direct' },
|
|
803
|
+
parameters: [
|
|
804
|
+
],
|
|
805
|
+
result: {
|
|
806
|
+
mode: 'strict',
|
|
807
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/listSources:result',
|
|
808
|
+
create: _khorsheed_dsh_reader_reader_listSources_result$schema,
|
|
809
|
+
schema: _khorsheed_dsh_reader_reader_listSources_result$schema(),
|
|
810
|
+
},
|
|
811
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":65,"column":9},
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
id: '@khorsheed/dsh-reader#reader/listTags',
|
|
815
|
+
service: 'readerRemote',
|
|
816
|
+
namespace: 'reader',
|
|
817
|
+
method: 'listTags',
|
|
818
|
+
invocation: { kind: 'direct' },
|
|
819
|
+
parameters: [
|
|
820
|
+
],
|
|
821
|
+
result: {
|
|
822
|
+
mode: 'strict',
|
|
823
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/listTags:result',
|
|
824
|
+
create: _khorsheed_dsh_reader_reader_listTags_result$schema,
|
|
825
|
+
schema: _khorsheed_dsh_reader_reader_listTags_result$schema(),
|
|
826
|
+
},
|
|
827
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":204,"column":3},
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
id: '@khorsheed/dsh-reader#reader/pruneTags',
|
|
831
|
+
service: 'readerRemote',
|
|
832
|
+
namespace: 'reader',
|
|
833
|
+
method: 'pruneTags',
|
|
834
|
+
invocation: { kind: 'direct' },
|
|
835
|
+
parameters: [
|
|
836
|
+
],
|
|
837
|
+
result: {
|
|
838
|
+
mode: 'strict',
|
|
839
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/pruneTags:result',
|
|
840
|
+
create: _khorsheed_dsh_reader_reader_pruneTags_result$schema,
|
|
841
|
+
schema: _khorsheed_dsh_reader_reader_pruneTags_result$schema(),
|
|
842
|
+
},
|
|
843
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":251,"column":3},
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
id: '@khorsheed/dsh-reader#reader/quoteToSideChat',
|
|
847
|
+
service: 'readerRemote',
|
|
848
|
+
namespace: 'reader',
|
|
849
|
+
method: 'quoteToSideChat',
|
|
850
|
+
invocation: { kind: 'direct' },
|
|
851
|
+
parameters: [
|
|
852
|
+
{
|
|
853
|
+
name: 'request',
|
|
854
|
+
wire: 'request',
|
|
855
|
+
source: 'json',
|
|
856
|
+
codec: {
|
|
857
|
+
mode: 'strict',
|
|
858
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/quoteToSideChat:request',
|
|
859
|
+
create: _khorsheed_dsh_reader_reader_quoteToSideChat_parameter_0$schema,
|
|
860
|
+
schema: _khorsheed_dsh_reader_reader_quoteToSideChat_parameter_0$schema(),
|
|
861
|
+
},
|
|
862
|
+
},
|
|
863
|
+
],
|
|
864
|
+
result: {
|
|
865
|
+
mode: 'strict',
|
|
866
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/quoteToSideChat:result',
|
|
867
|
+
create: _khorsheed_dsh_reader_reader_quoteToSideChat_result$schema,
|
|
868
|
+
schema: _khorsheed_dsh_reader_reader_quoteToSideChat_result$schema(),
|
|
869
|
+
},
|
|
870
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":280,"column":3},
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
id: '@khorsheed/dsh-reader#reader/recordRead',
|
|
874
|
+
service: 'readerRemote',
|
|
875
|
+
namespace: 'reader',
|
|
876
|
+
method: 'recordRead',
|
|
877
|
+
invocation: { kind: 'direct' },
|
|
878
|
+
parameters: [
|
|
879
|
+
{
|
|
880
|
+
name: 'request',
|
|
881
|
+
wire: 'request',
|
|
882
|
+
source: 'json',
|
|
883
|
+
codec: {
|
|
884
|
+
mode: 'strict',
|
|
885
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/recordRead:request',
|
|
886
|
+
create: _khorsheed_dsh_reader_reader_recordRead_parameter_0$schema,
|
|
887
|
+
schema: _khorsheed_dsh_reader_reader_recordRead_parameter_0$schema(),
|
|
888
|
+
},
|
|
889
|
+
},
|
|
890
|
+
],
|
|
891
|
+
result: {
|
|
892
|
+
mode: 'strict',
|
|
893
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/recordRead:result',
|
|
894
|
+
create: _khorsheed_dsh_reader_reader_recordRead_result$schema,
|
|
895
|
+
schema: _khorsheed_dsh_reader_reader_recordRead_result$schema(),
|
|
896
|
+
},
|
|
897
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":257,"column":3},
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
id: '@khorsheed/dsh-reader#reader/refresh',
|
|
901
|
+
service: 'readerRemote',
|
|
902
|
+
namespace: 'reader',
|
|
903
|
+
method: 'refresh',
|
|
904
|
+
invocation: { kind: 'direct' },
|
|
905
|
+
parameters: [
|
|
906
|
+
{
|
|
907
|
+
name: 'request',
|
|
908
|
+
wire: 'request',
|
|
909
|
+
source: 'json',
|
|
910
|
+
codec: {
|
|
911
|
+
mode: 'strict',
|
|
912
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/refresh:request',
|
|
913
|
+
create: _khorsheed_dsh_reader_reader_refresh_parameter_0$schema,
|
|
914
|
+
schema: _khorsheed_dsh_reader_reader_refresh_parameter_0$schema(),
|
|
915
|
+
},
|
|
916
|
+
},
|
|
917
|
+
],
|
|
918
|
+
result: {
|
|
919
|
+
mode: 'strict',
|
|
920
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/refresh:result',
|
|
921
|
+
create: _khorsheed_dsh_reader_reader_refresh_result$schema,
|
|
922
|
+
schema: _khorsheed_dsh_reader_reader_refresh_result$schema(),
|
|
923
|
+
},
|
|
924
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":95,"column":9},
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
id: '@khorsheed/dsh-reader#reader/rememberSentences',
|
|
928
|
+
service: 'readerRemote',
|
|
929
|
+
namespace: 'reader',
|
|
930
|
+
method: 'rememberSentences',
|
|
931
|
+
invocation: { kind: 'direct' },
|
|
932
|
+
parameters: [
|
|
933
|
+
{
|
|
934
|
+
name: 'request',
|
|
935
|
+
wire: 'request',
|
|
936
|
+
source: 'json',
|
|
937
|
+
codec: {
|
|
938
|
+
mode: 'strict',
|
|
939
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/rememberSentences:request',
|
|
940
|
+
create: _khorsheed_dsh_reader_reader_rememberSentences_parameter_0$schema,
|
|
941
|
+
schema: _khorsheed_dsh_reader_reader_rememberSentences_parameter_0$schema(),
|
|
942
|
+
},
|
|
943
|
+
},
|
|
944
|
+
],
|
|
945
|
+
result: {
|
|
946
|
+
mode: 'strict',
|
|
947
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/rememberSentences:result',
|
|
948
|
+
create: _khorsheed_dsh_reader_reader_rememberSentences_result$schema,
|
|
949
|
+
schema: _khorsheed_dsh_reader_reader_rememberSentences_result$schema(),
|
|
950
|
+
},
|
|
951
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":180,"column":3},
|
|
952
|
+
},
|
|
953
|
+
{
|
|
954
|
+
id: '@khorsheed/dsh-reader#reader/removeSource',
|
|
955
|
+
service: 'readerRemote',
|
|
956
|
+
namespace: 'reader',
|
|
957
|
+
method: 'removeSource',
|
|
958
|
+
invocation: { kind: 'direct' },
|
|
959
|
+
parameters: [
|
|
960
|
+
{
|
|
961
|
+
name: 'request',
|
|
962
|
+
wire: 'request',
|
|
963
|
+
source: 'json',
|
|
964
|
+
codec: {
|
|
965
|
+
mode: 'strict',
|
|
966
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/removeSource:request',
|
|
967
|
+
create: _khorsheed_dsh_reader_reader_removeSource_parameter_0$schema,
|
|
968
|
+
schema: _khorsheed_dsh_reader_reader_removeSource_parameter_0$schema(),
|
|
969
|
+
},
|
|
970
|
+
},
|
|
971
|
+
],
|
|
972
|
+
result: {
|
|
973
|
+
mode: 'strict',
|
|
974
|
+
typeSymbol: '@khorsheed/dsh-reader/types#ReaderMutationOutcome',
|
|
975
|
+
create: _khorsheed_dsh_reader_reader_removeSource_result$schema,
|
|
976
|
+
schema: _khorsheed_dsh_reader_reader_removeSource_result$schema(),
|
|
977
|
+
},
|
|
978
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":89,"column":3},
|
|
979
|
+
},
|
|
980
|
+
{
|
|
981
|
+
id: '@khorsheed/dsh-reader#reader/renameTag',
|
|
982
|
+
service: 'readerRemote',
|
|
983
|
+
namespace: 'reader',
|
|
984
|
+
method: 'renameTag',
|
|
985
|
+
invocation: { kind: 'direct' },
|
|
986
|
+
parameters: [
|
|
987
|
+
{
|
|
988
|
+
name: 'request',
|
|
989
|
+
wire: 'request',
|
|
990
|
+
source: 'json',
|
|
991
|
+
codec: {
|
|
992
|
+
mode: 'strict',
|
|
993
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/renameTag:request',
|
|
994
|
+
create: _khorsheed_dsh_reader_reader_renameTag_parameter_0$schema,
|
|
995
|
+
schema: _khorsheed_dsh_reader_reader_renameTag_parameter_0$schema(),
|
|
996
|
+
},
|
|
997
|
+
},
|
|
998
|
+
],
|
|
999
|
+
result: {
|
|
1000
|
+
mode: 'strict',
|
|
1001
|
+
typeSymbol: '@khorsheed/dsh-reader/types#ReaderAnnotationOutcome',
|
|
1002
|
+
create: _khorsheed_dsh_reader_reader_renameTag_result$schema,
|
|
1003
|
+
schema: _khorsheed_dsh_reader_reader_renameTag_result$schema(),
|
|
1004
|
+
},
|
|
1005
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":216,"column":3},
|
|
1006
|
+
},
|
|
1007
|
+
{
|
|
1008
|
+
id: '@khorsheed/dsh-reader#reader/setCachePolicy',
|
|
1009
|
+
service: 'readerRemote',
|
|
1010
|
+
namespace: 'reader',
|
|
1011
|
+
method: 'setCachePolicy',
|
|
1012
|
+
invocation: { kind: 'direct' },
|
|
1013
|
+
parameters: [
|
|
1014
|
+
{
|
|
1015
|
+
name: 'request',
|
|
1016
|
+
wire: 'request',
|
|
1017
|
+
source: 'json',
|
|
1018
|
+
codec: {
|
|
1019
|
+
mode: 'strict',
|
|
1020
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/setCachePolicy:request',
|
|
1021
|
+
create: _khorsheed_dsh_reader_reader_setCachePolicy_parameter_0$schema,
|
|
1022
|
+
schema: _khorsheed_dsh_reader_reader_setCachePolicy_parameter_0$schema(),
|
|
1023
|
+
},
|
|
1024
|
+
},
|
|
1025
|
+
],
|
|
1026
|
+
result: {
|
|
1027
|
+
mode: 'strict',
|
|
1028
|
+
typeSymbol: '@khorsheed/dsh-reader/types#ReaderAnnotationOutcome',
|
|
1029
|
+
create: _khorsheed_dsh_reader_reader_setCachePolicy_result$schema,
|
|
1030
|
+
schema: _khorsheed_dsh_reader_reader_setCachePolicy_result$schema(),
|
|
1031
|
+
},
|
|
1032
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":245,"column":3},
|
|
1033
|
+
},
|
|
1034
|
+
{
|
|
1035
|
+
id: '@khorsheed/dsh-reader#reader/storeEntryBody',
|
|
1036
|
+
service: 'readerRemote',
|
|
1037
|
+
namespace: 'reader',
|
|
1038
|
+
method: 'storeEntryBody',
|
|
1039
|
+
invocation: { kind: 'direct' },
|
|
1040
|
+
parameters: [
|
|
1041
|
+
{
|
|
1042
|
+
name: 'request',
|
|
1043
|
+
wire: 'request',
|
|
1044
|
+
source: 'json',
|
|
1045
|
+
codec: {
|
|
1046
|
+
mode: 'strict',
|
|
1047
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/storeEntryBody:request',
|
|
1048
|
+
create: _khorsheed_dsh_reader_reader_storeEntryBody_parameter_0$schema,
|
|
1049
|
+
schema: _khorsheed_dsh_reader_reader_storeEntryBody_parameter_0$schema(),
|
|
1050
|
+
},
|
|
1051
|
+
},
|
|
1052
|
+
],
|
|
1053
|
+
result: {
|
|
1054
|
+
mode: 'strict',
|
|
1055
|
+
typeSymbol: '@khorsheed/dsh-reader/types#ReaderEntryBodyView',
|
|
1056
|
+
create: _khorsheed_dsh_reader_reader_storeEntryBody_result$schema,
|
|
1057
|
+
schema: _khorsheed_dsh_reader_reader_storeEntryBody_result$schema(),
|
|
1058
|
+
},
|
|
1059
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":128,"column":3},
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
id: '@khorsheed/dsh-reader#reader/tagEntry',
|
|
1063
|
+
service: 'readerRemote',
|
|
1064
|
+
namespace: 'reader',
|
|
1065
|
+
method: 'tagEntry',
|
|
1066
|
+
invocation: { kind: 'direct' },
|
|
1067
|
+
parameters: [
|
|
1068
|
+
{
|
|
1069
|
+
name: 'request',
|
|
1070
|
+
wire: 'request',
|
|
1071
|
+
source: 'json',
|
|
1072
|
+
codec: {
|
|
1073
|
+
mode: 'strict',
|
|
1074
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/tagEntry:request',
|
|
1075
|
+
create: _khorsheed_dsh_reader_reader_tagEntry_parameter_0$schema,
|
|
1076
|
+
schema: _khorsheed_dsh_reader_reader_tagEntry_parameter_0$schema(),
|
|
1077
|
+
},
|
|
1078
|
+
},
|
|
1079
|
+
],
|
|
1080
|
+
result: {
|
|
1081
|
+
mode: 'strict',
|
|
1082
|
+
typeSymbol: '@khorsheed/dsh-reader/types#ReaderAnnotationOutcome',
|
|
1083
|
+
create: _khorsheed_dsh_reader_reader_tagEntry_result$schema,
|
|
1084
|
+
schema: _khorsheed_dsh_reader_reader_tagEntry_result$schema(),
|
|
1085
|
+
},
|
|
1086
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":228,"column":3},
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
id: '@khorsheed/dsh-reader#reader/updateSource',
|
|
1090
|
+
service: 'readerRemote',
|
|
1091
|
+
namespace: 'reader',
|
|
1092
|
+
method: 'updateSource',
|
|
1093
|
+
invocation: { kind: 'direct' },
|
|
1094
|
+
parameters: [
|
|
1095
|
+
{
|
|
1096
|
+
name: 'request',
|
|
1097
|
+
wire: 'request',
|
|
1098
|
+
source: 'json',
|
|
1099
|
+
codec: {
|
|
1100
|
+
mode: 'strict',
|
|
1101
|
+
typeSymbol: '@khorsheed/dsh-reader#reader/updateSource:request',
|
|
1102
|
+
create: _khorsheed_dsh_reader_reader_updateSource_parameter_0$schema,
|
|
1103
|
+
schema: _khorsheed_dsh_reader_reader_updateSource_parameter_0$schema(),
|
|
1104
|
+
},
|
|
1105
|
+
},
|
|
1106
|
+
],
|
|
1107
|
+
result: {
|
|
1108
|
+
mode: 'strict',
|
|
1109
|
+
typeSymbol: '@khorsheed/dsh-reader/types#ReaderMutationOutcome',
|
|
1110
|
+
create: _khorsheed_dsh_reader_reader_updateSource_result$schema,
|
|
1111
|
+
schema: _khorsheed_dsh_reader_reader_updateSource_result$schema(),
|
|
1112
|
+
},
|
|
1113
|
+
sourceLocation: {"file":"packages/dsh-reader/src/remote.ts","line":77,"column":3},
|
|
1114
|
+
},
|
|
1115
|
+
],
|
|
1116
|
+
model: {
|
|
1117
|
+
"services": [
|
|
1118
|
+
{
|
|
1119
|
+
"description": "The reader service.",
|
|
1120
|
+
"summary": "The reader service.",
|
|
1121
|
+
"tags": [],
|
|
1122
|
+
"jsDoc": "/** The reader service. */",
|
|
1123
|
+
"key": "reader",
|
|
1124
|
+
"exportName": "ReaderService",
|
|
1125
|
+
"members": [
|
|
1126
|
+
{
|
|
1127
|
+
"kind": "method",
|
|
1128
|
+
"name": "capabilities",
|
|
1129
|
+
"signature": "async capabilities(): Promise<ReaderCapabilities>",
|
|
1130
|
+
"summary": "Capabilities the browser may rely on.",
|
|
1131
|
+
"jsDoc": "/** Capabilities the browser may rely on. */"
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
"kind": "method",
|
|
1135
|
+
"name": "listSources",
|
|
1136
|
+
"signature": "async listSources(): Promise<{ sources: ReaderSourceSummary[] }>",
|
|
1137
|
+
"summary": "The source list, without payloads.",
|
|
1138
|
+
"jsDoc": "/** The source list, without payloads. */"
|
|
1139
|
+
},
|
|
1140
|
+
{
|
|
1141
|
+
"kind": "method",
|
|
1142
|
+
"name": "addSource",
|
|
1143
|
+
"signature": "async addSource(request: { url: string; label?: string }): Promise<ReaderAddOutcome | ReaderAddRefusal | ReaderAddFailure>",
|
|
1144
|
+
"summary": "Add a source, deciding what it is from what comes back.",
|
|
1145
|
+
"jsDoc": "/**\n * Add a source, deciding what it is from what comes back.\n *\n * The one rule this method exists to enforce: **a URL the reader pasted is\n * never thrown away.** A fetch that fails, a bot challenge, a login wall and\n * a PDF all end the same way — a `link` source that exists, carries the\n * reason it has no previewable body, and can be opened, tagged, refreshed\n * manually or deleted. Only a URL that cannot be a source at all\n * (`invalid-url`) or one already present (`duplicate`) is refused.\n *\n * @param request - the pasted URL and an optional label.\n * @returns the decision, or a domain refusal.\n */"
|
|
1146
|
+
},
|
|
1147
|
+
{
|
|
1148
|
+
"kind": "method",
|
|
1149
|
+
"name": "updateSource",
|
|
1150
|
+
"signature": "async updateSource(request: { id: string enabled?: boolean label?: string url?: string timeOfDay?: string }): Promise<ReaderMutationOutcome>",
|
|
1151
|
+
"summary": "Update a source's mutable fields, or the global refresh time.",
|
|
1152
|
+
"jsDoc": "/**\n * Update a source's mutable fields, or the global refresh time.\n *\n * @param request - the id plus the fields to change.\n * @returns the outcome, or a domain refusal.\n */"
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
"kind": "method",
|
|
1156
|
+
"name": "removeSource",
|
|
1157
|
+
"signature": "async removeSource(request: { id: string; entryIds?: readonly string[] }): Promise<ReaderMutationOutcome>",
|
|
1158
|
+
"summary": "Remove a source.",
|
|
1159
|
+
"jsDoc": "/**\n * Remove a source.\n *\n * Its entries' TRANSLATIONS go with it: the entries themselves are unreachable\n * once the source is gone (the recent page disables them), so their exact-fit\n * maps are dead weight. The host never parses feeds, so the caller passes the\n * entry ids it has parsed; a link source's single entry id is derivable here\n * regardless. The cached BODIES stay — the body budget owns their lifetime,\n * unchanged.\n *\n * @param request - the source id, plus the entries the caller knows belong to it.\n * @returns the outcome, or a domain refusal.\n */"
|
|
1160
|
+
},
|
|
1161
|
+
{
|
|
1162
|
+
"kind": "method",
|
|
1163
|
+
"name": "refresh",
|
|
1164
|
+
"signature": "async refresh(request: { ids?: string[] } = {}): Promise<{ results: ReaderRefreshResult[] }>",
|
|
1165
|
+
"summary": "Refresh the enabled sources, or the named ones.",
|
|
1166
|
+
"jsDoc": "/**\n * Refresh the enabled sources, or the named ones.\n *\n * @param request - optional id list.\n * @returns one result per attempted source.\n */"
|
|
1167
|
+
},
|
|
1168
|
+
{
|
|
1169
|
+
"kind": "method",
|
|
1170
|
+
"name": "getBodies",
|
|
1171
|
+
"signature": "async getBodies(request: { ids: string[] }): Promise<{ bodies: ReaderBody[] }>",
|
|
1172
|
+
"summary": "Hand back raw payloads for the browser to parse.",
|
|
1173
|
+
"jsDoc": "/**\n * Hand back raw payloads for the browser to parse.\n *\n * @param request - the source ids whose payloads are wanted.\n * @returns one body per requested id; an error instead of a payload when\n * nothing usable is stored.\n */"
|
|
1174
|
+
},
|
|
1175
|
+
{
|
|
1176
|
+
"kind": "method",
|
|
1177
|
+
"name": "quoteToSideChat",
|
|
1178
|
+
"signature": "async quoteToSideChat(request: { contextKey: string label: string text: string }): Promise<'ok' | 'unavailable'>",
|
|
1179
|
+
"summary": "Pass a ref block to the side-chat service when one is composed.",
|
|
1180
|
+
"jsDoc": "/**\n * Pass a ref block to the side-chat service when one is composed.\n *\n * @param request - the target context, its label, and the ref text.\n * @returns `'ok'`, or `'unavailable'` when no side chat is mounted.\n */"
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"kind": "method",
|
|
1184
|
+
"name": "getEntryBody",
|
|
1185
|
+
"signature": "async getEntryBody(request: { entryId: string url: string feedHtml?: string }): Promise<ReaderEntryBodyView>",
|
|
1186
|
+
"summary": "The body the detail view should render for one entry, if any.",
|
|
1187
|
+
"jsDoc": "/**\n * The body the detail view should render for one entry, if any.\n *\n * The order is the whole contract: a fresh cached fetch wins (it is full text\n * the reader already paid for), then the feed's own payload, and only when\n * neither exists does the view offer to fetch. A STALE cache entry reports\n * `fresh: false` and no html — the detail view then offers the fetch again\n * rather than quietly serving yesterday's copy.\n *\n * @param request - the entry and the payload the feed gave for it.\n * @returns what there is to show, and whether a fetch is worth offering.\n */"
|
|
1188
|
+
},
|
|
1189
|
+
{
|
|
1190
|
+
"kind": "method",
|
|
1191
|
+
"name": "fetchEntryBody",
|
|
1192
|
+
"signature": "async fetchEntryBody(request: { entryId: string url: string }): Promise<{ entryId: string; url?: string; raw?: string; truncated?: boolean; error?: string }>",
|
|
1193
|
+
"summary": "Fetch one entry's article and hand the raw HTML to the browser.",
|
|
1194
|
+
"jsDoc": "/**\n * Fetch one entry's article and hand the raw HTML to the browser.\n *\n * The HOST does not extract: extraction needs a DOM, and this runtime has no\n * XML/HTML parser at all (the same reason feed parsing lives in the browser\n * half). So this verb is the network half only — it returns what came back,\n * and `storeEntryBody` persists what the browser made of it.\n *\n * Fetching here is deliberately NOT automatic on refresh: doing it for every\n * summary-only entry would make this a crawler of other people's sites, which\n * the design refuses. One entry, one fetch, on the reader's request.\n *\n * @param request - the entry and its article URL.\n * @returns the raw payload, or why there is none.\n */"
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"kind": "method",
|
|
1198
|
+
"name": "entryFetchStates",
|
|
1199
|
+
"signature": "async entryFetchStates(request: { entryIds: readonly string[] }): Promise<{ states: Record<string, ReaderEntryFetchState> }>",
|
|
1200
|
+
"summary": "Which entries have a body, a stored raw payload, or a recorded failure.",
|
|
1201
|
+
"jsDoc": "/**\n * Which entries have a body, a stored raw payload, or a recorded failure.\n *\n * The wall needs this per ENTRY (entries come from the browser's parse of a\n * feed), so it cannot ride the source summaries. `raw` means \"fetched, not yet\n * extracted\" — the browser half turns those into bodies on its next load.\n *\n * @param request - the entry ids the caller is showing.\n * @returns one state per requested id.\n */"
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
"kind": "method",
|
|
1205
|
+
"name": "getRawBody",
|
|
1206
|
+
"signature": "async getRawBody(request: { entryId: string }): Promise<{ entryId: string; raw?: string; url?: string; truncated?: boolean; error?: string }>",
|
|
1207
|
+
"summary": "Hand back a stored raw payload so the browser can extract it.",
|
|
1208
|
+
"jsDoc": "/**\n * Hand back a stored raw payload so the browser can extract it.\n *\n * @param request - the entry whose payload is wanted.\n * @returns the payload, or why there is none.\n */"
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"kind": "method",
|
|
1212
|
+
"name": "storeEntryBody",
|
|
1213
|
+
"signature": "async storeEntryBody(request: { entryId: string url: string html: string truncated?: boolean scriptFigures?: number /** True when this body came from the capture rendered fetch — 「重新抓取」 re-renders it. */ rendered?: boolean /** The caller's hash of `html`; the entry's translation map dies with a body it no longer matches. */ bodyHash?: string /** The article's own title, as the extraction read it — a saved link's card upgrade. */ title?: string /** A short excerpt (abstract / first paragraph), with the title. */ excerpt?: string }): Promise<ReaderEntryBodyView>",
|
|
1214
|
+
"summary": "Cache the markup the browser extracted for one entry.",
|
|
1215
|
+
"jsDoc": "/**\n * Cache the markup the browser extracted for one entry.\n *\n * The deadline is computed here, not on the client, so the policy has exactly\n * one owner (this service's document) — a client that guessed the TTL would\n * be a second implementation of it.\n *\n * @param request - the entry, the markup, and the URL it came from.\n * @returns the stored view.\n */"
|
|
1216
|
+
},
|
|
1217
|
+
{
|
|
1218
|
+
"kind": "method",
|
|
1219
|
+
"name": "listBackfillCandidates",
|
|
1220
|
+
"signature": "async listBackfillCandidates(request: { entries: readonly { entryId: string; url: string; label: string; hasBody: boolean }[] limit?: number }): Promise<{ candidates: ReaderBackfillCandidate[] }>",
|
|
1221
|
+
"summary": "Which entries still need their full text, and which may be retried.",
|
|
1222
|
+
"jsDoc": "/**\n * Which entries still need their full text, and which may be retried.\n *\n * The host is the only side that can answer this: it holds the cache, the\n * recorded failures and the policy. A failure is retried only after\n * `BACKFILL_RETRY_MS` — an entry whose publisher refuses us must not be\n * hammered once per refresh, which would make this a crawler with a grudge.\n *\n * @param request - the entries the caller is looking at (id, url, label) and\n * whether the caller already has full text for them (the feed's own payload).\n * @returns the candidates, capped so one refresh cannot start a stampede.\n */"
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
"kind": "method",
|
|
1226
|
+
"name": "getEntryTranslation",
|
|
1227
|
+
"signature": "async getEntryTranslation(request: { entryId: string }): Promise<{ translation?: ReaderEntryTranslationView }>",
|
|
1228
|
+
"summary": "One entry's exact-fit translation record, with its segment map resolved.",
|
|
1229
|
+
"jsDoc": "/**\n * One entry's exact-fit translation record, with its segment map resolved.\n *\n * A record from an older storage schema, or one whose sidecar file is gone,\n * reads as absent — the caller falls back to the global memory, and the stale\n * record is carried out by the next write or budget pass (lazy, never wiped).\n *\n * @param request - the entry.\n * @returns the record, or nothing usable.\n */"
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"kind": "method",
|
|
1233
|
+
"name": "getSentenceTranslations",
|
|
1234
|
+
"signature": "async getSentenceTranslations(request: { pair: string; hashes: readonly string[] }): Promise<{ translations: Record<string, string> }>",
|
|
1235
|
+
"summary": "The translations for exactly the sentences asked about, of one pair.",
|
|
1236
|
+
"jsDoc": "/**\n * The translations for exactly the sentences asked about, of one pair.\n *\n * The client hashes the body's sentences itself, so the slice is precise and\n * the whole table never crosses the wire. Reads do not rewrite the file:\n * the LRU stamp moves when the sentence next serves (the client's batched\n * report of what it reused), not when a list of hashes arrives.\n *\n * @param request - the pair label and the sentence hashes wanted.\n * @returns hash → translation for the hits.\n */"
|
|
1237
|
+
},
|
|
1238
|
+
{
|
|
1239
|
+
"kind": "method",
|
|
1240
|
+
"name": "rememberSentences",
|
|
1241
|
+
"signature": "async rememberSentences(request: { pair: string entries: readonly ReaderSentenceLearn[] recalled?: readonly ReaderSentenceLearn[] entryId?: string bodyHash?: string }): Promise<{ stored: number }>",
|
|
1242
|
+
"summary": "Persist what one translation run produced, in one batch.",
|
|
1243
|
+
"jsDoc": "/**\n * Persist what one translation run produced, in one batch.\n *\n * `entries` are the sentences the model just translated: they upsert into the\n * global memory AND the entry's exact-fit map. `recalled` are the sentences\n * the run was served from memory: their lastUsedAt bumps (that is what makes\n * the budget's LRU a use-clock rather than a write-clock), and they join the\n * entry map too, so the map stays the complete record of this body. When\n * `entryId` + `bodyHash` are present the entry map is REWRITTEN to the run's\n * full sentence set — the run saw the whole body, so a merge would only\n * preserve sentences the current body no longer has.\n *\n * @param request - the pair, the learned and recalled sentences, and the\n * entry identity when this run was an article's.\n * @returns how many sentences were newly learned.\n */"
|
|
1244
|
+
},
|
|
1245
|
+
{
|
|
1246
|
+
"kind": "method",
|
|
1247
|
+
"name": "getStorageStats",
|
|
1248
|
+
"signature": "async getStorageStats(): Promise<ReaderStorageStats>",
|
|
1249
|
+
"summary": "How much the two caches currently hold, aggregated on the host.",
|
|
1250
|
+
"jsDoc": "/**\n * How much the two caches currently hold, aggregated on the host.\n *\n * The tables themselves never cross the wire for a settings readout: counts\n * and characters only. The characters are the store's own accounting unit —\n * the same numbers the budgets bound.\n *\n * @returns per-tier usage.\n */"
|
|
1251
|
+
},
|
|
1252
|
+
{
|
|
1253
|
+
"kind": "method",
|
|
1254
|
+
"name": "clearTranslations",
|
|
1255
|
+
"signature": "async clearTranslations(): Promise<{ clearedEntries: number; clearedMemory: boolean }>",
|
|
1256
|
+
"summary": "Forget every translation: the global sentence memory AND every entry map.",
|
|
1257
|
+
"jsDoc": "/**\n * Forget every translation: the global sentence memory AND every entry map.\n *\n * The manage page's one gesture for it, after its own confirm. Bodies, tags,\n * the recent list and the sources are untouched — the reader is clearing a\n * derived cache, not their library. The commit's own `pruneBodies` sweep\n * takes the files once the document no longer names them.\n *\n * @returns how many entry maps went, and whether the memory table went.\n */"
|
|
1258
|
+
},
|
|
1259
|
+
{
|
|
1260
|
+
"kind": "method",
|
|
1261
|
+
"name": "listTags",
|
|
1262
|
+
"signature": "async listTags(): Promise<{ tags: ReaderTag[]; counts: Record<string, number> }>",
|
|
1263
|
+
"summary": "The tag vocabulary plus which entry ids carry each tag.",
|
|
1264
|
+
"jsDoc": "/** The tag vocabulary plus which entry ids carry each tag. */"
|
|
1265
|
+
},
|
|
1266
|
+
{
|
|
1267
|
+
"kind": "method",
|
|
1268
|
+
"name": "createTag",
|
|
1269
|
+
"signature": "async createTag(request: { name: string }): Promise<ReaderTag | ReaderAnnotationOutcome>",
|
|
1270
|
+
"summary": "Create a tag, or return the existing one with the same name.",
|
|
1271
|
+
"jsDoc": "/**\n * Create a tag, or return the existing one with the same name.\n *\n * Names are matched case-insensitively on purpose: \"AI\" and \"ai\" becoming two\n * tags is what makes a tag system useless for filtering, and the reader\n * cannot be expected to remember which spelling they used.\n *\n * @param request - the name to create or find.\n * @returns the tag id, or a refusal.\n */"
|
|
1272
|
+
},
|
|
1273
|
+
{
|
|
1274
|
+
"kind": "method",
|
|
1275
|
+
"name": "renameTag",
|
|
1276
|
+
"signature": "async renameTag(request: { id: string; name: string }): Promise<ReaderAnnotationOutcome>",
|
|
1277
|
+
"summary": "Rename a tag (its id, and therefore every entry that carries it, is untouched).",
|
|
1278
|
+
"jsDoc": "/** Rename a tag (its id, and therefore every entry that carries it, is untouched). */"
|
|
1279
|
+
},
|
|
1280
|
+
{
|
|
1281
|
+
"kind": "method",
|
|
1282
|
+
"name": "deleteTag",
|
|
1283
|
+
"signature": "async deleteTag(request: { id: string }): Promise<ReaderAnnotationOutcome>",
|
|
1284
|
+
"summary": "Drop a tag from the vocabulary and from every entry that carried it.",
|
|
1285
|
+
"jsDoc": "/** Drop a tag from the vocabulary and from every entry that carried it. */"
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
"kind": "method",
|
|
1289
|
+
"name": "tagEntry",
|
|
1290
|
+
"signature": "async tagEntry(request: { entryId: string; tagId: string; on: boolean }): Promise<ReaderAnnotationOutcome>",
|
|
1291
|
+
"summary": "Add or remove one tag on one entry.",
|
|
1292
|
+
"jsDoc": "/** Add or remove one tag on one entry. */"
|
|
1293
|
+
},
|
|
1294
|
+
{
|
|
1295
|
+
"kind": "method",
|
|
1296
|
+
"name": "entryTags",
|
|
1297
|
+
"signature": "async entryTags(request: { entryId: string }): Promise<{ tags: ReaderTag[] }>",
|
|
1298
|
+
"summary": "The tags on one entry.",
|
|
1299
|
+
"jsDoc": "/** The tags on one entry. */"
|
|
1300
|
+
},
|
|
1301
|
+
{
|
|
1302
|
+
"kind": "method",
|
|
1303
|
+
"name": "getCachePolicy",
|
|
1304
|
+
"signature": "async getCachePolicy(): Promise<{ ttlHours: number; maxEntries: number; translationBudgetChars: number }>",
|
|
1305
|
+
"summary": "How long a fetched body is served, and how large the translation store may grow.",
|
|
1306
|
+
"jsDoc": "/** How long a fetched body is served, and how large the translation store may grow. */"
|
|
1307
|
+
},
|
|
1308
|
+
{
|
|
1309
|
+
"kind": "method",
|
|
1310
|
+
"name": "setCachePolicy",
|
|
1311
|
+
"signature": "async setCachePolicy(request: { ttlHours: number; maxEntries?: number; translationBudgetChars?: number }): Promise<ReaderAnnotationOutcome>",
|
|
1312
|
+
"summary": "Change the cache policy (`ttlHours: 0` = keep until the budget evicts).",
|
|
1313
|
+
"jsDoc": "/** Change the cache policy (`ttlHours: 0` = keep until the budget evicts). */"
|
|
1314
|
+
},
|
|
1315
|
+
{
|
|
1316
|
+
"kind": "method",
|
|
1317
|
+
"name": "pruneTags",
|
|
1318
|
+
"signature": "async pruneTags(): Promise<{ removed: number }>",
|
|
1319
|
+
"summary": "Drop tags no entry references any more.",
|
|
1320
|
+
"jsDoc": "/** Drop tags no entry references any more. */"
|
|
1321
|
+
},
|
|
1322
|
+
{
|
|
1323
|
+
"kind": "method",
|
|
1324
|
+
"name": "recordRead",
|
|
1325
|
+
"signature": "async recordRead(request: { entryId: string sourceId: string title: string url?: string }): Promise<{ entries: number }>",
|
|
1326
|
+
"summary": "Record that the reader opened one entry.",
|
|
1327
|
+
"jsDoc": "/**\n * Record that the reader opened one entry.\n *\n * One row per ENTRY (not per source): the question the recent page answers is\n * about the articles that were read, and an RSS entry has no source-level\n * page to point at. Reopening an entry moves it to the top rather than\n * duplicating it, and the list is capped — see `MAX_RECENT_ENTRIES`.\n *\n * The write is deliberately not batched: opening is a human-paced gesture,\n * and a queue that had not flushed yet would lose the item on a restart.\n *\n * @param request - the entry, its source, and what to call it in the list.\n * @returns how many entries the list holds afterwards.\n */"
|
|
1328
|
+
},
|
|
1329
|
+
{
|
|
1330
|
+
"kind": "method",
|
|
1331
|
+
"name": "listRecent",
|
|
1332
|
+
"signature": "async listRecent(): Promise<{ entries: ReaderRecentEntry[] }>",
|
|
1333
|
+
"summary": "The entries the reader opened, newest first.",
|
|
1334
|
+
"jsDoc": "/**\n * The entries the reader opened, newest first.\n *\n * @returns the recent list as the page renders it.\n */"
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
"kind": "method",
|
|
1338
|
+
"name": "clearRecent",
|
|
1339
|
+
"signature": "async clearRecent(): Promise<{ removed: number }>",
|
|
1340
|
+
"summary": "Forget every recent entry.",
|
|
1341
|
+
"jsDoc": "/**\n * Forget every recent entry.\n *\n * The reader's own list is theirs to erase: a \"recently read\" page that can\n * only grow is one nobody wants to open in company.\n *\n * @returns how many entries were dropped.\n */"
|
|
1342
|
+
}
|
|
1343
|
+
],
|
|
1344
|
+
"types": [
|
|
1345
|
+
{
|
|
1346
|
+
"name": "ReaderAddFailure",
|
|
1347
|
+
"declaration": "export interface ReaderAddFailure {\n readonly outcome: 'fetch-failed';\n readonly reason: string;\n}"
|
|
1348
|
+
},
|
|
1349
|
+
{
|
|
1350
|
+
"name": "ReaderAddOutcome",
|
|
1351
|
+
"declaration": "export interface ReaderAddOutcome {\n readonly outcome: 'subscribed' | 'saved-link';\n readonly kind: ReaderSourceKind;\n readonly id: string;\n readonly label: string;\n readonly failure?: { readonly code: ReaderPreviewFailureCode; readonly message: string; };\n}"
|
|
1352
|
+
},
|
|
1353
|
+
{
|
|
1354
|
+
"name": "ReaderAddRefusal",
|
|
1355
|
+
"declaration": "export type ReaderAddRefusal = Extract<ReaderMutationOutcome, 'invalid-url' | 'duplicate' | 'unavailable'> | 'unsupported-content' | 'fetch-failed';"
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"name": "ReaderAnnotationOutcome",
|
|
1359
|
+
"declaration": "export type ReaderAnnotationOutcome = 'ok' | 'not-found' | 'invalid' | 'duplicate' | 'unavailable' | 'empty';"
|
|
1360
|
+
},
|
|
1361
|
+
{
|
|
1362
|
+
"name": "ReaderBackfillCandidate",
|
|
1363
|
+
"declaration": "export interface ReaderBackfillCandidate {\n readonly entryId: string;\n readonly url: string;\n readonly label: string;\n readonly lastError?: string;\n}"
|
|
1364
|
+
},
|
|
1365
|
+
{
|
|
1366
|
+
"name": "ReaderBody",
|
|
1367
|
+
"declaration": "export interface ReaderBody {\n readonly id: string;\n readonly raw?: string;\n readonly truncated?: boolean;\n readonly error?: string;\n readonly title?: string;\n readonly excerpt?: string;\n}"
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"name": "ReaderCapabilities",
|
|
1371
|
+
"declaration": "export interface ReaderCapabilities {\n readonly protocolVersion: 1;\n readonly hasFs: boolean;\n readonly hasSideChat: boolean;\n readonly nextRefreshAt?: string;\n readonly lastRefreshAt?: string;\n}"
|
|
1372
|
+
},
|
|
1373
|
+
{
|
|
1374
|
+
"name": "ReaderEntryBodyView",
|
|
1375
|
+
"declaration": "export interface ReaderEntryBodyView {\n readonly entryId: string;\n readonly cached: boolean;\n readonly fresh: boolean;\n readonly fromFeed: boolean;\n readonly html?: string;\n readonly fetchedAt?: string;\n readonly truncated?: boolean;\n readonly scriptFigures?: number;\n readonly rendered?: boolean;\n readonly error?: string;\n}"
|
|
1376
|
+
},
|
|
1377
|
+
{
|
|
1378
|
+
"name": "ReaderEntryFetchState",
|
|
1379
|
+
"declaration": "export type ReaderEntryFetchState = { readonly state: 'none'; } | { readonly state: 'fetching'; readonly at: string; } | { readonly state: 'raw'; readonly at: string; } | { readonly state: 'ready'; readonly at?: string; } | { readonly state: 'failed'; readonly at: string; readonly message: string; readonly code?: ReaderPreviewFailureCode; };"
|
|
1380
|
+
},
|
|
1381
|
+
{
|
|
1382
|
+
"name": "ReaderEntryTranslationView",
|
|
1383
|
+
"declaration": "export interface ReaderEntryTranslationView {\n readonly pair: string;\n readonly bodyHash: string;\n readonly segments: Record<string, string>;\n}"
|
|
1384
|
+
},
|
|
1385
|
+
{
|
|
1386
|
+
"name": "ReaderFetchStatus",
|
|
1387
|
+
"declaration": "export type ReaderFetchStatus = 'ok' | 'fetching' | 'error';"
|
|
1388
|
+
},
|
|
1389
|
+
{
|
|
1390
|
+
"name": "ReaderMutationOutcome",
|
|
1391
|
+
"declaration": "export type ReaderMutationOutcome = 'ok' | 'not-found' | 'invalid-url' | 'invalid-time' | 'duplicate' | 'unavailable';"
|
|
1392
|
+
},
|
|
1393
|
+
{
|
|
1394
|
+
"name": "ReaderPreviewFailureCode",
|
|
1395
|
+
"declaration": "export type ReaderPreviewFailureCode = 'blocked' | 'login' | 'unsupported-type' | 'redirected' | 'empty' | 'unreachable' | 'http' | 'unreadable';"
|
|
1396
|
+
},
|
|
1397
|
+
{
|
|
1398
|
+
"name": "ReaderRecentEntry",
|
|
1399
|
+
"declaration": "export interface ReaderRecentEntry {\n readonly entryId: string;\n readonly sourceId: string;\n readonly title: string;\n readonly url?: string;\n readonly readAt: string;\n}"
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
"name": "ReaderRefreshResult",
|
|
1403
|
+
"declaration": "export interface ReaderRefreshResult {\n readonly id: string;\n readonly status: 'ok' | 'fetch-failed' | 'truncated' | 'unavailable';\n readonly message?: string;\n}"
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
"name": "ReaderSentenceLearn",
|
|
1407
|
+
"declaration": "export interface ReaderSentenceLearn {\n readonly hash: string;\n readonly source: string;\n readonly target: string;\n}"
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
"name": "ReaderSourceKind",
|
|
1411
|
+
"declaration": "export type ReaderSourceKind = 'rss' | 'link';"
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"name": "ReaderSourceSummary",
|
|
1415
|
+
"declaration": "export interface ReaderSourceSummary {\n readonly id: string;\n readonly kind: ReaderSourceKind;\n readonly url: string;\n readonly label: string;\n readonly enabled: boolean;\n readonly addedAt: string;\n readonly fetchedAt?: string;\n readonly status?: ReaderFetchStatus;\n readonly error?: string;\n readonly truncated?: boolean;\n readonly hasBody: boolean;\n readonly failure?: { readonly code: ReaderPreviewFailureCode; readonly message: string; };\n readonly resolvedFrom?: string;\n}"
|
|
1416
|
+
},
|
|
1417
|
+
{
|
|
1418
|
+
"name": "ReaderStorageStats",
|
|
1419
|
+
"declaration": "export interface ReaderStorageStats {\n readonly bodies: { readonly entries: number; readonly chars: number; };\n readonly translations: { readonly entries: number; readonly chars: number; readonly memoryEntries: number; readonly memoryChars: number; };\n}"
|
|
1420
|
+
},
|
|
1421
|
+
{
|
|
1422
|
+
"name": "ReaderTag",
|
|
1423
|
+
"declaration": "export interface ReaderTag {\n readonly id: string;\n readonly name: string;\n readonly createdAt: string;\n}"
|
|
1424
|
+
}
|
|
1425
|
+
]
|
|
1426
|
+
},
|
|
1427
|
+
{
|
|
1428
|
+
"description": "The wire namespace is `reader`: the browser calls `remote.reader.*`.",
|
|
1429
|
+
"summary": "The wire namespace is `reader`: the browser calls `remote.reader.*`.",
|
|
1430
|
+
"tags": [],
|
|
1431
|
+
"jsDoc": "/** The wire namespace is `reader`: the browser calls `remote.reader.*`. */",
|
|
1432
|
+
"key": "readerRemote",
|
|
1433
|
+
"exportName": "ReaderRemoteService",
|
|
1434
|
+
"members": [
|
|
1435
|
+
{
|
|
1436
|
+
"kind": "method",
|
|
1437
|
+
"name": "capabilities",
|
|
1438
|
+
"signature": "@Remote('capabilities') capabilities(): Promise<ReaderCapabilities>",
|
|
1439
|
+
"summary": "Capability handshake: what the browser may rely on in this composition.",
|
|
1440
|
+
"jsDoc": "/** Capability handshake: what the browser may rely on in this composition. */"
|
|
1441
|
+
},
|
|
1442
|
+
{
|
|
1443
|
+
"kind": "method",
|
|
1444
|
+
"name": "listSources",
|
|
1445
|
+
"signature": "@Remote('listSources') async listSources(): Promise<{ sources: ReaderSourceSummary[] }>",
|
|
1446
|
+
"summary": "The configured sources, without payloads.",
|
|
1447
|
+
"jsDoc": "/** The configured sources, without payloads. */"
|
|
1448
|
+
},
|
|
1449
|
+
{
|
|
1450
|
+
"kind": "method",
|
|
1451
|
+
"name": "addSource",
|
|
1452
|
+
"signature": "@Remote('addSource') addSource(request: { url: string; label?: string }): Promise<ReaderAddOutcome | ReaderAddRefusal | ReaderAddFailure>",
|
|
1453
|
+
"summary": "Add a source; the host decides whether the URL is a feed or an article.",
|
|
1454
|
+
"jsDoc": "/** Add a source; the host decides whether the URL is a feed or an article. */"
|
|
1455
|
+
},
|
|
1456
|
+
{
|
|
1457
|
+
"kind": "method",
|
|
1458
|
+
"name": "updateSource",
|
|
1459
|
+
"signature": "@Remote('updateSource') updateSource(request: { id: string enabled?: boolean label?: string url?: string timeOfDay?: string }): Promise<ReaderMutationOutcome>",
|
|
1460
|
+
"summary": "Change a source's label/enabled flag, or the global refresh time.",
|
|
1461
|
+
"jsDoc": "/** Change a source's label/enabled flag, or the global refresh time. */"
|
|
1462
|
+
},
|
|
1463
|
+
{
|
|
1464
|
+
"kind": "method",
|
|
1465
|
+
"name": "removeSource",
|
|
1466
|
+
"signature": "@Remote('removeSource') removeSource(request: { id: string; entryIds?: readonly string[] }): Promise<ReaderMutationOutcome>",
|
|
1467
|
+
"summary": "Drop a source; its entries' translations go with it (their bodies stay for the budget).",
|
|
1468
|
+
"jsDoc": "/** Drop a source; its entries' translations go with it (their bodies stay for the budget). */"
|
|
1469
|
+
},
|
|
1470
|
+
{
|
|
1471
|
+
"kind": "method",
|
|
1472
|
+
"name": "refresh",
|
|
1473
|
+
"signature": "@Remote('refresh') async refresh(request: { ids?: string[] }): Promise<{ results: ReaderRefreshResult[] }>",
|
|
1474
|
+
"summary": "Fetch the named sources (or every enabled one) now.",
|
|
1475
|
+
"jsDoc": "/** Fetch the named sources (or every enabled one) now. */"
|
|
1476
|
+
},
|
|
1477
|
+
{
|
|
1478
|
+
"kind": "method",
|
|
1479
|
+
"name": "getBodies",
|
|
1480
|
+
"signature": "@Remote('getBodies') async getBodies(request: { ids: string[] }): Promise<{ bodies: ReaderBody[] }>",
|
|
1481
|
+
"summary": "Hand back raw payloads for the browser to parse.",
|
|
1482
|
+
"jsDoc": "/** Hand back raw payloads for the browser to parse. */"
|
|
1483
|
+
},
|
|
1484
|
+
{
|
|
1485
|
+
"kind": "method",
|
|
1486
|
+
"name": "getEntryBody",
|
|
1487
|
+
"signature": "@Remote('getEntryBody') getEntryBody(request: { entryId: string; url: string; feedHtml?: string }): Promise<ReaderEntryBodyView>",
|
|
1488
|
+
"summary": "What the detail view should render for one entry, and whether a fetch is worth offering.",
|
|
1489
|
+
"jsDoc": "/** What the detail view should render for one entry, and whether a fetch is worth offering. */"
|
|
1490
|
+
},
|
|
1491
|
+
{
|
|
1492
|
+
"kind": "method",
|
|
1493
|
+
"name": "fetchEntryBody",
|
|
1494
|
+
"signature": "@Remote('fetchEntryBody') fetchEntryBody(request: { entryId: string; url: string }): Promise<{ entryId: string url?: string raw?: string rawFile?: string truncated?: boolean error?: string }>",
|
|
1495
|
+
"summary": "Fetch one entry's article (the network half; the browser extracts).",
|
|
1496
|
+
"jsDoc": "/** Fetch one entry's article (the network half; the browser extracts). */"
|
|
1497
|
+
},
|
|
1498
|
+
{
|
|
1499
|
+
"kind": "method",
|
|
1500
|
+
"name": "storeEntryBody",
|
|
1501
|
+
"signature": "@Remote('storeEntryBody') storeEntryBody(request: { entryId: string url: string html: string truncated?: boolean scriptFigures?: number bodyHash?: string /** The article's own title, as extracted — the saved link's card upgrade. */ title?: string /** A short excerpt (abstract / first paragraph), with the title. */ excerpt?: string }): Promise<ReaderEntryBodyView>",
|
|
1502
|
+
"summary": "Cache the markup the browser extracted for one entry.",
|
|
1503
|
+
"jsDoc": "/** Cache the markup the browser extracted for one entry. */"
|
|
1504
|
+
},
|
|
1505
|
+
{
|
|
1506
|
+
"kind": "method",
|
|
1507
|
+
"name": "entryFetchStates",
|
|
1508
|
+
"signature": "@Remote('entryFetchStates') entryFetchStates(request: { entryIds: readonly string[] }): Promise<{ states: Record<string, ReaderEntryFetchState> }>",
|
|
1509
|
+
"summary": "What the plugin holds per entry: a body, a stored raw payload, or a failure.",
|
|
1510
|
+
"jsDoc": "/** What the plugin holds per entry: a body, a stored raw payload, or a failure. */"
|
|
1511
|
+
},
|
|
1512
|
+
{
|
|
1513
|
+
"kind": "method",
|
|
1514
|
+
"name": "getRawBody",
|
|
1515
|
+
"signature": "@Remote('getRawBody') getRawBody(request: { entryId: string }): Promise<{ entryId: string; raw?: string; url?: string; truncated?: boolean; error?: string }>",
|
|
1516
|
+
"summary": "A stored raw payload, so the browser can extract it later.",
|
|
1517
|
+
"jsDoc": "/** A stored raw payload, so the browser can extract it later. */"
|
|
1518
|
+
},
|
|
1519
|
+
{
|
|
1520
|
+
"kind": "method",
|
|
1521
|
+
"name": "listBackfillCandidates",
|
|
1522
|
+
"signature": "@Remote('listBackfillCandidates') listBackfillCandidates(request: { entries: readonly { entryId: string; url: string; label: string; hasBody: boolean }[] limit?: number }): Promise<{ candidates: ReaderBackfillCandidate[] }>",
|
|
1523
|
+
"summary": "Which entries still need their full text (the automatic backfill's work list).",
|
|
1524
|
+
"jsDoc": "/** Which entries still need their full text (the automatic backfill's work list). */"
|
|
1525
|
+
},
|
|
1526
|
+
{
|
|
1527
|
+
"kind": "method",
|
|
1528
|
+
"name": "getEntryTranslation",
|
|
1529
|
+
"signature": "@Remote('getEntryTranslation') getEntryTranslation(request: { entryId: string }): Promise<{ translation?: ReaderEntryTranslationView }>",
|
|
1530
|
+
"summary": "One entry's exact-fit translation record (segment map resolved), when usable.",
|
|
1531
|
+
"jsDoc": "/** One entry's exact-fit translation record (segment map resolved), when usable. */"
|
|
1532
|
+
},
|
|
1533
|
+
{
|
|
1534
|
+
"kind": "method",
|
|
1535
|
+
"name": "getSentenceTranslations",
|
|
1536
|
+
"signature": "@Remote('getSentenceTranslations') getSentenceTranslations(request: { pair: string; hashes: readonly string[] }): Promise<{ translations: Record<string, string> }>",
|
|
1537
|
+
"summary": "Translations for exactly the asked sentence hashes of one pair — never the whole table.",
|
|
1538
|
+
"jsDoc": "/** Translations for exactly the asked sentence hashes of one pair — never the whole table. */"
|
|
1539
|
+
},
|
|
1540
|
+
{
|
|
1541
|
+
"kind": "method",
|
|
1542
|
+
"name": "rememberSentences",
|
|
1543
|
+
"signature": "@Remote('rememberSentences') rememberSentences(request: { pair: string entries: readonly ReaderSentenceLearn[] recalled?: readonly ReaderSentenceLearn[] entryId?: string bodyHash?: string }): Promise<{ stored: number }>",
|
|
1544
|
+
"summary": "Persist what one translation run learned (and refresh what it reused), in one batch.",
|
|
1545
|
+
"jsDoc": "/** Persist what one translation run learned (and refresh what it reused), in one batch. */"
|
|
1546
|
+
},
|
|
1547
|
+
{
|
|
1548
|
+
"kind": "method",
|
|
1549
|
+
"name": "getStorageStats",
|
|
1550
|
+
"signature": "@Remote('getStorageStats') getStorageStats(): Promise<ReaderStorageStats>",
|
|
1551
|
+
"summary": "Per-tier cache usage, aggregated on the host (the tables never cross).",
|
|
1552
|
+
"jsDoc": "/** Per-tier cache usage, aggregated on the host (the tables never cross). */"
|
|
1553
|
+
},
|
|
1554
|
+
{
|
|
1555
|
+
"kind": "method",
|
|
1556
|
+
"name": "clearTranslations",
|
|
1557
|
+
"signature": "@Remote('clearTranslations') clearTranslations(): Promise<{ clearedEntries: number; clearedMemory: boolean }>",
|
|
1558
|
+
"summary": "Forget every translation: the global memory and every entry map.",
|
|
1559
|
+
"jsDoc": "/** Forget every translation: the global memory and every entry map. */"
|
|
1560
|
+
},
|
|
1561
|
+
{
|
|
1562
|
+
"kind": "method",
|
|
1563
|
+
"name": "listTags",
|
|
1564
|
+
"signature": "@Remote('listTags') listTags(): Promise<{ tags: ReaderTag[]; counts: Record<string, number> }>",
|
|
1565
|
+
"summary": "The tag vocabulary, with how many entries carry each tag.",
|
|
1566
|
+
"jsDoc": "/** The tag vocabulary, with how many entries carry each tag. */"
|
|
1567
|
+
},
|
|
1568
|
+
{
|
|
1569
|
+
"kind": "method",
|
|
1570
|
+
"name": "createTag",
|
|
1571
|
+
"signature": "@Remote('createTag') createTag(request: { name: string }): Promise<ReaderTag | ReaderAnnotationOutcome>",
|
|
1572
|
+
"summary": "Create a tag, or return the existing one with the same name.",
|
|
1573
|
+
"jsDoc": "/** Create a tag, or return the existing one with the same name. */"
|
|
1574
|
+
},
|
|
1575
|
+
{
|
|
1576
|
+
"kind": "method",
|
|
1577
|
+
"name": "renameTag",
|
|
1578
|
+
"signature": "@Remote('renameTag') renameTag(request: { id: string; name: string }): Promise<ReaderAnnotationOutcome>",
|
|
1579
|
+
"summary": "Rename a tag without touching the entries that carry it.",
|
|
1580
|
+
"jsDoc": "/** Rename a tag without touching the entries that carry it. */"
|
|
1581
|
+
},
|
|
1582
|
+
{
|
|
1583
|
+
"kind": "method",
|
|
1584
|
+
"name": "deleteTag",
|
|
1585
|
+
"signature": "@Remote('deleteTag') deleteTag(request: { id: string }): Promise<ReaderAnnotationOutcome>",
|
|
1586
|
+
"summary": "Delete a tag and remove it from every entry.",
|
|
1587
|
+
"jsDoc": "/** Delete a tag and remove it from every entry. */"
|
|
1588
|
+
},
|
|
1589
|
+
{
|
|
1590
|
+
"kind": "method",
|
|
1591
|
+
"name": "tagEntry",
|
|
1592
|
+
"signature": "@Remote('tagEntry') tagEntry(request: { entryId: string; tagId: string; on: boolean }): Promise<ReaderAnnotationOutcome>",
|
|
1593
|
+
"summary": "Add or remove one tag on one entry.",
|
|
1594
|
+
"jsDoc": "/** Add or remove one tag on one entry. */"
|
|
1595
|
+
},
|
|
1596
|
+
{
|
|
1597
|
+
"kind": "method",
|
|
1598
|
+
"name": "entryTags",
|
|
1599
|
+
"signature": "@Remote('entryTags') entryTags(request: { entryId: string }): Promise<{ tags: ReaderTag[] }>",
|
|
1600
|
+
"summary": "The tags on one entry.",
|
|
1601
|
+
"jsDoc": "/** The tags on one entry. */"
|
|
1602
|
+
},
|
|
1603
|
+
{
|
|
1604
|
+
"kind": "method",
|
|
1605
|
+
"name": "getCachePolicy",
|
|
1606
|
+
"signature": "@Remote('getCachePolicy') getCachePolicy(): Promise<{ ttlHours: number; maxEntries: number; translationBudgetChars: number }>",
|
|
1607
|
+
"summary": "Read or set how long a fetched body is served (and the translation budget).",
|
|
1608
|
+
"jsDoc": "/** Read or set how long a fetched body is served (and the translation budget). */"
|
|
1609
|
+
},
|
|
1610
|
+
{
|
|
1611
|
+
"kind": "method",
|
|
1612
|
+
"name": "setCachePolicy",
|
|
1613
|
+
"signature": "@Remote('setCachePolicy') setCachePolicy(request: { ttlHours: number; maxEntries?: number; translationBudgetChars?: number }): Promise<ReaderAnnotationOutcome>"
|
|
1614
|
+
},
|
|
1615
|
+
{
|
|
1616
|
+
"kind": "method",
|
|
1617
|
+
"name": "pruneTags",
|
|
1618
|
+
"signature": "@Remote('pruneTags') pruneTags(): Promise<{ removed: number }>",
|
|
1619
|
+
"summary": "Drop tags nothing references any more.",
|
|
1620
|
+
"jsDoc": "/** Drop tags nothing references any more. */"
|
|
1621
|
+
},
|
|
1622
|
+
{
|
|
1623
|
+
"kind": "method",
|
|
1624
|
+
"name": "recordRead",
|
|
1625
|
+
"signature": "@Remote('recordRead') recordRead(request: { entryId: string sourceId: string title: string url?: string }): Promise<{ entries: number }>",
|
|
1626
|
+
"summary": "Record that the reader opened one entry (the recent page's write half).",
|
|
1627
|
+
"jsDoc": "/** Record that the reader opened one entry (the recent page's write half). */"
|
|
1628
|
+
},
|
|
1629
|
+
{
|
|
1630
|
+
"kind": "method",
|
|
1631
|
+
"name": "listRecent",
|
|
1632
|
+
"signature": "@Remote('listRecent') listRecent(): Promise<{ entries: ReaderRecentEntry[] }>",
|
|
1633
|
+
"summary": "The entries the reader opened, newest first.",
|
|
1634
|
+
"jsDoc": "/** The entries the reader opened, newest first. */"
|
|
1635
|
+
},
|
|
1636
|
+
{
|
|
1637
|
+
"kind": "method",
|
|
1638
|
+
"name": "clearRecent",
|
|
1639
|
+
"signature": "@Remote('clearRecent') clearRecent(): Promise<{ removed: number }>",
|
|
1640
|
+
"summary": "Forget every recent entry.",
|
|
1641
|
+
"jsDoc": "/** Forget every recent entry. */"
|
|
1642
|
+
},
|
|
1643
|
+
{
|
|
1644
|
+
"kind": "method",
|
|
1645
|
+
"name": "quoteToSideChat",
|
|
1646
|
+
"signature": "@Remote('quoteToSideChat') quoteToSideChat(request: { contextKey: string label: string text: string }): Promise<'ok' | 'unavailable'>",
|
|
1647
|
+
"summary": "Forward a ref block to the side-chat service when one is composed.",
|
|
1648
|
+
"jsDoc": "/** Forward a ref block to the side-chat service when one is composed. */"
|
|
1649
|
+
}
|
|
1650
|
+
],
|
|
1651
|
+
"types": [
|
|
1652
|
+
{
|
|
1653
|
+
"name": "ReaderAddFailure",
|
|
1654
|
+
"declaration": "export interface ReaderAddFailure {\n readonly outcome: 'fetch-failed';\n readonly reason: string;\n}"
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
"name": "ReaderAddOutcome",
|
|
1658
|
+
"declaration": "export interface ReaderAddOutcome {\n readonly outcome: 'subscribed' | 'saved-link';\n readonly kind: ReaderSourceKind;\n readonly id: string;\n readonly label: string;\n readonly failure?: { readonly code: ReaderPreviewFailureCode; readonly message: string; };\n}"
|
|
1659
|
+
},
|
|
1660
|
+
{
|
|
1661
|
+
"name": "ReaderAddRefusal",
|
|
1662
|
+
"declaration": "export type ReaderAddRefusal = Extract<ReaderMutationOutcome, 'invalid-url' | 'duplicate' | 'unavailable'> | 'unsupported-content' | 'fetch-failed';"
|
|
1663
|
+
},
|
|
1664
|
+
{
|
|
1665
|
+
"name": "ReaderAnnotationOutcome",
|
|
1666
|
+
"declaration": "export type ReaderAnnotationOutcome = 'ok' | 'not-found' | 'invalid' | 'duplicate' | 'unavailable' | 'empty';"
|
|
1667
|
+
},
|
|
1668
|
+
{
|
|
1669
|
+
"name": "ReaderBackfillCandidate",
|
|
1670
|
+
"declaration": "export interface ReaderBackfillCandidate {\n readonly entryId: string;\n readonly url: string;\n readonly label: string;\n readonly lastError?: string;\n}"
|
|
1671
|
+
},
|
|
1672
|
+
{
|
|
1673
|
+
"name": "ReaderBody",
|
|
1674
|
+
"declaration": "export interface ReaderBody {\n readonly id: string;\n readonly raw?: string;\n readonly truncated?: boolean;\n readonly error?: string;\n readonly title?: string;\n readonly excerpt?: string;\n}"
|
|
1675
|
+
},
|
|
1676
|
+
{
|
|
1677
|
+
"name": "ReaderCapabilities",
|
|
1678
|
+
"declaration": "export interface ReaderCapabilities {\n readonly protocolVersion: 1;\n readonly hasFs: boolean;\n readonly hasSideChat: boolean;\n readonly nextRefreshAt?: string;\n readonly lastRefreshAt?: string;\n}"
|
|
1679
|
+
},
|
|
1680
|
+
{
|
|
1681
|
+
"name": "ReaderEntryBodyView",
|
|
1682
|
+
"declaration": "export interface ReaderEntryBodyView {\n readonly entryId: string;\n readonly cached: boolean;\n readonly fresh: boolean;\n readonly fromFeed: boolean;\n readonly html?: string;\n readonly fetchedAt?: string;\n readonly truncated?: boolean;\n readonly scriptFigures?: number;\n readonly rendered?: boolean;\n readonly error?: string;\n}"
|
|
1683
|
+
},
|
|
1684
|
+
{
|
|
1685
|
+
"name": "ReaderEntryFetchState",
|
|
1686
|
+
"declaration": "export type ReaderEntryFetchState = { readonly state: 'none'; } | { readonly state: 'fetching'; readonly at: string; } | { readonly state: 'raw'; readonly at: string; } | { readonly state: 'ready'; readonly at?: string; } | { readonly state: 'failed'; readonly at: string; readonly message: string; readonly code?: ReaderPreviewFailureCode; };"
|
|
1687
|
+
},
|
|
1688
|
+
{
|
|
1689
|
+
"name": "ReaderEntryTranslationView",
|
|
1690
|
+
"declaration": "export interface ReaderEntryTranslationView {\n readonly pair: string;\n readonly bodyHash: string;\n readonly segments: Record<string, string>;\n}"
|
|
1691
|
+
},
|
|
1692
|
+
{
|
|
1693
|
+
"name": "ReaderFetchStatus",
|
|
1694
|
+
"declaration": "export type ReaderFetchStatus = 'ok' | 'fetching' | 'error';"
|
|
1695
|
+
},
|
|
1696
|
+
{
|
|
1697
|
+
"name": "ReaderMutationOutcome",
|
|
1698
|
+
"declaration": "export type ReaderMutationOutcome = 'ok' | 'not-found' | 'invalid-url' | 'invalid-time' | 'duplicate' | 'unavailable';"
|
|
1699
|
+
},
|
|
1700
|
+
{
|
|
1701
|
+
"name": "ReaderPreviewFailureCode",
|
|
1702
|
+
"declaration": "export type ReaderPreviewFailureCode = 'blocked' | 'login' | 'unsupported-type' | 'redirected' | 'empty' | 'unreachable' | 'http' | 'unreadable';"
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
"name": "ReaderRecentEntry",
|
|
1706
|
+
"declaration": "export interface ReaderRecentEntry {\n readonly entryId: string;\n readonly sourceId: string;\n readonly title: string;\n readonly url?: string;\n readonly readAt: string;\n}"
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
"name": "ReaderRefreshResult",
|
|
1710
|
+
"declaration": "export interface ReaderRefreshResult {\n readonly id: string;\n readonly status: 'ok' | 'fetch-failed' | 'truncated' | 'unavailable';\n readonly message?: string;\n}"
|
|
1711
|
+
},
|
|
1712
|
+
{
|
|
1713
|
+
"name": "ReaderSentenceLearn",
|
|
1714
|
+
"declaration": "export interface ReaderSentenceLearn {\n readonly hash: string;\n readonly source: string;\n readonly target: string;\n}"
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
"name": "ReaderSourceKind",
|
|
1718
|
+
"declaration": "export type ReaderSourceKind = 'rss' | 'link';"
|
|
1719
|
+
},
|
|
1720
|
+
{
|
|
1721
|
+
"name": "ReaderSourceSummary",
|
|
1722
|
+
"declaration": "export interface ReaderSourceSummary {\n readonly id: string;\n readonly kind: ReaderSourceKind;\n readonly url: string;\n readonly label: string;\n readonly enabled: boolean;\n readonly addedAt: string;\n readonly fetchedAt?: string;\n readonly status?: ReaderFetchStatus;\n readonly error?: string;\n readonly truncated?: boolean;\n readonly hasBody: boolean;\n readonly failure?: { readonly code: ReaderPreviewFailureCode; readonly message: string; };\n readonly resolvedFrom?: string;\n}"
|
|
1723
|
+
},
|
|
1724
|
+
{
|
|
1725
|
+
"name": "ReaderStorageStats",
|
|
1726
|
+
"declaration": "export interface ReaderStorageStats {\n readonly bodies: { readonly entries: number; readonly chars: number; };\n readonly translations: { readonly entries: number; readonly chars: number; readonly memoryEntries: number; readonly memoryChars: number; };\n}"
|
|
1727
|
+
},
|
|
1728
|
+
{
|
|
1729
|
+
"name": "ReaderTag",
|
|
1730
|
+
"declaration": "export interface ReaderTag {\n readonly id: string;\n readonly name: string;\n readonly createdAt: string;\n}"
|
|
1731
|
+
}
|
|
1732
|
+
]
|
|
1733
|
+
}
|
|
1734
|
+
],
|
|
1735
|
+
"events": [],
|
|
1736
|
+
"objects": []
|
|
1737
|
+
},
|
|
1738
|
+
}
|