@awiki/dsh-plugin 0.3.17 → 0.3.19

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 (107) hide show
  1. package/README.md +4 -0
  2. package/README.zh.md +11 -0
  3. package/THIRD_PARTY_NOTICES.md +6 -0
  4. package/lib/client.js +4012 -671
  5. package/lib/client.js.map +1 -1
  6. package/lib/index.js +603 -61
  7. package/lib/{sdk-adapter-DGcTiEZz.mjs → package-version.generated-nZcAVnm8.mjs} +103 -10
  8. package/lib/provider.js +5 -3
  9. package/lib/typert.host.js +553 -133
  10. package/lib/typert.remote-client.d.ts +11 -3
  11. package/lib/typert.remote-client.d.ts.map +1 -1
  12. package/lib/typert.remote-client.js +553 -133
  13. package/lib/types/backend-capabilities.d.ts +12 -0
  14. package/lib/types/backend-capabilities.d.ts.map +1 -0
  15. package/lib/types/backend-capabilities.js +48 -0
  16. package/lib/types/backend-capabilities.js.map +1 -0
  17. package/lib/types/client/AwikiAvatar.d.ts +40 -0
  18. package/lib/types/client/AwikiAvatar.d.ts.map +1 -0
  19. package/lib/types/client/AwikiAvatar.js +201 -0
  20. package/lib/types/client/AwikiAvatar.js.map +1 -0
  21. package/lib/types/client/AwikiAvatarEditor.d.ts +11 -0
  22. package/lib/types/client/AwikiAvatarEditor.d.ts.map +1 -0
  23. package/lib/types/client/AwikiAvatarEditor.js +113 -0
  24. package/lib/types/client/AwikiAvatarEditor.js.map +1 -0
  25. package/lib/types/client/AwikiAvatarPreview.d.ts +8 -0
  26. package/lib/types/client/AwikiAvatarPreview.d.ts.map +1 -0
  27. package/lib/types/client/AwikiAvatarPreview.js +68 -0
  28. package/lib/types/client/AwikiAvatarPreview.js.map +1 -0
  29. package/lib/types/client/AwikiGroupDetails.js +2 -2
  30. package/lib/types/client/AwikiGroupDetails.js.map +1 -1
  31. package/lib/types/client/AwikiIdentityAccess.d.ts +1 -0
  32. package/lib/types/client/AwikiIdentityAccess.d.ts.map +1 -1
  33. package/lib/types/client/AwikiIdentityAccess.js +21 -4
  34. package/lib/types/client/AwikiIdentityAccess.js.map +1 -1
  35. package/lib/types/client/AwikiOverlay.d.ts.map +1 -1
  36. package/lib/types/client/AwikiOverlay.js +97 -29
  37. package/lib/types/client/AwikiOverlay.js.map +1 -1
  38. package/lib/types/client/AwikiProfileCard.d.ts +1 -1
  39. package/lib/types/client/AwikiProfileCard.d.ts.map +1 -1
  40. package/lib/types/client/AwikiProfileCard.js +6 -2
  41. package/lib/types/client/AwikiProfileCard.js.map +1 -1
  42. package/lib/types/client/AwikiSettingsSection.d.ts +1 -0
  43. package/lib/types/client/AwikiSettingsSection.d.ts.map +1 -1
  44. package/lib/types/client/AwikiSettingsSection.js +5 -4
  45. package/lib/types/client/AwikiSettingsSection.js.map +1 -1
  46. package/lib/types/client/avatar-cache.d.ts +24 -0
  47. package/lib/types/client/avatar-cache.d.ts.map +1 -0
  48. package/lib/types/client/avatar-cache.js +336 -0
  49. package/lib/types/client/avatar-cache.js.map +1 -0
  50. package/lib/types/client/avatar-dialog.d.ts +3 -0
  51. package/lib/types/client/avatar-dialog.d.ts.map +1 -0
  52. package/lib/types/client/avatar-dialog.js +18 -0
  53. package/lib/types/client/avatar-dialog.js.map +1 -0
  54. package/lib/types/client/avatar-image.d.ts +26 -0
  55. package/lib/types/client/avatar-image.d.ts.map +1 -0
  56. package/lib/types/client/avatar-image.js +193 -0
  57. package/lib/types/client/avatar-image.js.map +1 -0
  58. package/lib/types/client/controller.d.ts +37 -4
  59. package/lib/types/client/controller.d.ts.map +1 -1
  60. package/lib/types/client/controller.js +306 -59
  61. package/lib/types/client/controller.js.map +1 -1
  62. package/lib/types/client/index.d.ts.map +1 -1
  63. package/lib/types/client/index.js +11 -2
  64. package/lib/types/client/index.js.map +1 -1
  65. package/lib/types/client/settings-locales.d.ts +1 -1
  66. package/lib/types/client/settings-locales.d.ts.map +1 -1
  67. package/lib/types/client/settings-locales.js +26 -2
  68. package/lib/types/client/settings-locales.js.map +1 -1
  69. package/lib/types/client/slots.d.ts +12 -3
  70. package/lib/types/client/slots.d.ts.map +1 -1
  71. package/lib/types/conversation-preferences.d.ts.map +1 -1
  72. package/lib/types/conversation-preferences.js +27 -0
  73. package/lib/types/conversation-preferences.js.map +1 -1
  74. package/lib/types/index.d.ts +26 -3
  75. package/lib/types/index.d.ts.map +1 -1
  76. package/lib/types/index.js +321 -33
  77. package/lib/types/index.js.map +1 -1
  78. package/lib/types/listener.d.ts.map +1 -1
  79. package/lib/types/listener.js +9 -8
  80. package/lib/types/listener.js.map +1 -1
  81. package/lib/types/package-version.generated.d.ts +2 -2
  82. package/lib/types/package-version.generated.js +2 -2
  83. package/lib/types/provider-api.d.ts +28 -3
  84. package/lib/types/provider-api.d.ts.map +1 -1
  85. package/lib/types/provider.d.ts.map +1 -1
  86. package/lib/types/provider.js +5 -2
  87. package/lib/types/provider.js.map +1 -1
  88. package/lib/types/sdk-adapter.d.ts +10 -3
  89. package/lib/types/sdk-adapter.d.ts.map +1 -1
  90. package/lib/types/sdk-adapter.js +78 -7
  91. package/lib/types/sdk-adapter.js.map +1 -1
  92. package/lib/types/tenant-capability-cache.d.ts +15 -0
  93. package/lib/types/tenant-capability-cache.d.ts.map +1 -0
  94. package/lib/types/tenant-capability-cache.js +45 -0
  95. package/lib/types/tenant-capability-cache.js.map +1 -0
  96. package/lib/types/tenant-registry.d.ts +2 -0
  97. package/lib/types/tenant-registry.d.ts.map +1 -1
  98. package/lib/types/tenant-registry.js +83 -16
  99. package/lib/types/tenant-registry.js.map +1 -1
  100. package/lib/types/types.d.ts +70 -7
  101. package/lib/types/types.d.ts.map +1 -1
  102. package/lib/types/types.js.map +1 -1
  103. package/lib/types/update-policy.d.ts +2 -2
  104. package/lib/types/update-policy.d.ts.map +1 -1
  105. package/lib/types/update-policy.js +10 -1
  106. package/lib/types/update-policy.js.map +1 -1
  107. package/package.json +33 -34
@@ -1,7 +1,7 @@
1
1
  /** Host-owned durable AWiki tenant catalog and storage-scope migration. */
2
2
  import { copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, statSync, writeFileSync, } from 'node:fs';
3
3
  import { randomUUID } from 'node:crypto';
4
- import { basename, dirname, join } from 'node:path';
4
+ import { basename, dirname, join, resolve } from 'node:path';
5
5
  import { AWIKI_BUILTIN_TENANT_CONFIG } from "./builtin-tenant-config.js";
6
6
  import { normalizeAwikiDomain } from "./domain.js";
7
7
  export const AWIKI_TENANT_REGISTRY_SCHEMA_VERSION = 1;
@@ -41,7 +41,7 @@ function endpointsForOrigin(origin, domain) {
41
41
  function officialProfile(entry) {
42
42
  return {
43
43
  tenantId: entry.tenantId,
44
- storageScopeId: entry.storageScopeId,
44
+ storageScopeId: randomUUID(),
45
45
  kind: 'built_in',
46
46
  displayName: entry.displayName,
47
47
  backendBaseUrl: entry.backendOrigin,
@@ -79,6 +79,11 @@ function decodeTenant(value) {
79
79
  const backendBaseUrl = safeString(value.backendBaseUrl);
80
80
  const didHost = safeString(value.didHost);
81
81
  const endpoints = decodeEndpoints(value.endpoints);
82
+ const preferenceTenantIds = value.preferenceTenantIds;
83
+ if (preferenceTenantIds !== undefined && (!Array.isArray(preferenceTenantIds)
84
+ || preferenceTenantIds.some(id => typeof id !== 'string' || id.trim() === '')
85
+ || new Set(preferenceTenantIds).size !== preferenceTenantIds.length))
86
+ return undefined;
82
87
  if (tenantId === undefined || storageScopeId === undefined || displayName === undefined
83
88
  || backendBaseUrl === undefined || didHost === undefined || endpoints === undefined
84
89
  || (value.kind !== 'built_in' && value.kind !== 'custom')
@@ -89,6 +94,7 @@ function decodeTenant(value) {
89
94
  return {
90
95
  tenantId,
91
96
  storageScopeId,
97
+ ...(preferenceTenantIds === undefined ? {} : { preferenceTenantIds }),
92
98
  kind: value.kind,
93
99
  displayName,
94
100
  backendBaseUrl,
@@ -98,7 +104,7 @@ function decodeTenant(value) {
98
104
  endpoints,
99
105
  };
100
106
  }
101
- function decodeDocument(value) {
107
+ function decodeDocument(value, allowDuplicateScopes = false) {
102
108
  if (!isRecord(value)
103
109
  || value.schemaVersion !== AWIKI_TENANT_REGISTRY_SCHEMA_VERSION
104
110
  || !Number.isSafeInteger(value.officialCatalogVersion)
@@ -112,7 +118,8 @@ function decodeDocument(value) {
112
118
  return undefined;
113
119
  const complete = tenants;
114
120
  if (new Set(complete.map(tenant => tenant.tenantId)).size !== complete.length
115
- || new Set(complete.map(tenant => tenant.storageScopeId)).size !== complete.length
121
+ || (!allowDuplicateScopes && new Set(complete.map(tenant => tenant.storageScopeId)).size !== complete.length)
122
+ || complete.some(tenant => !/^[a-zA-Z0-9_-]+$/u.test(tenant.storageScopeId))
116
123
  || !complete.some(tenant => tenant.tenantId === value.activeTenantId && tenant.lifecycle === 'active')
117
124
  || complete.filter(tenant => tenant.lifecycle === 'active').length !== 1)
118
125
  return undefined;
@@ -135,8 +142,8 @@ function directoryHasData(path) {
135
142
  function sameOfficialEndpoint(tenant, entry) {
136
143
  const origin = entry.backendOrigin;
137
144
  return tenant.didHost === entry.didHost
138
- || tenant.backendBaseUrl.replace(/\/$/u, '') === origin
139
- || tenant.endpoints.userServiceUrl.replace(/\/$/u, '') === origin;
145
+ && tenant.backendBaseUrl.replace(/\/$/u, '') === origin
146
+ && tenant.endpoints.userServiceUrl.replace(/\/$/u, '') === origin;
140
147
  }
141
148
  function preservedTenantId(tenants, tenant) {
142
149
  const base = `custom-${tenant.storageScopeId}`;
@@ -169,13 +176,15 @@ function reconcileOfficials(document) {
169
176
  tenants[exactIndex] = {
170
177
  ...officialProfile(entry),
171
178
  storageScopeId: current.storageScopeId,
179
+ ...(current.preferenceTenantIds === undefined ? {} : { preferenceTenantIds: current.preferenceTenantIds }),
172
180
  storageLayout: current.storageLayout,
173
181
  lifecycle: current.lifecycle,
174
182
  };
175
183
  continue;
176
184
  }
177
185
  const preservedId = preservedTenantId(tenants, current);
178
- tenants[exactIndex] = { ...current, tenantId: preservedId, kind: 'custom' };
186
+ tenants[exactIndex] = { ...current, tenantId: preservedId, kind: 'custom',
187
+ preferenceTenantIds: [...new Set([current.tenantId, ...(current.preferenceTenantIds ?? [])])] };
179
188
  if (activeTenantId === current.tenantId)
180
189
  activeTenantId = preservedId;
181
190
  exactIndex = -1;
@@ -187,6 +196,7 @@ function reconcileOfficials(document) {
187
196
  tenants[legacyIndex] = {
188
197
  ...officialProfile(entry),
189
198
  storageScopeId: current.storageScopeId,
199
+ preferenceTenantIds: [...new Set([current.tenantId, ...(current.preferenceTenantIds ?? [])])],
190
200
  storageLayout: current.storageLayout,
191
201
  lifecycle: current.lifecycle,
192
202
  };
@@ -202,6 +212,7 @@ function reconcileOfficials(document) {
202
212
  tenants[endpointIndex] = {
203
213
  ...officialProfile(entry),
204
214
  storageScopeId: current.storageScopeId,
215
+ preferenceTenantIds: [...new Set([current.tenantId, ...(current.preferenceTenantIds ?? [])])],
205
216
  storageLayout: current.storageLayout,
206
217
  lifecycle: current.lifecycle,
207
218
  };
@@ -222,6 +233,61 @@ function reconcileOfficials(document) {
222
233
  function cloneDocument(document) {
223
234
  return structuredClone(document);
224
235
  }
236
+ function tenantStateRoot(base, tenant) {
237
+ if (tenant.storageLayout === 'legacy-base')
238
+ return resolve(base);
239
+ if (tenant.storageLayout === 'domain-v1')
240
+ return resolve(dirname(base), 'tenants', normalizeAwikiDomain(tenant.didHost), basename(base));
241
+ return resolve(dirname(base), 'tenant-scopes', tenant.storageScopeId, basename(base));
242
+ }
243
+ function validateDocument(base, document) {
244
+ if (decodeDocument(document) === undefined
245
+ || new Set(document.tenants.map(tenant => tenantStateRoot(base, tenant))).size !== document.tenants.length) {
246
+ throw new Error('registry schema or storage ownership invariants are invalid');
247
+ }
248
+ }
249
+ /** Repair only the known catalog-slot collision with a unique pre-migration owner. */
250
+ function repairCatalogCollision(base, parsed, backupPath) {
251
+ const document = decodeDocument(parsed, true);
252
+ if (document === undefined || !existsSync(backupPath))
253
+ return undefined;
254
+ const backup = decodeDocument(JSON.parse(readFileSync(backupPath, 'utf8')));
255
+ if (backup === undefined)
256
+ return undefined;
257
+ let repaired = false;
258
+ const tenants = [...document.tenants];
259
+ for (const entry of OFFICIALS) {
260
+ const group = tenants.filter(tenant => tenant.storageScopeId === entry.storageScopeId);
261
+ if (group.length !== 2)
262
+ continue;
263
+ const current = group.find(tenant => tenant.tenantId === entry.tenantId && sameOfficialEndpoint(tenant, entry));
264
+ const preserved = group.find(tenant => tenant.kind === 'custom' && tenant.tenantId === `custom-${entry.storageScopeId}`);
265
+ if (current === undefined || preserved === undefined || current.storageLayout !== 'scope-v1' || preserved.storageLayout !== 'scope-v1')
266
+ continue;
267
+ const owners = backup.tenants.filter(tenant => tenant.storageScopeId === entry.storageScopeId);
268
+ const owner = owners[0];
269
+ if (owners.length !== 1 || owner === undefined || owner.storageLayout !== preserved.storageLayout
270
+ || owner.didHost !== preserved.didHost || owner.backendBaseUrl !== preserved.backendBaseUrl
271
+ || JSON.stringify(owner.endpoints) !== JSON.stringify(preserved.endpoints))
272
+ continue;
273
+ // Only inspect locally owned credentials, never contacts or remote DID documents.
274
+ const identityPath = join(tenantStateRoot(base, preserved), 'identities', 'registry.json');
275
+ if (existsSync(identityPath)) {
276
+ const identities = JSON.parse(readFileSync(identityPath, 'utf8'));
277
+ if (!isRecord(identities) || !isRecord(identities.credentials)
278
+ || Object.values(identities.credentials).some(value => !isRecord(value) || typeof value.did !== 'string'
279
+ || !value.did.startsWith(`did:wba:${preserved.didHost}:`)))
280
+ continue;
281
+ }
282
+ tenants[tenants.indexOf(current)] = { ...current, storageScopeId: randomUUID() };
283
+ repaired = true;
284
+ }
285
+ if (!repaired)
286
+ return undefined;
287
+ const result = { ...document, tenants };
288
+ validateDocument(base, result);
289
+ return result;
290
+ }
225
291
  /** Durable registry. All mutations are synchronous, backup-aware, and atomic. */
226
292
  export class AwikiTenantRegistry {
227
293
  baseStateRoot;
@@ -243,19 +309,24 @@ export class AwikiTenantRegistry {
243
309
  if (existsSync(filePath)) {
244
310
  try {
245
311
  const parsed = JSON.parse(readFileSync(filePath, 'utf8'));
246
- const decoded = decodeDocument(parsed);
312
+ const decoded = decodeDocument(parsed) ?? repairCatalogCollision(baseStateRoot, parsed, `${filePath}.pre-v1.bak`);
247
313
  if (decoded === undefined)
248
314
  throw new Error('registry schema or invariants are invalid');
249
315
  const registry = new AwikiTenantRegistry(baseStateRoot, reconcileOfficials(decoded), true);
250
- if (JSON.stringify(decoded) !== JSON.stringify(registry.document))
316
+ validateDocument(baseStateRoot, registry.document);
317
+ if (JSON.stringify(parsed) !== JSON.stringify(registry.document)) {
318
+ const repairBackup = `${filePath}.pre-scope-repair.bak`;
319
+ if (!existsSync(repairBackup))
320
+ copyFileSync(filePath, repairBackup);
251
321
  registry.persist(true);
322
+ }
252
323
  return registry;
253
324
  }
254
325
  catch (error) {
255
326
  const diagnostic = `AWiki tenant registry was not migrated: ${error instanceof Error ? error.message : 'unknown error'}\n`;
256
327
  mkdirSync(dirname(filePath), { recursive: true });
257
328
  writeFileSync(`${filePath}.migration-error.txt`, diagnostic, { encoding: 'utf8', mode: 0o600 });
258
- return new AwikiTenantRegistry(baseStateRoot, legacyDocument(seed, !seed.configured), false);
329
+ throw new Error('awiki: tenant registry needs repair; no environment was opened', { cause: error });
259
330
  }
260
331
  }
261
332
  const hasLegacyData = directoryHasData(baseStateRoot);
@@ -285,12 +356,7 @@ export class AwikiTenantRegistry {
285
356
  return tenant === undefined ? undefined : structuredClone(tenant);
286
357
  }
287
358
  stateRoot(tenant) {
288
- if (tenant.storageLayout === 'legacy-base')
289
- return this.baseStateRoot;
290
- if (tenant.storageLayout === 'domain-v1') {
291
- return join(dirname(this.baseStateRoot), 'tenants', tenant.didHost, basename(this.baseStateRoot));
292
- }
293
- return join(dirname(this.baseStateRoot), 'tenant-scopes', tenant.storageScopeId, basename(this.baseStateRoot));
359
+ return tenantStateRoot(this.baseStateRoot, tenant);
294
360
  }
295
361
  createCustom(displayName, rawDomain) {
296
362
  const domain = normalizeAwikiDomain(rawDomain);
@@ -364,6 +430,7 @@ export class AwikiTenantRegistry {
364
430
  return cloneDocument(this.document);
365
431
  }
366
432
  persist(backup) {
433
+ validateDocument(this.baseStateRoot, this.document);
367
434
  if (!this.persistent)
368
435
  throw new Error('awiki: tenant registry is read-only until its migration diagnostic is resolved');
369
436
  mkdirSync(dirname(this.filePath), { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-registry.js","sourceRoot":"","sources":["../../src/tenant-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant-registry.js","sourceRoot":"","sources":["../../src/tenant-registry.ts"],"names":[],"mappings":"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"}
@@ -103,7 +103,30 @@ export interface AwikiIdentity {
103
103
  readonly registeredAt: number;
104
104
  }
105
105
  /** Editable public profile. Proofs, metadata, and local identity state stay Host-only. */
106
- export interface AwikiProfile {
106
+ export interface AwikiAvatarFields {
107
+ readonly subjectType?: string;
108
+ readonly avatarUri?: string | null;
109
+ readonly avatarThumbnailUri?: string | null;
110
+ }
111
+ export interface AwikiClearAvatarRequest {
112
+ readonly requestId: string;
113
+ readonly expectedProfileVersion: string;
114
+ }
115
+ export interface AwikiSetAvatarRequest extends AwikiClearAvatarRequest {
116
+ readonly imageBase64: string;
117
+ }
118
+ export interface AwikiGroupAvatarMember {
119
+ readonly memberKey: string;
120
+ readonly memberDid: AwikiDid;
121
+ readonly memberHandle?: string;
122
+ }
123
+ export interface AwikiGroupAvatarFields extends AwikiAvatarFields {
124
+ readonly avatarMembers?: readonly AwikiGroupAvatarMember[];
125
+ readonly groupStateVersion?: string;
126
+ }
127
+ export interface AwikiProfile extends AwikiAvatarFields {
128
+ readonly profileVersion?: string;
129
+ readonly avatarUploadEnabled?: boolean;
107
130
  readonly did: AwikiDid;
108
131
  readonly handle?: AwikiHandle;
109
132
  readonly displayName: string;
@@ -127,7 +150,7 @@ export type AwikiSession = {
127
150
  readonly identity: AwikiIdentity;
128
151
  };
129
152
  /** Existing direct conversation. */
130
- export interface AwikiDirectConversation {
153
+ export interface AwikiDirectConversation extends AwikiAvatarFields {
131
154
  readonly kind: 'direct';
132
155
  readonly id: AwikiConversationId;
133
156
  readonly peerDid: AwikiDid;
@@ -142,7 +165,7 @@ export interface AwikiDirectConversation {
142
165
  readonly lastMessagePreview?: string;
143
166
  }
144
167
  /** Existing group conversation. */
145
- export interface AwikiGroupConversation {
168
+ export interface AwikiGroupConversation extends AwikiGroupAvatarFields {
146
169
  readonly kind: 'group';
147
170
  readonly id: AwikiConversationId;
148
171
  readonly groupDid: AwikiDid;
@@ -154,7 +177,12 @@ export interface AwikiGroupConversation {
154
177
  readonly lastMessagePreview?: string;
155
178
  }
156
179
  /** Authoritative group state used for membership actions. */
157
- export interface AwikiGroupSnapshot {
180
+ export interface AwikiGroupSnapshot extends AwikiGroupAvatarFields {
181
+ readonly encrypted?: boolean;
182
+ readonly secureState?: string;
183
+ readonly canSendSecure?: boolean;
184
+ readonly secureRetryable?: boolean;
185
+ readonly secureProblem?: string;
158
186
  readonly groupDid: AwikiDid;
159
187
  readonly conversationId: AwikiConversationId;
160
188
  readonly title: string;
@@ -172,10 +200,15 @@ export interface AwikiHiddenConversationPreference {
172
200
  }
173
201
  /** Host-owned, identity-scoped presentation preferences. */
174
202
  export interface AwikiConversationPreferences {
203
+ readonly encryptedConversationIds?: readonly AwikiConversationId[];
175
204
  readonly hiddenConversations: readonly AwikiHiddenConversationPreference[];
176
205
  }
177
206
  /** Browser mutation of presentation-only conversation preferences. */
178
207
  export type AwikiConversationPreferenceMutation = {
208
+ readonly action: 'security';
209
+ readonly conversationId: AwikiConversationId;
210
+ readonly encrypted: boolean;
211
+ } | {
179
212
  readonly action: 'hide';
180
213
  readonly conversation: AwikiConversation;
181
214
  } | {
@@ -196,12 +229,23 @@ export interface AwikiResolvedPeer {
196
229
  }
197
230
  /** Browser-only request for one usable group with initial members. */
198
231
  export interface AwikiCreateGroupRequest {
232
+ readonly operationId?: string;
233
+ readonly encrypted?: boolean;
199
234
  readonly name: string;
200
235
  /** Handle or DID values resolved by the Rust SDK after group creation. */
201
236
  readonly members: readonly string[];
202
237
  }
203
238
  /** Authoritative member identity returned after a successful invitation. */
204
239
  export interface AwikiGroupMember {
240
+ readonly operation?: {
241
+ readonly operationId: string;
242
+ readonly groupDid: string;
243
+ readonly phase: string;
244
+ readonly businessCommitted: boolean;
245
+ readonly encryptionReady: boolean;
246
+ readonly reason?: string;
247
+ readonly nextAction: string;
248
+ };
205
249
  readonly did: AwikiDid;
206
250
  readonly handle?: AwikiHandle;
207
251
  }
@@ -303,6 +347,11 @@ export interface AwikiAttachmentContent {
303
347
  export type AwikiMessageContent = AwikiTextContent | AwikiAttachmentContent;
304
348
  /** Public direct or group message. */
305
349
  export interface AwikiMessage {
350
+ /** Fixed outgoing intent; encrypted remains the actual result. */
351
+ readonly encryptionRequired?: boolean;
352
+ readonly encrypted?: boolean;
353
+ readonly decryptionState?: string;
354
+ readonly sendState?: string;
306
355
  readonly id: AwikiMessageId;
307
356
  readonly conversationId: AwikiConversationId;
308
357
  readonly conversationKind: AwikiConversation['kind'];
@@ -527,6 +576,7 @@ export interface AwikiUpdateDisplayNameRequest {
527
576
  }
528
577
  /** Send one plain text message. */
529
578
  export interface AwikiSendTextRequest {
579
+ readonly security?: 'plain' | 'e2ee-required';
530
580
  readonly target: AwikiMessageTarget;
531
581
  readonly text: string;
532
582
  readonly idempotencyKey: string;
@@ -567,6 +617,7 @@ export interface AwikiMailRecoveryObservability {
567
617
  }
568
618
  /** Startup discovery, without Join credentials or security codes. */
569
619
  export interface AwikiIdentityAccessState {
620
+ readonly registrationHandleOnly?: boolean;
570
621
  readonly creationMethods?: readonly ('wba' | 'web')[];
571
622
  readonly pendingRegistrations?: readonly AwikiPendingIdentityRegistration[];
572
623
  readonly methodCapabilities?: AwikiIdentityMethodCapabilities;
@@ -598,6 +649,7 @@ export interface AwikiRecoveryProgress {
598
649
  }
599
650
  /** JSON-safe upload accepted by the browser Remote. */
600
651
  export interface AwikiSendAttachmentRequest {
652
+ readonly security?: 'plain' | 'e2ee-required';
601
653
  readonly target: AwikiMessageTarget;
602
654
  readonly fileName: string;
603
655
  readonly mimeType: string;
@@ -729,7 +781,7 @@ export interface AwikiDownloadedAttachment {
729
781
  readonly bytesBase64: string;
730
782
  }
731
783
  /** Stable public failure codes shared by UI and tools. */
732
- export type AwikiFailureCode = 'client-version-unsupported' | 'not-registered' | 'signed-out' | 'already-registered' | 'invalid-request' | 'invalid-otp' | 'challenge-expired' | 'handle-unavailable' | 'short-handle-invite-required' | 'not-found' | 'forbidden' | 'device-rejoin-required' | 'identity-recovery-required' | 'conflict' | 'state-in-use' | 'rate-limited' | 'group-membership-required' | 'group-identity-stale' | 'attachment-too-large' | 'summary-unavailable' | 'summary-timeout' | 'summary-cancelled' | 'summary-invalid-output' | 'summary-failed' | 'delivery-unknown' | 'network' | 'remote';
784
+ export type AwikiFailureCode = 'backend-not-supported' | 'backend-unconfirmed' | 'client-version-unsupported' | 'not-registered' | 'signed-out' | 'already-registered' | 'invalid-request' | 'invalid-otp' | 'challenge-expired' | 'handle-unavailable' | 'short-handle-invite-required' | 'not-found' | 'forbidden' | 'device-rejoin-required' | 'identity-recovery-required' | 'conflict' | 'state-in-use' | 'rate-limited' | 'group-membership-required' | 'group-member-encryption-not-ready' | 'group-identity-stale' | 'attachment-too-large' | 'summary-unavailable' | 'summary-timeout' | 'summary-cancelled' | 'summary-invalid-output' | 'summary-failed' | 'delivery-unknown' | 'network' | 'remote';
733
785
  /** Public business failure without credentials or remote response bodies. */
734
786
  export interface AwikiFailure {
735
787
  readonly code: AwikiFailureCode;
@@ -754,11 +806,18 @@ export interface AwikiCompletion {
754
806
  }
755
807
  /** Browser-safe AWiki runtime settings owned by the Host plugin. */
756
808
  export interface AwikiRuntimeConfig {
809
+ readonly serverFeatureDiagnostics?: Readonly<Record<string, {
810
+ readonly fetchedAt?: number;
811
+ readonly refreshError?: 'unavailable' | 'authentication_required' | 'upgrade_required';
812
+ }>>;
813
+ readonly serverFeatures?: Readonly<Record<string, 'supported' | 'unsupported' | 'unknown'>>;
757
814
  readonly pollIntervalMs: number;
758
815
  readonly attachmentMaxBytes: number;
759
816
  readonly handleRecoveryPhoneEnabled: boolean;
760
817
  readonly integrationGuideUrl?: string;
761
818
  readonly tenantId: string;
819
+ /** Opaque stable scope; catalog slot IDs may be reused for another environment. */
820
+ readonly tenantStorageScopeId?: string;
762
821
  readonly tenantGeneration: number;
763
822
  readonly tenantOnline: boolean;
764
823
  readonly services: {
@@ -811,6 +870,8 @@ export interface AwikiOperations {
811
870
  prepareRootTransfer(request: AwikiPrepareRootTransferRequest): Promise<AwikiResult<AwikiRootTransferPreparation>>;
812
871
  confirmRootTransfer(request: AwikiConfirmRootTransferRequest): Promise<AwikiResult<AwikiRootTransferReceipt>>;
813
872
  /** Read the deployment identity's editable public profile. */
873
+ setAvatar(request: AwikiSetAvatarRequest): Promise<AwikiResult<AwikiProfile>>;
874
+ clearAvatar(request: AwikiClearAvatarRequest): Promise<AwikiResult<AwikiProfile>>;
814
875
  getProfile(): Promise<AwikiResult<AwikiProfile>>;
815
876
  /** Update the supported public profile fields. This operation is browser-only. */
816
877
  updateProfile(request: AwikiUpdateProfileRequest): Promise<AwikiResult<AwikiProfile>>;
@@ -835,9 +896,10 @@ export interface AwikiOperations {
835
896
  /** Create one group and settle every initial-member invitation. Browser-only. */
836
897
  createGroup(request: AwikiCreateGroupRequest): Promise<AwikiResult<AwikiCreateGroupResult>>;
837
898
  getGroup(request: AwikiGroupRequest): Promise<AwikiResult<AwikiGroupSnapshot>>;
899
+ repairGroupSecurity(request: AwikiGroupRequest): Promise<AwikiResult<AwikiGroupSnapshot>>;
838
900
  joinGroup(request: AwikiGroupRequest): Promise<AwikiResult<AwikiGroupSnapshot>>;
839
901
  leaveGroup(request: AwikiGroupRequest): Promise<AwikiResult<AwikiCompletion>>;
840
- getDisplayProfiles(peers: readonly AwikiDid[]): Promise<AwikiResult<readonly AwikiDisplayProfile[]>>;
902
+ getDisplayProfiles(peers: readonly AwikiDid[], refresh?: boolean): Promise<AwikiResult<readonly AwikiDisplayProfile[]>>;
841
903
  listGroupMembers(request: AwikiGroupMembersRequest): Promise<AwikiResult<AwikiGroupMemberPage>>;
842
904
  addGroupMember(request: AwikiAddGroupMemberRequest): Promise<AwikiResult<AwikiGroupMember>>;
843
905
  removeGroupMember(request: AwikiRemoveGroupMemberRequest): Promise<AwikiResult<AwikiGroupMember>>;
@@ -878,6 +940,7 @@ export interface AwikiOperations {
878
940
  export interface AwikiHostClient extends AwikiOperations {
879
941
  /** Return settings required by the AWiki browser client. */
880
942
  getConfig(): Promise<AwikiResult<AwikiRuntimeConfig>>;
943
+ refreshBackendCapabilities(): Promise<AwikiResult<AwikiRuntimeConfig>>;
881
944
  /** Read one canonical conversation only from the committed local projection. */
882
945
  getLocalHistory(request: AwikiHistoryRequest): Promise<AwikiResult<AwikiPage<AwikiMessage>>>;
883
946
  /** Read the Integration owned by the active full Handle. */
@@ -894,7 +957,7 @@ export interface AwikiHostClient extends AwikiOperations {
894
957
  reopenIntegration(request: AwikiReopenIntegrationRequest): Promise<AwikiIntegrationResult<AwikiIntegrationView>>;
895
958
  }
896
959
  /** Display-only profile projection; never a routing or relationship authority. */
897
- export interface AwikiDisplayProfile {
960
+ export interface AwikiDisplayProfile extends AwikiAvatarFields {
898
961
  readonly did: AwikiDid;
899
962
  readonly handle?: AwikiHandle;
900
963
  readonly displayName?: string;