@awiki/dsh-plugin 0.3.0-rc.1 → 0.3.0-rc.2

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 (71) hide show
  1. package/README.md +8 -7
  2. package/README.zh.md +7 -3
  3. package/lib/client.js +1608 -478
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +373 -36
  6. package/lib/provider.js +1 -1
  7. package/lib/{sdk-adapter-DLhLrLI6.mjs → sdk-adapter-BIbsJmRj.mjs} +28 -4
  8. package/lib/typert.host.js +221 -81
  9. package/lib/typert.remote-client.d.ts +5 -1
  10. package/lib/typert.remote-client.d.ts.map +1 -1
  11. package/lib/typert.remote-client.js +221 -81
  12. package/lib/types/client/AwikiGroupAccessNotice.d.ts +12 -0
  13. package/lib/types/client/AwikiGroupAccessNotice.d.ts.map +1 -0
  14. package/lib/types/client/AwikiGroupAccessNotice.js +31 -0
  15. package/lib/types/client/AwikiGroupAccessNotice.js.map +1 -0
  16. package/lib/types/client/AwikiGroupDetails.d.ts +8 -1
  17. package/lib/types/client/AwikiGroupDetails.d.ts.map +1 -1
  18. package/lib/types/client/AwikiGroupDetails.js +40 -4
  19. package/lib/types/client/AwikiGroupDetails.js.map +1 -1
  20. package/lib/types/client/AwikiIdentityAccess.d.ts +2 -1
  21. package/lib/types/client/AwikiIdentityAccess.d.ts.map +1 -1
  22. package/lib/types/client/AwikiIdentityAccess.js +10 -2
  23. package/lib/types/client/AwikiIdentityAccess.js.map +1 -1
  24. package/lib/types/client/AwikiMail.d.ts.map +1 -1
  25. package/lib/types/client/AwikiMail.js +5 -1
  26. package/lib/types/client/AwikiMail.js.map +1 -1
  27. package/lib/types/client/AwikiOnboarding.d.ts.map +1 -1
  28. package/lib/types/client/AwikiOnboarding.js +4 -1
  29. package/lib/types/client/AwikiOnboarding.js.map +1 -1
  30. package/lib/types/client/AwikiOverlay.d.ts.map +1 -1
  31. package/lib/types/client/AwikiOverlay.js +72 -11
  32. package/lib/types/client/AwikiOverlay.js.map +1 -1
  33. package/lib/types/client/AwikiRecoveryForm.d.ts +3 -0
  34. package/lib/types/client/AwikiRecoveryForm.d.ts.map +1 -1
  35. package/lib/types/client/AwikiRecoveryForm.js +10 -6
  36. package/lib/types/client/AwikiRecoveryForm.js.map +1 -1
  37. package/lib/types/client/AwikiSettingsSection.d.ts.map +1 -1
  38. package/lib/types/client/AwikiSettingsSection.js +5 -1
  39. package/lib/types/client/AwikiSettingsSection.js.map +1 -1
  40. package/lib/types/client/controller.d.ts +38 -2
  41. package/lib/types/client/controller.d.ts.map +1 -1
  42. package/lib/types/client/controller.js +473 -47
  43. package/lib/types/client/controller.js.map +1 -1
  44. package/lib/types/client/index.d.ts.map +1 -1
  45. package/lib/types/client/index.js +3 -0
  46. package/lib/types/client/index.js.map +1 -1
  47. package/lib/types/client/recharge-availability.d.ts +1 -1
  48. package/lib/types/client/recharge-availability.d.ts.map +1 -1
  49. package/lib/types/client/recharge-availability.js +1 -1
  50. package/lib/types/client/recharge-availability.js.map +1 -1
  51. package/lib/types/client/settings-locales.d.ts +1 -1
  52. package/lib/types/client/settings-locales.d.ts.map +1 -1
  53. package/lib/types/client/settings-locales.js +6 -0
  54. package/lib/types/client/settings-locales.js.map +1 -1
  55. package/lib/types/client/slots.d.ts +6 -0
  56. package/lib/types/client/slots.d.ts.map +1 -1
  57. package/lib/types/conversation-preferences.d.ts +20 -0
  58. package/lib/types/conversation-preferences.d.ts.map +1 -0
  59. package/lib/types/conversation-preferences.js +294 -0
  60. package/lib/types/conversation-preferences.js.map +1 -0
  61. package/lib/types/index.d.ts +6 -1
  62. package/lib/types/index.d.ts.map +1 -1
  63. package/lib/types/index.js +39 -0
  64. package/lib/types/index.js.map +1 -1
  65. package/lib/types/sdk-adapter.d.ts.map +1 -1
  66. package/lib/types/sdk-adapter.js +35 -4
  67. package/lib/types/sdk-adapter.js.map +1 -1
  68. package/lib/types/types.d.ts +32 -1
  69. package/lib/types/types.d.ts.map +1 -1
  70. package/lib/types/types.js.map +1 -1
  71. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ import type { AwikiConversationPreferenceMutation, AwikiConversationPreferences, AwikiDid } from './types.ts';
2
+ /** Validate one browser mutation before entering private Host persistence. */
3
+ export declare function normalizeConversationPreferenceMutation(value: unknown): AwikiConversationPreferenceMutation | undefined;
4
+ /** Atomic identity-scoped product preferences, independent of Core membership and history. */
5
+ export declare class AwikiConversationPreferenceStore {
6
+ private readonly hostDirectory;
7
+ private readonly directory;
8
+ private mutation;
9
+ constructor(stateRoot: string);
10
+ get(ownerDid: AwikiDid): Promise<AwikiConversationPreferences>;
11
+ update(ownerDid: AwikiDid, request: AwikiConversationPreferenceMutation): Promise<AwikiConversationPreferences>;
12
+ clear(): Promise<void>;
13
+ private load;
14
+ private write;
15
+ private ensureDirectory;
16
+ private hasDirectory;
17
+ private path;
18
+ private key;
19
+ }
20
+ //# sourceMappingURL=conversation-preferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-preferences.d.ts","sourceRoot":"","sources":["../../src/conversation-preferences.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,mCAAmC,EACnC,4BAA4B,EAC5B,QAAQ,EAGT,MAAM,YAAY,CAAA;AAyInB,8EAA8E;AAC9E,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,OAAO,GACb,mCAAmC,GAAG,SAAS,CAoBjD;AAED,8FAA8F;AAC9F,qBAAa,gCAAgC;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAmC;gBAEhC,SAAS,EAAE,MAAM;IAKvB,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAKpE,MAAM,CACX,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,4BAA4B,CAAC;IAsC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAerB,IAAI;YAkBJ,KAAK;YAgBL,eAAe;YAWf,YAAY;IAW1B,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,GAAG;CAGZ"}
@@ -0,0 +1,294 @@
1
+ import { createHash, randomUUID } from 'node:crypto';
2
+ import { chmod, lstat, mkdir, readFile, rm, rename, unlink, writeFile } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
+ const STORE_VERSION = 1;
5
+ const STORE_DIRECTORY = 'conversation-preferences';
6
+ const MAX_STORE_BYTES = 2 * 1024 * 1024;
7
+ const MAX_HIDDEN_CONVERSATIONS = 500;
8
+ const MAX_IDENTIFIER_CHARACTERS = 2_048;
9
+ const MAX_TITLE_CHARACTERS = 1_024;
10
+ const MAX_PREVIEW_CHARACTERS = 4_096;
11
+ const MAX_HANDLE_CHARACTERS = 512;
12
+ const MAX_RECOVERY_SIGNATURE_CHARACTERS = 128;
13
+ function invalidState() {
14
+ throw new TypeError('awiki: conversation preferences are invalid');
15
+ }
16
+ function isMissing(error) {
17
+ return typeof error === 'object' && error !== null && 'code' in error && error.code === 'ENOENT';
18
+ }
19
+ function isFileExists(error) {
20
+ return typeof error === 'object' && error !== null && 'code' in error && error.code === 'EEXIST';
21
+ }
22
+ function isRecord(value) {
23
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
24
+ }
25
+ function boundedString(value, maximum) {
26
+ if (typeof value !== 'string' || value.length === 0 || value.length > maximum * 2)
27
+ invalidState();
28
+ if (Array.from(value).length > maximum)
29
+ invalidState();
30
+ return value;
31
+ }
32
+ function optionalString(value, maximum) {
33
+ return value === undefined ? undefined : boundedString(value, maximum);
34
+ }
35
+ function optionalCount(value) {
36
+ if (value === undefined)
37
+ return undefined;
38
+ if (!Number.isSafeInteger(value) || value < 0 || value > 0xffff_ffff)
39
+ invalidState();
40
+ return value;
41
+ }
42
+ function optionalTimestamp(value) {
43
+ if (value === undefined)
44
+ return undefined;
45
+ if (!Number.isSafeInteger(value) || value < 0)
46
+ invalidState();
47
+ return value;
48
+ }
49
+ /** Rebuild a bounded display-only snapshot before it reaches private persistence. */
50
+ function conversation(value) {
51
+ if (!isRecord(value))
52
+ invalidState();
53
+ const kind = value.kind;
54
+ const id = boundedString(value.id, MAX_IDENTIFIER_CHARACTERS);
55
+ const title = boundedString(value.title, MAX_TITLE_CHARACTERS);
56
+ const unreadCount = optionalCount(value.unreadCount);
57
+ const lastMessageAt = optionalTimestamp(value.lastMessageAt);
58
+ const lastMessagePreview = optionalString(value.lastMessagePreview, MAX_PREVIEW_CHARACTERS);
59
+ const common = {
60
+ id,
61
+ title,
62
+ ...(unreadCount === undefined ? {} : { unreadCount }),
63
+ ...(lastMessageAt === undefined ? {} : { lastMessageAt }),
64
+ ...(lastMessagePreview === undefined ? {} : { lastMessagePreview }),
65
+ };
66
+ if (kind === 'direct') {
67
+ const peerDid = boundedString(value.peerDid, MAX_IDENTIFIER_CHARACTERS);
68
+ if (!peerDid.startsWith('did:'))
69
+ invalidState();
70
+ const peerHandle = optionalString(value.peerHandle, MAX_HANDLE_CHARACTERS);
71
+ const displayName = optionalString(value.displayName, MAX_TITLE_CHARACTERS);
72
+ return {
73
+ kind,
74
+ ...common,
75
+ peerDid: peerDid,
76
+ ...(peerHandle === undefined ? {} : { peerHandle: peerHandle }),
77
+ ...(displayName === undefined ? {} : { displayName }),
78
+ };
79
+ }
80
+ if (kind === 'group') {
81
+ const groupDid = boundedString(value.groupDid, MAX_IDENTIFIER_CHARACTERS);
82
+ if (!groupDid.startsWith('did:'))
83
+ invalidState();
84
+ return { kind, ...common, groupDid: groupDid };
85
+ }
86
+ invalidState();
87
+ }
88
+ function hiddenPreference(value) {
89
+ if (!isRecord(value) || !Number.isSafeInteger(value.hiddenAt) || value.hiddenAt < 0)
90
+ invalidState();
91
+ return { conversation: conversation(value.conversation), hiddenAt: value.hiddenAt };
92
+ }
93
+ function preferences(value, expectedOwnerDid) {
94
+ if (!isRecord(value)
95
+ || value.version !== STORE_VERSION
96
+ || value.ownerDid !== String(expectedOwnerDid)
97
+ || !Array.isArray(value.hiddenConversations)
98
+ || value.hiddenConversations.length > MAX_HIDDEN_CONVERSATIONS)
99
+ invalidState();
100
+ const hiddenConversations = value.hiddenConversations.map(hiddenPreference);
101
+ const seen = new Set();
102
+ for (const hidden of hiddenConversations) {
103
+ if (seen.has(hidden.conversation.id))
104
+ invalidState();
105
+ seen.add(hidden.conversation.id);
106
+ }
107
+ const dismissedGroupRecoverySignature = optionalString(value.dismissedGroupRecoverySignature, MAX_RECOVERY_SIGNATURE_CHARACTERS);
108
+ return {
109
+ version: STORE_VERSION,
110
+ ownerDid: String(expectedOwnerDid),
111
+ hiddenConversations,
112
+ ...(dismissedGroupRecoverySignature === undefined ? {} : { dismissedGroupRecoverySignature }),
113
+ };
114
+ }
115
+ function publicPreferences(value) {
116
+ return {
117
+ hiddenConversations: value.hiddenConversations.map(hidden => ({
118
+ conversation: { ...hidden.conversation },
119
+ hiddenAt: hidden.hiddenAt,
120
+ })),
121
+ ...(value.dismissedGroupRecoverySignature === undefined
122
+ ? {}
123
+ : { dismissedGroupRecoverySignature: value.dismissedGroupRecoverySignature }),
124
+ };
125
+ }
126
+ function emptyPreferences(ownerDid) {
127
+ return { version: STORE_VERSION, ownerDid: String(ownerDid), hiddenConversations: [] };
128
+ }
129
+ /** Validate one browser mutation before entering private Host persistence. */
130
+ export function normalizeConversationPreferenceMutation(value) {
131
+ try {
132
+ if (!isRecord(value))
133
+ return undefined;
134
+ if (value.action === 'hide')
135
+ return { action: 'hide', conversation: conversation(value.conversation) };
136
+ if (value.action === 'restore') {
137
+ return {
138
+ action: 'restore',
139
+ conversationId: boundedString(value.conversationId, MAX_IDENTIFIER_CHARACTERS),
140
+ };
141
+ }
142
+ if (value.action === 'dismiss-group-recovery') {
143
+ return {
144
+ action: 'dismiss-group-recovery',
145
+ signature: boundedString(value.signature, MAX_RECOVERY_SIGNATURE_CHARACTERS),
146
+ };
147
+ }
148
+ }
149
+ catch {
150
+ return undefined;
151
+ }
152
+ return undefined;
153
+ }
154
+ /** Atomic identity-scoped product preferences, independent of Core membership and history. */
155
+ export class AwikiConversationPreferenceStore {
156
+ hostDirectory;
157
+ directory;
158
+ mutation = Promise.resolve();
159
+ constructor(stateRoot) {
160
+ this.hostDirectory = join(stateRoot, '.host');
161
+ this.directory = join(this.hostDirectory, STORE_DIRECTORY);
162
+ }
163
+ async get(ownerDid) {
164
+ await this.mutation;
165
+ return publicPreferences(await this.load(ownerDid));
166
+ }
167
+ update(ownerDid, request) {
168
+ const mutate = async () => {
169
+ const normalized = normalizeConversationPreferenceMutation(request);
170
+ if (normalized === undefined)
171
+ invalidState();
172
+ const current = await this.load(ownerDid);
173
+ let next;
174
+ switch (normalized.action) {
175
+ case 'hide': {
176
+ const snapshot = normalized.conversation;
177
+ const hidden = current.hiddenConversations.filter(item => item.conversation.id !== snapshot.id);
178
+ hidden.unshift({ conversation: snapshot, hiddenAt: Date.now() });
179
+ next = { ...current, hiddenConversations: hidden.slice(0, MAX_HIDDEN_CONVERSATIONS) };
180
+ break;
181
+ }
182
+ case 'restore': {
183
+ const conversationId = normalized.conversationId;
184
+ next = {
185
+ ...current,
186
+ hiddenConversations: current.hiddenConversations.filter(item => item.conversation.id !== conversationId),
187
+ };
188
+ break;
189
+ }
190
+ case 'dismiss-group-recovery': {
191
+ const signature = normalized.signature;
192
+ next = { ...current, dismissedGroupRecoverySignature: signature };
193
+ break;
194
+ }
195
+ default:
196
+ invalidState();
197
+ }
198
+ await this.write(ownerDid, next);
199
+ return publicPreferences(next);
200
+ };
201
+ const pending = this.mutation.then(mutate, mutate);
202
+ this.mutation = pending.then(() => undefined, () => undefined);
203
+ return pending;
204
+ }
205
+ async clear() {
206
+ await this.mutation;
207
+ try {
208
+ if (!(await this.hasDirectory(this.hostDirectory)))
209
+ return;
210
+ const metadata = await lstat(this.directory);
211
+ if (metadata.isSymbolicLink() || !metadata.isDirectory()) {
212
+ await unlink(this.directory);
213
+ return;
214
+ }
215
+ await rm(this.directory, { recursive: true, force: true });
216
+ }
217
+ catch (error) {
218
+ if (!isMissing(error))
219
+ throw error;
220
+ }
221
+ }
222
+ async load(ownerDid) {
223
+ if (!(await this.hasDirectory(this.hostDirectory)) || !(await this.hasDirectory(this.directory))) {
224
+ return emptyPreferences(ownerDid);
225
+ }
226
+ const path = this.path(ownerDid);
227
+ try {
228
+ const metadata = await lstat(path);
229
+ if (!metadata.isFile() || metadata.isSymbolicLink() || metadata.size > MAX_STORE_BYTES)
230
+ invalidState();
231
+ const text = await readFile(path, 'utf8');
232
+ if (Buffer.byteLength(text, 'utf8') > MAX_STORE_BYTES)
233
+ invalidState();
234
+ return preferences(JSON.parse(text), ownerDid);
235
+ }
236
+ catch (error) {
237
+ if (isMissing(error))
238
+ return emptyPreferences(ownerDid);
239
+ if (error instanceof SyntaxError)
240
+ invalidState();
241
+ throw error;
242
+ }
243
+ }
244
+ async write(ownerDid, value) {
245
+ const snapshot = preferences(value, ownerDid);
246
+ const text = `${JSON.stringify(snapshot)}\n`;
247
+ if (Buffer.byteLength(text, 'utf8') > MAX_STORE_BYTES)
248
+ invalidState();
249
+ await this.ensureDirectory();
250
+ const path = this.path(ownerDid);
251
+ const temporary = join(this.directory, `.${this.key(ownerDid)}.${randomUUID()}.tmp`);
252
+ try {
253
+ await writeFile(temporary, text, { flag: 'wx', mode: 0o600 });
254
+ await rename(temporary, path);
255
+ await chmod(path, 0o600);
256
+ }
257
+ finally {
258
+ await unlink(temporary).catch(() => undefined);
259
+ }
260
+ }
261
+ async ensureDirectory() {
262
+ await mkdir(this.hostDirectory, { recursive: true, mode: 0o700 });
263
+ if (!(await this.hasDirectory(this.hostDirectory)))
264
+ invalidState();
265
+ await chmod(this.hostDirectory, 0o700);
266
+ await mkdir(this.directory, { mode: 0o700 }).catch((error) => {
267
+ if (!isFileExists(error))
268
+ throw error;
269
+ });
270
+ if (!(await this.hasDirectory(this.directory)))
271
+ invalidState();
272
+ await chmod(this.directory, 0o700);
273
+ }
274
+ async hasDirectory(path) {
275
+ try {
276
+ const metadata = await lstat(path);
277
+ if (!metadata.isDirectory() || metadata.isSymbolicLink())
278
+ invalidState();
279
+ return true;
280
+ }
281
+ catch (error) {
282
+ if (isMissing(error))
283
+ return false;
284
+ throw error;
285
+ }
286
+ }
287
+ path(ownerDid) {
288
+ return join(this.directory, `${this.key(ownerDid)}.json`);
289
+ }
290
+ key(ownerDid) {
291
+ return createHash('sha256').update(String(ownerDid)).digest('hex');
292
+ }
293
+ }
294
+ //# sourceMappingURL=conversation-preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-preferences.js","sourceRoot":"","sources":["../../src/conversation-preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAWhC,MAAM,aAAa,GAAG,CAAC,CAAA;AACvB,MAAM,eAAe,GAAG,0BAA0B,CAAA;AAClD,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AACvC,MAAM,wBAAwB,GAAG,GAAG,CAAA;AACpC,MAAM,yBAAyB,GAAG,KAAK,CAAA;AACvC,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC,MAAM,sBAAsB,GAAG,KAAK,CAAA;AACpC,MAAM,qBAAqB,GAAG,GAAG,CAAA;AACjC,MAAM,iCAAiC,GAAG,GAAG,CAAA;AAO7C,SAAS,YAAY;IACnB,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAA;AACpE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAA;AAClG,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAA;AAClG,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,OAAe;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC;QAAE,YAAY,EAAE,CAAA;IACjG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,OAAO;QAAE,YAAY,EAAE,CAAA;IACtD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,OAAe;IACrD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,CAAC,IAAK,KAAgB,GAAG,WAAW;QAAE,YAAY,EAAE,CAAA;IAC5G,OAAO,KAAe,CAAA;AACxB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,CAAC;QAAE,YAAY,EAAE,CAAA;IACzE,OAAO,KAAe,CAAA;AACxB,CAAC;AAED,qFAAqF;AACrF,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,YAAY,EAAE,CAAA;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACvB,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,yBAAyB,CAAwB,CAAA;IACpF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAA;IAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACpD,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAC5D,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAA;IAC3F,MAAM,MAAM,GAAG;QACb,EAAE;QACF,KAAK;QACL,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACrD,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACzD,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC;KACpE,CAAA;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAA;QACvE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,YAAY,EAAE,CAAA;QAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAA;QAC1E,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAA;QAC3E,OAAO;YACL,IAAI;YACJ,GAAG,MAAM;YACT,OAAO,EAAE,OAAmB;YAC5B,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAyB,EAAE,CAAC;YAC9E,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;SACtD,CAAA;IACH,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAA;QACzE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,YAAY,EAAE,CAAA;QAChD,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAoB,EAAE,CAAA;IAC5D,CAAC;IACD,YAAY,EAAE,CAAA;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAK,KAAK,CAAC,QAAmB,GAAG,CAAC;QAAE,YAAY,EAAE,CAAA;IAC/G,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAkB,EAAE,CAAA;AAC/F,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,gBAA0B;IAC7D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;WACf,KAAK,CAAC,OAAO,KAAK,aAAa;WAC/B,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,gBAAgB,CAAC;WAC3C,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC;WACzC,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,wBAAwB;QAAE,YAAY,EAAE,CAAA;IAChF,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC3E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAAE,YAAY,EAAE,CAAA;QACpD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,MAAM,+BAA+B,GAAG,cAAc,CACpD,KAAK,CAAC,+BAA+B,EACrC,iCAAiC,CAClC,CAAA;IACD,OAAO;QACL,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC;QAClC,mBAAmB;QACnB,GAAG,CAAC,+BAA+B,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,+BAA+B,EAAE,CAAC;KAC9F,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAqB;IAC9C,OAAO;QACL,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5D,YAAY,EAAE,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE;YACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,+BAA+B,KAAK,SAAS;YACrD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,+BAA+B,EAAE,KAAK,CAAC,+BAA+B,EAAE,CAAC;KAChF,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAA;AACxF,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,uCAAuC,CACrD,KAAc;IAEd,IAAI,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAA;QACtG,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,yBAAyB,CAAwB;aACtG,CAAA;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;YAC9C,OAAO;gBACL,MAAM,EAAE,wBAAwB;gBAChC,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,iCAAiC,CAAC;aAC7E,CAAA;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,8FAA8F;AAC9F,MAAM,OAAO,gCAAgC;IAC1B,aAAa,CAAQ;IACrB,SAAS,CAAQ;IAC1B,QAAQ,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAEnD,YAAmB,SAAiB;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;IAC5D,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAAkB;QACjC,MAAM,IAAI,CAAC,QAAQ,CAAA;QACnB,OAAO,iBAAiB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrD,CAAC;IAEM,MAAM,CACX,QAAkB,EAClB,OAA4C;QAE5C,MAAM,MAAM,GAAG,KAAK,IAA2C,EAAE;YAC/D,MAAM,UAAU,GAAG,uCAAuC,CAAC,OAAO,CAAC,CAAA;YACnE,IAAI,UAAU,KAAK,SAAS;gBAAE,YAAY,EAAE,CAAA;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACzC,IAAI,IAAoB,CAAA;YACxB,QAAQ,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC1B,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAA;oBACxC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAA;oBAC/F,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;oBAChE,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,EAAE,CAAA;oBACrF,MAAK;gBACP,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAA;oBAChD,IAAI,GAAG;wBACL,GAAG,OAAO;wBACV,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,cAAc,CAAC;qBACzG,CAAA;oBACD,MAAK;gBACP,CAAC;gBACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;oBACtC,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,+BAA+B,EAAE,SAAS,EAAE,CAAA;oBACjE,MAAK;gBACP,CAAC;gBACD;oBACE,YAAY,EAAE,CAAA;YAClB,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAChC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAClD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC9D,OAAO,OAAO,CAAA;IAChB,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAA;QACnB,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAAE,OAAM;YAC1D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5C,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzD,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC5B,OAAM;YACR,CAAC;YACD,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAA;QACpC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,QAAkB;QACnC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACjG,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACnC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,QAAQ,CAAC,IAAI,GAAG,eAAe;gBAAE,YAAY,EAAE,CAAA;YACtG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACzC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,eAAe;gBAAE,YAAY,EAAE,CAAA;YACrE,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,EAAE,QAAQ,CAAC,CAAA;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,SAAS,CAAC,KAAK,CAAC;gBAAE,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;YACvD,IAAI,KAAK,YAAY,WAAW;gBAAE,YAAY,EAAE,CAAA;YAChD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,QAAkB,EAAE,KAAqB;QAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC7C,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAA;QAC5C,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,eAAe;YAAE,YAAY,EAAE,CAAA;QACrE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,MAAM,CAAC,CAAA;QACpF,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YAC7D,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YAC7B,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAAE,YAAY,EAAE,CAAA;QAClE,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QACtC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAA;QACvC,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAE,YAAY,EAAE,CAAA;QAC9D,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAY;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,cAAc,EAAE;gBAAE,YAAY,EAAE,CAAA;YACxE,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,SAAS,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAClC,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAEO,IAAI,CAAC,QAAkB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAEO,GAAG,CAAC,QAAkB;QAC5B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACpE,CAAC;CACF"}
@@ -2,7 +2,7 @@
2
2
  import { Context } from '@deepseek-ai/cordis';
3
3
  import z from '@deepseek-ai/schemastery';
4
4
  import { TypertRemoteService } from '@deepseek-ai/dsh-typert-protocol';
5
- import type { AwikiClearLocalDataRequest, AwikiClearLocalDataResult, AwikiCompletion, AwikiConversation, AwikiConversationSummary, AwikiCreateGroupRequest, AwikiCreateGroupResult, AwikiDownloadAttachmentRequest, AwikiDownloadedAttachment, AwikiGroupMember, AwikiGroupMemberPage, AwikiGroupRebindRecoverySummary, AwikiGroupMembersRequest, AwikiGroupRequest, AwikiGroupSnapshot, AwikiAddGroupMemberRequest, AwikiRemoveGroupMemberRequest, AwikiHistoryRequest, AwikiHostClient, AwikiIdentityAccessInspection, AwikiIdentityAccessInspectionRequest, AwikiIdentity, AwikiLogoutRequest, AwikiMessage, AwikiMailAccount, AwikiMailInboxPage, AwikiMailInboxRequest, AwikiMailMarkReadRequest, AwikiMailMarkReadResult, AwikiMailMessage, AwikiMailReadRequest, AwikiMailSendRequest, AwikiMailSendResult, AwikiMarkConversationReadRequest, AwikiPage, AwikiPageRequest, AwikiProfile, AwikiRecoveryOperationRequest, AwikiRecoveryOtpRequest, AwikiRecoveryOtpResult, AwikiRecoveryPrepareRequest, AwikiRecoveryProgress, AwikiRegistrationOtpRequest, AwikiRegistrationOtpResult, AwikiRegistrationRequest, AwikiResolvePeerRequest, AwikiResolvedPeer, AwikiResult, AwikiRuntimeConfig, AwikiSession, AwikiSendAttachmentRequest, AwikiSendTextRequest, AwikiSummarizeConversationRequest, AwikiUpdateDisplayNameRequest, AwikiUpdateProfileRequest } from './types.ts';
5
+ import type { AwikiClearLocalDataRequest, AwikiClearLocalDataResult, AwikiCompletion, AwikiConversation, AwikiConversationPreferenceMutation, AwikiConversationPreferences, AwikiConversationSummary, AwikiCreateGroupRequest, AwikiCreateGroupResult, AwikiDownloadAttachmentRequest, AwikiDownloadedAttachment, AwikiGroupMember, AwikiGroupMemberPage, AwikiGroupRebindRecoverySummary, AwikiGroupMembersRequest, AwikiGroupRequest, AwikiGroupSnapshot, AwikiAddGroupMemberRequest, AwikiRemoveGroupMemberRequest, AwikiHistoryRequest, AwikiHostClient, AwikiIdentityAccessInspection, AwikiIdentityAccessInspectionRequest, AwikiIdentity, AwikiLogoutRequest, AwikiMessage, AwikiMailAccount, AwikiMailInboxPage, AwikiMailInboxRequest, AwikiMailMarkReadRequest, AwikiMailMarkReadResult, AwikiMailMessage, AwikiMailReadRequest, AwikiMailSendRequest, AwikiMailSendResult, AwikiMarkConversationReadRequest, AwikiPage, AwikiPageRequest, AwikiProfile, AwikiRecoveryOperationRequest, AwikiRecoveryOtpRequest, AwikiRecoveryOtpResult, AwikiRecoveryPrepareRequest, AwikiRecoveryProgress, AwikiRegistrationOtpRequest, AwikiRegistrationOtpResult, AwikiRegistrationRequest, AwikiResolvePeerRequest, AwikiResolvedPeer, AwikiResult, AwikiRuntimeConfig, AwikiSession, AwikiSendAttachmentRequest, AwikiSendTextRequest, AwikiSummarizeConversationRequest, AwikiUpdateDisplayNameRequest, AwikiUpdateProfileRequest } from './types.ts';
6
6
  import type { AwikiClientFactory } from './provider-api.ts';
7
7
  import type { AwikiSummaryProvider } from './summary-provider-api.ts';
8
8
  import type { AwikiExternalHttpAuth } from './external-http-auth.ts';
@@ -86,6 +86,7 @@ export declare class AwikiService extends TypertRemoteService implements AwikiHo
86
86
  private readonly sessionStore;
87
87
  private readonly imageAttachmentCache;
88
88
  private readonly sentMailStore;
89
+ private readonly conversationPreferenceStore;
89
90
  private startupUserServiceDomain;
90
91
  private settingsProvider;
91
92
  private provider;
@@ -187,6 +188,10 @@ export declare class AwikiService extends TypertRemoteService implements AwikiHo
187
188
  removeGroupMember(request: AwikiRemoveGroupMemberRequest): Promise<AwikiResult<AwikiGroupMember>>;
188
189
  /** Resume durable group membership convergence after account sync restores old groups. */
189
190
  resumeGroupRebindRecovery(): Promise<AwikiResult<AwikiGroupRebindRecoverySummary>>;
191
+ /** Read presentation-only roster preferences for the active identity. */
192
+ getConversationPreferences(): Promise<AwikiResult<AwikiConversationPreferences>>;
193
+ /** Persist one bounded local roster preference without changing Core or remote membership. */
194
+ updateConversationPreference(request: AwikiConversationPreferenceMutation): Promise<AwikiResult<AwikiConversationPreferences>>;
190
195
  /**
191
196
  * List direct and existing group conversations.
192
197
  * @param request - Optional opaque cursor and page limit.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,7 @@ import { createAwikiSettingsRpcHandler } from "./settings-rpc.js";
51
51
  import { AwikiSessionStore } from "./session.js";
52
52
  import { AwikiImageAttachmentCache, minimumImageAttachmentCacheMaxBytes } from "./attachment-cache.js";
53
53
  import { AwikiSentMailStore, isLocalSentMailId } from "./sent-mail-store.js";
54
+ import { AwikiConversationPreferenceStore, normalizeConversationPreferenceMutation, } from "./conversation-preferences.js";
54
55
  import { AwikiAgentListener, DshAwikiListenerAgentRuntime, } from "./listener.js";
55
56
  export { AWIKI_CLEAR_LOCAL_DATA_CONFIRMATION, AWIKI_LOGOUT_CONFIRMATION } from "./types.js";
56
57
  export { AWIKI_EXTERNAL_HTTP_MAX_BODY_BYTES, AwikiExternalHttpAuthError, } from "./external-http-auth.js";
@@ -99,6 +100,7 @@ const FAILURE_CODES = new Set([
99
100
  'handle-unavailable',
100
101
  'not-found',
101
102
  'forbidden',
103
+ 'identity-recovery-required',
102
104
  'conflict',
103
105
  'rate-limited',
104
106
  'group-membership-required',
@@ -127,6 +129,7 @@ const FAILURE_MESSAGES = {
127
129
  'handle-unavailable': 'The requested AWiki handle is unavailable.',
128
130
  'not-found': 'The requested AWiki resource was not found.',
129
131
  'forbidden': 'The AWiki operation is not permitted.',
132
+ 'identity-recovery-required': 'The local AWiki identity must be recovered before it can be used again.',
130
133
  'conflict': 'The AWiki operation conflicts with current state.',
131
134
  'rate-limited': 'The AWiki service rate-limited the request.',
132
135
  'group-membership-required': 'The active AWiki identity is not a member of this group.',
@@ -349,11 +352,27 @@ function publicGroupRebindRecoverySummary(value) {
349
352
  if (counts.some(count => !Number.isSafeInteger(count) || count < 0 || count > 0xffff_ffff)) {
350
353
  return undefined;
351
354
  }
355
+ if (!Array.isArray(candidate.items) || candidate.items.length > 500)
356
+ return undefined;
357
+ const seen = new Set();
358
+ const items = [];
359
+ for (const value of candidate.items) {
360
+ if (typeof value !== 'object' || value === null)
361
+ return undefined;
362
+ const item = value;
363
+ const groupDid = normalizeGroupDid(item.groupDid);
364
+ if (groupDid === undefined || seen.has(groupDid) || (item.status !== 'pending' && item.status !== 'blocked')) {
365
+ return undefined;
366
+ }
367
+ seen.add(groupDid);
368
+ items.push({ groupDid, status: item.status });
369
+ }
352
370
  return {
353
371
  processed: candidate.processed,
354
372
  completed: candidate.completed,
355
373
  pending: candidate.pending,
356
374
  blocked: candidate.blocked,
375
+ items,
357
376
  };
358
377
  }
359
378
  function normalizeProfileRequest(request) {
@@ -652,6 +671,8 @@ let AwikiService = (() => {
652
671
  let _addGroupMember_decorators;
653
672
  let _removeGroupMember_decorators;
654
673
  let _resumeGroupRebindRecovery_decorators;
674
+ let _getConversationPreferences_decorators;
675
+ let _updateConversationPreference_decorators;
655
676
  let _listConversations_decorators;
656
677
  let _getHistory_decorators;
657
678
  let _getLocalHistory_decorators;
@@ -695,6 +716,8 @@ let AwikiService = (() => {
695
716
  _addGroupMember_decorators = [Remote];
696
717
  _removeGroupMember_decorators = [Remote];
697
718
  _resumeGroupRebindRecovery_decorators = [Remote];
719
+ _getConversationPreferences_decorators = [Remote];
720
+ _updateConversationPreference_decorators = [Remote];
698
721
  _listConversations_decorators = [Remote];
699
722
  _getHistory_decorators = [Remote];
700
723
  _getLocalHistory_decorators = [Remote];
@@ -735,6 +758,8 @@ let AwikiService = (() => {
735
758
  __esDecorate(this, null, _addGroupMember_decorators, { kind: "method", name: "addGroupMember", static: false, private: false, access: { has: obj => "addGroupMember" in obj, get: obj => obj.addGroupMember }, metadata: _metadata }, null, _instanceExtraInitializers);
736
759
  __esDecorate(this, null, _removeGroupMember_decorators, { kind: "method", name: "removeGroupMember", static: false, private: false, access: { has: obj => "removeGroupMember" in obj, get: obj => obj.removeGroupMember }, metadata: _metadata }, null, _instanceExtraInitializers);
737
760
  __esDecorate(this, null, _resumeGroupRebindRecovery_decorators, { kind: "method", name: "resumeGroupRebindRecovery", static: false, private: false, access: { has: obj => "resumeGroupRebindRecovery" in obj, get: obj => obj.resumeGroupRebindRecovery }, metadata: _metadata }, null, _instanceExtraInitializers);
761
+ __esDecorate(this, null, _getConversationPreferences_decorators, { kind: "method", name: "getConversationPreferences", static: false, private: false, access: { has: obj => "getConversationPreferences" in obj, get: obj => obj.getConversationPreferences }, metadata: _metadata }, null, _instanceExtraInitializers);
762
+ __esDecorate(this, null, _updateConversationPreference_decorators, { kind: "method", name: "updateConversationPreference", static: false, private: false, access: { has: obj => "updateConversationPreference" in obj, get: obj => obj.updateConversationPreference }, metadata: _metadata }, null, _instanceExtraInitializers);
738
763
  __esDecorate(this, null, _listConversations_decorators, { kind: "method", name: "listConversations", static: false, private: false, access: { has: obj => "listConversations" in obj, get: obj => obj.listConversations }, metadata: _metadata }, null, _instanceExtraInitializers);
739
764
  __esDecorate(this, null, _getHistory_decorators, { kind: "method", name: "getHistory", static: false, private: false, access: { has: obj => "getHistory" in obj, get: obj => obj.getHistory }, metadata: _metadata }, null, _instanceExtraInitializers);
740
765
  __esDecorate(this, null, _getLocalHistory_decorators, { kind: "method", name: "getLocalHistory", static: false, private: false, access: { has: obj => "getLocalHistory" in obj, get: obj => obj.getLocalHistory }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -757,6 +782,7 @@ let AwikiService = (() => {
757
782
  sessionStore;
758
783
  imageAttachmentCache;
759
784
  sentMailStore;
785
+ conversationPreferenceStore;
760
786
  startupUserServiceDomain;
761
787
  settingsProvider;
762
788
  provider;
@@ -782,6 +808,7 @@ let AwikiService = (() => {
782
808
  this.sessionStore = new AwikiSessionStore(this.resolved.stateRoot);
783
809
  this.imageAttachmentCache = new AwikiImageAttachmentCache(this.resolved.stateRoot, this.resolved.attachmentMaxBytes, this.resolved.imageAttachmentCacheMaxBytes);
784
810
  this.sentMailStore = new AwikiSentMailStore(this.resolved.stateRoot);
811
+ this.conversationPreferenceStore = new AwikiConversationPreferenceStore(this.resolved.stateRoot);
785
812
  this.startupUserServiceDomain = this.resolved.userServiceDomain;
786
813
  ctx.inject(['settings'], (settingsCtx) => {
787
814
  const provider = settingsCtx.settings;
@@ -1203,6 +1230,17 @@ let AwikiService = (() => {
1203
1230
  ? { ok: false, error: failure('remote') }
1204
1231
  : { ok: true, value: summary };
1205
1232
  }
1233
+ /** Read presentation-only roster preferences for the active identity. */
1234
+ getConversationPreferences() {
1235
+ return this.run(async (client) => this.conversationPreferenceStore.get(await this.ownerDid(client)));
1236
+ }
1237
+ /** Persist one bounded local roster preference without changing Core or remote membership. */
1238
+ updateConversationPreference(request) {
1239
+ const normalized = normalizeConversationPreferenceMutation(request);
1240
+ if (normalized === undefined)
1241
+ return Promise.resolve({ ok: false, error: failure('invalid-request') });
1242
+ return this.run(async (client) => this.conversationPreferenceStore.update(await this.ownerDid(client), normalized));
1243
+ }
1206
1244
  /**
1207
1245
  * List direct and existing group conversations.
1208
1246
  * @param request - Optional opaque cursor and page limit.
@@ -1501,6 +1539,7 @@ let AwikiService = (() => {
1501
1539
  try {
1502
1540
  await this.imageAttachmentCache.clear();
1503
1541
  await this.sentMailStore.clear();
1542
+ await this.conversationPreferenceStore.clear();
1504
1543
  await this.sessionStore.signIn();
1505
1544
  this.signedOut = false;
1506
1545
  this.activeIdentityDid = undefined;