@anodb/core 0.7.1 → 0.10.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/PROTOCOL.md +30 -7
- package/README.md +82 -40
- package/dist/anodb.d.ts +1 -27
- package/dist/anodb.js +2 -151
- package/dist/anodb.js.map +1 -1
- package/dist/blob.d.ts +3 -3
- package/dist/blob.js +1 -1
- package/dist/blob.js.map +1 -1
- package/dist/cli/init.js +5 -2
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/main.js +0 -0
- package/dist/crypto.d.ts +2 -2
- package/dist/crypto.js +2 -2
- package/dist/crypto.js.map +1 -1
- package/dist/db.d.ts +9 -10
- package/dist/db.js +28 -33
- package/dist/db.js.map +1 -1
- package/dist/defaults.d.ts +3 -2
- package/dist/defaults.js +7 -5
- package/dist/defaults.js.map +1 -1
- package/dist/drivers/browser.d.ts +2 -1
- package/dist/drivers/browser.js +4 -1
- package/dist/drivers/browser.js.map +1 -1
- package/dist/index.d.ts +4 -7
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/kysely.d.ts +10 -5
- package/dist/kysely.js +3 -2
- package/dist/kysely.js.map +1 -1
- package/dist/links.d.ts +8 -0
- package/dist/links.js +16 -0
- package/dist/links.js.map +1 -0
- package/dist/policy.d.ts +16 -0
- package/dist/policy.js +29 -0
- package/dist/policy.js.map +1 -0
- package/dist/react.d.ts +3 -2
- package/dist/react.js +3 -1
- package/dist/react.js.map +1 -1
- package/dist/result-types.d.ts +13 -0
- package/dist/result-types.js +157 -0
- package/dist/result-types.js.map +1 -0
- package/dist/schema.d.ts +19 -2
- package/dist/schema.js +36 -5
- package/dist/schema.js.map +1 -1
- package/dist/sharing.d.ts +18 -23
- package/dist/sharing.js +56 -99
- package/dist/sharing.js.map +1 -1
- package/dist/store.d.ts +8 -30
- package/dist/store.js +35 -86
- package/dist/store.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/ui.d.ts +131 -0
- package/dist/ui.js +361 -0
- package/dist/ui.js.map +1 -0
- package/docs/DECISIONS.md +5 -0
- package/docs/DESIGN.md +4 -18
- package/package.json +3 -2
package/dist/store.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { decodeHlc } from './hlc.js';
|
|
2
|
-
import {
|
|
3
|
-
import { SYS_CREATED, SYS_DELETED, createTableSql, quoteIdent, tableFingerprint, toSql } from './schema.js';
|
|
2
|
+
import { SYS_CREATED, SYS_DELETED, createTableSql, ownerOfRow, quoteIdent, tableFingerprint, toSql } from './schema.js';
|
|
4
3
|
const INTERNAL_SCHEMA = `
|
|
5
4
|
CREATE TABLE IF NOT EXISTS anodb_meta (key TEXT PRIMARY KEY, value TEXT NOT NULL);
|
|
6
5
|
CREATE TABLE IF NOT EXISTS anodb_spaces (
|
|
@@ -21,11 +20,9 @@ CREATE TABLE IF NOT EXISTS anodb_prune (event_id TEXT PRIMARY KEY, salt TEXT NOT
|
|
|
21
20
|
CREATE TABLE IF NOT EXISTS anodb_devices (
|
|
22
21
|
device TEXT PRIMARY KEY, identity TEXT NOT NULL, delegation TEXT NOT NULL, name TEXT NOT NULL, revoked INTEGER NOT NULL DEFAULT 0
|
|
23
22
|
);
|
|
24
|
-
|
|
23
|
+
DROP TABLE IF EXISTS anodb_invites_out;
|
|
25
24
|
CREATE TABLE IF NOT EXISTS anodb_invites_in (space TEXT PRIMARY KEY, sender TEXT NOT NULL, role TEXT NOT NULL, name TEXT NOT NULL, payload TEXT NOT NULL, status TEXT NOT NULL, received_at INTEGER NOT NULL);
|
|
26
|
-
|
|
27
|
-
id TEXT PRIMARY KEY, secret TEXT NOT NULL, identity TEXT NOT NULL, payload TEXT NOT NULL, status TEXT NOT NULL, received_at INTEGER NOT NULL
|
|
28
|
-
);
|
|
25
|
+
DROP TABLE IF EXISTS anodb_join_requests;
|
|
29
26
|
CREATE TABLE IF NOT EXISTS anodb_cells (
|
|
30
27
|
space TEXT NOT NULL, tbl TEXT NOT NULL, row_id TEXT NOT NULL, col TEXT NOT NULL, value TEXT NOT NULL, hlc TEXT NOT NULL,
|
|
31
28
|
PRIMARY KEY (space, tbl, row_id, col)
|
|
@@ -38,10 +35,7 @@ CREATE TABLE IF NOT EXISTS anodb_acks (
|
|
|
38
35
|
PRIMARY KEY (event_id, relay)
|
|
39
36
|
) WITHOUT ROWID;
|
|
40
37
|
CREATE TABLE IF NOT EXISTS anodb_cursors (relay TEXT NOT NULL, tag TEXT NOT NULL, since INTEGER NOT NULL, PRIMARY KEY (relay, tag)) WITHOUT ROWID;
|
|
41
|
-
|
|
42
|
-
pubkey TEXT NOT NULL, kind INTEGER NOT NULL, event TEXT NOT NULL, created_at INTEGER NOT NULL, fetched_at INTEGER NOT NULL,
|
|
43
|
-
PRIMARY KEY (pubkey, kind)
|
|
44
|
-
) WITHOUT ROWID;
|
|
38
|
+
DROP TABLE IF EXISTS anodb_public;
|
|
45
39
|
`;
|
|
46
40
|
/**
|
|
47
41
|
* Local persistence. `anodb_cells` holds one LWW register per (space, table, row, column);
|
|
@@ -77,6 +71,8 @@ export class Store {
|
|
|
77
71
|
this.#ensureColumn('anodb_raw', 'relay', 'INTEGER NOT NULL DEFAULT 1');
|
|
78
72
|
this.#ensureColumn('anodb_outbox', 'hold_until', 'INTEGER NOT NULL DEFAULT 0');
|
|
79
73
|
this.#ensureColumn('anodb_messages', 'inner', "TEXT NOT NULL DEFAULT ''");
|
|
74
|
+
// identity whose signed change set the cell (null for cells from older versions)
|
|
75
|
+
this.#ensureColumn('anodb_cells', 'by', 'TEXT');
|
|
80
76
|
}
|
|
81
77
|
/** Add a column created by a newer version (CREATE TABLE IF NOT EXISTS does not alter tables). */
|
|
82
78
|
#ensureColumn(table, column, ddl) {
|
|
@@ -128,18 +124,16 @@ export class Store {
|
|
|
128
124
|
return n;
|
|
129
125
|
}
|
|
130
126
|
// ---- schema / projections ------------------------------------------------
|
|
131
|
-
applySchema(schema, defaultSpace) {
|
|
127
|
+
applySchema(schema, defaultSpace, owner) {
|
|
132
128
|
this.#schema = schema;
|
|
133
129
|
this.transaction(() => {
|
|
134
130
|
for (const [table, def] of Object.entries(schema)) {
|
|
135
|
-
const
|
|
136
|
-
const space = preset ? PUBLIC_SPACE : defaultSpace;
|
|
137
|
-
const fp = `${tableFingerprint(def)}|${space}|${preset ? preset.kind : ''}`;
|
|
131
|
+
const fp = `${tableFingerprint(def)}|${defaultSpace}|${owner ?? ''}`;
|
|
138
132
|
const key = `schema:${table}`;
|
|
139
133
|
if (this.getMeta(key) === fp)
|
|
140
134
|
continue;
|
|
141
135
|
this.#db.exec(`DROP TABLE IF EXISTS ${quoteIdent(table)}`);
|
|
142
|
-
this.#db.exec(createTableSql(table, def,
|
|
136
|
+
this.#db.exec(createTableSql(table, def, defaultSpace, owner));
|
|
143
137
|
const rows = this.#db.all('SELECT DISTINCT space, row_id FROM anodb_cells WHERE tbl = ?', [table]);
|
|
144
138
|
for (const r of rows)
|
|
145
139
|
this.#project(r.space, table, r.row_id);
|
|
@@ -147,15 +141,21 @@ export class Store {
|
|
|
147
141
|
}
|
|
148
142
|
});
|
|
149
143
|
}
|
|
150
|
-
/**
|
|
151
|
-
|
|
144
|
+
/**
|
|
145
|
+
* LWW merge. `by` is the identity that signed the changes (a snapshot cell may carry its own as a
|
|
146
|
+
* 6th element). Returns tables whose visible state may have changed. Run inside `transaction`.
|
|
147
|
+
*/
|
|
148
|
+
applyChanges(space, changes, by) {
|
|
152
149
|
const dirty = new Map();
|
|
153
|
-
for (const
|
|
150
|
+
for (const c of changes) {
|
|
151
|
+
const [table, rowId, column, value, hlc] = c;
|
|
152
|
+
const cellBy = c[5];
|
|
153
|
+
const writer = typeof cellBy === 'string' && /^[0-9a-f]{64}$/.test(cellBy) ? cellBy : (by ?? null);
|
|
154
154
|
const current = this.#db.all('SELECT hlc FROM anodb_cells WHERE space = ? AND tbl = ? AND row_id = ? AND col = ?', [space, table, rowId, column])[0];
|
|
155
155
|
if (current && current.hlc >= hlc)
|
|
156
156
|
continue;
|
|
157
|
-
this.#db.run(`INSERT INTO anodb_cells (space, tbl, row_id, col, value, hlc) VALUES (?, ?, ?, ?, ?, ?)
|
|
158
|
-
ON CONFLICT(space, tbl, row_id, col) DO UPDATE SET value = excluded.value, hlc = excluded.hlc`, [space, table, rowId, column, JSON.stringify(value ?? null), hlc]);
|
|
157
|
+
this.#db.run(`INSERT INTO anodb_cells (space, tbl, row_id, col, value, hlc, by) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
158
|
+
ON CONFLICT(space, tbl, row_id, col) DO UPDATE SET value = excluded.value, hlc = excluded.hlc, by = excluded.by`, [space, table, rowId, column, JSON.stringify(value ?? null), hlc, writer]);
|
|
159
159
|
let rows = dirty.get(table);
|
|
160
160
|
if (!rows)
|
|
161
161
|
dirty.set(table, (rows = new Set()));
|
|
@@ -167,11 +167,11 @@ export class Store {
|
|
|
167
167
|
}
|
|
168
168
|
return new Set(dirty.keys());
|
|
169
169
|
}
|
|
170
|
-
/** All current cells of a space (for snapshots). */
|
|
170
|
+
/** All current cells of a space (for snapshots), with the signing identity as a 6th element when known. */
|
|
171
171
|
cells(space) {
|
|
172
172
|
return this.#db
|
|
173
|
-
.all('SELECT tbl, row_id, col, value, hlc FROM anodb_cells WHERE space = ? ORDER BY tbl, row_id, col', [space])
|
|
174
|
-
.map((c) => [c.tbl, c.row_id, c.col, JSON.parse(c.value), c.hlc]);
|
|
173
|
+
.all('SELECT tbl, row_id, col, value, hlc, by FROM anodb_cells WHERE space = ? ORDER BY tbl, row_id, col', [space])
|
|
174
|
+
.map((c) => (c.by ? [c.tbl, c.row_id, c.col, JSON.parse(c.value), c.hlc, c.by] : [c.tbl, c.row_id, c.col, JSON.parse(c.value), c.hlc]));
|
|
175
175
|
}
|
|
176
176
|
/** Drop all cells of a space and its projected rows. Run inside `transaction`. */
|
|
177
177
|
clearSpace(space) {
|
|
@@ -186,15 +186,21 @@ export class Store {
|
|
|
186
186
|
const def = this.#schema[table];
|
|
187
187
|
if (!def)
|
|
188
188
|
return; // kept in cells; projected once the schema knows the table
|
|
189
|
-
const cells = this.#db.all('SELECT col, value, hlc FROM anodb_cells WHERE space = ? AND tbl = ? AND row_id = ?', [space, table, rowId]);
|
|
189
|
+
const cells = this.#db.all('SELECT col, value, hlc, by FROM anodb_cells WHERE space = ? AND tbl = ? AND row_id = ?', [space, table, rowId]);
|
|
190
190
|
const values = new Map();
|
|
191
191
|
let maxHlc = '';
|
|
192
|
+
let updatedBy = null;
|
|
192
193
|
for (const c of cells) {
|
|
193
194
|
values.set(c.col, JSON.parse(c.value));
|
|
194
|
-
if (c.hlc > maxHlc)
|
|
195
|
+
if (c.hlc > maxHlc) {
|
|
195
196
|
maxHlc = c.hlc;
|
|
197
|
+
updatedBy = c.by;
|
|
198
|
+
}
|
|
196
199
|
}
|
|
197
|
-
|
|
200
|
+
// A row whose id names its creator exists only once that creator created it (others may not
|
|
201
|
+
// write its $createdAt), so edits to a plain table cannot conjure a row in someone else's name.
|
|
202
|
+
const unborn = ownerOfRow(rowId) !== null && !values.has(SYS_CREATED);
|
|
203
|
+
if (values.get(SYS_DELETED) === true || cells.length === 0 || unborn) {
|
|
198
204
|
this.#db.run(`DELETE FROM ${quoteIdent(table)} WHERE space = ? AND id = ?`, [space, rowId]);
|
|
199
205
|
return;
|
|
200
206
|
}
|
|
@@ -206,8 +212,10 @@ export class Store {
|
|
|
206
212
|
...cols.map((c) => toSql(def[c], values.get(c))),
|
|
207
213
|
typeof created === 'number' ? created : null,
|
|
208
214
|
decodeHlc(maxHlc).millis,
|
|
215
|
+
ownerOfRow(rowId),
|
|
216
|
+
updatedBy,
|
|
209
217
|
];
|
|
210
|
-
const names = ['space', 'id', ...cols, 'createdAt', 'updatedAt'].map(quoteIdent).join(', ');
|
|
218
|
+
const names = ['space', 'id', ...cols, 'createdAt', 'updatedAt', 'createdBy', 'updatedBy'].map(quoteIdent).join(', ');
|
|
211
219
|
this.#db.run(`INSERT OR REPLACE INTO ${quoteIdent(table)} (${names}) VALUES (${params.map(() => '?').join(', ')})`, params);
|
|
212
220
|
}
|
|
213
221
|
// ---- spaces & keys -----------------------------------------------------------
|
|
@@ -281,17 +289,6 @@ export class Store {
|
|
|
281
289
|
forgetPrunable(eventId) {
|
|
282
290
|
this.#db.run('DELETE FROM anodb_prune WHERE event_id = ?', [eventId]);
|
|
283
291
|
}
|
|
284
|
-
// ---- public table rows ---------------------------------------------------------
|
|
285
|
-
publicRows(table, where, params) {
|
|
286
|
-
return this.#db.all(`SELECT * FROM ${quoteIdent(table)} WHERE space = '${PUBLIC_SPACE}' AND ${where}`, params);
|
|
287
|
-
}
|
|
288
|
-
putPublicRow(table, row) {
|
|
289
|
-
const cols = Object.keys(row);
|
|
290
|
-
this.#db.run(`INSERT OR REPLACE INTO ${quoteIdent(table)} (space, ${cols.map(quoteIdent).join(', ')}) VALUES ('${PUBLIC_SPACE}', ${cols.map(() => '?').join(', ')})`, cols.map((c) => row[c] ?? null));
|
|
291
|
-
}
|
|
292
|
-
deletePublicRows(table, where, params) {
|
|
293
|
-
this.#db.run(`DELETE FROM ${quoteIdent(table)} WHERE space = '${PUBLIC_SPACE}' AND ${where}`, params);
|
|
294
|
-
}
|
|
295
292
|
// ---- devices -------------------------------------------------------------------
|
|
296
293
|
putDevice(device, identity, delegation, name) {
|
|
297
294
|
this.#db.run('INSERT OR IGNORE INTO anodb_devices (device, identity, delegation, name) VALUES (?, ?, ?, ?)', [device, identity, delegation, name]);
|
|
@@ -305,17 +302,6 @@ export class Store {
|
|
|
305
302
|
.map((r) => ({ ...r, revoked: r.revoked === 1 }));
|
|
306
303
|
}
|
|
307
304
|
// ---- invitations ---------------------------------------------------------------
|
|
308
|
-
putInviteOut(secret, space, role, expires) {
|
|
309
|
-
this.#db.run('INSERT INTO anodb_invites_out (secret, space, role, expires) VALUES (?, ?, ?, ?)', [secret, space, role, expires]);
|
|
310
|
-
}
|
|
311
|
-
invitesOut() {
|
|
312
|
-
return this.#db
|
|
313
|
-
.all('SELECT secret, space, role, expires, used FROM anodb_invites_out')
|
|
314
|
-
.map((r) => ({ ...r, used: r.used === 1 }));
|
|
315
|
-
}
|
|
316
|
-
markInviteUsed(secret) {
|
|
317
|
-
this.#db.run('UPDATE anodb_invites_out SET used = 1 WHERE secret = ?', [secret]);
|
|
318
|
-
}
|
|
319
305
|
putInviteIn(space, sender, role, name, payload) {
|
|
320
306
|
this.#db.run(`INSERT INTO anodb_invites_in (space, sender, role, name, payload, status, received_at) VALUES (?, ?, ?, ?, ?, 'pending', ?)
|
|
321
307
|
ON CONFLICT(space) DO UPDATE SET sender = excluded.sender, role = excluded.role, name = excluded.name, payload = excluded.payload,
|
|
@@ -327,21 +313,6 @@ export class Store {
|
|
|
327
313
|
setInviteInStatus(space, status) {
|
|
328
314
|
this.#db.run('UPDATE anodb_invites_in SET status = ? WHERE space = ?', [status, space]);
|
|
329
315
|
}
|
|
330
|
-
putJoinRequest(id, secret, identity, payload) {
|
|
331
|
-
this.#db.run("INSERT OR IGNORE INTO anodb_join_requests (id, secret, identity, payload, status, received_at) VALUES (?, ?, ?, ?, 'pending', ?)", [
|
|
332
|
-
id,
|
|
333
|
-
secret,
|
|
334
|
-
identity,
|
|
335
|
-
payload,
|
|
336
|
-
Date.now(),
|
|
337
|
-
]);
|
|
338
|
-
}
|
|
339
|
-
joinRequests(status = 'pending') {
|
|
340
|
-
return this.#db.all('SELECT id, secret, identity, payload FROM anodb_join_requests WHERE status = ? ORDER BY received_at', [status]);
|
|
341
|
-
}
|
|
342
|
-
setJoinRequestStatus(id, status) {
|
|
343
|
-
this.#db.run('UPDATE anodb_join_requests SET status = ? WHERE id = ?', [status, id]);
|
|
344
|
-
}
|
|
345
316
|
/** Forget all spaces and data (device pairing adopts another identity). Keeps node id and clock. */
|
|
346
317
|
wipe() {
|
|
347
318
|
this.transaction(() => {
|
|
@@ -355,9 +326,7 @@ export class Store {
|
|
|
355
326
|
'anodb_acks',
|
|
356
327
|
'anodb_cursors',
|
|
357
328
|
'anodb_devices',
|
|
358
|
-
'anodb_invites_out',
|
|
359
329
|
'anodb_invites_in',
|
|
360
|
-
'anodb_join_requests',
|
|
361
330
|
]) {
|
|
362
331
|
this.#db.run(`DELETE FROM ${t}`);
|
|
363
332
|
}
|
|
@@ -457,25 +426,5 @@ export class Store {
|
|
|
457
426
|
resetCursors() {
|
|
458
427
|
this.#db.run('DELETE FROM anodb_cursors');
|
|
459
428
|
}
|
|
460
|
-
// ---- public (replaceable) event cache ---------------------------------
|
|
461
|
-
getPublic(pubkey, kind) {
|
|
462
|
-
const row = this.#db.all('SELECT event, fetched_at FROM anodb_public WHERE pubkey = ? AND kind = ?', [
|
|
463
|
-
pubkey,
|
|
464
|
-
kind,
|
|
465
|
-
])[0];
|
|
466
|
-
return row && { event: JSON.parse(row.event), fetchedAt: row.fetched_at };
|
|
467
|
-
}
|
|
468
|
-
putPublic(event, pubkey, kind, fetchedAt) {
|
|
469
|
-
const existing = this.getPublic(pubkey, kind);
|
|
470
|
-
const newer = event &&
|
|
471
|
-
(!existing || event.created_at > existing.event.created_at || (event.created_at === existing.event.created_at && event.id < existing.event.id));
|
|
472
|
-
if (newer) {
|
|
473
|
-
this.#db.run(`INSERT INTO anodb_public (pubkey, kind, event, created_at, fetched_at) VALUES (?, ?, ?, ?, ?)
|
|
474
|
-
ON CONFLICT(pubkey, kind) DO UPDATE SET event = excluded.event, created_at = excluded.created_at, fetched_at = excluded.fetched_at`, [pubkey, kind, JSON.stringify(event), event.created_at, fetchedAt]);
|
|
475
|
-
}
|
|
476
|
-
else if (existing) {
|
|
477
|
-
this.#db.run('UPDATE anodb_public SET fetched_at = ? WHERE pubkey = ? AND kind = ?', [fetchedAt, pubkey, kind]);
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
429
|
}
|
|
481
430
|
//# sourceMappingURL=store.js.map
|
package/dist/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -15,6 +15,11 @@ export interface SqliteDriver {
|
|
|
15
15
|
close(): void;
|
|
16
16
|
}
|
|
17
17
|
export type ColumnType = 'text' | 'integer' | 'real' | 'boolean' | 'json';
|
|
18
|
+
declare const JSON_TYPE: unique symbol;
|
|
19
|
+
/** A `json` column with a TypeScript type for its value: `json<{ tags: string[] }>()`. */
|
|
20
|
+
export type JsonColumn<T> = 'json' & {
|
|
21
|
+
readonly [JSON_TYPE]?: T;
|
|
22
|
+
};
|
|
18
23
|
export type TableDefinition = Readonly<Record<string, ColumnType>>;
|
|
19
24
|
export type SchemaDefinition = Readonly<Record<string, TableDefinition>>;
|
|
20
25
|
/** Overall sync state reported by `db.status`. */
|
|
@@ -43,3 +48,4 @@ export interface EventTemplate {
|
|
|
43
48
|
}
|
|
44
49
|
/** Freshness of data fetched from the network. */
|
|
45
50
|
export type FetchStatus = 'synced' | 'stale' | 'unavailable';
|
|
51
|
+
export {};
|
package/dist/ui.d.ts
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { Role } from './membership.js';
|
|
3
|
+
import type { Device, Invitation, Member } from './sharing.js';
|
|
4
|
+
import type { SpaceInfo } from './db.js';
|
|
5
|
+
/** The parts of AnoDB these components use. */
|
|
6
|
+
export interface SharingDB {
|
|
7
|
+
readonly appId: string;
|
|
8
|
+
readonly pubkey: string;
|
|
9
|
+
onChange(fn: () => void): () => void;
|
|
10
|
+
spaces(): SpaceInfo[];
|
|
11
|
+
members(space: string): Member[];
|
|
12
|
+
roleIn(space: string): Role | undefined;
|
|
13
|
+
setRole(space: string, who: string, role: Exclude<Role, 'owner'>): Promise<void>;
|
|
14
|
+
removeMember(space: string, who: string): Promise<void>;
|
|
15
|
+
addMember(space: string, who: string, role: Exclude<Role, 'owner'>): Promise<void>;
|
|
16
|
+
invitations(): Invitation[];
|
|
17
|
+
acceptInvitation(space: string): Promise<void>;
|
|
18
|
+
declineInvitation(space: string): void;
|
|
19
|
+
devices(): Device[];
|
|
20
|
+
startPairing(): Promise<{
|
|
21
|
+
uri: string;
|
|
22
|
+
code: string;
|
|
23
|
+
done: Promise<void>;
|
|
24
|
+
}>;
|
|
25
|
+
parsePairing(uri: string): {
|
|
26
|
+
device: string;
|
|
27
|
+
code: string;
|
|
28
|
+
approve(name?: string): Promise<void>;
|
|
29
|
+
};
|
|
30
|
+
revokeDevice(device: string): Promise<void>;
|
|
31
|
+
close(): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
export type Lang = 'en' | 'ja';
|
|
34
|
+
declare const en: {
|
|
35
|
+
addDevice: string;
|
|
36
|
+
addDeviceHint: string;
|
|
37
|
+
pairingLink: string;
|
|
38
|
+
check: string;
|
|
39
|
+
compare: string;
|
|
40
|
+
deviceName: string;
|
|
41
|
+
approve: string;
|
|
42
|
+
cancel: string;
|
|
43
|
+
approved: string;
|
|
44
|
+
newDevice: string;
|
|
45
|
+
newDeviceHint: string;
|
|
46
|
+
showQr: string;
|
|
47
|
+
scanWithOther: string;
|
|
48
|
+
waiting: string;
|
|
49
|
+
copy: string;
|
|
50
|
+
copied: string;
|
|
51
|
+
devices: string;
|
|
52
|
+
thisDevice: string;
|
|
53
|
+
revoked: string;
|
|
54
|
+
revoke: string;
|
|
55
|
+
confirmRevoke: string;
|
|
56
|
+
role: string;
|
|
57
|
+
addMember: string;
|
|
58
|
+
add: string;
|
|
59
|
+
added: string;
|
|
60
|
+
joined: string;
|
|
61
|
+
invitations: string;
|
|
62
|
+
accept: string;
|
|
63
|
+
decline: string;
|
|
64
|
+
members: string;
|
|
65
|
+
you: string;
|
|
66
|
+
remove: string;
|
|
67
|
+
confirmRemove: string;
|
|
68
|
+
invalidLink: string;
|
|
69
|
+
};
|
|
70
|
+
export type Labels = typeof en;
|
|
71
|
+
interface CommonProps {
|
|
72
|
+
/** UI language; defaults to the browser's language (Japanese or English). */
|
|
73
|
+
lang?: Lang;
|
|
74
|
+
/** Override any text. */
|
|
75
|
+
labels?: Partial<Labels>;
|
|
76
|
+
className?: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Re-read state that has no change event of its own (members, requests, devices…): on every
|
|
80
|
+
* database change and once a second. Re-renders only when the value changes.
|
|
81
|
+
*/
|
|
82
|
+
export declare function useLive<T>(read: (db: SharingDB) => T, deps?: readonly unknown[]): T;
|
|
83
|
+
/** Wrap an `anodb://` link into an https URL of this app, so phones open it from a QR code. */
|
|
84
|
+
export declare function toAppLink(uri: string, base?: string): string;
|
|
85
|
+
/** Accepts an `anodb://…` link or an app link (`…#anodb=…`) and returns the `anodb://` link. */
|
|
86
|
+
export declare function parseAppLink(text: string): string | null;
|
|
87
|
+
/** An `anodb://<kind>` link this page was opened with (`#anodb=…`), and a way to clear it. */
|
|
88
|
+
export declare function useIncomingLink(kind: 'pair'): [string | null, () => void];
|
|
89
|
+
/** QR code as SVG (dark modules use `currentColor`). */
|
|
90
|
+
export declare function QRCode(props: {
|
|
91
|
+
value: string;
|
|
92
|
+
size?: number;
|
|
93
|
+
className?: string;
|
|
94
|
+
title?: string;
|
|
95
|
+
}): import("react").JSX.Element;
|
|
96
|
+
export interface PairDeviceProps extends CommonProps {
|
|
97
|
+
/** Which parts to show. Default both. */
|
|
98
|
+
mode?: 'both' | 'approve' | 'new-device';
|
|
99
|
+
/** After this device was added to another identity. Default: close the database and reload the page. */
|
|
100
|
+
onPaired?: () => void;
|
|
101
|
+
/** Base URL for links and QR codes (default: this page). */
|
|
102
|
+
linkBase?: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Add a device to your identity. On the existing device: scan or paste the new device's link,
|
|
106
|
+
* compare the code, approve. On the new device: show the QR code and wait.
|
|
107
|
+
*/
|
|
108
|
+
export declare function PairDevice(props: PairDeviceProps): import("react").JSX.Element;
|
|
109
|
+
/** Your devices, with a revoke button for each other device. */
|
|
110
|
+
export declare function DeviceList(props: CommonProps): import("react").JSX.Element;
|
|
111
|
+
export interface AddMemberProps extends CommonProps {
|
|
112
|
+
space: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Add someone to a space by npub (owners / admins). They must have published a key package
|
|
116
|
+
* (`db.publishKeyPackage()`); they then see an invitation to accept. Deciding *who* may join —
|
|
117
|
+
* links, approval, sign-in with an external provider — is left to the app or anoAuth.
|
|
118
|
+
*/
|
|
119
|
+
export declare function AddMember(props: AddMemberProps): import("react").JSX.Element | null;
|
|
120
|
+
/** Invitations sent to your npub (`db.addMember(space, npub, role)`), with accept / decline. */
|
|
121
|
+
export declare function Invitations(props: CommonProps & {
|
|
122
|
+
onJoined?: (space: string) => void;
|
|
123
|
+
}): import("react").JSX.Element | null;
|
|
124
|
+
export interface MembersProps extends CommonProps {
|
|
125
|
+
space: string;
|
|
126
|
+
/** Display name for a member (default: shortened npub, or "you"). */
|
|
127
|
+
nameOf?: (member: Member) => ReactNode;
|
|
128
|
+
}
|
|
129
|
+
/** Members of a space. Owners and admins can change roles and remove members. */
|
|
130
|
+
export declare function Members(props: MembersProps): import("react").JSX.Element;
|
|
131
|
+
export {};
|