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

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 (142) hide show
  1. package/README.md +131 -22
  2. package/README.zh.md +110 -20
  3. package/THIRD_PARTY_NOTICES.md +8 -1
  4. package/cordis.patch.yml +5 -0
  5. package/lib/client.js +12534 -2647
  6. package/lib/client.js.map +1 -1
  7. package/lib/index.js +2431 -92
  8. package/lib/model-proxy-contract.js +96 -0
  9. package/lib/provider.js +4 -1
  10. package/lib/sdk-adapter-DLhLrLI6.mjs +886 -0
  11. package/lib/typert.host.js +1269 -534
  12. package/lib/typert.remote-client.d.ts +47 -1
  13. package/lib/typert.remote-client.d.ts.map +1 -1
  14. package/lib/typert.remote-client.js +1254 -141
  15. package/lib/types/attachment-cache.d.ts +28 -0
  16. package/lib/types/attachment-cache.d.ts.map +1 -0
  17. package/lib/types/attachment-cache.js +194 -0
  18. package/lib/types/attachment-cache.js.map +1 -0
  19. package/lib/types/client/AwikiGroupDetails.d.ts +16 -0
  20. package/lib/types/client/AwikiGroupDetails.d.ts.map +1 -0
  21. package/lib/types/client/AwikiGroupDetails.js +108 -0
  22. package/lib/types/client/AwikiGroupDetails.js.map +1 -0
  23. package/lib/types/client/AwikiIdentityAccess.d.ts +21 -0
  24. package/lib/types/client/AwikiIdentityAccess.d.ts.map +1 -0
  25. package/lib/types/client/AwikiIdentityAccess.js +148 -0
  26. package/lib/types/client/AwikiIdentityAccess.js.map +1 -0
  27. package/lib/types/client/AwikiIdentityPage.d.ts +11 -0
  28. package/lib/types/client/AwikiIdentityPage.d.ts.map +1 -0
  29. package/lib/types/client/AwikiIdentityPage.js +8 -0
  30. package/lib/types/client/AwikiIdentityPage.js.map +1 -0
  31. package/lib/types/client/AwikiMail.d.ts +15 -0
  32. package/lib/types/client/AwikiMail.d.ts.map +1 -0
  33. package/lib/types/client/AwikiMail.js +380 -0
  34. package/lib/types/client/AwikiMail.js.map +1 -0
  35. package/lib/types/client/AwikiOnboarding.d.ts +22 -0
  36. package/lib/types/client/AwikiOnboarding.d.ts.map +1 -0
  37. package/lib/types/client/AwikiOnboarding.js +104 -0
  38. package/lib/types/client/AwikiOnboarding.js.map +1 -0
  39. package/lib/types/client/AwikiOverlay.d.ts +10 -0
  40. package/lib/types/client/AwikiOverlay.d.ts.map +1 -1
  41. package/lib/types/client/AwikiOverlay.js +370 -127
  42. package/lib/types/client/AwikiOverlay.js.map +1 -1
  43. package/lib/types/client/AwikiProfileCard.d.ts +9 -0
  44. package/lib/types/client/AwikiProfileCard.d.ts.map +1 -0
  45. package/lib/types/client/AwikiProfileCard.js +90 -0
  46. package/lib/types/client/AwikiProfileCard.js.map +1 -0
  47. package/lib/types/client/AwikiRecoveryForm.d.ts +24 -0
  48. package/lib/types/client/AwikiRecoveryForm.d.ts.map +1 -0
  49. package/lib/types/client/AwikiRecoveryForm.js +148 -0
  50. package/lib/types/client/AwikiRecoveryForm.js.map +1 -0
  51. package/lib/types/client/AwikiSettingsSection.d.ts +18 -4
  52. package/lib/types/client/AwikiSettingsSection.d.ts.map +1 -1
  53. package/lib/types/client/AwikiSettingsSection.js +277 -23
  54. package/lib/types/client/AwikiSettingsSection.js.map +1 -1
  55. package/lib/types/client/MentionText.d.ts +7 -0
  56. package/lib/types/client/MentionText.d.ts.map +1 -0
  57. package/lib/types/client/MentionText.js +10 -0
  58. package/lib/types/client/MentionText.js.map +1 -0
  59. package/lib/types/client/RechargeComingSoonDialog.d.ts +11 -0
  60. package/lib/types/client/RechargeComingSoonDialog.d.ts.map +1 -0
  61. package/lib/types/client/RechargeComingSoonDialog.js +8 -0
  62. package/lib/types/client/RechargeComingSoonDialog.js.map +1 -0
  63. package/lib/types/client/controller.d.ts +174 -4
  64. package/lib/types/client/controller.d.ts.map +1 -1
  65. package/lib/types/client/controller.js +975 -79
  66. package/lib/types/client/controller.js.map +1 -1
  67. package/lib/types/client/image-cache.d.ts +20 -0
  68. package/lib/types/client/image-cache.d.ts.map +1 -0
  69. package/lib/types/client/image-cache.js +177 -0
  70. package/lib/types/client/image-cache.js.map +1 -0
  71. package/lib/types/client/index.d.ts +2 -0
  72. package/lib/types/client/index.d.ts.map +1 -1
  73. package/lib/types/client/index.js +102 -42
  74. package/lib/types/client/index.js.map +1 -1
  75. package/lib/types/client/mail-list-cache.d.ts +15 -0
  76. package/lib/types/client/mail-list-cache.d.ts.map +1 -0
  77. package/lib/types/client/mail-list-cache.js +212 -0
  78. package/lib/types/client/mail-list-cache.js.map +1 -0
  79. package/lib/types/client/mentions.d.ts +51 -0
  80. package/lib/types/client/mentions.d.ts.map +1 -0
  81. package/lib/types/client/mentions.js +165 -0
  82. package/lib/types/client/mentions.js.map +1 -0
  83. package/lib/types/client/model-availability-controller.d.ts +27 -0
  84. package/lib/types/client/model-availability-controller.d.ts.map +1 -0
  85. package/lib/types/client/model-availability-controller.js +111 -0
  86. package/lib/types/client/model-availability-controller.js.map +1 -0
  87. package/lib/types/client/model-proxy-controller.d.ts +45 -0
  88. package/lib/types/client/model-proxy-controller.d.ts.map +1 -0
  89. package/lib/types/client/model-proxy-controller.js +306 -0
  90. package/lib/types/client/model-proxy-controller.js.map +1 -0
  91. package/lib/types/client/recharge-availability.d.ts +6 -0
  92. package/lib/types/client/recharge-availability.d.ts.map +1 -0
  93. package/lib/types/client/recharge-availability.js +6 -0
  94. package/lib/types/client/recharge-availability.js.map +1 -0
  95. package/lib/types/client/settings-locales.d.ts +1 -1
  96. package/lib/types/client/settings-locales.d.ts.map +1 -1
  97. package/lib/types/client/settings-locales.js +186 -8
  98. package/lib/types/client/settings-locales.js.map +1 -1
  99. package/lib/types/client/slots.d.ts +34 -2
  100. package/lib/types/client/slots.d.ts.map +1 -1
  101. package/lib/types/index.d.ts +95 -7
  102. package/lib/types/index.d.ts.map +1 -1
  103. package/lib/types/index.js +968 -37
  104. package/lib/types/index.js.map +1 -1
  105. package/lib/types/listener-state.d.ts +23 -0
  106. package/lib/types/listener-state.d.ts.map +1 -0
  107. package/lib/types/listener-state.js +124 -0
  108. package/lib/types/listener-state.js.map +1 -0
  109. package/lib/types/listener.d.ts +96 -0
  110. package/lib/types/listener.d.ts.map +1 -0
  111. package/lib/types/listener.js +575 -0
  112. package/lib/types/listener.js.map +1 -0
  113. package/lib/types/mail.d.ts +8 -0
  114. package/lib/types/mail.d.ts.map +1 -0
  115. package/lib/types/mail.js +75 -0
  116. package/lib/types/mail.js.map +1 -0
  117. package/lib/types/model-proxy-contract.d.ts +67 -0
  118. package/lib/types/model-proxy-contract.d.ts.map +1 -0
  119. package/lib/types/model-proxy-contract.js +135 -0
  120. package/lib/types/model-proxy-contract.js.map +1 -0
  121. package/lib/types/provider-api.d.ts +106 -2
  122. package/lib/types/provider-api.d.ts.map +1 -1
  123. package/lib/types/provider.d.ts.map +1 -1
  124. package/lib/types/provider.js +3 -0
  125. package/lib/types/provider.js.map +1 -1
  126. package/lib/types/sdk-adapter.d.ts +43 -2
  127. package/lib/types/sdk-adapter.d.ts.map +1 -1
  128. package/lib/types/sdk-adapter.js +622 -24
  129. package/lib/types/sdk-adapter.js.map +1 -1
  130. package/lib/types/sent-mail-store.d.ts +22 -0
  131. package/lib/types/sent-mail-store.d.ts.map +1 -0
  132. package/lib/types/sent-mail-store.js +246 -0
  133. package/lib/types/sent-mail-store.js.map +1 -0
  134. package/lib/types/tools.d.ts +10 -0
  135. package/lib/types/tools.d.ts.map +1 -1
  136. package/lib/types/tools.js +98 -0
  137. package/lib/types/tools.js.map +1 -1
  138. package/lib/types/types.d.ts +254 -2
  139. package/lib/types/types.d.ts.map +1 -1
  140. package/lib/types/types.js.map +1 -1
  141. package/package.json +31 -17
  142. package/lib/sdk-adapter-DK6RqV-c.mjs +0 -355
@@ -1,7 +1,8 @@
1
1
  /** React-free browser controller for the deployment's one AWiki identity. */
2
2
  import type { HostObservable } from '@deepseek-ai/dsh-client-ui-slots';
3
3
  import type { RemoteResult } from '@deepseek-ai/dsh-typert-protocol';
4
- import type { AwikiAttachmentId, AwikiClearLocalDataRequest, AwikiClearLocalDataResult, AwikiConversation, AwikiConversationSummary, AwikiConversationId, AwikiDownloadedAttachment, AwikiHistoryRequest, AwikiIdentity, AwikiLogoutRequest, AwikiMessage, AwikiMessageId, AwikiMarkConversationReadRequest, AwikiPage, AwikiPageRequest, AwikiResolvePeerRequest, AwikiResolvedPeer, AwikiRegistrationOtpRequest, AwikiRegistrationOtpResult, AwikiRegistrationRequest, AwikiResult, AwikiRuntimeConfig, AwikiSession, AwikiSendAttachmentRequest, AwikiSendTextRequest, AwikiSummarizeConversationRequest, AwikiUpdateDisplayNameRequest } from '@awiki/dsh-plugin/types';
4
+ import type { AwikiAttachmentId, AwikiCompletion, AwikiClearLocalDataRequest, AwikiClearLocalDataResult, AwikiConversation, AwikiConversationSummary, AwikiConversationId, AwikiCreateGroupRequest, AwikiCreateGroupResult, AwikiDownloadedAttachment, AwikiGroupMember, AwikiGroupMemberPage, AwikiGroupMemberRecord, AwikiGroupRebindRecoverySummary, AwikiGroupSnapshot, AwikiHistoryRequest, AwikiIdentityAccessInspection, AwikiIdentityAccessInspectionRequest, AwikiIdentity, AwikiLogoutRequest, AwikiMessage, AwikiMessageId, AwikiMention, AwikiMarkConversationReadRequest, AwikiMailAccount, AwikiMailInboxPage, AwikiMailInboxRequest, AwikiMailMarkReadRequest, AwikiMailMarkReadResult, AwikiMailMessage, AwikiMailReadRequest, AwikiMailSendRequest, AwikiMailSendResult, AwikiPage, AwikiPageRequest, AwikiProfile, AwikiRecoveryOtpRequest, AwikiRecoveryOtpResult, AwikiRecoveryPrepareRequest, AwikiRecoveryProgress, AwikiResolvePeerRequest, AwikiResolvedPeer, AwikiRegistrationOtpRequest, AwikiRegistrationOtpResult, AwikiRegistrationRequest, AwikiResult, AwikiRuntimeConfig, AwikiSession, AwikiSendAttachmentRequest, AwikiSendTextRequest, AwikiSummarizeConversationRequest, AwikiUpdateDisplayNameRequest, AwikiUpdateProfileRequest } from '@awiki/dsh-plugin/types';
5
+ import { type AwikiBrowserImageCache } from './image-cache.ts';
5
6
  /** The generated `remote.awiki` methods consumed by this controller. */
6
7
  export interface AwikiRemote {
7
8
  /** Read browser-safe Host polling policy. */
@@ -14,18 +15,64 @@ export interface AwikiRemote {
14
15
  logout: (request: AwikiLogoutRequest) => Promise<RemoteResult<AwikiResult<AwikiSession>>>;
15
16
  /** Resume the preserved local identity. */
16
17
  login: () => Promise<RemoteResult<AwikiResult<AwikiSession>>>;
18
+ /** Classify one configured-domain Handle before selecting the OTP purpose. */
19
+ inspectIdentityAccess: (request: AwikiIdentityAccessInspectionRequest) => Promise<RemoteResult<AwikiResult<AwikiIdentityAccessInspection>>>;
17
20
  /** Request one registration verification code. */
18
21
  sendRegistrationOtp: (request: AwikiRegistrationOtpRequest) => Promise<RemoteResult<AwikiResult<AwikiRegistrationOtpResult>>>;
19
22
  /** Register and persist the deployment's sole identity. */
20
23
  registerIdentity: (request: AwikiRegistrationRequest) => Promise<RemoteResult<AwikiResult<AwikiIdentity>>>;
21
24
  /** Update the deployment identity's public WNS display name. */
22
25
  updateDisplayName: (request: AwikiUpdateDisplayNameRequest) => Promise<RemoteResult<AwikiResult<AwikiIdentity>>>;
26
+ getProfile: () => Promise<RemoteResult<AwikiResult<AwikiProfile>>>;
27
+ updateProfile: (request: AwikiUpdateProfileRequest) => Promise<RemoteResult<AwikiResult<AwikiProfile>>>;
28
+ sendRecoveryOtp: (request: AwikiRecoveryOtpRequest) => Promise<RemoteResult<AwikiResult<AwikiRecoveryOtpResult>>>;
29
+ prepareRecovery: (request: AwikiRecoveryPrepareRequest) => Promise<RemoteResult<AwikiResult<AwikiRecoveryProgress>>>;
30
+ activateRecovery: (request: {
31
+ readonly operationId: string;
32
+ }) => Promise<RemoteResult<AwikiResult<AwikiRecoveryProgress>>>;
33
+ getRecoveryStatus: (request: {
34
+ readonly operationId: string;
35
+ }) => Promise<RemoteResult<AwikiResult<AwikiRecoveryProgress>>>;
36
+ resumeRecovery: (request: {
37
+ readonly operationId: string;
38
+ }) => Promise<RemoteResult<AwikiResult<AwikiRecoveryProgress>>>;
39
+ discardRecovery: (request: {
40
+ readonly operationId: string;
41
+ }) => Promise<RemoteResult<AwikiResult<AwikiCompletion>>>;
23
42
  /** Resolve one Handle or DID before opening a direct chat. */
24
43
  resolvePeer: (request: AwikiResolvePeerRequest) => Promise<RemoteResult<AwikiResult<AwikiResolvedPeer>>>;
44
+ /** Create one group and settle every initial-member invitation. */
45
+ createGroup: (request: AwikiCreateGroupRequest) => Promise<RemoteResult<AwikiResult<AwikiCreateGroupResult>>>;
46
+ getGroup: (request: {
47
+ readonly groupDid: AwikiGroupSnapshot['groupDid'];
48
+ }) => Promise<RemoteResult<AwikiResult<AwikiGroupSnapshot>>>;
49
+ joinGroup: (request: {
50
+ readonly groupDid: AwikiGroupSnapshot['groupDid'];
51
+ }) => Promise<RemoteResult<AwikiResult<AwikiGroupSnapshot>>>;
52
+ leaveGroup: (request: {
53
+ readonly groupDid: AwikiGroupSnapshot['groupDid'];
54
+ }) => Promise<RemoteResult<AwikiResult<AwikiCompletion>>>;
55
+ listGroupMembers: (request: {
56
+ readonly groupDid: AwikiGroupSnapshot['groupDid'];
57
+ readonly cursor?: AwikiGroupMemberPage['nextCursor'];
58
+ readonly limit?: number;
59
+ }) => Promise<RemoteResult<AwikiResult<AwikiGroupMemberPage>>>;
60
+ addGroupMember: (request: {
61
+ readonly groupDid: AwikiGroupSnapshot['groupDid'];
62
+ readonly member: string;
63
+ }) => Promise<RemoteResult<AwikiResult<AwikiGroupMember>>>;
64
+ removeGroupMember: (request: {
65
+ readonly groupDid: AwikiGroupSnapshot['groupDid'];
66
+ readonly member: string;
67
+ }) => Promise<RemoteResult<AwikiResult<AwikiGroupMember>>>;
68
+ /** Resume durable Core-owned membership migration after recovered groups are synchronized. */
69
+ resumeGroupRebindRecovery: () => Promise<RemoteResult<AwikiResult<AwikiGroupRebindRecoverySummary>>>;
25
70
  /** List one page of direct and group conversations. */
26
71
  listConversations: (request?: AwikiPageRequest) => Promise<RemoteResult<AwikiResult<AwikiPage<AwikiConversation>>>>;
27
72
  /** Read one conversation history page. */
28
73
  getHistory: (request: AwikiHistoryRequest) => Promise<RemoteResult<AwikiResult<AwikiPage<AwikiMessage>>>>;
74
+ /** Read one committed local conversation page without network refresh. */
75
+ getLocalHistory: (request: AwikiHistoryRequest) => Promise<RemoteResult<AwikiResult<AwikiPage<AwikiMessage>>>>;
29
76
  /** Summarize one Host-bounded real-history range. */
30
77
  summarizeConversation: (request: AwikiSummarizeConversationRequest) => Promise<RemoteResult<AwikiResult<AwikiConversationSummary>>>;
31
78
  /** Mark one conversation's current inbox entries as read. */
@@ -41,6 +88,16 @@ export interface AwikiRemote {
41
88
  }) => Promise<RemoteResult<AwikiResult<AwikiDownloadedAttachment>>>;
42
89
  /** Permanently clear this installation's local identity and message state. */
43
90
  clearLocalData: (request: AwikiClearLocalDataRequest) => Promise<RemoteResult<AwikiResult<AwikiClearLocalDataResult>>>;
91
+ /** Read the deployment mailbox account on demand. */
92
+ getMailAccount: () => Promise<RemoteResult<AwikiResult<AwikiMailAccount>>>;
93
+ /** List one bounded mailbox page on demand. */
94
+ listMailInbox: (request?: AwikiMailInboxRequest) => Promise<RemoteResult<AwikiResult<AwikiMailInboxPage>>>;
95
+ /** Read one bounded plain-text mail message. */
96
+ readMail: (request: AwikiMailReadRequest) => Promise<RemoteResult<AwikiResult<AwikiMailMessage>>>;
97
+ /** Mark explicitly selected mail messages read. */
98
+ markMailRead: (request: AwikiMailMarkReadRequest) => Promise<RemoteResult<AwikiResult<AwikiMailMarkReadResult>>>;
99
+ /** Send one confirmed plain-text mail once. */
100
+ sendMail: (request: AwikiMailSendRequest) => Promise<RemoteResult<AwikiResult<AwikiMailSendResult>>>;
44
101
  }
45
102
  /** Load phase of the drawer's Host-owned data. */
46
103
  export type AwikiControllerStatus = 'cold' | 'loading' | 'ready' | 'error';
@@ -54,20 +111,37 @@ export interface AwikiSummaryView {
54
111
  readonly result?: AwikiConversationSummary;
55
112
  readonly error?: string;
56
113
  }
114
+ /** Non-sensitive recovery state for old groups restored after Handle recovery. */
115
+ export interface AwikiGroupRecoveryView {
116
+ readonly status: 'pending' | 'blocked' | 'unavailable';
117
+ readonly pending: number;
118
+ readonly blocked: number;
119
+ }
57
120
  /** Immutable drawer data published through the framework hook binder. */
58
121
  export interface AwikiView {
59
122
  readonly status: AwikiControllerStatus;
60
123
  readonly sessionStatus: AwikiSession['status'];
61
124
  readonly identity: AwikiIdentity | null;
125
+ readonly profile: AwikiProfile | null;
62
126
  readonly conversations: readonly AwikiConversation[];
63
127
  readonly conversationsHasMore: boolean;
64
128
  readonly selectedConversationId: AwikiConversationId | null;
129
+ readonly selectedGroup: AwikiGroupSnapshot | null;
130
+ readonly groupMembers: readonly AwikiGroupMemberRecord[];
131
+ readonly groupMembersHasMore: boolean;
132
+ readonly groupRecovery: AwikiGroupRecoveryView | null;
65
133
  readonly messages: readonly AwikiMessage[];
66
134
  readonly historyHasMore: boolean;
135
+ /** True only while the selected conversation's committed local first page is loading. */
136
+ readonly localPending: boolean;
137
+ /** True while the selected conversation is reconciling remote history in the background. */
138
+ readonly refreshing: boolean;
67
139
  readonly pending: string | null;
68
140
  readonly error: string | null;
69
141
  readonly attachmentMaxBytes: number;
70
142
  readonly summaries: Readonly<Record<string, AwikiSummaryView>>;
143
+ readonly recoveryOperationId: string | null;
144
+ readonly recoveryProgress: AwikiRecoveryProgress | null;
71
145
  }
72
146
  /** Settled user operation result with one display-safe failure. */
73
147
  export type AwikiActionResult<Value = void> = {
@@ -80,24 +154,41 @@ export type AwikiActionResult<Value = void> = {
80
154
  /** Browser object layer for identity, conversations, history, and polling. */
81
155
  export declare class AwikiController implements HostObservable<AwikiView> {
82
156
  private readonly remote;
157
+ private readonly persistentImageCache;
83
158
  private view;
84
159
  private readonly listeners;
85
160
  private config;
86
161
  private conversationsCursor;
87
162
  private historyCursor;
163
+ private groupMembersCursor;
88
164
  private timer;
89
165
  private generation;
166
+ private selectionRevision;
90
167
  private disposed;
91
168
  private polling;
92
169
  private readonly markReadInFlight;
93
170
  private readonly unreadAtOpen;
94
171
  private readonly summaryBaselines;
95
- /** @param remote - generated Host Remote namespace. */
96
- constructor(remote: AwikiRemote);
172
+ /** Last trustworthy direct profile for the active identity, keyed by canonical peer DID. */
173
+ private readonly directProfiles;
174
+ /** Last trustworthy group title for the active identity, keyed by canonical Group DID. */
175
+ private readonly groupTitles;
176
+ /** Verified image payloads retained outside observable state for instant remounts. */
177
+ private readonly imageAttachments;
178
+ private imageAttachmentCacheBytes;
179
+ private presentationCacheOwnerDid;
180
+ private groupRecoveryOperation;
181
+ /**
182
+ * @param remote - generated Host Remote namespace.
183
+ * @param persistentImageCache - browser-origin verified preview cache.
184
+ */
185
+ constructor(remote: AwikiRemote, persistentImageCache?: AwikiBrowserImageCache);
97
186
  /** Return the cached immutable view. */
98
187
  getSnapshot: () => AwikiView;
99
188
  /** Subscribe to view replacement. */
100
189
  subscribe: (listener: () => void) => (() => void);
190
+ /** Load Host policy and the shared identity state without starting drawer polling. */
191
+ loadSession(): Promise<AwikiActionResult>;
101
192
  /**
102
193
  * Load Host policy and identity, then start polling while the drawer remains open.
103
194
  * @returns successful readiness or one display-safe Host failure.
@@ -115,6 +206,8 @@ export declare class AwikiController implements HostObservable<AwikiView> {
115
206
  * @returns challenge retry metadata or one display-safe failure.
116
207
  */
117
208
  sendRegistrationOtp(request: AwikiRegistrationOtpRequest): Promise<AwikiActionResult<AwikiRegistrationOtpResult>>;
209
+ /** Classify one Handle before sending exactly one registration or recovery OTP. */
210
+ inspectIdentityAccess(request: AwikiIdentityAccessInspectionRequest): Promise<AwikiActionResult<AwikiIdentityAccessInspection>>;
118
211
  /**
119
212
  * Register the deployment identity and populate the initial conversation list.
120
213
  * @param request - verified Handle, phone number, and one-time code.
@@ -127,23 +220,76 @@ export declare class AwikiController implements HostObservable<AwikiView> {
127
220
  * @returns the updated identity or one display-safe failure.
128
221
  */
129
222
  updateDisplayName(displayName: string): Promise<AwikiActionResult<AwikiIdentity>>;
223
+ /** Save all supported public profile fields and keep identity/profile projections aligned. */
224
+ updateProfile(request: AwikiUpdateProfileRequest): Promise<AwikiActionResult<AwikiProfile>>;
225
+ /** Request a recovery OTP and persist only its secret-free operation id in the browser. */
226
+ sendRecoveryOtp(request: AwikiRecoveryOtpRequest): Promise<AwikiActionResult<AwikiRecoveryOtpResult>>;
227
+ /** Verify the recovery OTP without attempting the remote identity mutation yet. */
228
+ prepareRecovery(request: Omit<AwikiRecoveryPrepareRequest, 'operationId'>): Promise<AwikiActionResult<AwikiRecoveryProgress>>;
229
+ /** Commit the prepared operation once. Unknown outcomes remain available through status refresh. */
230
+ activateRecovery(): Promise<AwikiActionResult<AwikiRecoveryProgress>>;
231
+ /** Refresh Core status without repeating activation. */
232
+ refreshRecoveryStatus(): Promise<AwikiActionResult<AwikiRecoveryProgress>>;
233
+ /** Resume only a Core-declared retryable or uncertain phase. */
234
+ resumeRecovery(): Promise<AwikiActionResult<AwikiRecoveryProgress>>;
235
+ /** Discard only a pre-attempt operation. */
236
+ discardRecovery(): Promise<AwikiActionResult>;
237
+ /** Read the active deployment identity's public mailbox state. */
238
+ getMailAccount(): Promise<AwikiActionResult<AwikiMailAccount>>;
239
+ /** List one browser-requested mailbox page without background polling. */
240
+ listMailInbox(request?: AwikiMailInboxRequest): Promise<AwikiActionResult<AwikiMailInboxPage>>;
241
+ /** Read one selected plain-text mail message without marking it read. */
242
+ readMail(request: AwikiMailReadRequest): Promise<AwikiActionResult<AwikiMailMessage>>;
243
+ /** Mark mail read only after the browser supplied an explicit selected id. */
244
+ markMailRead(request: AwikiMailMarkReadRequest): Promise<AwikiActionResult<AwikiMailMarkReadResult>>;
245
+ /** Send one user-confirmed plain-text mail without retrying. */
246
+ sendMail(request: AwikiMailSendRequest): Promise<AwikiActionResult<AwikiMailSendResult>>;
130
247
  /**
131
248
  * Load another page of the conversation roster.
132
249
  * @returns successful pagination or one display-safe failure.
133
250
  */
134
251
  loadMoreConversations(): Promise<AwikiActionResult>;
252
+ /** Synchronize account projections, then retry Core's durable group-rebind journal. */
253
+ retryGroupRebindRecovery(): Promise<AwikiActionResult<AwikiGroupRebindRecoverySummary>>;
135
254
  /**
136
255
  * Look up a Handle or DID, then open the matching direct conversation.
137
256
  * @param handle - peer Handle or DID typed by the user.
138
257
  * @returns successful selection or one display-safe lookup failure.
139
258
  */
140
259
  startDirectChat(handle: string): Promise<AwikiActionResult>;
260
+ /**
261
+ * Create one group, add its initial members, and open the new canonical conversation.
262
+ * Group selection owns a bounded readiness retry so a fresh empty group can settle before
263
+ * its first history failure becomes visible.
264
+ * @param name - user-visible group name.
265
+ * @param members - Handle or DID values entered by the user.
266
+ * @returns the created group and settled invitation outcomes.
267
+ */
268
+ createGroup(name: string, members: readonly string[]): Promise<AwikiActionResult<AwikiCreateGroupResult>>;
269
+ /** Join one open group by its canonical DID, then select the refreshed conversation. */
270
+ joinGroup(groupDidInput: string): Promise<AwikiActionResult<AwikiGroupSnapshot>>;
271
+ /** Refresh the selected group's authoritative snapshot and first member page. */
272
+ refreshSelectedGroup(): Promise<AwikiActionResult>;
273
+ /** Load the next authoritative member page using Core's opaque cursor. */
274
+ loadMoreGroupMembers(): Promise<AwikiActionResult>;
275
+ /** Invite one ordinary member, then replace snapshot and roster with authoritative reads. */
276
+ addSelectedGroupMember(memberInput: string): Promise<AwikiActionResult<AwikiGroupMember>>;
277
+ /** Remove one authorized member, then refresh count, roles, and roster from Core. */
278
+ removeSelectedGroupMember(member: AwikiGroupMemberRecord): Promise<AwikiActionResult<AwikiGroupMember>>;
279
+ /** Leave the selected group; Core prevents the owner from leaving. */
280
+ leaveSelectedGroup(): Promise<AwikiActionResult>;
141
281
  /**
142
282
  * Select a conversation and load its newest history page.
143
283
  * @param conversationId - selected conversation, or `null` to return to the roster.
144
284
  * @returns successful selection or one display-safe history failure.
145
285
  */
146
286
  selectConversation(conversationId: AwikiConversationId | null): Promise<AwikiActionResult>;
287
+ private loadGroupState;
288
+ private reloadSelectedGroupAfterMutation;
289
+ private reconcileSelectedConversation;
290
+ private readRemoteHistoryWithGroupReadiness;
291
+ private refreshSelectedDirectProfile;
292
+ private failSelectedConversation;
147
293
  /**
148
294
  * Mark the selected conversation read after the UI proves its newest message is visible.
149
295
  * Repeated scroll and layout notifications share one Host request, while a failed
@@ -162,9 +308,10 @@ export declare class AwikiController implements HostObservable<AwikiView> {
162
308
  /**
163
309
  * Send one text message to the selected direct or group conversation.
164
310
  * @param text - non-empty text prepared by the composer.
311
+ * @param clientMessageId - optional logical identity shared with the optimistic row.
165
312
  * @returns successful delivery or one display-safe failure.
166
313
  */
167
- sendText(text: string): Promise<AwikiActionResult>;
314
+ sendText(text: string, clientMessageId?: AwikiMessageId, mentions?: readonly AwikiMention[]): Promise<AwikiActionResult>;
168
315
  /**
169
316
  * Send one already-read browser file without retaining its bytes in the view.
170
317
  * @param file - JSON-safe file name, MIME type, base64 bytes, and optional caption.
@@ -175,6 +322,7 @@ export declare class AwikiController implements HostObservable<AwikiView> {
175
322
  readonly mimeType: string;
176
323
  readonly bytesBase64: string;
177
324
  readonly caption?: string;
325
+ readonly clientMessageId?: AwikiMessageId;
178
326
  }): Promise<AwikiActionResult>;
179
327
  /**
180
328
  * Download verified attachment bytes without publishing them into controller state.
@@ -188,6 +336,9 @@ export declare class AwikiController implements HostObservable<AwikiView> {
188
336
  /** Stop timers, invalidate work, and drop subscribers during HMR unload. */
189
337
  dispose(): void;
190
338
  private refreshConversations;
339
+ /** Hydrate account-projected groups before asking Core to resume their durable rebind jobs. */
340
+ private refreshConversationsAndRecoverGroups;
341
+ private resumeGroupRebindRecovery;
191
342
  private loadHistory;
192
343
  private poll;
193
344
  private withPending;
@@ -196,8 +347,27 @@ export declare class AwikiController implements HostObservable<AwikiView> {
196
347
  private staleSummaries;
197
348
  private markSummaryStale;
198
349
  private selectedConversation;
350
+ /** Keep presentation-only cache entries isolated to one authenticated identity. */
351
+ private activatePresentationCache;
352
+ /** Drop every browser projection without touching the Core-owned SQLite cache. */
353
+ private clearPresentationCache;
354
+ /** Retain recently used verified image bytes without exposing them in AwikiView. */
355
+ private cacheImageAttachment;
356
+ private clearImageAttachments;
357
+ /**
358
+ * Reconcile direct identity and group title projections with their last trustworthy values.
359
+ * Core remains authoritative; this browser cache only prevents sparse refreshes from
360
+ * replacing already resolved presentation data with protocol identifiers.
361
+ */
362
+ private cacheConversation;
363
+ /**
364
+ * Reconcile one group roster row with the last trustworthy local presentation.
365
+ * A real remote/Core title may update the cache; a temporary Group DID fallback may not.
366
+ */
367
+ private cacheGroupTitle;
199
368
  private fail;
200
369
  private current;
370
+ private currentSelection;
201
371
  private publish;
202
372
  }
203
373
  //# sourceMappingURL=controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/client/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/client/controller.ts"],"names":[],"mappings":"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"}