@kirkchinese/dsh-citeciter 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +65 -38
  2. package/README.zh.md +59 -51
  3. package/lib/client.js +15928 -1067
  4. package/lib/index.js +1094 -242
  5. package/lib/topic-CjNNXSWB.js +211 -0
  6. package/lib/typert-common-CPi6bVCr.js +32 -0
  7. package/lib/typert.host.js +30 -11
  8. package/lib/typert.remote-client.js +2 -2
  9. package/lib/types/client/citation.d.ts +10 -0
  10. package/lib/types/client/companion-controller.d.ts +37 -0
  11. package/lib/types/client/components/CiteCiterSettings.d.ts +7 -0
  12. package/lib/types/client/components/CitePanel.d.ts +7 -10
  13. package/lib/types/client/components/SelectionMenu.d.ts +6 -11
  14. package/lib/types/client/index.d.ts +2 -2
  15. package/lib/types/client/markdown-source-map.d.ts +16 -0
  16. package/lib/types/client/response-guard.d.ts +4 -0
  17. package/lib/types/client/types.d.ts +16 -31
  18. package/lib/types/index.d.ts +33 -22
  19. package/lib/types/observer.d.ts +44 -0
  20. package/lib/types/topic-runtime.d.ts +50 -0
  21. package/lib/types/topic.d.ts +419 -0
  22. package/lib/types/typert-common.d.ts +177 -69
  23. package/lib/types/typert.host.d.ts +445 -58
  24. package/lib/types/typert.remote-client.d.ts +3 -8
  25. package/package.json +58 -32
  26. package/lib/thread-D7ig_Lk7.js +0 -68
  27. package/lib/typert-common-CLPMRe7a.js +0 -51
  28. package/lib/types/client/explainer-controller.d.ts +0 -31
  29. package/lib/types/client/explainer.d.ts +0 -5
  30. package/lib/types/client/thread.d.ts +0 -22
  31. package/lib/types/client/transcript.d.ts +0 -14
  32. package/lib/types/projection.d.ts +0 -4
  33. package/lib/types/read-only.d.ts +0 -13
  34. package/lib/types/thread.d.ts +0 -107
  35. package/lib/types/validation.d.ts +0 -4
@@ -1,40 +1,302 @@
1
- /** Handwritten strict Host contribution kept in sync with the Remote decorator. */
1
+ /** Handwritten strict Host contribution matching the single Remote decorator. */
2
2
  export declare const TYPERT: {
3
3
  readonly package: "@kirkchinese/dsh-citeciter";
4
4
  readonly face: "host";
5
5
  readonly schemas: readonly [{
6
- readonly name: "CitationRecord";
6
+ readonly name: "CitationDraft";
7
7
  readonly schema: import("zod").ZodObject<{
8
- schemaVersion: import("zod").ZodLiteral<1>;
9
8
  sourceSessionId: import("zod").ZodString;
10
- anchorKey: import("zod").ZodString;
11
9
  anchorSeq: import("zod").ZodNumber;
12
10
  startOffset: import("zod").ZodNumber;
13
11
  endOffset: import("zod").ZodNumber;
12
+ sourceText: import("zod").ZodString;
13
+ displayText: import("zod").ZodString;
14
+ prefixText: import("zod").ZodString;
15
+ suffixText: import("zod").ZodString;
14
16
  selectionFingerprint: import("zod").ZodString;
15
- selectedText: import("zod").ZodString;
17
+ }, import("zod/v4/core").$strict>;
18
+ }, {
19
+ readonly name: "CitationRecord";
20
+ readonly schema: import("zod").ZodObject<{
21
+ sourceSessionId: import("zod").ZodString;
22
+ anchorSeq: import("zod").ZodNumber;
23
+ startOffset: import("zod").ZodNumber;
24
+ endOffset: import("zod").ZodNumber;
25
+ sourceText: import("zod").ZodString;
26
+ displayText: import("zod").ZodString;
16
27
  prefixText: import("zod").ZodString;
17
28
  suffixText: import("zod").ZodString;
29
+ selectionFingerprint: import("zod").ZodString;
30
+ schemaVersion: import("zod").ZodLiteral<3>;
18
31
  createdAt: import("zod").ZodNumber;
19
32
  }, import("zod/v4/core").$strict>;
20
33
  }, {
21
- readonly name: "PrepareThreadResult";
34
+ readonly name: "TopicSummary";
22
35
  readonly schema: import("zod").ZodObject<{
23
- ready: import("zod").ZodLiteral<true>;
36
+ topicId: import("zod").ZodNumber;
37
+ sessionId: import("zod").ZodString;
38
+ sourceSessionId: import("zod").ZodString;
39
+ mode: import("zod").ZodEnum<{
40
+ observer: "observer";
41
+ "exact-fork": "exact-fork";
42
+ }>;
24
43
  citation: import("zod").ZodObject<{
25
- schemaVersion: import("zod").ZodLiteral<1>;
26
44
  sourceSessionId: import("zod").ZodString;
27
- anchorKey: import("zod").ZodString;
28
45
  anchorSeq: import("zod").ZodNumber;
29
46
  startOffset: import("zod").ZodNumber;
30
47
  endOffset: import("zod").ZodNumber;
31
- selectionFingerprint: import("zod").ZodString;
32
- selectedText: import("zod").ZodString;
48
+ sourceText: import("zod").ZodString;
49
+ displayText: import("zod").ZodString;
33
50
  prefixText: import("zod").ZodString;
34
51
  suffixText: import("zod").ZodString;
52
+ selectionFingerprint: import("zod").ZodString;
53
+ schemaVersion: import("zod").ZodLiteral<3>;
35
54
  createdAt: import("zod").ZodNumber;
36
55
  }, import("zod/v4/core").$strict>;
56
+ title: import("zod").ZodString;
57
+ titlePending: import("zod").ZodBoolean;
58
+ createdAt: import("zod").ZodNumber;
59
+ updatedAt: import("zod").ZodNumber;
60
+ archived: import("zod").ZodBoolean;
61
+ running: import("zod").ZodBoolean;
62
+ sourceAvailable: import("zod").ZodBoolean;
63
+ observedThroughSeq: import("zod").ZodNullable<import("zod").ZodNumber>;
64
+ modelConfig: import("zod").ZodObject<{
65
+ provider: import("zod").ZodString;
66
+ model: import("zod").ZodString;
67
+ reasoningEffort: import("zod").ZodOptional<import("zod").ZodString>;
68
+ temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
69
+ maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
70
+ stop: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
71
+ }, import("zod/v4/core").$strict>;
37
72
  }, import("zod/v4/core").$strict>;
73
+ }, {
74
+ readonly name: "TopicSnapshot";
75
+ readonly schema: import("zod").ZodObject<{
76
+ topic: import("zod").ZodObject<{
77
+ topicId: import("zod").ZodNumber;
78
+ sessionId: import("zod").ZodString;
79
+ sourceSessionId: import("zod").ZodString;
80
+ mode: import("zod").ZodEnum<{
81
+ observer: "observer";
82
+ "exact-fork": "exact-fork";
83
+ }>;
84
+ citation: import("zod").ZodObject<{
85
+ sourceSessionId: import("zod").ZodString;
86
+ anchorSeq: import("zod").ZodNumber;
87
+ startOffset: import("zod").ZodNumber;
88
+ endOffset: import("zod").ZodNumber;
89
+ sourceText: import("zod").ZodString;
90
+ displayText: import("zod").ZodString;
91
+ prefixText: import("zod").ZodString;
92
+ suffixText: import("zod").ZodString;
93
+ selectionFingerprint: import("zod").ZodString;
94
+ schemaVersion: import("zod").ZodLiteral<3>;
95
+ createdAt: import("zod").ZodNumber;
96
+ }, import("zod/v4/core").$strict>;
97
+ title: import("zod").ZodString;
98
+ titlePending: import("zod").ZodBoolean;
99
+ createdAt: import("zod").ZodNumber;
100
+ updatedAt: import("zod").ZodNumber;
101
+ archived: import("zod").ZodBoolean;
102
+ running: import("zod").ZodBoolean;
103
+ sourceAvailable: import("zod").ZodBoolean;
104
+ observedThroughSeq: import("zod").ZodNullable<import("zod").ZodNumber>;
105
+ modelConfig: import("zod").ZodObject<{
106
+ provider: import("zod").ZodString;
107
+ model: import("zod").ZodString;
108
+ reasoningEffort: import("zod").ZodOptional<import("zod").ZodString>;
109
+ temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
110
+ maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
111
+ stop: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
112
+ }, import("zod/v4/core").$strict>;
113
+ }, import("zod/v4/core").$strict>;
114
+ messages: import("zod").ZodArray<import("zod").ZodObject<{
115
+ id: import("zod").ZodString;
116
+ seq: import("zod").ZodNumber;
117
+ role: import("zod").ZodEnum<{
118
+ error: "error";
119
+ user: "user";
120
+ assistant: "assistant";
121
+ }>;
122
+ text: import("zod").ZodString;
123
+ reasoning: import("zod").ZodNullable<import("zod").ZodString>;
124
+ streaming: import("zod").ZodBoolean;
125
+ }, import("zod/v4/core").$strict>>;
126
+ error: import("zod").ZodNullable<import("zod").ZodString>;
127
+ }, import("zod/v4/core").$strict>;
128
+ }, {
129
+ readonly name: "CiteCiterRequest";
130
+ readonly schema: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
131
+ action: import("zod").ZodLiteral<"create">;
132
+ citation: import("zod").ZodObject<{
133
+ sourceSessionId: import("zod").ZodString;
134
+ anchorSeq: import("zod").ZodNumber;
135
+ startOffset: import("zod").ZodNumber;
136
+ endOffset: import("zod").ZodNumber;
137
+ sourceText: import("zod").ZodString;
138
+ displayText: import("zod").ZodString;
139
+ prefixText: import("zod").ZodString;
140
+ suffixText: import("zod").ZodString;
141
+ selectionFingerprint: import("zod").ZodString;
142
+ }, import("zod/v4/core").$strict>;
143
+ question: import("zod").ZodString;
144
+ mode: import("zod").ZodEnum<{
145
+ observer: "observer";
146
+ "exact-fork": "exact-fork";
147
+ "exact-when-available": "exact-when-available";
148
+ }>;
149
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
150
+ action: import("zod").ZodLiteral<"list">;
151
+ sourceSessionId: import("zod").ZodString;
152
+ includeArchived: import("zod").ZodOptional<import("zod").ZodBoolean>;
153
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
154
+ action: import("zod").ZodLiteral<"get">;
155
+ topicSessionId: import("zod").ZodString;
156
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
157
+ action: import("zod").ZodLiteral<"ask">;
158
+ topicSessionId: import("zod").ZodString;
159
+ question: import("zod").ZodString;
160
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
161
+ action: import("zod").ZodLiteral<"stop">;
162
+ topicSessionId: import("zod").ZodString;
163
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
164
+ action: import("zod").ZodLiteral<"rename">;
165
+ topicSessionId: import("zod").ZodString;
166
+ title: import("zod").ZodString;
167
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
168
+ action: import("zod").ZodLiteral<"archive">;
169
+ topicSessionId: import("zod").ZodString;
170
+ archived: import("zod").ZodBoolean;
171
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
172
+ action: import("zod").ZodLiteral<"delete">;
173
+ topicSessionId: import("zod").ZodString;
174
+ confirmSessionId: import("zod").ZodString;
175
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
176
+ action: import("zod").ZodLiteral<"models">;
177
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
178
+ action: import("zod").ZodLiteral<"select-model">;
179
+ topicSessionId: import("zod").ZodString;
180
+ provider: import("zod").ZodString;
181
+ model: import("zod").ZodString;
182
+ reasoningEffort: import("zod").ZodNullable<import("zod").ZodString>;
183
+ }, import("zod/v4/core").$strict>], "action">;
184
+ }, {
185
+ readonly name: "CiteCiterResponse";
186
+ readonly schema: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
187
+ kind: import("zod").ZodLiteral<"topic">;
188
+ topic: import("zod").ZodObject<{
189
+ topic: import("zod").ZodObject<{
190
+ topicId: import("zod").ZodNumber;
191
+ sessionId: import("zod").ZodString;
192
+ sourceSessionId: import("zod").ZodString;
193
+ mode: import("zod").ZodEnum<{
194
+ observer: "observer";
195
+ "exact-fork": "exact-fork";
196
+ }>;
197
+ citation: import("zod").ZodObject<{
198
+ sourceSessionId: import("zod").ZodString;
199
+ anchorSeq: import("zod").ZodNumber;
200
+ startOffset: import("zod").ZodNumber;
201
+ endOffset: import("zod").ZodNumber;
202
+ sourceText: import("zod").ZodString;
203
+ displayText: import("zod").ZodString;
204
+ prefixText: import("zod").ZodString;
205
+ suffixText: import("zod").ZodString;
206
+ selectionFingerprint: import("zod").ZodString;
207
+ schemaVersion: import("zod").ZodLiteral<3>;
208
+ createdAt: import("zod").ZodNumber;
209
+ }, import("zod/v4/core").$strict>;
210
+ title: import("zod").ZodString;
211
+ titlePending: import("zod").ZodBoolean;
212
+ createdAt: import("zod").ZodNumber;
213
+ updatedAt: import("zod").ZodNumber;
214
+ archived: import("zod").ZodBoolean;
215
+ running: import("zod").ZodBoolean;
216
+ sourceAvailable: import("zod").ZodBoolean;
217
+ observedThroughSeq: import("zod").ZodNullable<import("zod").ZodNumber>;
218
+ modelConfig: import("zod").ZodObject<{
219
+ provider: import("zod").ZodString;
220
+ model: import("zod").ZodString;
221
+ reasoningEffort: import("zod").ZodOptional<import("zod").ZodString>;
222
+ temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
223
+ maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
224
+ stop: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
225
+ }, import("zod/v4/core").$strict>;
226
+ }, import("zod/v4/core").$strict>;
227
+ messages: import("zod").ZodArray<import("zod").ZodObject<{
228
+ id: import("zod").ZodString;
229
+ seq: import("zod").ZodNumber;
230
+ role: import("zod").ZodEnum<{
231
+ error: "error";
232
+ user: "user";
233
+ assistant: "assistant";
234
+ }>;
235
+ text: import("zod").ZodString;
236
+ reasoning: import("zod").ZodNullable<import("zod").ZodString>;
237
+ streaming: import("zod").ZodBoolean;
238
+ }, import("zod/v4/core").$strict>>;
239
+ error: import("zod").ZodNullable<import("zod").ZodString>;
240
+ }, import("zod/v4/core").$strict>;
241
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
242
+ kind: import("zod").ZodLiteral<"topics">;
243
+ topics: import("zod").ZodArray<import("zod").ZodObject<{
244
+ topicId: import("zod").ZodNumber;
245
+ sessionId: import("zod").ZodString;
246
+ sourceSessionId: import("zod").ZodString;
247
+ mode: import("zod").ZodEnum<{
248
+ observer: "observer";
249
+ "exact-fork": "exact-fork";
250
+ }>;
251
+ citation: import("zod").ZodObject<{
252
+ sourceSessionId: import("zod").ZodString;
253
+ anchorSeq: import("zod").ZodNumber;
254
+ startOffset: import("zod").ZodNumber;
255
+ endOffset: import("zod").ZodNumber;
256
+ sourceText: import("zod").ZodString;
257
+ displayText: import("zod").ZodString;
258
+ prefixText: import("zod").ZodString;
259
+ suffixText: import("zod").ZodString;
260
+ selectionFingerprint: import("zod").ZodString;
261
+ schemaVersion: import("zod").ZodLiteral<3>;
262
+ createdAt: import("zod").ZodNumber;
263
+ }, import("zod/v4/core").$strict>;
264
+ title: import("zod").ZodString;
265
+ titlePending: import("zod").ZodBoolean;
266
+ createdAt: import("zod").ZodNumber;
267
+ updatedAt: import("zod").ZodNumber;
268
+ archived: import("zod").ZodBoolean;
269
+ running: import("zod").ZodBoolean;
270
+ sourceAvailable: import("zod").ZodBoolean;
271
+ observedThroughSeq: import("zod").ZodNullable<import("zod").ZodNumber>;
272
+ modelConfig: import("zod").ZodObject<{
273
+ provider: import("zod").ZodString;
274
+ model: import("zod").ZodString;
275
+ reasoningEffort: import("zod").ZodOptional<import("zod").ZodString>;
276
+ temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
277
+ maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
278
+ stop: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
279
+ }, import("zod/v4/core").$strict>;
280
+ }, import("zod/v4/core").$strict>>;
281
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
282
+ kind: import("zod").ZodLiteral<"models">;
283
+ providers: import("zod").ZodArray<import("zod").ZodObject<{
284
+ id: import("zod").ZodString;
285
+ name: import("zod").ZodString;
286
+ models: import("zod").ZodArray<import("zod").ZodObject<{
287
+ id: import("zod").ZodString;
288
+ name: import("zod").ZodString;
289
+ description: import("zod").ZodOptional<import("zod").ZodString>;
290
+ reasoningEfforts: import("zod").ZodArray<import("zod").ZodObject<{
291
+ id: import("zod").ZodString;
292
+ name: import("zod").ZodString;
293
+ }, import("zod/v4/core").$strict>>;
294
+ }, import("zod/v4/core").$strict>>;
295
+ }, import("zod/v4/core").$strict>>;
296
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
297
+ kind: import("zod").ZodLiteral<"deleted">;
298
+ sessionId: import("zod").ZodString;
299
+ }, import("zod/v4/core").$strict>], "kind">;
38
300
  }];
39
301
  readonly model: {
40
302
  readonly services: readonly [];
@@ -42,72 +304,197 @@ export declare const TYPERT: {
42
304
  readonly objects: readonly [];
43
305
  };
44
306
  readonly invocations: readonly [{
45
- readonly id: "@kirkchinese/dsh-citeciter#citeciter/prepareThread";
307
+ readonly id: "@kirkchinese/dsh-citeciter#citeciter/request";
46
308
  readonly service: "citeciter";
47
309
  readonly namespace: "citeciter";
48
- readonly method: "prepareThread";
310
+ readonly method: "request";
49
311
  readonly invocation: {
50
312
  readonly kind: "direct";
51
313
  };
52
- readonly scope: {
53
- readonly context: "agent";
54
- readonly wire: "agentId";
55
- };
56
314
  readonly parameters: readonly [{
57
- readonly name: "agent";
58
- readonly wire: "agentId";
59
- readonly source: "lookup";
60
- readonly lookup: "agent";
61
- readonly codec: {
62
- readonly mode: "strict";
63
- readonly typeSymbol: "@deepseek-ai/dsh-session/types#SessionId";
64
- readonly schema: import("zod").ZodString;
65
- };
66
- }, {
67
- readonly name: "rawCitation";
68
- readonly wire: "rawCitation";
315
+ readonly name: "rawRequest";
316
+ readonly wire: "rawRequest";
69
317
  readonly source: "json";
70
318
  readonly codec: {
71
319
  readonly mode: "strict";
72
- readonly typeSymbol: "@kirkchinese/dsh-citeciter#CitationRecord";
73
- readonly schema: import("zod").ZodObject<{
74
- schemaVersion: import("zod").ZodLiteral<1>;
320
+ readonly typeSymbol: "@kirkchinese/dsh-citeciter#CiteCiterRequest";
321
+ readonly schema: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
322
+ action: import("zod").ZodLiteral<"create">;
323
+ citation: import("zod").ZodObject<{
324
+ sourceSessionId: import("zod").ZodString;
325
+ anchorSeq: import("zod").ZodNumber;
326
+ startOffset: import("zod").ZodNumber;
327
+ endOffset: import("zod").ZodNumber;
328
+ sourceText: import("zod").ZodString;
329
+ displayText: import("zod").ZodString;
330
+ prefixText: import("zod").ZodString;
331
+ suffixText: import("zod").ZodString;
332
+ selectionFingerprint: import("zod").ZodString;
333
+ }, import("zod/v4/core").$strict>;
334
+ question: import("zod").ZodString;
335
+ mode: import("zod").ZodEnum<{
336
+ observer: "observer";
337
+ "exact-fork": "exact-fork";
338
+ "exact-when-available": "exact-when-available";
339
+ }>;
340
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
341
+ action: import("zod").ZodLiteral<"list">;
75
342
  sourceSessionId: import("zod").ZodString;
76
- anchorKey: import("zod").ZodString;
77
- anchorSeq: import("zod").ZodNumber;
78
- startOffset: import("zod").ZodNumber;
79
- endOffset: import("zod").ZodNumber;
80
- selectionFingerprint: import("zod").ZodString;
81
- selectedText: import("zod").ZodString;
82
- prefixText: import("zod").ZodString;
83
- suffixText: import("zod").ZodString;
84
- createdAt: import("zod").ZodNumber;
85
- }, import("zod/v4/core").$strict>;
343
+ includeArchived: import("zod").ZodOptional<import("zod").ZodBoolean>;
344
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
345
+ action: import("zod").ZodLiteral<"get">;
346
+ topicSessionId: import("zod").ZodString;
347
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
348
+ action: import("zod").ZodLiteral<"ask">;
349
+ topicSessionId: import("zod").ZodString;
350
+ question: import("zod").ZodString;
351
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
352
+ action: import("zod").ZodLiteral<"stop">;
353
+ topicSessionId: import("zod").ZodString;
354
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
355
+ action: import("zod").ZodLiteral<"rename">;
356
+ topicSessionId: import("zod").ZodString;
357
+ title: import("zod").ZodString;
358
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
359
+ action: import("zod").ZodLiteral<"archive">;
360
+ topicSessionId: import("zod").ZodString;
361
+ archived: import("zod").ZodBoolean;
362
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
363
+ action: import("zod").ZodLiteral<"delete">;
364
+ topicSessionId: import("zod").ZodString;
365
+ confirmSessionId: import("zod").ZodString;
366
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
367
+ action: import("zod").ZodLiteral<"models">;
368
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
369
+ action: import("zod").ZodLiteral<"select-model">;
370
+ topicSessionId: import("zod").ZodString;
371
+ provider: import("zod").ZodString;
372
+ model: import("zod").ZodString;
373
+ reasoningEffort: import("zod").ZodNullable<import("zod").ZodString>;
374
+ }, import("zod/v4/core").$strict>], "action">;
86
375
  };
87
376
  }];
88
377
  readonly result: {
89
378
  readonly mode: "strict";
90
- readonly typeSymbol: "@kirkchinese/dsh-citeciter#PrepareThreadResult";
91
- readonly schema: import("zod").ZodObject<{
92
- ready: import("zod").ZodLiteral<true>;
93
- citation: import("zod").ZodObject<{
94
- schemaVersion: import("zod").ZodLiteral<1>;
379
+ readonly typeSymbol: "@kirkchinese/dsh-citeciter#CiteCiterResponse";
380
+ readonly schema: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
381
+ kind: import("zod").ZodLiteral<"topic">;
382
+ topic: import("zod").ZodObject<{
383
+ topic: import("zod").ZodObject<{
384
+ topicId: import("zod").ZodNumber;
385
+ sessionId: import("zod").ZodString;
386
+ sourceSessionId: import("zod").ZodString;
387
+ mode: import("zod").ZodEnum<{
388
+ observer: "observer";
389
+ "exact-fork": "exact-fork";
390
+ }>;
391
+ citation: import("zod").ZodObject<{
392
+ sourceSessionId: import("zod").ZodString;
393
+ anchorSeq: import("zod").ZodNumber;
394
+ startOffset: import("zod").ZodNumber;
395
+ endOffset: import("zod").ZodNumber;
396
+ sourceText: import("zod").ZodString;
397
+ displayText: import("zod").ZodString;
398
+ prefixText: import("zod").ZodString;
399
+ suffixText: import("zod").ZodString;
400
+ selectionFingerprint: import("zod").ZodString;
401
+ schemaVersion: import("zod").ZodLiteral<3>;
402
+ createdAt: import("zod").ZodNumber;
403
+ }, import("zod/v4/core").$strict>;
404
+ title: import("zod").ZodString;
405
+ titlePending: import("zod").ZodBoolean;
406
+ createdAt: import("zod").ZodNumber;
407
+ updatedAt: import("zod").ZodNumber;
408
+ archived: import("zod").ZodBoolean;
409
+ running: import("zod").ZodBoolean;
410
+ sourceAvailable: import("zod").ZodBoolean;
411
+ observedThroughSeq: import("zod").ZodNullable<import("zod").ZodNumber>;
412
+ modelConfig: import("zod").ZodObject<{
413
+ provider: import("zod").ZodString;
414
+ model: import("zod").ZodString;
415
+ reasoningEffort: import("zod").ZodOptional<import("zod").ZodString>;
416
+ temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
417
+ maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
418
+ stop: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
419
+ }, import("zod/v4/core").$strict>;
420
+ }, import("zod/v4/core").$strict>;
421
+ messages: import("zod").ZodArray<import("zod").ZodObject<{
422
+ id: import("zod").ZodString;
423
+ seq: import("zod").ZodNumber;
424
+ role: import("zod").ZodEnum<{
425
+ error: "error";
426
+ user: "user";
427
+ assistant: "assistant";
428
+ }>;
429
+ text: import("zod").ZodString;
430
+ reasoning: import("zod").ZodNullable<import("zod").ZodString>;
431
+ streaming: import("zod").ZodBoolean;
432
+ }, import("zod/v4/core").$strict>>;
433
+ error: import("zod").ZodNullable<import("zod").ZodString>;
434
+ }, import("zod/v4/core").$strict>;
435
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
436
+ kind: import("zod").ZodLiteral<"topics">;
437
+ topics: import("zod").ZodArray<import("zod").ZodObject<{
438
+ topicId: import("zod").ZodNumber;
439
+ sessionId: import("zod").ZodString;
95
440
  sourceSessionId: import("zod").ZodString;
96
- anchorKey: import("zod").ZodString;
97
- anchorSeq: import("zod").ZodNumber;
98
- startOffset: import("zod").ZodNumber;
99
- endOffset: import("zod").ZodNumber;
100
- selectionFingerprint: import("zod").ZodString;
101
- selectedText: import("zod").ZodString;
102
- prefixText: import("zod").ZodString;
103
- suffixText: import("zod").ZodString;
441
+ mode: import("zod").ZodEnum<{
442
+ observer: "observer";
443
+ "exact-fork": "exact-fork";
444
+ }>;
445
+ citation: import("zod").ZodObject<{
446
+ sourceSessionId: import("zod").ZodString;
447
+ anchorSeq: import("zod").ZodNumber;
448
+ startOffset: import("zod").ZodNumber;
449
+ endOffset: import("zod").ZodNumber;
450
+ sourceText: import("zod").ZodString;
451
+ displayText: import("zod").ZodString;
452
+ prefixText: import("zod").ZodString;
453
+ suffixText: import("zod").ZodString;
454
+ selectionFingerprint: import("zod").ZodString;
455
+ schemaVersion: import("zod").ZodLiteral<3>;
456
+ createdAt: import("zod").ZodNumber;
457
+ }, import("zod/v4/core").$strict>;
458
+ title: import("zod").ZodString;
459
+ titlePending: import("zod").ZodBoolean;
104
460
  createdAt: import("zod").ZodNumber;
105
- }, import("zod/v4/core").$strict>;
106
- }, import("zod/v4/core").$strict>;
461
+ updatedAt: import("zod").ZodNumber;
462
+ archived: import("zod").ZodBoolean;
463
+ running: import("zod").ZodBoolean;
464
+ sourceAvailable: import("zod").ZodBoolean;
465
+ observedThroughSeq: import("zod").ZodNullable<import("zod").ZodNumber>;
466
+ modelConfig: import("zod").ZodObject<{
467
+ provider: import("zod").ZodString;
468
+ model: import("zod").ZodString;
469
+ reasoningEffort: import("zod").ZodOptional<import("zod").ZodString>;
470
+ temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
471
+ maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
472
+ stop: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
473
+ }, import("zod/v4/core").$strict>;
474
+ }, import("zod/v4/core").$strict>>;
475
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
476
+ kind: import("zod").ZodLiteral<"models">;
477
+ providers: import("zod").ZodArray<import("zod").ZodObject<{
478
+ id: import("zod").ZodString;
479
+ name: import("zod").ZodString;
480
+ models: import("zod").ZodArray<import("zod").ZodObject<{
481
+ id: import("zod").ZodString;
482
+ name: import("zod").ZodString;
483
+ description: import("zod").ZodOptional<import("zod").ZodString>;
484
+ reasoningEfforts: import("zod").ZodArray<import("zod").ZodObject<{
485
+ id: import("zod").ZodString;
486
+ name: import("zod").ZodString;
487
+ }, import("zod/v4/core").$strict>>;
488
+ }, import("zod/v4/core").$strict>>;
489
+ }, import("zod/v4/core").$strict>>;
490
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
491
+ kind: import("zod").ZodLiteral<"deleted">;
492
+ sessionId: import("zod").ZodString;
493
+ }, import("zod/v4/core").$strict>], "kind">;
107
494
  };
108
495
  readonly sourceLocation: {
109
496
  readonly file: "src/index.ts";
110
- readonly line: 104;
497
+ readonly line: 63;
111
498
  readonly column: 3;
112
499
  };
113
500
  }];
@@ -1,20 +1,15 @@
1
- import type { SessionId } from '@deepseek-ai/dsh-session';
2
1
  import type { RemoteResult, TypertRemoteContribution } from '@deepseek-ai/dsh-typert-protocol';
3
- import type { PrepareThreadResult } from './index.ts';
4
- import type { CitationRecord } from './thread.ts';
2
+ import type { CiteCiterRequest, CiteCiterResponse } from './topic.ts';
5
3
  declare module '@deepseek-ai/dsh-typert-protocol' {
6
4
  interface CiteCiterRemoteNamespace {
7
- prepareThread: (agentId: SessionId, citation: CitationRecord) => Promise<RemoteResult<PrepareThreadResult>>;
5
+ request: (request: CiteCiterRequest) => Promise<RemoteResult<CiteCiterResponse>>;
8
6
  }
9
7
  interface TypertRemoteMap {
10
- 'citeciter/prepareThread': CiteCiterRemoteNamespace['prepareThread'];
8
+ 'citeciter/request': CiteCiterRemoteNamespace['request'];
11
9
  }
12
10
  interface TypertRemoteNamespaceMap {
13
11
  citeciter: CiteCiterRemoteNamespace;
14
12
  }
15
- interface TypertRemoteScopeMap {
16
- 'agent:citeciter/prepareThread': (citation: CitationRecord) => Promise<RemoteResult<PrepareThreadResult>>;
17
- }
18
13
  }
19
14
  /** Browser contribution mounted by the CiteCiter Client fiber. */
20
15
  export declare const TYPERT_REMOTE: TypertRemoteContribution;