@keyneom/sync-kit 0.2.0-rc.0 → 0.2.0-rc.10
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 +15 -11
- package/dist/auth/google-web/cache.d.ts +46 -0
- package/dist/auth/google-web/cache.d.ts.map +1 -0
- package/dist/auth/google-web/cache.js +111 -0
- package/dist/auth/google-web/cache.js.map +1 -0
- package/dist/sharing/appdata-identity-store.d.ts +36 -0
- package/dist/sharing/appdata-identity-store.d.ts.map +1 -0
- package/dist/sharing/appdata-identity-store.js +49 -0
- package/dist/sharing/appdata-identity-store.js.map +1 -0
- package/dist/sharing/change-detector.d.ts +40 -0
- package/dist/sharing/change-detector.d.ts.map +1 -0
- package/dist/sharing/change-detector.js +96 -0
- package/dist/sharing/change-detector.js.map +1 -0
- package/dist/sharing/checkpoint.d.ts +32 -0
- package/dist/sharing/checkpoint.d.ts.map +1 -0
- package/dist/sharing/checkpoint.js +2 -0
- package/dist/sharing/checkpoint.js.map +1 -0
- package/dist/sharing/controller.d.ts +88 -3
- package/dist/sharing/controller.d.ts.map +1 -1
- package/dist/sharing/controller.js +453 -110
- package/dist/sharing/controller.js.map +1 -1
- package/dist/sharing/index.d.ts +5 -1
- package/dist/sharing/index.d.ts.map +1 -1
- package/dist/sharing/index.js +3 -0
- package/dist/sharing/index.js.map +1 -1
- package/dist/sharing/join.d.ts +56 -0
- package/dist/sharing/join.d.ts.map +1 -0
- package/dist/sharing/join.js +153 -0
- package/dist/sharing/join.js.map +1 -0
- package/dist/sharing/lifecycle.d.ts +20 -0
- package/dist/sharing/lifecycle.d.ts.map +1 -0
- package/dist/sharing/lifecycle.js +55 -0
- package/dist/sharing/lifecycle.js.map +1 -0
- package/dist/sharing/link-exchange.d.ts +51 -0
- package/dist/sharing/link-exchange.d.ts.map +1 -0
- package/dist/sharing/link-exchange.js +131 -0
- package/dist/sharing/link-exchange.js.map +1 -0
- package/dist/sharing/migrating-identity-store.d.ts +29 -0
- package/dist/sharing/migrating-identity-store.d.ts.map +1 -0
- package/dist/sharing/migrating-identity-store.js +37 -0
- package/dist/sharing/migrating-identity-store.js.map +1 -0
- package/dist/sharing/registry-indexeddb.d.ts +21 -0
- package/dist/sharing/registry-indexeddb.d.ts.map +1 -0
- package/dist/sharing/registry-indexeddb.js +60 -0
- package/dist/sharing/registry-indexeddb.js.map +1 -0
- package/dist/sharing/transport.d.ts +12 -0
- package/dist/sharing/transport.d.ts.map +1 -1
- package/dist/stores/google-drive/app-folders.d.ts +19 -0
- package/dist/stores/google-drive/app-folders.d.ts.map +1 -0
- package/dist/stores/google-drive/app-folders.js +38 -0
- package/dist/stores/google-drive/app-folders.js.map +1 -0
- package/dist/stores/google-drive/folder-name.d.ts +16 -0
- package/dist/stores/google-drive/folder-name.d.ts.map +1 -0
- package/dist/stores/google-drive/folder-name.js +37 -0
- package/dist/stores/google-drive/folder-name.js.map +1 -0
- package/dist/stores/google-drive/index.d.ts +22 -0
- package/dist/stores/google-drive/index.d.ts.map +1 -1
- package/dist/stores/google-drive/index.js +66 -0
- package/dist/stores/google-drive/index.js.map +1 -1
- package/dist/stores/google-drive/picker.d.ts +20 -0
- package/dist/stores/google-drive/picker.d.ts.map +1 -1
- package/dist/stores/google-drive/picker.js +64 -0
- package/dist/stores/google-drive/picker.js.map +1 -1
- package/dist/stores/google-drive/sharing.d.ts +5 -1
- package/dist/stores/google-drive/sharing.d.ts.map +1 -1
- package/dist/stores/google-drive/sharing.js +113 -6
- package/dist/stores/google-drive/sharing.js.map +1 -1
- package/package.json +27 -4
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { type SharedBackupCodec, type SharingAccountBindingV1, type SharingDatasetGrantV1, type SharingInvitationV1, type SharingRole } from "./index.js";
|
|
1
|
+
import { type SharedBackupCodec, type SharingAccountBindingV1, type SharingDatasetGrantV1, type SharingInvitationV1, type SharingPublicKeyResponseV1, type SharingRole } from "./index.js";
|
|
2
|
+
import type { SharingDatasetFileV1 } from "./link-exchange.js";
|
|
2
3
|
import type { SharedBackupStorage, SharedBackupTransport, SharedDatasetFile, SharedExchangeFile } from "./transport.js";
|
|
3
4
|
import { type WebCryptoSharingIdentity } from "./web-crypto.js";
|
|
5
|
+
export { IndexedDbSharedBackupRegistry } from "./registry-indexeddb.js";
|
|
4
6
|
export type SharedBackupControllerCodec<T> = SharedBackupCodec<T> & {
|
|
5
7
|
merge(local: T, remote: T): T;
|
|
6
8
|
fingerprint(value: T): string;
|
|
@@ -29,7 +31,7 @@ export type SharedDatasetResult<T> = {
|
|
|
29
31
|
fileId: string;
|
|
30
32
|
revisionId: string;
|
|
31
33
|
value: T;
|
|
32
|
-
outcome: "created" | "loaded" | "updated" | "unchanged";
|
|
34
|
+
outcome: "created" | "adopted" | "loaded" | "updated" | "unchanged";
|
|
33
35
|
};
|
|
34
36
|
export type SharingInvitationResult = {
|
|
35
37
|
invitation: SharingInvitationV1;
|
|
@@ -50,6 +52,26 @@ export type RotatedDatasetResult = {
|
|
|
50
52
|
revisionId?: string;
|
|
51
53
|
error?: unknown;
|
|
52
54
|
};
|
|
55
|
+
export type DrivePermissionReconciliationAction = {
|
|
56
|
+
kind: "granted" | "updated";
|
|
57
|
+
keyId: string;
|
|
58
|
+
permissionId: string;
|
|
59
|
+
role: "reader" | "writer";
|
|
60
|
+
} | {
|
|
61
|
+
kind: "removed";
|
|
62
|
+
permissionId: string;
|
|
63
|
+
} | {
|
|
64
|
+
kind: "unchanged";
|
|
65
|
+
keyId: string;
|
|
66
|
+
} | {
|
|
67
|
+
kind: "skipped";
|
|
68
|
+
keyId: string;
|
|
69
|
+
reason: string;
|
|
70
|
+
};
|
|
71
|
+
export type DrivePermissionReconciliationResult = {
|
|
72
|
+
datasetId: string;
|
|
73
|
+
actions: DrivePermissionReconciliationAction[];
|
|
74
|
+
};
|
|
53
75
|
export type SharedBackupControllerOptions<T> = {
|
|
54
76
|
appId: string;
|
|
55
77
|
codec: SharedBackupControllerCodec<T>;
|
|
@@ -92,6 +114,19 @@ export declare class SharedBackupController<T> {
|
|
|
92
114
|
ensureStorage(): Promise<SharedBackupStorage>;
|
|
93
115
|
listDatasets(): Promise<SharedDatasetFile[]>;
|
|
94
116
|
createDataset(datasetId: string, value: T): Promise<SharedDatasetResult<T>>;
|
|
117
|
+
/**
|
|
118
|
+
* Reconnect to an existing dataset this identity can already decrypt —
|
|
119
|
+
* e.g. after a reinstall, or when an interrupted setup left the remote
|
|
120
|
+
* file without a local registry record. The owner key is pinned from the
|
|
121
|
+
* envelope itself (trust-on-first-use), so callers recovering their own
|
|
122
|
+
* dataset should pass `requireOwned` to insist this identity is the
|
|
123
|
+
* dataset's owner.
|
|
124
|
+
*/
|
|
125
|
+
adoptDataset(datasetId: string, options?: {
|
|
126
|
+
requireOwned?: boolean;
|
|
127
|
+
}): Promise<SharedDatasetResult<T>>;
|
|
128
|
+
/** Delete a dataset file from the transport and forget its local record. */
|
|
129
|
+
deleteDataset(datasetId: string): Promise<void>;
|
|
95
130
|
loadDataset(datasetId: string): Promise<SharedDatasetResult<T>>;
|
|
96
131
|
syncDataset(datasetId: string, localValue: T): Promise<SharedDatasetResult<T>>;
|
|
97
132
|
inviteParticipant(input: {
|
|
@@ -100,6 +135,11 @@ export declare class SharedBackupController<T> {
|
|
|
100
135
|
expiresAt?: string;
|
|
101
136
|
sendNotificationEmail?: boolean;
|
|
102
137
|
emailMessage?: string;
|
|
138
|
+
/** Consumer landing URL; folder ID is appended before the Drive notification. */
|
|
139
|
+
joinLandingUrl?: string;
|
|
140
|
+
/** Fully built join URL; must already include the app folder ID when used. */
|
|
141
|
+
joinUrl?: string;
|
|
142
|
+
appDisplayName?: string;
|
|
103
143
|
}): Promise<SharingInvitationResult>;
|
|
104
144
|
listExchanges(options?: {
|
|
105
145
|
exchangeId?: string;
|
|
@@ -114,6 +154,46 @@ export declare class SharedBackupController<T> {
|
|
|
114
154
|
responseFileId: string;
|
|
115
155
|
recipientEmailAddress: string;
|
|
116
156
|
}): Promise<AcceptedDatasetResult[]>;
|
|
157
|
+
/**
|
|
158
|
+
* Applies verified acceptance grants to each dataset: add the participant,
|
|
159
|
+
* re-encrypt, write, and per-email-share the dataset file. Shared by the
|
|
160
|
+
* Drive-file accept path and the link-payload accept path.
|
|
161
|
+
*/
|
|
162
|
+
private applyAcceptedGrants;
|
|
163
|
+
/**
|
|
164
|
+
* Owner side of the link-carried exchange. Shares each granted dataset file
|
|
165
|
+
* with the recipient's email (so it lands in their Picker) and returns the
|
|
166
|
+
* signed invitation plus the file list to embed in the join link. Unlike
|
|
167
|
+
* {@link inviteParticipant} it writes no Drive `exchanges/` invitation file.
|
|
168
|
+
*/
|
|
169
|
+
inviteParticipantForLink(input: {
|
|
170
|
+
emailAddress: string;
|
|
171
|
+
requestedGrants: SharingDatasetGrantV1[];
|
|
172
|
+
expiresAt?: string;
|
|
173
|
+
}): Promise<{
|
|
174
|
+
invitation: SharingInvitationV1;
|
|
175
|
+
files: SharingDatasetFileV1[];
|
|
176
|
+
}>;
|
|
177
|
+
/**
|
|
178
|
+
* Recipient side of the link-carried exchange. Verifies the invitation carried
|
|
179
|
+
* in the join link, registers the granted datasets with their file ids (so
|
|
180
|
+
* later reads/writes resolve without listing the owner's folder), and returns
|
|
181
|
+
* a signed key response to send back to the owner. Reads/writes no Drive
|
|
182
|
+
* `exchanges/` file.
|
|
183
|
+
*/
|
|
184
|
+
submitKeyResponseFromInvitation(invitation: SharingInvitationV1, datasetFiles: SharingDatasetFileV1[]): Promise<SharingPublicKeyResponseV1>;
|
|
185
|
+
/**
|
|
186
|
+
* Owner side. Accepts a key response carried in a response link (no Drive
|
|
187
|
+
* `exchanges/` read), adds the recipient to each granted dataset, and
|
|
188
|
+
* per-email shares the dataset files (re-affirming the invite-time share).
|
|
189
|
+
* The invitation must be supplied by the caller (persisted at invite time,
|
|
190
|
+
* keyed by exchange id).
|
|
191
|
+
*/
|
|
192
|
+
acceptKeyResponseFromPayload(input: {
|
|
193
|
+
invitation: SharingInvitationV1;
|
|
194
|
+
response: SharingPublicKeyResponseV1;
|
|
195
|
+
recipientEmailAddress: string;
|
|
196
|
+
}): Promise<AcceptedDatasetResult[]>;
|
|
117
197
|
setDatasetRole(input: {
|
|
118
198
|
datasetId: string;
|
|
119
199
|
keyId: string;
|
|
@@ -123,9 +203,14 @@ export declare class SharedBackupController<T> {
|
|
|
123
203
|
revokeDatasetKey(input: {
|
|
124
204
|
datasetId: string;
|
|
125
205
|
keyId: string;
|
|
206
|
+
emailAddress?: string;
|
|
126
207
|
}): Promise<SharedDatasetResult<T>>;
|
|
208
|
+
private findDirectDatasetPermission;
|
|
127
209
|
rotateLocalKey(replacementIdentity: WebCryptoSharingIdentity, datasetIds: string[]): Promise<RotatedDatasetResult[]>;
|
|
128
|
-
|
|
210
|
+
reconcileDrivePermissions(input: {
|
|
211
|
+
datasetId: string;
|
|
212
|
+
participantEmails: Record<string, string>;
|
|
213
|
+
}): Promise<DrivePermissionReconciliationResult>;
|
|
129
214
|
private readDatasetById;
|
|
130
215
|
private requiredRegistry;
|
|
131
216
|
private verifyHead;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/sharing/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,iBAAiB,EAEtB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/sharing/controller.ts"],"names":[],"mappings":"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"}
|