@awiki/dsh-plugin 0.3.7-dsh-test.20260831.2 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -58
- package/README.zh.md +51 -45
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/cordis.patch.yml +8 -7
- package/lib/client.js +1119 -1340
- package/lib/client.js.map +1 -1
- package/lib/index.js +809 -1085
- package/lib/provider.js +17 -70
- package/lib/{sdk-adapter-FGaOi8It.mjs → sdk-adapter--trNlr-T.mjs} +84 -168
- package/lib/typert.host.js +178 -406
- package/lib/typert.remote-client.d.ts +7 -19
- package/lib/typert.remote-client.d.ts.map +1 -1
- package/lib/typert.remote-client.js +178 -406
- package/lib/types/base64.d.ts +4 -0
- package/lib/types/base64.d.ts.map +1 -0
- package/lib/types/base64.js +28 -0
- package/lib/types/base64.js.map +1 -0
- package/lib/types/client/AwikiIdentityAccess.d.ts +5 -6
- package/lib/types/client/AwikiIdentityAccess.d.ts.map +1 -1
- package/lib/types/client/AwikiIdentityAccess.js +27 -88
- package/lib/types/client/AwikiIdentityAccess.js.map +1 -1
- package/lib/types/client/AwikiMail.d.ts +1 -1
- package/lib/types/client/AwikiMail.d.ts.map +1 -1
- package/lib/types/client/AwikiMail.js +130 -6
- package/lib/types/client/AwikiMail.js.map +1 -1
- package/lib/types/client/AwikiOverlay.d.ts.map +1 -1
- package/lib/types/client/AwikiOverlay.js +12 -5
- package/lib/types/client/AwikiOverlay.js.map +1 -1
- package/lib/types/client/AwikiRecoveryForm.d.ts.map +1 -1
- package/lib/types/client/AwikiRecoveryForm.js +1 -1
- package/lib/types/client/AwikiRecoveryForm.js.map +1 -1
- package/lib/types/client/controller.d.ts +34 -20
- package/lib/types/client/controller.d.ts.map +1 -1
- package/lib/types/client/controller.js +203 -56
- package/lib/types/client/controller.js.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/index.js +4 -8
- package/lib/types/client/index.js.map +1 -1
- package/lib/types/client/mail-attachment.d.ts +40 -0
- package/lib/types/client/mail-attachment.d.ts.map +1 -0
- package/lib/types/client/mail-attachment.js +187 -0
- package/lib/types/client/mail-attachment.js.map +1 -0
- package/lib/types/client/settings-locales.js +8 -8
- package/lib/types/client/settings-locales.js.map +1 -1
- package/lib/types/client/slots.d.ts +10 -10
- package/lib/types/client/slots.d.ts.map +1 -1
- package/lib/types/conversation-preferences.d.ts.map +1 -1
- package/lib/types/conversation-preferences.js +17 -0
- package/lib/types/conversation-preferences.js.map +1 -1
- package/lib/types/index.d.ts +30 -59
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +464 -805
- package/lib/types/index.js.map +1 -1
- package/lib/types/listener-state.d.ts +3 -5
- package/lib/types/listener-state.d.ts.map +1 -1
- package/lib/types/listener-state.js +13 -28
- package/lib/types/listener-state.js.map +1 -1
- package/lib/types/listener.d.ts +32 -9
- package/lib/types/listener.d.ts.map +1 -1
- package/lib/types/listener.js +127 -11
- package/lib/types/listener.js.map +1 -1
- package/lib/types/mail.d.ts +28 -2
- package/lib/types/mail.d.ts.map +1 -1
- package/lib/types/mail.js +79 -2
- package/lib/types/mail.js.map +1 -1
- package/lib/types/profile-state.d.ts +17 -0
- package/lib/types/profile-state.d.ts.map +1 -0
- package/lib/types/profile-state.js +58 -0
- package/lib/types/profile-state.js.map +1 -0
- package/lib/types/provider-api.d.ts +38 -102
- package/lib/types/provider-api.d.ts.map +1 -1
- package/lib/types/provider.d.ts +2 -8
- package/lib/types/provider.d.ts.map +1 -1
- package/lib/types/provider.js +16 -73
- package/lib/types/provider.js.map +1 -1
- package/lib/types/sdk-adapter.d.ts +7 -32
- package/lib/types/sdk-adapter.d.ts.map +1 -1
- package/lib/types/sdk-adapter.js +104 -163
- package/lib/types/sdk-adapter.js.map +1 -1
- package/lib/types/sent-mail-store.d.ts +7 -2
- package/lib/types/sent-mail-store.d.ts.map +1 -1
- package/lib/types/sent-mail-store.js +125 -23
- package/lib/types/sent-mail-store.js.map +1 -1
- package/lib/types/tools.d.ts +1 -1
- package/lib/types/tools.d.ts.map +1 -1
- package/lib/types/tools.js +20 -4
- package/lib/types/tools.js.map +1 -1
- package/lib/types/types.d.ts +66 -77
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/types.js.map +1 -1
- package/package.json +15 -20
- package/lib/types/client/AwikiDevices.d.ts +0 -28
- package/lib/types/client/AwikiDevices.d.ts.map +0 -1
- package/lib/types/client/AwikiDevices.js +0 -85
- package/lib/types/client/AwikiDevices.js.map +0 -1
- package/lib/types/realtime-supervisor.d.ts +0 -54
- package/lib/types/realtime-supervisor.d.ts.map +0 -1
- package/lib/types/realtime-supervisor.js +0 -242
- package/lib/types/realtime-supervisor.js.map +0 -1
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
/** Provider interface between the AWiki Host service and one high-level TypeScript client. */
|
|
2
|
-
import type { AwikiAttachment, AwikiConversation, AwikiGroupConversation, AwikiGroupMember, AwikiGroupMemberPage, AwikiGroupMembersRequest, AwikiGroupSnapshot, AwikiHistoryRequest, AwikiIdentity, AwikiMessage, AwikiMailAccount, AwikiMailInboxPage, AwikiMailInboxRequest, AwikiMailMarkReadRequest, AwikiMailMarkReadResult, AwikiMailMessage, AwikiMailReadRequest,
|
|
3
|
-
import type { AwikiAttachmentId, AwikiDid, AwikiMessageId, AwikiMessageTarget } from './types.ts';
|
|
2
|
+
import type { AwikiAttachment, AwikiConversation, AwikiGroupConversation, AwikiGroupMember, AwikiGroupMemberPage, AwikiGroupRebindRecoverySummary, AwikiGroupMembersRequest, AwikiGroupSnapshot, AwikiHistoryRequest, AwikiIdentity, AwikiMessage, AwikiMailAccount, AwikiMailInboxPage, AwikiMailInboxRequest, AwikiMailMarkReadRequest, AwikiMailMarkReadResult, AwikiMailMessage, AwikiMailReadRequest, AwikiMailSendResult, AwikiConversationId, AwikiPage, AwikiPageRequest, AwikiProfile, AwikiRecoveryOperationRequest, AwikiRecoveryOtpRequest, AwikiRecoveryOtpResult, AwikiRecoveryPrepareRequest, AwikiRecoveryProgress, AwikiResolvedPeer, AwikiRegistrationOtpRequest, AwikiRegistrationOtpResult, AwikiRegistrationRequest, AwikiSendTextRequest, AwikiUpdateDisplayNameRequest, AwikiUpdateProfileRequest } from './types.ts';
|
|
3
|
+
import type { AwikiAttachmentId, AwikiDid, AwikiMailMessageId, AwikiMessageId, AwikiMessageTarget } from './types.ts';
|
|
4
4
|
/** Reliable synchronization reasons the listener is allowed to schedule. */
|
|
5
5
|
export type AwikiSdkListenerSyncReason = 'session_start' | 'websocket_hint' | 'websocket_reconnect';
|
|
6
6
|
/** Product-safe realtime causes copied from the Core-owned Node session. */
|
|
7
7
|
export type AwikiSdkListenerSyncCause = 'connection_ready' | 'reconnected' | 'message' | 'message_update' | 'group' | 'system_notification' | 'stream_recovery';
|
|
8
|
-
/** Product-safe reason why a realtime lifecycle attempt could not finish synchronization. */
|
|
9
|
-
export type AwikiSdkRealtimeFailureCode = 'sync.retry.transport_unavailable' | 'sync.retry.service_unavailable' | 'sync.retry.local_state_unavailable' | 'sync.retry.local_state.actor_closed' | 'sync.retry.local_state.database_busy' | 'sync.retry.local_state.constraint_failed' | 'sync.retry.local_state.schema_unavailable' | 'sync.retry.local_state.storage_unavailable' | 'sync.retry.local_state.codec_unavailable' | 'sync.retry.local_state.other' | 'sync.retryable_failure' | 'sync.recovery_required' | 'sync.auth_revoked' | 'sync.blocked' | 'sync.unexpected_status';
|
|
10
8
|
/** Realtime events intentionally exclude raw frames, sequence values, and checkpoints. */
|
|
11
9
|
export type AwikiSdkListenerRealtimeEvent = {
|
|
12
10
|
readonly kind: 'connection_state_changed';
|
|
@@ -20,9 +18,6 @@ export type AwikiSdkListenerRealtimeEvent = {
|
|
|
20
18
|
/** One Core-owned realtime session. A null event requires stop/sync/restart recovery. */
|
|
21
19
|
export interface AwikiSdkListenerRealtimeSession {
|
|
22
20
|
nextEvent(): Promise<AwikiSdkListenerRealtimeEvent | null>;
|
|
23
|
-
getStatus(): Promise<{
|
|
24
|
-
readonly connected: boolean;
|
|
25
|
-
}>;
|
|
26
21
|
stop(): Promise<void>;
|
|
27
22
|
}
|
|
28
23
|
/** Minimal conversation projection used only by the Agent listener. */
|
|
@@ -54,21 +49,15 @@ export interface AwikiSdkListenerMessage {
|
|
|
54
49
|
readonly kind: 'ignored';
|
|
55
50
|
};
|
|
56
51
|
}
|
|
57
|
-
/**
|
|
58
|
-
export interface
|
|
52
|
+
/** Optional high-level feature seam supplied by providers that support realtime listening. */
|
|
53
|
+
export interface AwikiSdkListenerClient {
|
|
59
54
|
syncNow(reason: AwikiSdkListenerSyncReason): Promise<void>;
|
|
60
55
|
startRealtime(): Promise<AwikiSdkListenerRealtimeSession>;
|
|
61
|
-
}
|
|
62
|
-
/** Committed Direct-message seam available only to the optional Agent consumer. */
|
|
63
|
-
export interface AwikiSdkAgentInboxClient {
|
|
64
56
|
listConversations(request?: AwikiPageRequest): Promise<AwikiPage<AwikiSdkListenerConversation>>;
|
|
65
57
|
getHistory(request: AwikiHistoryRequest): Promise<AwikiPage<AwikiSdkListenerMessage>>;
|
|
66
58
|
markConversationRead(conversationId: AwikiConversationId): Promise<number>;
|
|
67
59
|
sendText(request: AwikiSendTextRequest): Promise<AwikiMessage>;
|
|
68
60
|
}
|
|
69
|
-
/** Compatibility composition for callers that need both internal seams. */
|
|
70
|
-
export interface AwikiSdkListenerClient extends AwikiSdkRealtimeClient, AwikiSdkAgentInboxClient {
|
|
71
|
-
}
|
|
72
61
|
/** SDK initialization values owned by the Host deployment configuration. */
|
|
73
62
|
export interface AwikiClientOptions {
|
|
74
63
|
readonly userServiceUrl: string;
|
|
@@ -100,6 +89,32 @@ export interface AwikiSdkDownloadedAttachment {
|
|
|
100
89
|
readonly attachment: AwikiAttachment;
|
|
101
90
|
readonly bytes: Uint8Array;
|
|
102
91
|
}
|
|
92
|
+
/** Detached mail bytes passed only across the same-process provider boundary. */
|
|
93
|
+
export interface AwikiSdkMailAttachmentUpload {
|
|
94
|
+
readonly fileName: string;
|
|
95
|
+
readonly contentType: string;
|
|
96
|
+
readonly bytes: Uint8Array;
|
|
97
|
+
}
|
|
98
|
+
/** Provider-only mail send request; Browser Base64 never crosses this boundary. */
|
|
99
|
+
export interface AwikiSdkMailSendRequest {
|
|
100
|
+
readonly to: readonly string[];
|
|
101
|
+
readonly cc?: readonly string[];
|
|
102
|
+
readonly subject: string;
|
|
103
|
+
readonly bodyText: string;
|
|
104
|
+
readonly attachments?: readonly AwikiSdkMailAttachmentUpload[];
|
|
105
|
+
}
|
|
106
|
+
/** Provider-only mail download request using the authoritative service message ID. */
|
|
107
|
+
export interface AwikiSdkMailAttachmentDownloadRequest {
|
|
108
|
+
readonly messageId: AwikiMailMessageId;
|
|
109
|
+
readonly attachmentIndex: number;
|
|
110
|
+
}
|
|
111
|
+
/** Provider-verified mail bytes retained inside Host until Remote encoding. */
|
|
112
|
+
export interface AwikiSdkDownloadedMailAttachment {
|
|
113
|
+
readonly fileName: string;
|
|
114
|
+
readonly contentType: string;
|
|
115
|
+
readonly sizeBytes: number;
|
|
116
|
+
readonly bytes: Uint8Array;
|
|
117
|
+
}
|
|
103
118
|
/** Exact HTTP field crossing only the trusted same-process provider boundary. */
|
|
104
119
|
export interface AwikiSdkHttpHeader {
|
|
105
120
|
readonly name: string;
|
|
@@ -131,101 +146,18 @@ export interface AwikiSdkRecoveryAttestation {
|
|
|
131
146
|
readonly attestation: string;
|
|
132
147
|
readonly expiresAt: string;
|
|
133
148
|
}
|
|
134
|
-
export type AwikiSdkJoinLocalPhase = 'pending' | 'challenge_prepared' | 'response_prepared' | 'response_verified' | 'approval_prepared' | 'authorized' | 'cancelled' | 'expired';
|
|
135
|
-
export type AwikiSdkJoinRemoteState = 'pending' | 'challenge_sent' | 'response_verified' | 'consumed' | 'cancelled' | 'rejected' | 'expired';
|
|
136
|
-
export type AwikiSdkRegistrationResult = {
|
|
137
|
-
readonly status: 'registered';
|
|
138
|
-
readonly identity: AwikiIdentity;
|
|
139
|
-
} | {
|
|
140
|
-
readonly status: 'join-required';
|
|
141
|
-
readonly continuationId: string;
|
|
142
|
-
readonly fullHandle: string;
|
|
143
|
-
readonly mode: 'ordinary' | 'handle-recovery-rebind';
|
|
144
|
-
readonly requiresUserPresence: boolean;
|
|
145
|
-
};
|
|
146
|
-
export interface AwikiSdkDeviceJoinProgress {
|
|
147
|
-
readonly joinSessionId: string;
|
|
148
|
-
readonly localPhase: AwikiSdkJoinLocalPhase;
|
|
149
|
-
readonly remoteState: AwikiSdkJoinRemoteState;
|
|
150
|
-
readonly expiresAt: string;
|
|
151
|
-
readonly sas?: string;
|
|
152
|
-
readonly completed: boolean;
|
|
153
|
-
readonly identity?: AwikiIdentity;
|
|
154
|
-
}
|
|
155
|
-
export interface AwikiSdkLocalDeviceJoinSession {
|
|
156
|
-
readonly joinSessionId: string;
|
|
157
|
-
readonly side: 'new_device' | 'admin';
|
|
158
|
-
readonly localPhase: AwikiSdkJoinLocalPhase;
|
|
159
|
-
readonly expiresAt: string;
|
|
160
|
-
}
|
|
161
|
-
export interface AwikiSdkCurrentDeviceSummary {
|
|
162
|
-
readonly role?: 'member' | 'admin';
|
|
163
|
-
readonly readiness: 'legacy' | 'member_ready' | 'admin_awaiting_root' | 'admin_ready' | 'blocked';
|
|
164
|
-
readonly canManage: boolean;
|
|
165
|
-
}
|
|
166
|
-
export interface AwikiSdkRegistryDevice {
|
|
167
|
-
readonly deviceId: string;
|
|
168
|
-
readonly status: 'active' | 'revoked';
|
|
169
|
-
readonly role: 'member' | 'admin';
|
|
170
|
-
readonly managementReady: boolean;
|
|
171
|
-
readonly isCurrent: boolean;
|
|
172
|
-
}
|
|
173
|
-
export interface AwikiSdkDeviceJoinRequest {
|
|
174
|
-
readonly joinSessionId: string;
|
|
175
|
-
readonly candidateKeyFingerprint: string;
|
|
176
|
-
readonly issuedAt: string;
|
|
177
|
-
readonly expiresAt: string;
|
|
178
|
-
readonly state: AwikiSdkJoinRemoteState;
|
|
179
|
-
readonly claimedByCurrentDevice: boolean;
|
|
180
|
-
readonly canStartVerification: boolean;
|
|
181
|
-
}
|
|
182
|
-
export interface AwikiSdkAdminJoinProgress {
|
|
183
|
-
readonly joinSessionId: string;
|
|
184
|
-
readonly localPhase: AwikiSdkJoinLocalPhase;
|
|
185
|
-
readonly remoteState: AwikiSdkJoinRemoteState;
|
|
186
|
-
readonly expiresAt: string;
|
|
187
|
-
readonly sas?: string;
|
|
188
|
-
}
|
|
189
149
|
/** Replaceable high-level AWiki client used by the Host service. */
|
|
190
150
|
export interface AwikiSdkClient {
|
|
191
151
|
/** Prepare one exact external HTTP request without sending it. Host-only. */
|
|
192
152
|
prepareExternalHttpRequest(request: AwikiSdkExternalHttpRequest): Promise<AwikiSdkExternalHttpAttempt>;
|
|
193
|
-
/** Present only when the provider supports Core-owned
|
|
194
|
-
readonly realtime?: AwikiSdkRealtimeClient;
|
|
195
|
-
/** Present only when the provider supports committed Direct-message Agent consumption. */
|
|
196
|
-
readonly agentInbox?: AwikiSdkAgentInboxClient;
|
|
197
|
-
/** @deprecated Compatibility composition; new Hosts narrow it to the two seams above. */
|
|
153
|
+
/** Present only when the provider supports Core-owned realtime listening. */
|
|
198
154
|
readonly listener?: AwikiSdkListenerClient;
|
|
199
155
|
/** Return the persisted deployment identity or `null`. */
|
|
200
156
|
getIdentity(): Promise<AwikiIdentity | null>;
|
|
201
157
|
/** Send one Legacy registration verification code. */
|
|
202
158
|
sendRegistrationOtp(request: AwikiRegistrationOtpRequest): Promise<AwikiRegistrationOtpResult>;
|
|
203
159
|
/** Register and persist the deployment identity. */
|
|
204
|
-
registerIdentity(request: AwikiRegistrationRequest): Promise<
|
|
205
|
-
beginDeviceJoin(request: {
|
|
206
|
-
readonly continuationId: string;
|
|
207
|
-
readonly operationId: string;
|
|
208
|
-
readonly userPresenceConfirmed: boolean;
|
|
209
|
-
}): Promise<AwikiSdkDeviceJoinProgress>;
|
|
210
|
-
getDeviceJoinStatus(joinSessionId: string): Promise<AwikiSdkDeviceJoinProgress>;
|
|
211
|
-
listLocalDeviceJoinSessions(): Promise<readonly AwikiSdkLocalDeviceJoinSession[]>;
|
|
212
|
-
cancelDeviceJoin(joinSessionId: string): Promise<AwikiSdkLocalDeviceJoinSession>;
|
|
213
|
-
getCurrentDeviceSummary(): Promise<AwikiSdkCurrentDeviceSummary>;
|
|
214
|
-
syncDeviceManagement(): Promise<void>;
|
|
215
|
-
getDeviceRegistry(): Promise<readonly AwikiSdkRegistryDevice[]>;
|
|
216
|
-
listLocalDeviceJoinRequests(): Promise<readonly AwikiSdkDeviceJoinRequest[]>;
|
|
217
|
-
startDeviceJoinVerification(request: {
|
|
218
|
-
readonly joinSessionId: string;
|
|
219
|
-
readonly operationId: string;
|
|
220
|
-
readonly challengeTtlSeconds: number;
|
|
221
|
-
}): Promise<AwikiSdkAdminJoinProgress>;
|
|
222
|
-
getLocalDeviceJoinVerificationProgress(joinSessionId: string): Promise<AwikiSdkAdminJoinProgress>;
|
|
223
|
-
prepareDeviceJoinApproval(joinSessionId: string): Promise<{
|
|
224
|
-
readonly approvalHandle: string;
|
|
225
|
-
}>;
|
|
226
|
-
confirmDeviceJoinApproval(approvalHandle: string): Promise<AwikiSdkAdminJoinProgress>;
|
|
227
|
-
rejectDeviceJoin(joinSessionId: string, reason: 'user_rejected' | 'sas_mismatch'): Promise<AwikiSdkAdminJoinProgress>;
|
|
228
|
-
revokeDevice(deviceId: string): Promise<void>;
|
|
160
|
+
registerIdentity(request: AwikiRegistrationRequest): Promise<AwikiIdentity>;
|
|
229
161
|
/** Update and persist the deployment identity's public display name. */
|
|
230
162
|
updateDisplayName(request: AwikiUpdateDisplayNameRequest): Promise<AwikiIdentity>;
|
|
231
163
|
/** Return only the product-supported public profile fields. */
|
|
@@ -262,6 +194,8 @@ export interface AwikiSdkClient {
|
|
|
262
194
|
listGroupMembers(request: AwikiGroupMembersRequest): Promise<AwikiGroupMemberPage>;
|
|
263
195
|
/** Remove one Handle or DID from a group. */
|
|
264
196
|
removeGroupMember(groupDid: AwikiDid, member: string): Promise<AwikiGroupMember>;
|
|
197
|
+
/** Resume durable Core-owned rebind work after recovered groups are hydrated locally. */
|
|
198
|
+
resumeGroupRebindRecovery(): Promise<AwikiGroupRebindRecoverySummary>;
|
|
265
199
|
/** List direct and existing group conversations. */
|
|
266
200
|
listConversations(request?: AwikiPageRequest): Promise<AwikiPage<AwikiConversation>>;
|
|
267
201
|
/** Read one conversation's paginated history. */
|
|
@@ -287,8 +221,10 @@ export interface AwikiSdkClient {
|
|
|
287
221
|
readMail(request: AwikiMailReadRequest): Promise<AwikiMailMessage>;
|
|
288
222
|
/** Mark selected mail messages read. */
|
|
289
223
|
markMailRead(request: AwikiMailMarkReadRequest): Promise<AwikiMailMarkReadResult>;
|
|
290
|
-
/** Send one plain-text mail once, without automatic retry. */
|
|
291
|
-
sendMail(request:
|
|
224
|
+
/** Send one plain-text mail with optional bytes once, without automatic retry. */
|
|
225
|
+
sendMail(request: AwikiSdkMailSendRequest): Promise<AwikiMailSendResult>;
|
|
226
|
+
/** Download one mail attachment by authoritative service message ID and index. */
|
|
227
|
+
downloadMailAttachment(request: AwikiSdkMailAttachmentDownloadRequest): Promise<AwikiSdkDownloadedMailAttachment>;
|
|
292
228
|
/** Permanently clear this installation's persisted and process-local AWiki state. */
|
|
293
229
|
clearLocalData(): Promise<{
|
|
294
230
|
readonly cleared: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-api.d.ts","sourceRoot":"","sources":["../../src/provider-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-api.d.ts","sourceRoot":"","sources":["../../src/provider-api.ts"],"names":[],"mappings":"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"}
|
package/lib/types/provider.d.ts
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
/** Production AWiki provider backed by the versioned Rust IM Core Node bridge. */
|
|
2
2
|
import type { Context } from '@deepseek-ai/cordis';
|
|
3
|
-
import type { AnpIdentityServiceContract } from '@agent-network-protocol/dsh-anp-identity';
|
|
4
|
-
declare module '@deepseek-ai/cordis' {
|
|
5
|
-
interface Context {
|
|
6
|
-
anpIdentity: AnpIdentityServiceContract;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
3
|
/** Cordis plugin name used by Loader diagnostics. */
|
|
10
4
|
export declare const name = "awiki-rust-sdk-provider";
|
|
11
|
-
/** AWiki
|
|
5
|
+
/** The AWiki service must own its provider registry before this plugin loads. */
|
|
12
6
|
export declare const inject: string[];
|
|
13
7
|
/** Register one SDK client whose disposal follows this provider's fiber. */
|
|
14
|
-
export declare function apply(ctx: Context):
|
|
8
|
+
export declare function apply(ctx: Context): void;
|
|
15
9
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,kFAAkF;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,qDAAqD;AACrD,eAAO,MAAM,IAAI,4BAA4B,CAAA;AAC7C,iFAAiF;AACjF,eAAO,MAAM,MAAM,UAAY,CAAA;AAE/B,4EAA4E;AAC5E,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAmBxC"}
|
package/lib/types/provider.js
CHANGED
|
@@ -1,81 +1,24 @@
|
|
|
1
1
|
/** Production AWiki provider backed by the versioned Rust IM Core Node bridge. */
|
|
2
|
-
import { setTimeout as delay } from 'node:timers/promises';
|
|
3
2
|
import { openImCoreNodeClient } from '@awiki/im-core-node';
|
|
4
3
|
import { RustSdkAdapter } from "./sdk-adapter.js";
|
|
5
4
|
/** Cordis plugin name used by Loader diagnostics. */
|
|
6
5
|
export const name = 'awiki-rust-sdk-provider';
|
|
7
|
-
/** AWiki
|
|
8
|
-
export const inject = ['awiki'
|
|
9
|
-
const IDENTITY_PROVIDER_CAPABILITIES = [
|
|
10
|
-
'IDENTITY_READ',
|
|
11
|
-
'IDENTITY_CREATE',
|
|
12
|
-
'IDENTITY_IMPORT',
|
|
13
|
-
'IDENTITY_SIGN',
|
|
14
|
-
'IDENTITY_ECDH_SEALED',
|
|
15
|
-
'IDENTITY_DOCUMENT_UPDATE',
|
|
16
|
-
'IDENTITY_KEY_LIFECYCLE',
|
|
17
|
-
'IDENTITY_DELETE',
|
|
18
|
-
'IDENTITY_HTTP_SIGNATURE',
|
|
19
|
-
'AWIKI_LEGACY_ROOT_TRANSFER_V1',
|
|
20
|
-
];
|
|
21
|
-
const IDENTITY_PROVIDER_READY_TIMEOUT_MS = 10_000;
|
|
22
|
-
const IDENTITY_PROVIDER_READY_POLL_MS = 50;
|
|
6
|
+
/** The AWiki service must own its provider registry before this plugin loads. */
|
|
7
|
+
export const inject = ['awiki'];
|
|
23
8
|
/** Register one SDK client whose disposal follows this provider's fiber. */
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
userServiceEndpoint: options.userServiceUrl,
|
|
39
|
-
messageServiceEndpoint: options.messageServiceUrl,
|
|
40
|
-
mailServiceEndpoint: options.mailServiceUrl,
|
|
41
|
-
anpServiceEndpoint: options.messageServiceUrl,
|
|
42
|
-
anpServiceDid: options.messageServiceDid,
|
|
43
|
-
clientVersionInfo: {
|
|
44
|
-
product: 'awiki-daemon',
|
|
45
|
-
release: '0815',
|
|
46
|
-
version: '0.1.91',
|
|
47
|
-
},
|
|
48
|
-
multiDeviceHandleRecoveryEnabled: true,
|
|
49
|
-
multiDeviceDeviceRevokeEnabled: true,
|
|
50
|
-
multiDeviceAudience: 'awiki-user-service',
|
|
51
|
-
externalHttpAllowInsecureLoopbackForTesting: options.allowInsecureLoopbackForTesting,
|
|
52
|
-
identityProvider: lease,
|
|
53
|
-
};
|
|
54
|
-
return new RustSdkAdapter(openImCoreNodeClient(openOptions));
|
|
55
|
-
});
|
|
56
|
-
return async () => {
|
|
57
|
-
try {
|
|
58
|
-
await unregister();
|
|
59
|
-
}
|
|
60
|
-
finally {
|
|
61
|
-
lease.dispose();
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
lease.dispose();
|
|
67
|
-
throw error;
|
|
68
|
-
}
|
|
69
|
-
}, 'awiki Rust SDK client');
|
|
70
|
-
}
|
|
71
|
-
async function waitForIdentityProvider(identity) {
|
|
72
|
-
const deadline = Date.now() + IDENTITY_PROVIDER_READY_TIMEOUT_MS;
|
|
73
|
-
while ((await identity.health()).status === 'unavailable') {
|
|
74
|
-
const remaining = deadline - Date.now();
|
|
75
|
-
if (remaining <= 0) {
|
|
76
|
-
throw new Error(`awiki: ANP Identity provider did not become ready within ${IDENTITY_PROVIDER_READY_TIMEOUT_MS}ms`);
|
|
77
|
-
}
|
|
78
|
-
await delay(Math.min(IDENTITY_PROVIDER_READY_POLL_MS, remaining));
|
|
79
|
-
}
|
|
9
|
+
export function apply(ctx) {
|
|
10
|
+
ctx.effect(() => ctx.awiki.registerClientFactory(options => new RustSdkAdapter(openImCoreNodeClient({
|
|
11
|
+
stateRoot: options.stateRoot,
|
|
12
|
+
serviceBaseUrl: options.userServiceUrl,
|
|
13
|
+
didDomain: options.userServiceDomain,
|
|
14
|
+
userServiceEndpoint: options.userServiceUrl,
|
|
15
|
+
messageServiceEndpoint: options.messageServiceUrl,
|
|
16
|
+
mailServiceEndpoint: options.mailServiceUrl,
|
|
17
|
+
anpServiceEndpoint: options.messageServiceUrl,
|
|
18
|
+
anpServiceDid: options.messageServiceDid,
|
|
19
|
+
multiDeviceHandleRecoveryEnabled: true,
|
|
20
|
+
multiDeviceAudience: 'awiki-user-service',
|
|
21
|
+
externalHttpAllowInsecureLoopbackForTesting: options.allowInsecureLoopbackForTesting,
|
|
22
|
+
}))), 'awiki Rust SDK client');
|
|
80
23
|
}
|
|
81
24
|
//# sourceMappingURL=provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,kFAAkF;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAGlF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,qDAAqD;AACrD,MAAM,CAAC,MAAM,IAAI,GAAG,yBAAyB,CAAA;AAC7C,iFAAiF;AACjF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;AAE/B,4EAA4E;AAC5E,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,cAAc,CACjE,oBAAoB,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,SAAS,EAAE,OAAO,CAAC,iBAAiB;QACpC,mBAAmB,EAAE,OAAO,CAAC,cAAc;QAC3C,sBAAsB,EAAE,OAAO,CAAC,iBAAiB;QACjD,mBAAmB,EAAE,OAAO,CAAC,cAAc;QAC3C,kBAAkB,EAAE,OAAO,CAAC,iBAAiB;QAC7C,aAAa,EAAE,OAAO,CAAC,iBAAiB;QACxC,gCAAgC,EAAE,IAAI;QACtC,mBAAmB,EAAE,oBAAoB;QACzC,2CAA2C,EAAE,OAAO,CAAC,+BAA+B;KACrF,CAAC,CACH,CAAC,EACF,uBAAuB,CACxB,CAAA;AACH,CAAC"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
/** Rust IM Core adapter that copies native values into Host-owned public DTOs. */
|
|
2
2
|
import type { ImCoreNodeClient } from '@awiki/im-core-node';
|
|
3
|
-
import type { AwikiAttachmentId, AwikiConversation, AwikiConversationId, AwikiDid, AwikiDownloadedAttachment, AwikiFailureCode, AwikiGroupConversation, AwikiGroupMember, AwikiGroupMemberPage, AwikiGroupMembersRequest, AwikiGroupSnapshot, AwikiHistoryRequest, AwikiIdentity, AwikiMessage, AwikiMessageId, AwikiMailAccount, AwikiMailInboxPage, AwikiMailInboxRequest, AwikiMailMarkReadRequest, AwikiMailMarkReadResult, AwikiMailMessage, AwikiMailReadRequest,
|
|
4
|
-
import type { AwikiSdkClient,
|
|
3
|
+
import type { AwikiAttachmentId, AwikiConversation, AwikiConversationId, AwikiDid, AwikiDownloadedAttachment, AwikiFailureCode, AwikiGroupConversation, AwikiGroupMember, AwikiGroupMemberPage, AwikiGroupRebindRecoverySummary, AwikiGroupMembersRequest, AwikiGroupSnapshot, AwikiHistoryRequest, AwikiIdentity, AwikiMessage, AwikiMessageId, AwikiMailAccount, AwikiMailInboxPage, AwikiMailInboxRequest, AwikiMailMarkReadRequest, AwikiMailMarkReadResult, AwikiMailMessage, AwikiMailReadRequest, AwikiMailSendResult, AwikiPage, AwikiPageRequest, AwikiProfile, AwikiRecoveryOperationRequest, AwikiRecoveryOtpRequest, AwikiRecoveryOtpResult, AwikiRecoveryPrepareRequest, AwikiRecoveryProgress, AwikiResolvedPeer, AwikiRegistrationOtpRequest, AwikiRegistrationOtpResult, AwikiRegistrationRequest, AwikiSendTextRequest, AwikiUpdateDisplayNameRequest, AwikiUpdateProfileRequest } from './types.ts';
|
|
4
|
+
import type { AwikiSdkClient, AwikiSdkDownloadedAttachment, AwikiSdkExternalHttpAttempt, AwikiSdkExternalHttpRequest, AwikiSdkListenerClient, AwikiSdkMailAttachmentDownloadRequest, AwikiSdkMailSendRequest, AwikiSdkDownloadedMailAttachment, AwikiSdkSendAttachmentRequest } from './provider-api.ts';
|
|
5
5
|
/** Closed provider error consumed by the Host's fixed public failure mapping. */
|
|
6
6
|
export declare class AwikiSdkError extends Error {
|
|
7
7
|
readonly code: AwikiFailureCode;
|
|
8
|
-
readonly realtimeFailureCode?: AwikiSdkRealtimeFailureCode | undefined;
|
|
9
8
|
readonly name = "AwikiSdkError";
|
|
10
|
-
constructor(code: AwikiFailureCode
|
|
9
|
+
constructor(code: AwikiFailureCode);
|
|
11
10
|
}
|
|
12
11
|
/** Adapt the Rust Node bridge to the frozen Host provider interface. */
|
|
13
12
|
export declare class RustSdkAdapter implements AwikiSdkClient {
|
|
14
13
|
private readonly client;
|
|
15
14
|
private readonly attachmentConversations;
|
|
16
15
|
private disposal;
|
|
17
|
-
readonly realtime: AwikiSdkRealtimeClient;
|
|
18
|
-
readonly agentInbox: AwikiSdkAgentInboxClient;
|
|
19
16
|
readonly listener: AwikiSdkListenerClient;
|
|
20
17
|
constructor(client: ImCoreNodeClient | Promise<ImCoreNodeClient>);
|
|
21
18
|
private run;
|
|
@@ -42,31 +39,7 @@ export declare class RustSdkAdapter implements AwikiSdkClient {
|
|
|
42
39
|
prepareExternalHttpRequest(request: AwikiSdkExternalHttpRequest): Promise<AwikiSdkExternalHttpAttempt>;
|
|
43
40
|
getIdentity(): Promise<AwikiIdentity | null>;
|
|
44
41
|
sendRegistrationOtp(request: AwikiRegistrationOtpRequest): Promise<AwikiRegistrationOtpResult>;
|
|
45
|
-
registerIdentity(request: AwikiRegistrationRequest): Promise<
|
|
46
|
-
beginDeviceJoin(request: {
|
|
47
|
-
readonly continuationId: string;
|
|
48
|
-
readonly operationId: string;
|
|
49
|
-
readonly userPresenceConfirmed: boolean;
|
|
50
|
-
}): Promise<AwikiSdkDeviceJoinProgress>;
|
|
51
|
-
getDeviceJoinStatus(joinSessionId: string): Promise<AwikiSdkDeviceJoinProgress>;
|
|
52
|
-
listLocalDeviceJoinSessions(): Promise<readonly AwikiSdkLocalDeviceJoinSession[]>;
|
|
53
|
-
cancelDeviceJoin(joinSessionId: string): Promise<AwikiSdkLocalDeviceJoinSession>;
|
|
54
|
-
getCurrentDeviceSummary(): Promise<AwikiSdkCurrentDeviceSummary>;
|
|
55
|
-
syncDeviceManagement(): Promise<void>;
|
|
56
|
-
getDeviceRegistry(): Promise<readonly AwikiSdkRegistryDevice[]>;
|
|
57
|
-
listLocalDeviceJoinRequests(): Promise<readonly AwikiSdkDeviceJoinRequest[]>;
|
|
58
|
-
startDeviceJoinVerification(request: {
|
|
59
|
-
readonly joinSessionId: string;
|
|
60
|
-
readonly operationId: string;
|
|
61
|
-
readonly challengeTtlSeconds: number;
|
|
62
|
-
}): Promise<AwikiSdkAdminJoinProgress>;
|
|
63
|
-
getLocalDeviceJoinVerificationProgress(joinSessionId: string): Promise<AwikiSdkAdminJoinProgress>;
|
|
64
|
-
prepareDeviceJoinApproval(joinSessionId: string): Promise<{
|
|
65
|
-
readonly approvalHandle: string;
|
|
66
|
-
}>;
|
|
67
|
-
confirmDeviceJoinApproval(approvalHandle: string): Promise<AwikiSdkAdminJoinProgress>;
|
|
68
|
-
rejectDeviceJoin(joinSessionId: string, reason: 'user_rejected' | 'sas_mismatch'): Promise<AwikiSdkAdminJoinProgress>;
|
|
69
|
-
revokeDevice(deviceId: string): Promise<void>;
|
|
42
|
+
registerIdentity(request: AwikiRegistrationRequest): Promise<AwikiIdentity>;
|
|
70
43
|
updateDisplayName(request: AwikiUpdateDisplayNameRequest): Promise<AwikiIdentity>;
|
|
71
44
|
getProfile(): Promise<AwikiProfile>;
|
|
72
45
|
updateProfile(request: AwikiUpdateProfileRequest): Promise<AwikiProfile>;
|
|
@@ -89,6 +62,7 @@ export declare class RustSdkAdapter implements AwikiSdkClient {
|
|
|
89
62
|
leaveGroup(groupDid: AwikiDid): Promise<void>;
|
|
90
63
|
listGroupMembers(request: AwikiGroupMembersRequest): Promise<AwikiGroupMemberPage>;
|
|
91
64
|
removeGroupMember(groupDid: AwikiDid, member: string): Promise<AwikiGroupMember>;
|
|
65
|
+
resumeGroupRebindRecovery(): Promise<AwikiGroupRebindRecoverySummary>;
|
|
92
66
|
listConversations(request?: AwikiPageRequest): Promise<AwikiPage<AwikiConversation>>;
|
|
93
67
|
getHistory(request: AwikiHistoryRequest): Promise<AwikiPage<AwikiMessage>>;
|
|
94
68
|
getLocalHistory(request: AwikiHistoryRequest): Promise<AwikiPage<AwikiMessage>>;
|
|
@@ -103,7 +77,8 @@ export declare class RustSdkAdapter implements AwikiSdkClient {
|
|
|
103
77
|
listMailInbox(request?: AwikiMailInboxRequest): Promise<AwikiMailInboxPage>;
|
|
104
78
|
readMail(request: AwikiMailReadRequest): Promise<AwikiMailMessage>;
|
|
105
79
|
markMailRead(request: AwikiMailMarkReadRequest): Promise<AwikiMailMarkReadResult>;
|
|
106
|
-
sendMail(request:
|
|
80
|
+
sendMail(request: AwikiSdkMailSendRequest): Promise<AwikiMailSendResult>;
|
|
81
|
+
downloadMailAttachment(request: AwikiSdkMailAttachmentDownloadRequest): Promise<AwikiSdkDownloadedMailAttachment>;
|
|
107
82
|
clearLocalData(): Promise<{
|
|
108
83
|
readonly cleared: boolean;
|
|
109
84
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-adapter.d.ts","sourceRoot":"","sources":["../../src/sdk-adapter.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,KAAK,EAGV,gBAAgB,EAgBjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAEV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EAEnB,QAAQ,EACR,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"sdk-adapter.d.ts","sourceRoot":"","sources":["../../src/sdk-adapter.ts"],"names":[],"mappings":"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"}
|