@awiki/dsh-plugin 0.3.4 → 0.3.6
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 -51
- package/README.zh.md +51 -43
- package/cordis.patch.yml +7 -21
- package/lib/client.js +785 -1308
- package/lib/client.js.map +1 -1
- package/lib/index.js +715 -1017
- package/lib/provider.js +16 -52
- package/lib/{sdk-adapter-BeJakxLP.mjs → sdk-adapter--trNlr-T.mjs} +38 -143
- package/lib/typert.host.js +139 -414
- package/lib/typert.remote-client.d.ts +5 -19
- package/lib/typert.remote-client.d.ts.map +1 -1
- package/lib/typert.remote-client.js +139 -414
- 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 +3 -4
- package/lib/types/client/AwikiOverlay.js.map +1 -1
- package/lib/types/client/controller.d.ts +11 -20
- package/lib/types/client/controller.d.ts.map +1 -1
- package/lib/types/client/controller.js +48 -53
- 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 +2 -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 +186 -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 +6 -10
- package/lib/types/client/slots.d.ts.map +1 -1
- package/lib/types/index.d.ts +28 -59
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +417 -800
- 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 +78 -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 +36 -100
- package/lib/types/provider-api.d.ts.map +1 -1
- package/lib/types/provider.d.ts +1 -7
- package/lib/types/provider.d.ts.map +1 -1
- package/lib/types/provider.js +15 -53
- package/lib/types/provider.js.map +1 -1
- package/lib/types/sdk-adapter.d.ts +5 -30
- package/lib/types/sdk-adapter.d.ts.map +1 -1
- package/lib/types/sdk-adapter.js +48 -133
- 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 +45 -77
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/types.js.map +1 -1
- package/package.json +4 -6
- 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 -43
- package/lib/types/realtime-supervisor.d.ts.map +0 -1
- package/lib/types/realtime-supervisor.js +0 -166
- package/lib/types/realtime-supervisor.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAG1D,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvE,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
|
package/lib/types/listener.js
CHANGED
|
@@ -198,12 +198,11 @@ function incomingFromPeer(message, conversation) {
|
|
|
198
198
|
}
|
|
199
199
|
function copyState(state) {
|
|
200
200
|
return {
|
|
201
|
-
version:
|
|
202
|
-
identityScopeHash: state.identityScopeHash,
|
|
201
|
+
version: 1,
|
|
203
202
|
conversations: Object.fromEntries(Object.entries(state.conversations).map(([id, route]) => [id, { ...route }])),
|
|
204
203
|
};
|
|
205
204
|
}
|
|
206
|
-
/**
|
|
205
|
+
/** Reconcile authorized Direct text from Core history whenever realtime schedules synchronization. */
|
|
207
206
|
export class AwikiAgentListener {
|
|
208
207
|
awiki;
|
|
209
208
|
agents;
|
|
@@ -212,28 +211,64 @@ export class AwikiAgentListener {
|
|
|
212
211
|
store;
|
|
213
212
|
logger;
|
|
214
213
|
stateReady;
|
|
215
|
-
state;
|
|
214
|
+
state = { version: 1, conversations: {} };
|
|
216
215
|
stateMutation = Promise.resolve();
|
|
217
216
|
syncMutation = Promise.resolve();
|
|
218
217
|
scheduledMessageIds = new Set();
|
|
219
218
|
conversationQueues = new Map();
|
|
219
|
+
lifecycle;
|
|
220
|
+
started;
|
|
221
|
+
resolveStarted;
|
|
222
|
+
rejectStarted;
|
|
223
|
+
lifecycleGeneration = 0;
|
|
224
|
+
streamGeneration = 0;
|
|
225
|
+
activeRealtime;
|
|
220
226
|
stopped = false;
|
|
227
|
+
termination;
|
|
228
|
+
resolveTermination;
|
|
229
|
+
terminationSettled = false;
|
|
221
230
|
constructor(awiki, agents, config, logger, store) {
|
|
222
231
|
this.awiki = awiki;
|
|
223
232
|
this.agents = agents;
|
|
224
233
|
this.config = config;
|
|
234
|
+
this.termination = new Promise(resolve => { this.resolveTermination = resolve; });
|
|
225
235
|
this.allowedPeers = new Set(config.allowedPeers.map(peer => peer.startsWith('did:') ? peer : peer.toLowerCase()));
|
|
226
|
-
this.store = store ?? new AwikiListenerStateStore(config.stateRoot
|
|
227
|
-
this.state = { version: 2, identityScopeHash: this.store.identityScopeHash, conversations: {} };
|
|
236
|
+
this.store = store ?? new AwikiListenerStateStore(config.stateRoot);
|
|
228
237
|
this.logger = logger ?? {
|
|
229
238
|
debug() { }, info() { }, warn() { }, error() { }, name: 'awiki-listener',
|
|
230
239
|
};
|
|
231
240
|
this.stateReady = this.store.load().then((state) => { this.state = state; });
|
|
232
241
|
}
|
|
233
|
-
/**
|
|
234
|
-
|
|
242
|
+
/** Start canonical startup sync followed by the single Core-owned realtime stream. */
|
|
243
|
+
start() {
|
|
244
|
+
if (this.started !== undefined)
|
|
245
|
+
return this.started;
|
|
246
|
+
this.started = new Promise((resolve, reject) => {
|
|
247
|
+
this.resolveStarted = resolve;
|
|
248
|
+
this.rejectStarted = reject;
|
|
249
|
+
});
|
|
250
|
+
const generation = ++this.lifecycleGeneration;
|
|
251
|
+
this.lifecycle = this.run(generation).then(() => { this.finishTermination({ kind: 'stopped' }); }, (error) => {
|
|
252
|
+
this.rejectStarted?.(error);
|
|
253
|
+
this.rejectStarted = undefined;
|
|
254
|
+
this.finishTermination({ kind: 'failed', error });
|
|
255
|
+
if (!this.stopped) {
|
|
256
|
+
this.logger.warn('AWiki realtime listener stopped: %s', error instanceof Error ? error.message : 'unknown failure');
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
return this.started;
|
|
260
|
+
}
|
|
261
|
+
/** Resolve once with either orderly shutdown or the exact terminal lifecycle failure. */
|
|
262
|
+
whenTerminated() {
|
|
263
|
+
return this.termination;
|
|
264
|
+
}
|
|
265
|
+
/** Deterministic canonical sync plus committed-history reconciliation for tests and recovery. */
|
|
266
|
+
async synchronizeOnce(reason) {
|
|
235
267
|
await this.enqueueSync(async () => {
|
|
236
268
|
await this.stateReady;
|
|
269
|
+
if (this.stopped)
|
|
270
|
+
return;
|
|
271
|
+
await this.awiki.syncNow(reason);
|
|
237
272
|
if (this.stopped)
|
|
238
273
|
return;
|
|
239
274
|
await this.reconcileCommittedHistory();
|
|
@@ -247,13 +282,95 @@ export class AwikiAgentListener {
|
|
|
247
282
|
}
|
|
248
283
|
await this.stateMutation;
|
|
249
284
|
}
|
|
250
|
-
/**
|
|
285
|
+
/** Stop realtime first, fence late events, drain messages, then release listener-owned Agents. */
|
|
251
286
|
async dispose() {
|
|
252
287
|
if (this.stopped)
|
|
253
288
|
return;
|
|
254
289
|
this.stopped = true;
|
|
290
|
+
this.lifecycleGeneration += 1;
|
|
291
|
+
this.streamGeneration += 1;
|
|
292
|
+
const active = this.activeRealtime;
|
|
293
|
+
this.activeRealtime = undefined;
|
|
294
|
+
await active?.session.stop().catch(() => undefined);
|
|
295
|
+
await this.lifecycle;
|
|
296
|
+
this.resolveStarted?.();
|
|
297
|
+
this.resolveStarted = undefined;
|
|
298
|
+
this.rejectStarted = undefined;
|
|
255
299
|
await this.whenIdle();
|
|
256
300
|
await this.agents.dispose();
|
|
301
|
+
this.finishTermination({ kind: 'stopped' });
|
|
302
|
+
}
|
|
303
|
+
finishTermination(result) {
|
|
304
|
+
if (this.terminationSettled)
|
|
305
|
+
return;
|
|
306
|
+
this.terminationSettled = true;
|
|
307
|
+
this.resolveTermination(result);
|
|
308
|
+
}
|
|
309
|
+
currentLifecycle(generation) {
|
|
310
|
+
return !this.stopped && this.lifecycleGeneration === generation;
|
|
311
|
+
}
|
|
312
|
+
async run(lifecycleGeneration) {
|
|
313
|
+
await this.synchronize('session_start', lifecycleGeneration);
|
|
314
|
+
if (!this.currentLifecycle(lifecycleGeneration))
|
|
315
|
+
return;
|
|
316
|
+
let active = await this.openRealtime(lifecycleGeneration);
|
|
317
|
+
if (active === undefined)
|
|
318
|
+
return;
|
|
319
|
+
this.resolveStarted?.();
|
|
320
|
+
this.resolveStarted = undefined;
|
|
321
|
+
this.rejectStarted = undefined;
|
|
322
|
+
try {
|
|
323
|
+
while (this.currentLifecycle(lifecycleGeneration)) {
|
|
324
|
+
const event = await active.session.nextEvent();
|
|
325
|
+
if (!this.currentLifecycle(lifecycleGeneration)
|
|
326
|
+
|| this.activeRealtime?.generation !== active.generation)
|
|
327
|
+
return;
|
|
328
|
+
if (event === null) {
|
|
329
|
+
this.activeRealtime = undefined;
|
|
330
|
+
this.streamGeneration += 1;
|
|
331
|
+
await active.session.stop();
|
|
332
|
+
if (!this.currentLifecycle(lifecycleGeneration))
|
|
333
|
+
return;
|
|
334
|
+
await this.synchronize('websocket_reconnect', lifecycleGeneration);
|
|
335
|
+
if (!this.currentLifecycle(lifecycleGeneration))
|
|
336
|
+
return;
|
|
337
|
+
const replacement = await this.openRealtime(lifecycleGeneration);
|
|
338
|
+
if (replacement === undefined)
|
|
339
|
+
return;
|
|
340
|
+
active = replacement;
|
|
341
|
+
continue;
|
|
342
|
+
}
|
|
343
|
+
if (event.kind !== 'sync_required')
|
|
344
|
+
continue;
|
|
345
|
+
await this.synchronize(event.cause === 'reconnected' ? 'websocket_reconnect' : 'websocket_hint', lifecycleGeneration);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
finally {
|
|
349
|
+
if (this.activeRealtime?.generation === active.generation)
|
|
350
|
+
this.activeRealtime = undefined;
|
|
351
|
+
await active.session.stop().catch(() => undefined);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
async openRealtime(lifecycleGeneration) {
|
|
355
|
+
const session = await this.awiki.startRealtime();
|
|
356
|
+
if (!this.currentLifecycle(lifecycleGeneration)) {
|
|
357
|
+
await session.stop().catch(() => undefined);
|
|
358
|
+
return undefined;
|
|
359
|
+
}
|
|
360
|
+
const active = { generation: ++this.streamGeneration, session };
|
|
361
|
+
this.activeRealtime = active;
|
|
362
|
+
return active;
|
|
363
|
+
}
|
|
364
|
+
async synchronize(reason, lifecycleGeneration) {
|
|
365
|
+
await this.enqueueSync(async () => {
|
|
366
|
+
await this.stateReady;
|
|
367
|
+
if (!this.currentLifecycle(lifecycleGeneration))
|
|
368
|
+
return;
|
|
369
|
+
await this.awiki.syncNow(reason);
|
|
370
|
+
if (!this.currentLifecycle(lifecycleGeneration))
|
|
371
|
+
return;
|
|
372
|
+
await this.reconcileCommittedHistory();
|
|
373
|
+
});
|
|
257
374
|
}
|
|
258
375
|
enqueueSync(operation) {
|
|
259
376
|
const pending = this.syncMutation.then(operation, operation);
|
|
@@ -446,8 +563,7 @@ export class AwikiAgentListener {
|
|
|
446
563
|
: { lastProcessedMessageId: update.lastProcessedMessageId }),
|
|
447
564
|
};
|
|
448
565
|
this.state = {
|
|
449
|
-
version:
|
|
450
|
-
identityScopeHash: this.state.identityScopeHash,
|
|
566
|
+
version: 1,
|
|
451
567
|
conversations: { ...this.state.conversations, [conversation.id]: route },
|
|
452
568
|
};
|
|
453
569
|
await this.store.save(copyState(this.state));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
|
package/lib/types/mail.d.ts
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
/** Host-owned validation for on-demand mail requests. */
|
|
2
|
-
import type { AwikiMailInboxRequest, AwikiMailMarkReadRequest, AwikiMailReadRequest, AwikiMailSendRequest } from './types.ts';
|
|
2
|
+
import type { AwikiMailAttachmentDownloadRequest, AwikiMailInboxRequest, AwikiMailMarkReadRequest, AwikiMailReadRequest, AwikiMailSendRequest } from './types.ts';
|
|
3
|
+
export declare const MAIL_ATTACHMENT_SERVICE_MAX_COUNT = 10;
|
|
4
|
+
export declare const MAIL_ATTACHMENT_SERVICE_MAX_BYTES: number;
|
|
5
|
+
export declare const MAIL_ATTACHMENT_SERVICE_TOTAL_MAX_BYTES: number;
|
|
6
|
+
export interface AwikiMailAttachmentLimits {
|
|
7
|
+
readonly maxCount: number;
|
|
8
|
+
readonly maxBytes: number;
|
|
9
|
+
readonly totalMaxBytes: number;
|
|
10
|
+
}
|
|
11
|
+
export interface AwikiValidatedMailSendAttachment {
|
|
12
|
+
readonly fileName: string;
|
|
13
|
+
readonly contentType: string;
|
|
14
|
+
readonly sizeBytes: number;
|
|
15
|
+
readonly sha256: string;
|
|
16
|
+
readonly bytes: Uint8Array;
|
|
17
|
+
}
|
|
18
|
+
export interface AwikiValidatedMailSendRequest {
|
|
19
|
+
readonly to: readonly string[];
|
|
20
|
+
readonly cc: readonly string[];
|
|
21
|
+
readonly subject: string;
|
|
22
|
+
readonly bodyText: string;
|
|
23
|
+
readonly attachments: readonly AwikiValidatedMailSendAttachment[];
|
|
24
|
+
}
|
|
25
|
+
export declare const DEFAULT_MAIL_ATTACHMENT_LIMITS: AwikiMailAttachmentLimits;
|
|
26
|
+
export declare function mailAttachmentFileName(value: unknown): string;
|
|
27
|
+
export declare function mailAttachmentContentType(value: unknown): string;
|
|
3
28
|
/** Resolve mailbox defaults before the provider is invoked. */
|
|
4
29
|
export declare function mailInboxRequest(request?: AwikiMailInboxRequest): AwikiMailInboxRequest;
|
|
5
30
|
export declare function mailReadRequest(request: AwikiMailReadRequest): AwikiMailReadRequest;
|
|
6
31
|
export declare function mailMarkReadRequest(request: AwikiMailMarkReadRequest): AwikiMailMarkReadRequest;
|
|
7
|
-
export declare function mailSendRequest(request: AwikiMailSendRequest):
|
|
32
|
+
export declare function mailSendRequest(request: AwikiMailSendRequest, limits?: AwikiMailAttachmentLimits): AwikiValidatedMailSendRequest;
|
|
33
|
+
export declare function mailAttachmentDownloadRequest(request: AwikiMailAttachmentDownloadRequest): AwikiMailAttachmentDownloadRequest;
|
|
8
34
|
//# sourceMappingURL=mail.d.ts.map
|
package/lib/types/mail.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/mail.ts"],"names":[],"mappings":"AAAA,yDAAyD;
|
|
1
|
+
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/mail.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAIzD,OAAO,KAAK,EACV,kCAAkC,EAClC,qBAAqB,EACrB,wBAAwB,EAExB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AAKnB,eAAO,MAAM,iCAAiC,KAAK,CAAA;AACnD,eAAO,MAAM,iCAAiC,QAAmB,CAAA;AACjE,eAAO,MAAM,uCAAuC,QAAmB,CAAA;AAEvE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,QAAQ,CAAC,EAAE,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,gCAAgC,EAAE,CAAA;CAClE;AAED,eAAO,MAAM,8BAA8B,EAAE,yBAI3C,CAAA;AAyBF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAU7D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKhE;AAcD,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,qBAA0B,GAAG,qBAAqB,CAS3F;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,oBAAoB,CAEnF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,wBAAwB,GAAG,wBAAwB,CAO/F;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,oBAAoB,EAC7B,MAAM,GAAE,yBAA0D,GACjE,6BAA6B,CAiC/B;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,kCAAkC,GAC1C,kCAAkC,CAQpC"}
|
package/lib/types/mail.js
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
/** Host-owned validation for on-demand mail requests. */
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
2
3
|
const U32_MAX = 0xffff_ffff;
|
|
3
4
|
const MAX_MESSAGE_IDS = 100;
|
|
4
5
|
const MAX_RECIPIENTS = 20;
|
|
6
|
+
export const MAIL_ATTACHMENT_SERVICE_MAX_COUNT = 10;
|
|
7
|
+
export const MAIL_ATTACHMENT_SERVICE_MAX_BYTES = 10 * 1024 * 1024;
|
|
8
|
+
export const MAIL_ATTACHMENT_SERVICE_TOTAL_MAX_BYTES = 18 * 1024 * 1024;
|
|
9
|
+
export const DEFAULT_MAIL_ATTACHMENT_LIMITS = Object.freeze({
|
|
10
|
+
maxCount: MAIL_ATTACHMENT_SERVICE_MAX_COUNT,
|
|
11
|
+
maxBytes: MAIL_ATTACHMENT_SERVICE_MAX_BYTES,
|
|
12
|
+
totalMaxBytes: MAIL_ATTACHMENT_SERVICE_TOTAL_MAX_BYTES,
|
|
13
|
+
});
|
|
5
14
|
function reject() {
|
|
6
15
|
throw new TypeError('invalid AWiki mail request');
|
|
7
16
|
}
|
|
@@ -25,6 +34,41 @@ function address(value) {
|
|
|
25
34
|
reject();
|
|
26
35
|
return value;
|
|
27
36
|
}
|
|
37
|
+
export function mailAttachmentFileName(value) {
|
|
38
|
+
if (typeof value !== 'string'
|
|
39
|
+
|| value.length === 0
|
|
40
|
+
|| value.trim() !== value
|
|
41
|
+
|| value.replace(/[. ]+$/u, '') !== value
|
|
42
|
+
|| value === '.'
|
|
43
|
+
|| value === '..'
|
|
44
|
+
|| Buffer.byteLength(value, 'utf8') > 255
|
|
45
|
+
|| /[\\/\p{C}]/u.test(value))
|
|
46
|
+
reject();
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
export function mailAttachmentContentType(value) {
|
|
50
|
+
if (value === '')
|
|
51
|
+
return 'application/octet-stream';
|
|
52
|
+
if (typeof value !== 'string'
|
|
53
|
+
|| !/^[A-Za-z0-9!#$&^_.+-]+\/[A-Za-z0-9!#$&^_.+-]+$/u.test(value))
|
|
54
|
+
reject();
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
function attachmentBytes(value, sizeBytes, maxBytes) {
|
|
58
|
+
if (typeof value !== 'string')
|
|
59
|
+
reject();
|
|
60
|
+
const expectedEncodedLength = Math.ceil(sizeBytes / 3) * 4;
|
|
61
|
+
if (value.length !== expectedEncodedLength
|
|
62
|
+
|| value.length % 4 !== 0
|
|
63
|
+
|| !/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u.test(value))
|
|
64
|
+
reject();
|
|
65
|
+
const bytes = Buffer.from(value, 'base64');
|
|
66
|
+
if (bytes.byteLength !== sizeBytes || bytes.byteLength > maxBytes)
|
|
67
|
+
reject();
|
|
68
|
+
if (Buffer.from(bytes).toString('base64') !== value)
|
|
69
|
+
reject();
|
|
70
|
+
return bytes;
|
|
71
|
+
}
|
|
28
72
|
/** Resolve mailbox defaults before the provider is invoked. */
|
|
29
73
|
export function mailInboxRequest(request = {}) {
|
|
30
74
|
const folder = token(request.folder ?? 'inbox', 64);
|
|
@@ -51,7 +95,7 @@ export function mailMarkReadRequest(request) {
|
|
|
51
95
|
messageIds: request.messageIds.map(value => token(value, 2_048)),
|
|
52
96
|
};
|
|
53
97
|
}
|
|
54
|
-
export function mailSendRequest(request) {
|
|
98
|
+
export function mailSendRequest(request, limits = DEFAULT_MAIL_ATTACHMENT_LIMITS) {
|
|
55
99
|
if (!Array.isArray(request.to) || request.to.length === 0 || !Array.isArray(request.cc ?? []))
|
|
56
100
|
reject();
|
|
57
101
|
const to = request.to.map(address);
|
|
@@ -70,6 +114,38 @@ export function mailSendRequest(request) {
|
|
|
70
114
|
|| request.bodyText.trim().length === 0
|
|
71
115
|
|| Buffer.byteLength(request.bodyText, 'utf8') > 65_536)
|
|
72
116
|
reject();
|
|
73
|
-
|
|
117
|
+
if (!Array.isArray(request.attachments ?? []) || (request.attachments?.length ?? 0) > limits.maxCount)
|
|
118
|
+
reject();
|
|
119
|
+
let totalBytes = 0;
|
|
120
|
+
const attachments = (request.attachments ?? []).map((attachment) => {
|
|
121
|
+
if (typeof attachment !== 'object' || attachment === null || Array.isArray(attachment))
|
|
122
|
+
reject();
|
|
123
|
+
if (!Number.isSafeInteger(attachment.sizeBytes)
|
|
124
|
+
|| attachment.sizeBytes < 0
|
|
125
|
+
|| attachment.sizeBytes > limits.maxBytes)
|
|
126
|
+
reject();
|
|
127
|
+
const bytes = attachmentBytes(attachment.bytesBase64, attachment.sizeBytes, limits.maxBytes);
|
|
128
|
+
totalBytes += bytes.byteLength;
|
|
129
|
+
if (!Number.isSafeInteger(totalBytes) || totalBytes > limits.totalMaxBytes)
|
|
130
|
+
reject();
|
|
131
|
+
return {
|
|
132
|
+
fileName: mailAttachmentFileName(attachment.fileName),
|
|
133
|
+
contentType: mailAttachmentContentType(attachment.contentType),
|
|
134
|
+
sizeBytes: bytes.byteLength,
|
|
135
|
+
sha256: createHash('sha256').update(bytes).digest('hex'),
|
|
136
|
+
bytes,
|
|
137
|
+
};
|
|
138
|
+
});
|
|
139
|
+
return { to, cc, subject: request.subject, bodyText: request.bodyText, attachments };
|
|
140
|
+
}
|
|
141
|
+
export function mailAttachmentDownloadRequest(request) {
|
|
142
|
+
if (!Number.isSafeInteger(request.attachmentIndex)
|
|
143
|
+
|| request.attachmentIndex < 0
|
|
144
|
+
|| request.attachmentIndex > U32_MAX)
|
|
145
|
+
reject();
|
|
146
|
+
return {
|
|
147
|
+
localMessageId: token(request.localMessageId, 2_048),
|
|
148
|
+
attachmentIndex: request.attachmentIndex,
|
|
149
|
+
};
|
|
74
150
|
}
|
|
75
151
|
//# sourceMappingURL=mail.js.map
|
package/lib/types/mail.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail.js","sourceRoot":"","sources":["../../src/mail.ts"],"names":[],"mappings":"AAAA,yDAAyD;
|
|
1
|
+
{"version":3,"file":"mail.js","sourceRoot":"","sources":["../../src/mail.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the active DSH profile without guessing it from argv or process type.
|
|
4
|
+
* Desktop's generation-scoped service is authoritative. Ordinary DSH has no
|
|
5
|
+
* corresponding service, so its Loader root is accepted only when it is the
|
|
6
|
+
* exact `$DSH_HOME/profiles/<name>` directory.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveAwikiProfileName(ctx: Context, dshHome: string): string | undefined;
|
|
9
|
+
/** Resolve the profile-local default while preserving the legacy fallback. */
|
|
10
|
+
export declare function resolveAwikiStateRoot(ctx: Context, dshHome: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Keep the deployment-default tenant on its historical path while isolating
|
|
13
|
+
* every selected tenant beside it. Switching back therefore restores the
|
|
14
|
+
* original identity instead of rewriting or clearing cryptographic state.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveAwikiTenantStateRoot(baseStateRoot: string, domain: string, baseDomain: string): string;
|
|
17
|
+
//# sourceMappingURL=profile-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-state.d.ts","sourceRoot":"","sources":["../../src/profile-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAoBlD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBzF;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { fileURLToPath } from 'node:url';
|
|
2
|
+
import { basename, dirname, join, resolve } from 'node:path';
|
|
3
|
+
/** Match the profile-name boundary enforced by the DSH launcher. */
|
|
4
|
+
function assertProfileName(value, source) {
|
|
5
|
+
if (typeof value !== 'string' || value.length === 0
|
|
6
|
+
|| value.includes('/') || value.includes('\\')
|
|
7
|
+
|| value === '.' || value === '..' || value === 'node_modules') {
|
|
8
|
+
throw new TypeError(`awiki: ${source} supplied an invalid profile name`);
|
|
9
|
+
}
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Resolve the active DSH profile without guessing it from argv or process type.
|
|
14
|
+
* Desktop's generation-scoped service is authoritative. Ordinary DSH has no
|
|
15
|
+
* corresponding service, so its Loader root is accepted only when it is the
|
|
16
|
+
* exact `$DSH_HOME/profiles/<name>` directory.
|
|
17
|
+
*/
|
|
18
|
+
export function resolveAwikiProfileName(ctx, dshHome) {
|
|
19
|
+
const desktopProfiles = ctx.get('desktopProfiles');
|
|
20
|
+
if (desktopProfiles !== undefined) {
|
|
21
|
+
return assertProfileName(desktopProfiles.current?.name, 'desktopProfiles.current');
|
|
22
|
+
}
|
|
23
|
+
let profileDir;
|
|
24
|
+
try {
|
|
25
|
+
if (ctx.baseUrl === undefined)
|
|
26
|
+
return undefined;
|
|
27
|
+
const baseUrl = new URL(ctx.baseUrl);
|
|
28
|
+
if (baseUrl.protocol !== 'file:')
|
|
29
|
+
return undefined;
|
|
30
|
+
profileDir = resolve(fileURLToPath(baseUrl));
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
const profilesDir = resolve(dshHome, 'profiles');
|
|
36
|
+
if (dirname(profileDir) !== profilesDir)
|
|
37
|
+
return undefined;
|
|
38
|
+
const name = basename(profileDir);
|
|
39
|
+
return assertProfileName(name, 'Loader profile directory');
|
|
40
|
+
}
|
|
41
|
+
/** Resolve the profile-local default while preserving the legacy fallback. */
|
|
42
|
+
export function resolveAwikiStateRoot(ctx, dshHome) {
|
|
43
|
+
const profileName = resolveAwikiProfileName(ctx, dshHome);
|
|
44
|
+
return profileName === undefined
|
|
45
|
+
? join(dshHome, 'awiki', 'im-core')
|
|
46
|
+
: join(dshHome, 'awiki', profileName, 'im-core');
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Keep the deployment-default tenant on its historical path while isolating
|
|
50
|
+
* every selected tenant beside it. Switching back therefore restores the
|
|
51
|
+
* original identity instead of rewriting or clearing cryptographic state.
|
|
52
|
+
*/
|
|
53
|
+
export function resolveAwikiTenantStateRoot(baseStateRoot, domain, baseDomain) {
|
|
54
|
+
if (domain === baseDomain)
|
|
55
|
+
return baseStateRoot;
|
|
56
|
+
return join(dirname(baseStateRoot), 'tenants', domain, basename(baseStateRoot));
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=profile-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-state.js","sourceRoot":"","sources":["../../src/profile-state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQ5D,oEAAoE;AACpE,SAAS,iBAAiB,CAAC,KAAc,EAAE,MAAc;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;WAC9C,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;WAC3C,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QACjE,MAAM,IAAI,SAAS,CAAC,UAAU,MAAM,mCAAmC,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAY,EAAE,OAAe;IACnE,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAoC,CAAA;IACrF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAA;IACpF,CAAC;IAED,IAAI,UAAkB,CAAA;IACtB,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAC/C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO,SAAS,CAAA;QAClD,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAChD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,WAAW;QAAE,OAAO,SAAS,CAAA;IACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;IACjC,OAAO,iBAAiB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAA;AAC5D,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,GAAY,EAAE,OAAe;IACjE,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACzD,OAAO,WAAW,KAAK,SAAS;QAC9B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;QACnC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,aAAqB,EACrB,MAAc,EACd,UAAkB;IAElB,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,aAAa,CAAA;IAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;AACjF,CAAC"}
|