@adonis-agora/collaboration 0.11.0 → 0.13.0
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/CHANGELOG.md +156 -0
- package/dist/providers/collaboration_provider.d.ts.map +1 -1
- package/dist/providers/collaboration_provider.js +4 -0
- package/dist/providers/collaboration_provider.js.map +1 -1
- package/dist/src/auth/secret.d.ts +48 -0
- package/dist/src/auth/secret.d.ts.map +1 -0
- package/dist/src/auth/secret.js +95 -0
- package/dist/src/auth/secret.js.map +1 -0
- package/dist/src/auth/token.d.ts +111 -14
- package/dist/src/auth/token.d.ts.map +1 -1
- package/dist/src/auth/token.js +95 -14
- package/dist/src/auth/token.js.map +1 -1
- package/dist/src/collaboration_manager.d.ts +72 -7
- package/dist/src/collaboration_manager.d.ts.map +1 -1
- package/dist/src/collaboration_manager.js +131 -1
- package/dist/src/collaboration_manager.js.map +1 -1
- package/dist/src/define_config.d.ts +5 -0
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/documents.d.ts +100 -0
- package/dist/src/documents.d.ts.map +1 -1
- package/dist/src/documents.js +49 -0
- package/dist/src/documents.js.map +1 -1
- package/dist/src/driver.d.ts +53 -0
- package/dist/src/driver.d.ts.map +1 -1
- package/dist/src/driver.js +4 -1
- package/dist/src/driver.js.map +1 -1
- package/dist/src/drivers/automerge/automerge_driver.d.ts +25 -0
- package/dist/src/drivers/automerge/automerge_driver.d.ts.map +1 -1
- package/dist/src/drivers/automerge/automerge_driver.js +105 -16
- package/dist/src/drivers/automerge/automerge_driver.js.map +1 -1
- package/dist/src/drivers/partykit/partykit_driver.d.ts +5 -0
- package/dist/src/drivers/partykit/partykit_driver.d.ts.map +1 -1
- package/dist/src/drivers/partykit/partykit_driver.js +13 -7
- package/dist/src/drivers/partykit/partykit_driver.js.map +1 -1
- package/dist/src/drivers/yjs/yjs_driver.d.ts +16 -4
- package/dist/src/drivers/yjs/yjs_driver.d.ts.map +1 -1
- package/dist/src/drivers/yjs/yjs_driver.js +168 -17
- package/dist/src/drivers/yjs/yjs_driver.js.map +1 -1
- package/dist/src/http/types.d.ts +21 -3
- package/dist/src/http/types.d.ts.map +1 -1
- package/dist/src/http/types.js.map +1 -1
- package/dist/src/index.d.ts +9 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/observability.d.ts +11 -0
- package/dist/src/observability.d.ts.map +1 -1
- package/dist/src/observability.js +18 -0
- package/dist/src/observability.js.map +1 -1
- package/dist/src/routes.d.ts +74 -2
- package/dist/src/routes.d.ts.map +1 -1
- package/dist/src/routes.js +147 -9
- package/dist/src/routes.js.map +1 -1
- package/dist/src/types.d.ts +45 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/stubs/config/collaboration.stub +8 -0
- package/dist/stubs/partykit/worker/party.ts.stub +35 -4
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"partykit_driver.js","sourceRoot":"","sources":["../../../../src/drivers/partykit/partykit_driver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"partykit_driver.js","sourceRoot":"","sources":["../../../../src/drivers/partykit/partykit_driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as Y from 'yjs';
|
|
2
|
+
import type { CollaborationDriver, LiveDocumentDriver, SelfHostedDriverOptions } from '../../driver.js';
|
|
2
3
|
import type { CollabDiffSummary, CollabVersion } from '../../types.js';
|
|
3
4
|
/**
|
|
4
5
|
* Yjs driver: Hocuspocus as the sync engine (y-protocols protocol over
|
|
@@ -12,14 +13,24 @@ import type { CollabDiffSummary, CollabVersion } from '../../types.js';
|
|
|
12
13
|
* - `diffVersions`: materializes both versions and compares them by line.
|
|
13
14
|
* - Anchored comments: delegate to the CommentService (generic anchor).
|
|
14
15
|
*/
|
|
15
|
-
export declare class YjsDriver implements CollaborationDriver {
|
|
16
|
+
export declare class YjsDriver implements CollaborationDriver, LiveDocumentDriver {
|
|
16
17
|
readonly engine = "yjs";
|
|
17
18
|
private hocuspocus;
|
|
18
19
|
private wss?;
|
|
19
20
|
private readonly options;
|
|
20
21
|
private readonly storage;
|
|
21
22
|
constructor(options: SelfHostedDriverOptions);
|
|
22
|
-
|
|
23
|
+
/**
|
|
24
|
+
* The live document, or `undefined` when this process has none open.
|
|
25
|
+
*
|
|
26
|
+
* Public because the alternative was worse: apps that have to merge an
|
|
27
|
+
* external change into what people are currently typing were reaching
|
|
28
|
+
* `hocuspocus.documents` through a cast on a private field, and a private
|
|
29
|
+
* name that a consumer depends on is a public name with none of the
|
|
30
|
+
* guarantees. Reach it through `manager.withLiveDocument` rather than the
|
|
31
|
+
* driver — see {@link LiveDocumentDriver}.
|
|
32
|
+
*/
|
|
33
|
+
liveDocument(name: string): Y.Doc | undefined;
|
|
23
34
|
private hydrate;
|
|
24
35
|
private ensureDoc;
|
|
25
36
|
attach(server: import('node:http').Server): Promise<void>;
|
|
@@ -37,7 +48,8 @@ export declare class YjsDriver implements CollaborationDriver {
|
|
|
37
48
|
*/
|
|
38
49
|
restoreVersion(docName: string, versionId: string, restoredBy: string | null): Promise<void>;
|
|
39
50
|
diffVersions(docName: string, aId: string, bId: string): Promise<CollabDiffSummary>;
|
|
40
|
-
|
|
51
|
+
/** Binary state stored for a version. Throws when the id is unknown. */
|
|
52
|
+
getVersionState(docName: string, versionId: string): Promise<Uint8Array>;
|
|
41
53
|
close(): Promise<void>;
|
|
42
54
|
}
|
|
43
55
|
//# sourceMappingURL=yjs_driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yjs_driver.d.ts","sourceRoot":"","sources":["../../../../src/drivers/yjs/yjs_driver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"yjs_driver.d.ts","sourceRoot":"","sources":["../../../../src/drivers/yjs/yjs_driver.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAEV,iBAAiB,EAGjB,aAAa,EACd,MAAM,gBAAgB,CAAC;AAiBxB;;;;;;;;;;;GAWG;AAEH,qBAAa,SAAU,YAAW,mBAAmB,EAAE,kBAAkB;IACvE,QAAQ,CAAC,MAAM,SAAS;IAExB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAE/C,YAAY,OAAO,EAAE,uBAAuB,EAqP3C;IAED;;;;;;;;;OASG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,SAAS,CAG5C;IAED,OAAO,CAAC,OAAO;YAQD,SAAS;IAQjB,MAAM,CAAC,MAAM,EAAE,OAAO,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC9D;IAEK,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAO3D;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWtD;IAEK,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC,aAAa,CAAC,CAOxB;IAEK,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAE5D;IAED;;;;;;;OAOG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Bf;IAEK,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAUxF;IAED,wEAAwE;IAClE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAI7E;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAS3B;CACF"}
|
|
@@ -2,7 +2,7 @@ import { Hocuspocus, } from '@hocuspocus/server';
|
|
|
2
2
|
import { TiptapTransformer } from '@hocuspocus/transformer';
|
|
3
3
|
import { WebSocketServer } from 'ws';
|
|
4
4
|
import * as Y from 'yjs';
|
|
5
|
-
import { CollabAuthorizationError, CollabForbiddenError,
|
|
5
|
+
import { CollabAuthorizationError, CollabForbiddenError, verifySelfHostedToken, } from '../../auth/token.js';
|
|
6
6
|
import { reportCollaborationError } from '../../observability.js';
|
|
7
7
|
import { createVersionMetadata, restoredFromLabel, seqVersions } from '../../versioning.js';
|
|
8
8
|
import { lineDiff, resolveStorage, tiptapJsonToText } from '../shared.js';
|
|
@@ -52,9 +52,107 @@ export class YjsDriver {
|
|
|
52
52
|
* is many connections; the map has to be too.
|
|
53
53
|
*/
|
|
54
54
|
const presenceBySocket = new Map();
|
|
55
|
+
/**
|
|
56
|
+
* Seeds in flight, by document name.
|
|
57
|
+
*
|
|
58
|
+
* Hocuspocus already serialises its own `createDocument` per name (it
|
|
59
|
+
* keeps a `loadingDocuments` promise), so two browsers opening the same
|
|
60
|
+
* new document share one load. That is the only caller today, and it is
|
|
61
|
+
* exactly the caller we cannot rely on: `onLoadDocument` is a plain
|
|
62
|
+
* function on the configuration and anything holding the driver can run
|
|
63
|
+
* it. A second seed is not a harmless repeat — two CRDT updates carrying
|
|
64
|
+
* the same paragraph merge into two paragraphs, and the app sees its
|
|
65
|
+
* content duplicated. So the guard lives here too, where the write is.
|
|
66
|
+
*
|
|
67
|
+
* In-flight only, not a memo: once the seed is persisted the storage
|
|
68
|
+
* answers for it, and a `load` that had nothing to give should be asked
|
|
69
|
+
* again the next time the document is opened.
|
|
70
|
+
*/
|
|
71
|
+
const seedsInFlight = new Map();
|
|
72
|
+
const seedDocumentOnce = async (documentName) => {
|
|
73
|
+
const seed = options.seedDocument;
|
|
74
|
+
if (!seed)
|
|
75
|
+
return undefined;
|
|
76
|
+
const inFlight = seedsInFlight.get(documentName);
|
|
77
|
+
if (inFlight)
|
|
78
|
+
return inFlight;
|
|
79
|
+
const seeding = (async () => {
|
|
80
|
+
let update;
|
|
81
|
+
try {
|
|
82
|
+
update = seedUpdate(await seed(documentName));
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
// The app's `load` failed. Reported, never rethrown: Hocuspocus
|
|
86
|
+
// turns a throwing onLoadDocument into a closed connection, and a
|
|
87
|
+
// client cannot tell that apart from a denial — it just reconnects,
|
|
88
|
+
// forever, running the failing query again each time.
|
|
89
|
+
reportCollaborationError({
|
|
90
|
+
scope: 'storage',
|
|
91
|
+
operation: 'loadDocument',
|
|
92
|
+
docName: documentName,
|
|
93
|
+
error,
|
|
94
|
+
});
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
if (!update)
|
|
98
|
+
return undefined;
|
|
99
|
+
// Persisted before it is served, so the hook is a one-off per
|
|
100
|
+
// document instead of a read the app pays for on every connection.
|
|
101
|
+
// It cannot ride on `onStoreDocument`: the seed is applied while the
|
|
102
|
+
// document is still loading, before Hocuspocus subscribes to updates,
|
|
103
|
+
// so nothing marks it dirty and nothing would ever flush it.
|
|
104
|
+
try {
|
|
105
|
+
await storage.saveDocument(documentName, update);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
reportCollaborationError({
|
|
109
|
+
scope: 'storage',
|
|
110
|
+
operation: 'saveDocument',
|
|
111
|
+
docName: documentName,
|
|
112
|
+
error,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return update;
|
|
116
|
+
})();
|
|
117
|
+
seedsInFlight.set(documentName, seeding);
|
|
118
|
+
try {
|
|
119
|
+
return await seeding;
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
seedsInFlight.delete(documentName);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
55
125
|
this.hocuspocus = new Hocuspocus({
|
|
126
|
+
/**
|
|
127
|
+
* The one place identity is established on this transport.
|
|
128
|
+
*
|
|
129
|
+
* The token must be **verified**, not decoded: it used to be a bare
|
|
130
|
+
* base64 of `{ userId }`, so a client with no session at all could send
|
|
131
|
+
* the id of anyone it wanted and be authorized as them. Now the
|
|
132
|
+
* signature, the expiry and the document binding are all checked before
|
|
133
|
+
* `authorize` is asked anything — and `documentName` comes from the
|
|
134
|
+
* connection, so a token minted for one document cannot open another.
|
|
135
|
+
*
|
|
136
|
+
* What it returns becomes the connection's `context` (Hocuspocus merges
|
|
137
|
+
* a hook's resolved value into it), which is how every later hook gets
|
|
138
|
+
* the verified identity instead of re-reading the wire.
|
|
139
|
+
*/
|
|
56
140
|
async onAuthenticate({ documentName, token, connectionConfig }) {
|
|
57
|
-
|
|
141
|
+
let ctx;
|
|
142
|
+
try {
|
|
143
|
+
ctx = await verifySelfHostedToken(token, documentName, options.tokenSecret);
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
// No signing key configured. A server misconfiguration, not a bad
|
|
147
|
+
// client — reported as such, and still fatal to the handshake.
|
|
148
|
+
reportCollaborationError({
|
|
149
|
+
scope: 'authorize',
|
|
150
|
+
operation: 'onAuthenticate',
|
|
151
|
+
docName: documentName,
|
|
152
|
+
error,
|
|
153
|
+
});
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
58
156
|
if (!ctx)
|
|
59
157
|
throw new Error('invalid token');
|
|
60
158
|
// "You may not" and "we could not tell" are different answers, and a
|
|
@@ -79,10 +177,20 @@ export class YjsDriver {
|
|
|
79
177
|
// told it may not write can simply not ask. Hocuspocus drops inbound
|
|
80
178
|
// updates on a read-only connection while still syncing outbound.
|
|
81
179
|
connectionConfig.readOnly = !permission.canWrite;
|
|
180
|
+
return { collab: ctx };
|
|
82
181
|
},
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
182
|
+
/**
|
|
183
|
+
* Presence, from the identity the handshake already proved.
|
|
184
|
+
*
|
|
185
|
+
* It used to live in `onConnect` and re-parse `?token=` off the query
|
|
186
|
+
* string — a second, unauthenticated decode, so the roster would show
|
|
187
|
+
* whoever the client claimed to be even once `onAuthenticate` started
|
|
188
|
+
* checking signatures. `connected` runs after authentication and gets
|
|
189
|
+
* the verified context, and it is the hook that pairs with
|
|
190
|
+
* `onDisconnect`: a connection that reaches one reaches the other.
|
|
191
|
+
*/
|
|
192
|
+
async connected({ documentName, socketId, context }) {
|
|
193
|
+
const ctx = context?.collab;
|
|
86
194
|
if (options.presence && ctx?.userId) {
|
|
87
195
|
presenceBySocket.set(socketId, { documentName, userId: ctx.userId });
|
|
88
196
|
await options.presence.join(documentName, {
|
|
@@ -108,13 +216,23 @@ export class YjsDriver {
|
|
|
108
216
|
// Seed each in-memory doc from the persisted state: without this hook the
|
|
109
217
|
// Hocuspocus doc starts EMPTY on every connection, so a previously saved
|
|
110
218
|
// document comes back blank to clients (and is then overwritten on save).
|
|
219
|
+
//
|
|
220
|
+
// Nothing persisted means the document is being opened for the first
|
|
221
|
+
// time — the one moment the declaration's `load` gets to say what it
|
|
222
|
+
// should contain. A document that already has state never reaches it.
|
|
223
|
+
//
|
|
224
|
+
// The RETURN TYPE is load-bearing: Hocuspocus 4 applies what this hook
|
|
225
|
+
// resolves to only when it is a `Y.Doc` or a `Uint8Array` (server line
|
|
226
|
+
// 1477), and drops anything else without a word. This used to return
|
|
227
|
+
// `{ document }` — the v1 shape — so the hook ran, read the right bytes
|
|
228
|
+
// and handed them to a branch that ignored them: every socket got the
|
|
229
|
+
// empty document the persistence fix was written to prevent, and only a
|
|
230
|
+
// test that called the hook directly could still see it "working".
|
|
111
231
|
async onLoadDocument({ documentName }) {
|
|
112
232
|
const stored = await storage.loadDocument(documentName);
|
|
113
|
-
if (stored?.state && stored.state.byteLength > 0)
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
return { document: doc };
|
|
117
|
-
}
|
|
233
|
+
if (stored?.state && stored.state.byteLength > 0)
|
|
234
|
+
return stored.state;
|
|
235
|
+
return seedDocumentOnce(documentName);
|
|
118
236
|
},
|
|
119
237
|
async onStoreDocument({ documentName, document }) {
|
|
120
238
|
// Hocuspocus swallows what this hook throws, so a storage outage was
|
|
@@ -156,7 +274,17 @@ export class YjsDriver {
|
|
|
156
274
|
debounce: options.debounce ?? 2000,
|
|
157
275
|
});
|
|
158
276
|
}
|
|
159
|
-
|
|
277
|
+
/**
|
|
278
|
+
* The live document, or `undefined` when this process has none open.
|
|
279
|
+
*
|
|
280
|
+
* Public because the alternative was worse: apps that have to merge an
|
|
281
|
+
* external change into what people are currently typing were reaching
|
|
282
|
+
* `hocuspocus.documents` through a cast on a private field, and a private
|
|
283
|
+
* name that a consumer depends on is a public name with none of the
|
|
284
|
+
* guarantees. Reach it through `manager.withLiveDocument` rather than the
|
|
285
|
+
* driver — see {@link LiveDocumentDriver}.
|
|
286
|
+
*/
|
|
287
|
+
liveDocument(name) {
|
|
160
288
|
// The Hocuspocus document extends Y.Doc directly.
|
|
161
289
|
return this.hocuspocus.documents.get(name);
|
|
162
290
|
}
|
|
@@ -168,7 +296,7 @@ export class YjsDriver {
|
|
|
168
296
|
return doc;
|
|
169
297
|
}
|
|
170
298
|
async ensureDoc(name) {
|
|
171
|
-
const existing = this.
|
|
299
|
+
const existing = this.liveDocument(name);
|
|
172
300
|
if (existing)
|
|
173
301
|
return existing;
|
|
174
302
|
const stored = await this.storage.loadDocument(name);
|
|
@@ -209,7 +337,7 @@ export class YjsDriver {
|
|
|
209
337
|
});
|
|
210
338
|
}
|
|
211
339
|
async getDocumentState(docName) {
|
|
212
|
-
const live = this.
|
|
340
|
+
const live = this.liveDocument(docName);
|
|
213
341
|
if (live) {
|
|
214
342
|
return Y.encodeStateAsUpdate(live);
|
|
215
343
|
}
|
|
@@ -249,7 +377,7 @@ export class YjsDriver {
|
|
|
249
377
|
async restoreVersion(docName, versionId, restoredBy) {
|
|
250
378
|
// Resolve the target first: a missing version must fail before anything
|
|
251
379
|
// is written, so a bad id never lands a spurious version in the history.
|
|
252
|
-
const state = await this.
|
|
380
|
+
const state = await this.getVersionState(docName, versionId);
|
|
253
381
|
const restoredDoc = this.hydrate(state);
|
|
254
382
|
const live = await this.ensureDoc(docName);
|
|
255
383
|
const existing = await this.storage.listVersions(docName);
|
|
@@ -264,14 +392,15 @@ export class YjsDriver {
|
|
|
264
392
|
}
|
|
265
393
|
async diffVersions(docName, aId, bId) {
|
|
266
394
|
const [aState, bState] = await Promise.all([
|
|
267
|
-
this.
|
|
268
|
-
this.
|
|
395
|
+
this.getVersionState(docName, aId),
|
|
396
|
+
this.getVersionState(docName, bId),
|
|
269
397
|
]);
|
|
270
398
|
const textA = tiptapJsonToText(safeTiptapFromYdoc(this.hydrate(aState)));
|
|
271
399
|
const textB = tiptapJsonToText(safeTiptapFromYdoc(this.hydrate(bState)));
|
|
272
400
|
return lineDiff(textA, textB);
|
|
273
401
|
}
|
|
274
|
-
|
|
402
|
+
/** Binary state stored for a version. Throws when the id is unknown. */
|
|
403
|
+
async getVersionState(docName, versionId) {
|
|
275
404
|
const persisted = await this.storage.loadVersionSnapshot(docName, versionId);
|
|
276
405
|
if (!persisted)
|
|
277
406
|
throw new Error(`Version ${versionId} not found`);
|
|
@@ -290,6 +419,28 @@ export class YjsDriver {
|
|
|
290
419
|
}
|
|
291
420
|
}
|
|
292
421
|
/* ───────────────────────── local helpers ───────────────────────── */
|
|
422
|
+
/**
|
|
423
|
+
* Normalises what a declaration's `load` returned into a Yjs update.
|
|
424
|
+
*
|
|
425
|
+
* A `Uint8Array` is already one. Everything else is taken as the `Y.Doc` the
|
|
426
|
+
* type allows and encoded — deliberately without an `instanceof Y.Doc` check
|
|
427
|
+
* on the way, because an app that ends up with a second copy of `yjs` in its
|
|
428
|
+
* tree (a transformer pinned to another minor) produces documents that fail
|
|
429
|
+
* `instanceof` while encoding perfectly well, and a failed check here would
|
|
430
|
+
* silently seed nothing at all.
|
|
431
|
+
*
|
|
432
|
+
* A zero-byte update is treated as no seed: applying it is a no-op, and
|
|
433
|
+
* persisting it would tell every later connection that this document has
|
|
434
|
+
* already been seeded. An *empty document* is not the same thing — it encodes
|
|
435
|
+
* to a real (2-byte) update and does count as seeded, which is why `load`
|
|
436
|
+
* returns `null` for "there is nothing", not an empty doc.
|
|
437
|
+
*/
|
|
438
|
+
function seedUpdate(seed) {
|
|
439
|
+
if (!seed)
|
|
440
|
+
return undefined;
|
|
441
|
+
const update = seed instanceof Uint8Array ? seed : Y.encodeStateAsUpdate(seed);
|
|
442
|
+
return update.byteLength > 0 ? update : undefined;
|
|
443
|
+
}
|
|
293
444
|
function safeTiptapFromYdoc(doc) {
|
|
294
445
|
try {
|
|
295
446
|
return TiptapTransformer.fromYdoc(doc);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yjs_driver.js","sourceRoot":"","sources":["../../../../src/drivers/yjs/yjs_driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yjs_driver.js","sourceRoot":"","sources":["../../../../src/drivers/yjs/yjs_driver.ts"],"names":[],"mappings":"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"}
|
package/dist/src/http/types.d.ts
CHANGED
|
@@ -23,15 +23,22 @@ export interface CollabHttpContext {
|
|
|
23
23
|
header(name: string, value: string): unknown;
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
|
-
* Present when @adonisjs/auth
|
|
27
|
-
*
|
|
28
|
-
* `
|
|
26
|
+
* Present when @adonisjs/auth (or a compatible stack) is installed.
|
|
27
|
+
*
|
|
28
|
+
* `user` is only populated once the guard actually ran, so the default
|
|
29
|
+
* resolver calls `check()` (or `authenticate()`) itself before reading it —
|
|
30
|
+
* and then falls back to `getUser()`/`getUserOrFail()`, because a guard may
|
|
31
|
+
* resolve the user on demand and never populate `user` at all (authkit).
|
|
29
32
|
*/
|
|
30
33
|
auth?: {
|
|
31
34
|
user?: unknown;
|
|
32
35
|
isAuthenticated?: boolean;
|
|
33
36
|
check?(): Promise<boolean>;
|
|
34
37
|
authenticate?(): Promise<unknown>;
|
|
38
|
+
/** On-demand resolution; absence is reported by returning nothing. */
|
|
39
|
+
getUser?(): unknown;
|
|
40
|
+
/** On-demand resolution; absence is reported by throwing. */
|
|
41
|
+
getUserOrFail?(): unknown;
|
|
35
42
|
};
|
|
36
43
|
}
|
|
37
44
|
/** Authenticated user resolved by the token endpoint. */
|
|
@@ -68,6 +75,17 @@ export interface CollabManagerLike {
|
|
|
68
75
|
avatarUrl?: string | null;
|
|
69
76
|
};
|
|
70
77
|
}, docName: string): Promise<CollabPermission>;
|
|
78
|
+
/**
|
|
79
|
+
* The key this app signs collaboration tokens with — the same one the
|
|
80
|
+
* WebSocket handshake verifies against.
|
|
81
|
+
*
|
|
82
|
+
* Asked of the manager for the same reason `authorize` is: both ends of the
|
|
83
|
+
* credential have to resolve it identically, and a route that resolved it
|
|
84
|
+
* on its own would eventually sign with a key the driver does not accept —
|
|
85
|
+
* which shows up as every handshake failing, with nothing in the logs
|
|
86
|
+
* naming the cause.
|
|
87
|
+
*/
|
|
88
|
+
tokenSecret?(): Promise<string>;
|
|
71
89
|
getDocumentState(options: {
|
|
72
90
|
docName: string;
|
|
73
91
|
}): Promise<Uint8Array>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/http/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE;QACP,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,GAAG,IAAI,WAAW,GAAG,SAAS,CAAC;QAC/B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KAC1C,CAAC;IACF,QAAQ,EAAE;QACR,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAA;SAAE,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;QAChC,SAAS,IAAI,OAAO,CAAC;QACrB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;KAC9C,CAAC;IACF
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/http/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/http/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/http/types.ts"],"names":[],"mappings":"AAsDA,8DAA8D;AAC9D,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAO,GAAG,iBAAiB;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
export { configure } from '../configure.js';
|
|
2
|
-
export { type
|
|
2
|
+
export { type CollabTokenSecret, CollabTokenSecretMissingError, resolveTokenSecret, } from './auth/secret.js';
|
|
3
|
+
export { type AuthorizeFn, buildWsUrl, COLLAB_TOKEN_TTL_SECONDS, CollabAuthorizationError, CollabForbiddenError, type CollabTokenPayload, type IssuedToken, issueToken, PARTYKIT_TOKEN_TTL_SECONDS, signCollabToken, signPartyKitToken, type TokenIssuerConfig, tokenContext, verifyCollabToken, verifyPartyKitToken, verifySelfHostedToken, } from './auth/token.js';
|
|
3
4
|
export { CollaborationManager } from './collaboration_manager.js';
|
|
4
5
|
export { type CollabDocumentNameFor, type CollabDocuments, type CollaborationAppConfig, type CollaborationAppConfigFor, defineConfig, type InferCollabDocumentNames, } from './define_config.js';
|
|
5
|
-
export type { CollabDocumentDeclaration, DocumentParams } from './documents.js';
|
|
6
|
-
export { defineDocument, matchDocumentPattern } from './documents.js';
|
|
6
|
+
export type { CollabDocumentDeclaration, CollabDocumentSeed, CollectionPattern, DocumentParams, } from './documents.js';
|
|
7
|
+
export { defineCollection, defineDocument, documentPatternParams, matchDocumentPattern, } from './documents.js';
|
|
8
|
+
export type { CollaborationDriver, LiveDocumentDriver, PartyKitDriverOptions, SelfHostedDriverOptions, } from './driver.js';
|
|
9
|
+
export { supportsLiveDocuments } from './driver.js';
|
|
7
10
|
export { AutomergeDriver } from './drivers/automerge/automerge_driver.js';
|
|
8
11
|
export { PartyKitDriver, PartyKitRoomError, } from './drivers/partykit/partykit_driver.js';
|
|
9
12
|
export { YjsDriver } from './drivers/yjs/yjs_driver.js';
|
|
10
13
|
export type { CollabHttpContext, CollabManagerLike, CollabRoutesRuntime, CollabRouteUser, ResolveUserFn, } from './http/types.js';
|
|
11
14
|
export { CollabUnauthorizedError } from './http/types.js';
|
|
12
|
-
export { COLLAB_ERROR_EVENT, type CollabErrorEvent, type CollabLogger, collaborationEvents, onCollaborationError, reportCollaborationError, setCollaborationLogger, } from './observability.js';
|
|
13
|
-
export { canMutateComment, collaborationRoutes, defaultResolveUser, secretsMatch, } from './routes.js';
|
|
15
|
+
export { COLLAB_ERROR_EVENT, type CollabErrorEvent, type CollabLogger, collaborationEvents, onCollaborationError, reportCollaborationError, reportCollaborationWarning, setCollaborationLogger, } from './observability.js';
|
|
16
|
+
export { canMutateComment, collaborationRoutes, defaultResolveUser, type IssueCollaborationTokenInput, type IssueCollaborationTokenOptions, issueCollaborationToken, secretsMatch, } from './routes.js';
|
|
14
17
|
export { type PresenceMember, PresenceService, type PresenceStore, RedisPresenceStore, } from './services/presence_service.js';
|
|
15
18
|
export { FileSystemStorage } from './storage/file_system_storage.js';
|
|
16
19
|
export { InMemoryCollaborationStorage } from './storage/in_memory_storage.js';
|
|
17
20
|
export { LucidStorage, lucidStorage } from './storage/lucid_storage.js';
|
|
18
|
-
export type { CollabComment, CollabConnectionContext, CollabDiffSummary, CollaborationConfig, CollaborationEngine, CollaborationStorage, CollabPermission, CollabVersion, CommentAnchor, PartyKitConfig, PruneVersionsOptions, } from './types.js';
|
|
21
|
+
export type { CollabComment, CollabConnectionContext, CollabDiffSummary, CollaborationConfig, CollaborationEngine, CollaborationStorage, CollabPermission, CollabVersion, CommentAnchor, LiveDocumentAbsence, LiveDocumentResult, PartyKitConfig, PruneVersionsOptions, } from './types.js';
|
|
19
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,KAAK,WAAW,EAChB,UAAU,EACV,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,WAAW,EAChB,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,KAAK,iBAAiB,EACtB,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,WAAW,EAChB,UAAU,EACV,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,UAAU,EACV,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,YAAY,EACZ,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,uBAAuB,EACvB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,cAAc,EACnB,eAAe,EACf,KAAK,aAAa,EAClB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACxE,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
// Root-level export so `node ace configure @adonis-agora/collaboration`
|
|
2
2
|
// finds the hook without hitting the ./configure subpath.
|
|
3
3
|
export { configure } from '../configure.js';
|
|
4
|
-
export {
|
|
4
|
+
export { CollabTokenSecretMissingError, resolveTokenSecret, } from './auth/secret.js';
|
|
5
|
+
export { buildWsUrl, COLLAB_TOKEN_TTL_SECONDS, CollabAuthorizationError, CollabForbiddenError, issueToken, PARTYKIT_TOKEN_TTL_SECONDS, signCollabToken, signPartyKitToken, tokenContext, verifyCollabToken, verifyPartyKitToken, verifySelfHostedToken, } from './auth/token.js';
|
|
5
6
|
export { CollaborationManager } from './collaboration_manager.js';
|
|
6
7
|
export { defineConfig, } from './define_config.js';
|
|
7
|
-
export { defineDocument, matchDocumentPattern } from './documents.js';
|
|
8
|
+
export { defineCollection, defineDocument, documentPatternParams, matchDocumentPattern, } from './documents.js';
|
|
9
|
+
export { supportsLiveDocuments } from './driver.js';
|
|
8
10
|
export { AutomergeDriver } from './drivers/automerge/automerge_driver.js';
|
|
9
11
|
export { PartyKitDriver, PartyKitRoomError, } from './drivers/partykit/partykit_driver.js';
|
|
10
12
|
export { YjsDriver } from './drivers/yjs/yjs_driver.js';
|
|
11
13
|
export { CollabUnauthorizedError } from './http/types.js';
|
|
12
|
-
export { COLLAB_ERROR_EVENT, collaborationEvents, onCollaborationError, reportCollaborationError, setCollaborationLogger, } from './observability.js';
|
|
13
|
-
export { canMutateComment, collaborationRoutes, defaultResolveUser, secretsMatch, } from './routes.js';
|
|
14
|
+
export { COLLAB_ERROR_EVENT, collaborationEvents, onCollaborationError, reportCollaborationError, reportCollaborationWarning, setCollaborationLogger, } from './observability.js';
|
|
15
|
+
export { canMutateComment, collaborationRoutes, defaultResolveUser, issueCollaborationToken, secretsMatch, } from './routes.js';
|
|
14
16
|
export { PresenceService, RedisPresenceStore, } from './services/presence_service.js';
|
|
15
17
|
export { FileSystemStorage } from './storage/file_system_storage.js';
|
|
16
18
|
export { InMemoryCollaborationStorage } from './storage/in_memory_storage.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,0DAA0D;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEL,UAAU,EACV,wBAAwB,EACxB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,0DAA0D;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEL,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,UAAU,EACV,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EAGpB,UAAU,EACV,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EAEjB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAKL,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAQxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAGlB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAGlB,uBAAuB,EACvB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,eAAe,EAEf,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -22,6 +22,11 @@ import { EventEmitter } from 'node:events';
|
|
|
22
22
|
/** Minimal logger contract — satisfied by the Adonis (pino) logger. */
|
|
23
23
|
export interface CollabLogger {
|
|
24
24
|
error(mergingObject: Record<string, unknown>, message?: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Configuration warnings — something that runs, but almost certainly not
|
|
27
|
+
* as intended. Optional: without it they go to `console.warn`.
|
|
28
|
+
*/
|
|
29
|
+
warn?(mergingObject: Record<string, unknown>, message?: string): void;
|
|
25
30
|
}
|
|
26
31
|
/** What failed, and while doing what. */
|
|
27
32
|
export interface CollabErrorEvent {
|
|
@@ -47,6 +52,12 @@ export declare const collaborationEvents: EventEmitter<any>;
|
|
|
47
52
|
export declare function setCollaborationLogger(next: CollabLogger | undefined): void;
|
|
48
53
|
/** Subscribes to failures; returns an unsubscribe function. */
|
|
49
54
|
export declare function onCollaborationError(listener: (event: CollabErrorEvent) => void): () => void;
|
|
55
|
+
/**
|
|
56
|
+
* Reports a configuration warning to the logger (`warn`), else to
|
|
57
|
+
* `console.warn`. Not an error and not on the event stream: nothing failed,
|
|
58
|
+
* the config just does not say what it looks like it says. Never throws.
|
|
59
|
+
*/
|
|
60
|
+
export declare function reportCollaborationWarning(details: Record<string, unknown>, message: string): void;
|
|
50
61
|
/** Reports a failure to the logger and/or the event stream. Never throws. */
|
|
51
62
|
export declare function reportCollaborationError(event: CollabErrorEvent): void;
|
|
52
63
|
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/observability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvE;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7C,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AAExD,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,mBAAqB,CAAC;AAItD,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAE3E;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI,CAK5F;AAED,6EAA6E;AAC7E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CA8BtE"}
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/observability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtE;;;OAGG;IACH,IAAI,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvE;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7C,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AAExD,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,mBAAqB,CAAC;AAItD,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAE3E;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI,CAK5F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,MAAM,GACd,IAAI,CAWN;AAED,6EAA6E;AAC7E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CA8BtE"}
|
|
@@ -20,6 +20,24 @@ export function onCollaborationError(listener) {
|
|
|
20
20
|
collaborationEvents.off(COLLAB_ERROR_EVENT, listener);
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Reports a configuration warning to the logger (`warn`), else to
|
|
25
|
+
* `console.warn`. Not an error and not on the event stream: nothing failed,
|
|
26
|
+
* the config just does not say what it looks like it says. Never throws.
|
|
27
|
+
*/
|
|
28
|
+
export function reportCollaborationWarning(details, message) {
|
|
29
|
+
const full = `[@adonis-agora/collaboration] ${message}`;
|
|
30
|
+
if (logger?.warn) {
|
|
31
|
+
try {
|
|
32
|
+
logger.warn(details, full);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// A broken logger must not escalate a warning into a failure.
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
console.warn(full, details);
|
|
40
|
+
}
|
|
23
41
|
/** Reports a failure to the logger and/or the event stream. Never throws. */
|
|
24
42
|
export function reportCollaborationError(event) {
|
|
25
43
|
const where = event.docName ? ` for document "${event.docName}"` : '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../../src/observability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../../src/observability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6C3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAExD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,YAAY,EAAE,CAAC;AAEtD,IAAI,MAAgC,CAAC;AAErC,gFAAgF;AAChF,MAAM,UAAU,sBAAsB,CAAC,IAA8B;IACnE,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,oBAAoB,CAAC,QAA2C;IAC9E,mBAAmB,CAAC,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACrD,OAAO,GAAG,EAAE;QACV,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAgC,EAChC,OAAe;IAEf,MAAM,IAAI,GAAG,iCAAiC,OAAO,EAAE,CAAC;IACxD,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,8DAA8D;QAChE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,KAAuB;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,iCAAiC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,UAAU,KAAK,EAAE,CAAC;IAEjG,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CACV;gBACE,GAAG,EAAE,KAAK,CAAC,KAAK;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrD,EACD,OAAO,CACR,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,2DAA2D;QAC7D,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC9E,IAAI,WAAW,EAAE,CAAC;QAChB,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,uDAAuD;QACvD,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
|