@brass-build/client 0.4.1 → 0.5.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/AGENTS.md +124 -45
- package/CHANGELOG.md +80 -4
- package/README.md +666 -179
- package/dist/api-fetch.d.ts +8 -0
- package/dist/api-fetch.d.ts.map +1 -1
- package/dist/api-fetch.js +35 -8
- package/dist/api-fetch.js.map +1 -1
- package/dist/batched-get.d.ts +11 -0
- package/dist/batched-get.d.ts.map +1 -0
- package/dist/batched-get.js +92 -0
- package/dist/batched-get.js.map +1 -0
- package/dist/call-service.d.ts +4 -0
- package/dist/call-service.d.ts.map +1 -1
- package/dist/call-service.js +66 -3
- package/dist/call-service.js.map +1 -1
- package/dist/client.d.ts +48 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +918 -115
- package/dist/client.js.map +1 -1
- package/dist/document-checkpoints.d.ts +25 -2
- package/dist/document-checkpoints.d.ts.map +1 -1
- package/dist/document-checkpoints.js +258 -61
- package/dist/document-checkpoints.js.map +1 -1
- package/dist/document-commands.d.ts.map +1 -1
- package/dist/document-commands.js +5 -3
- package/dist/document-commands.js.map +1 -1
- package/dist/document-contents.d.ts +10 -0
- package/dist/document-contents.d.ts.map +1 -1
- package/dist/document-contents.js +23 -1
- package/dist/document-contents.js.map +1 -1
- package/dist/document-set-subscription.d.ts +56 -0
- package/dist/document-set-subscription.d.ts.map +1 -0
- package/dist/document-set-subscription.js +240 -0
- package/dist/document-set-subscription.js.map +1 -0
- package/dist/document-signals.d.ts +6 -0
- package/dist/document-signals.d.ts.map +1 -1
- package/dist/document-signals.js +31 -1
- package/dist/document-signals.js.map +1 -1
- package/dist/document-streams.d.ts +36 -2
- package/dist/document-streams.d.ts.map +1 -1
- package/dist/document-streams.js +69 -18
- package/dist/document-streams.js.map +1 -1
- package/dist/document-thumbnail-capture.d.ts +12 -2
- package/dist/document-thumbnail-capture.d.ts.map +1 -1
- package/dist/document-thumbnail-capture.js +103 -27
- package/dist/document-thumbnail-capture.js.map +1 -1
- package/dist/documents-namespace.d.ts +92 -10
- package/dist/documents-namespace.d.ts.map +1 -1
- package/dist/documents-namespace.js +285 -39
- package/dist/documents-namespace.js.map +1 -1
- package/dist/documents.d.ts +173 -8
- package/dist/documents.d.ts.map +1 -1
- package/dist/documents.js +1778 -310
- package/dist/documents.js.map +1 -1
- package/dist/errors.d.ts +3 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/fetch-retry.d.ts +1 -0
- package/dist/fetch-retry.d.ts.map +1 -1
- package/dist/fetch-retry.js +2 -0
- package/dist/fetch-retry.js.map +1 -1
- package/dist/file-choice.d.ts +2 -0
- package/dist/file-choice.d.ts.map +1 -0
- package/dist/file-choice.js +27 -0
- package/dist/file-choice.js.map +1 -0
- package/dist/guest-link.d.ts +18 -1
- package/dist/guest-link.d.ts.map +1 -1
- package/dist/guest-link.js +329 -1
- package/dist/guest-link.js.map +1 -1
- package/dist/handle-types.d.ts +67 -5
- package/dist/handle-types.d.ts.map +1 -1
- package/dist/handles.d.ts +15 -19
- package/dist/handles.d.ts.map +1 -1
- package/dist/handles.js +231 -76
- package/dist/handles.js.map +1 -1
- package/dist/hosted-ui.d.ts +61 -0
- package/dist/hosted-ui.d.ts.map +1 -1
- package/dist/hosted-ui.js +94 -42
- package/dist/hosted-ui.js.map +1 -1
- package/dist/import-contract.d.ts +74 -0
- package/dist/import-contract.d.ts.map +1 -0
- package/dist/import-contract.js +163 -0
- package/dist/import-contract.js.map +1 -0
- package/dist/import-guest.d.ts +9 -0
- package/dist/import-guest.d.ts.map +1 -0
- package/dist/import-guest.js +155 -0
- package/dist/import-guest.js.map +1 -0
- package/dist/import-report.d.ts +17 -0
- package/dist/import-report.d.ts.map +1 -0
- package/dist/import-report.js +7 -0
- package/dist/import-report.js.map +1 -0
- package/dist/importer-wait.d.ts +2 -0
- package/dist/importer-wait.d.ts.map +1 -0
- package/dist/importer-wait.js +5 -0
- package/dist/importer-wait.js.map +1 -0
- package/dist/importer.d.ts +18 -4
- package/dist/importer.d.ts.map +1 -1
- package/dist/importer.js +322 -105
- package/dist/importer.js.map +1 -1
- package/dist/in-development.d.ts +2 -0
- package/dist/in-development.d.ts.map +1 -0
- package/dist/in-development.js +10 -0
- package/dist/in-development.js.map +1 -0
- package/dist/index.d.ts +16 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -8
- package/dist/index.js.map +1 -1
- package/dist/init-keys.d.ts +1 -1
- package/dist/init-keys.d.ts.map +1 -1
- package/dist/init-keys.js +6 -1
- package/dist/init-keys.js.map +1 -1
- package/dist/input-documents.d.ts +67 -0
- package/dist/input-documents.d.ts.map +1 -0
- package/dist/input-documents.js +693 -0
- package/dist/input-documents.js.map +1 -0
- package/dist/inputs-status.d.ts +80 -0
- package/dist/inputs-status.d.ts.map +1 -0
- package/dist/inputs-status.js +460 -0
- package/dist/inputs-status.js.map +1 -0
- package/dist/inputs.d.ts +2 -0
- package/dist/inputs.d.ts.map +1 -0
- package/dist/inputs.js +793 -0
- package/dist/inputs.js.map +1 -0
- package/dist/internal.d.ts +6 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +4 -1
- package/dist/internal.js.map +1 -1
- package/dist/join-content.d.ts +33 -0
- package/dist/join-content.d.ts.map +1 -0
- package/dist/join-content.js +114 -0
- package/dist/join-content.js.map +1 -0
- package/dist/join-stamp.d.ts +3 -0
- package/dist/join-stamp.d.ts.map +1 -0
- package/dist/join-stamp.js +12 -0
- package/dist/join-stamp.js.map +1 -0
- package/dist/manifest-drift.d.ts +9 -0
- package/dist/manifest-drift.d.ts.map +1 -0
- package/dist/manifest-drift.js +46 -0
- package/dist/manifest-drift.js.map +1 -0
- package/dist/open-document.d.ts +109 -2
- package/dist/open-document.d.ts.map +1 -1
- package/dist/open-document.js +1822 -811
- package/dist/open-document.js.map +1 -1
- package/dist/page-restore.d.ts +12 -0
- package/dist/page-restore.d.ts.map +1 -0
- package/dist/page-restore.js +23 -0
- package/dist/page-restore.js.map +1 -0
- package/dist/placement.d.ts +13 -0
- package/dist/placement.d.ts.map +1 -0
- package/dist/placement.js +34 -0
- package/dist/placement.js.map +1 -0
- package/dist/presence.d.ts +1 -0
- package/dist/presence.d.ts.map +1 -1
- package/dist/presence.js +16 -4
- package/dist/presence.js.map +1 -1
- package/dist/read-only-document.d.ts +87 -0
- package/dist/read-only-document.d.ts.map +1 -0
- package/dist/read-only-document.js +4 -0
- package/dist/read-only-document.js.map +1 -0
- package/dist/record-paging.d.ts +63 -6
- package/dist/record-paging.d.ts.map +1 -1
- package/dist/record-paging.js +122 -29
- package/dist/record-paging.js.map +1 -1
- package/dist/references.d.ts +40 -0
- package/dist/references.d.ts.map +1 -0
- package/dist/references.js +135 -0
- package/dist/references.js.map +1 -0
- package/dist/request-lane.d.ts +5 -0
- package/dist/request-lane.d.ts.map +1 -0
- package/dist/request-lane.js +48 -0
- package/dist/request-lane.js.map +1 -0
- package/dist/sealed-arrow.d.ts +170 -0
- package/dist/sealed-arrow.d.ts.map +1 -0
- package/dist/sealed-arrow.js +769 -0
- package/dist/sealed-arrow.js.map +1 -0
- package/dist/sealed-cache.d.ts +21 -0
- package/dist/sealed-cache.d.ts.map +1 -0
- package/dist/sealed-cache.js +247 -0
- package/dist/sealed-cache.js.map +1 -0
- package/dist/sealed-encode.d.ts +87 -0
- package/dist/sealed-encode.d.ts.map +1 -0
- package/dist/sealed-encode.js +876 -0
- package/dist/sealed-encode.js.map +1 -0
- package/dist/sealed-handles.d.ts +45 -0
- package/dist/sealed-handles.d.ts.map +1 -0
- package/dist/sealed-handles.js +408 -0
- package/dist/sealed-handles.js.map +1 -0
- package/dist/sealed-store.d.ts +242 -0
- package/dist/sealed-store.d.ts.map +1 -0
- package/dist/sealed-store.js +1155 -0
- package/dist/sealed-store.js.map +1 -0
- package/dist/serializer.d.ts +6 -15
- package/dist/serializer.d.ts.map +1 -1
- package/dist/session-toolbar.d.ts +20 -5
- package/dist/session-toolbar.d.ts.map +1 -1
- package/dist/session-toolbar.js +419 -67
- package/dist/session-toolbar.js.map +1 -1
- package/dist/session.d.ts +38 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +562 -79
- package/dist/session.js.map +1 -1
- package/dist/sha256.d.ts +3 -0
- package/dist/sha256.d.ts.map +1 -0
- package/dist/sha256.js +74 -0
- package/dist/sha256.js.map +1 -0
- package/dist/stable-handles.d.ts +19 -0
- package/dist/stable-handles.d.ts.map +1 -0
- package/dist/stable-handles.js +193 -0
- package/dist/stable-handles.js.map +1 -0
- package/dist/staged-seal.d.ts +2 -0
- package/dist/staged-seal.d.ts.map +1 -0
- package/dist/staged-seal.js +76 -0
- package/dist/staged-seal.js.map +1 -0
- package/dist/subscriber-delivery.d.ts +8 -0
- package/dist/subscriber-delivery.d.ts.map +1 -0
- package/dist/subscriber-delivery.js +31 -0
- package/dist/subscriber-delivery.js.map +1 -0
- package/dist/tail-op-import.d.ts +10 -0
- package/dist/tail-op-import.d.ts.map +1 -0
- package/dist/tail-op-import.js +33 -0
- package/dist/tail-op-import.js.map +1 -0
- package/dist/topic-lifecycle.d.ts +6 -0
- package/dist/topic-lifecycle.d.ts.map +1 -1
- package/dist/topic-lifecycle.js +32 -2
- package/dist/topic-lifecycle.js.map +1 -1
- package/dist/trial-replace-dialog.d.ts +10 -0
- package/dist/trial-replace-dialog.d.ts.map +1 -0
- package/dist/trial-replace-dialog.js +153 -0
- package/dist/trial-replace-dialog.js.map +1 -0
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/undo.d.ts +60 -5
- package/dist/undo.d.ts.map +1 -1
- package/dist/undo.js +344 -75
- package/dist/undo.js.map +1 -1
- package/dist/version-bar.d.ts +1 -0
- package/dist/version-bar.d.ts.map +1 -1
- package/dist/version-bar.js +2 -1
- package/dist/version-bar.js.map +1 -1
- package/dist/version.d.ts +2 -2
- package/dist/version.js +1 -1
- package/dist/ws-client.d.ts +21 -0
- package/dist/ws-client.d.ts.map +1 -1
- package/dist/ws-client.js +192 -8
- package/dist/ws-client.js.map +1 -1
- package/dist/ws-frame-limit.d.ts +1 -0
- package/dist/ws-frame-limit.d.ts.map +1 -1
- package/dist/ws-frame-limit.js.map +1 -1
- package/docs/app-manifest.md +121 -17
- package/docs/custom-chrome.md +24 -16
- package/docs/hosted-ui-advanced.md +38 -6
- package/docs/imported-documents.md +104 -51
- package/docs/presence.md +16 -4
- package/docs/schemas.md +8 -5
- package/docs/services.md +6 -6
- package/docs/streams.md +139 -150
- package/docs/text-fields.md +26 -19
- package/package.json +5 -2
- package/src/api-fetch.ts +53 -3
- package/src/auth-flow.ts +1 -1
- package/src/batched-get.ts +117 -0
- package/src/call-service.ts +78 -3
- package/src/client.ts +1022 -112
- package/src/document-checkpoints.ts +307 -65
- package/src/document-commands.ts +5 -5
- package/src/document-contents.ts +27 -1
- package/src/document-set-subscription.ts +274 -0
- package/src/document-signals.ts +47 -5
- package/src/document-streams.ts +85 -16
- package/src/document-thumbnail-capture.ts +118 -32
- package/src/documents-namespace.ts +539 -84
- package/src/documents.ts +2017 -348
- package/src/errors.ts +17 -6
- package/src/fetch-retry.ts +5 -0
- package/src/file-choice.ts +26 -0
- package/src/guest-link.ts +362 -1
- package/src/handle-types.ts +73 -47
- package/src/handles.ts +253 -83
- package/src/hosted-ui.ts +211 -50
- package/src/import-contract.ts +227 -0
- package/src/import-guest.ts +193 -0
- package/src/import-report.ts +24 -0
- package/src/importer-wait.ts +4 -0
- package/src/importer.ts +386 -131
- package/src/in-development.ts +10 -0
- package/src/index.ts +76 -16
- package/src/init-keys.ts +6 -1
- package/src/input-documents.ts +819 -0
- package/src/inputs-status.ts +598 -0
- package/src/inputs.ts +1090 -0
- package/src/internal.ts +7 -0
- package/src/join-content.ts +135 -0
- package/src/join-stamp.ts +12 -0
- package/src/manifest-drift.ts +54 -0
- package/src/open-document.ts +2346 -930
- package/src/page-restore.ts +38 -0
- package/src/placement.ts +54 -0
- package/src/presence.ts +21 -5
- package/src/read-only-document.ts +133 -0
- package/src/record-paging.ts +147 -25
- package/src/references.ts +207 -0
- package/src/request-lane.ts +59 -0
- package/src/sealed-arrow.ts +843 -0
- package/src/sealed-cache.ts +267 -0
- package/src/sealed-encode.ts +1015 -0
- package/src/sealed-handles.ts +486 -0
- package/src/sealed-store.ts +1330 -0
- package/src/serializer.ts +8 -20
- package/src/session-toolbar.ts +463 -72
- package/src/session.ts +740 -99
- package/src/sha256.ts +65 -0
- package/src/stable-handles.ts +235 -0
- package/src/staged-seal.ts +90 -0
- package/src/subscriber-delivery.ts +37 -0
- package/src/tail-op-import.ts +30 -0
- package/src/topic-lifecycle.ts +38 -2
- package/src/trial-replace-dialog.ts +163 -0
- package/src/types.ts +6 -6
- package/src/undo.ts +386 -73
- package/src/version-bar.ts +5 -1
- package/src/version.ts +1 -1
- package/src/ws-client.ts +208 -16
- package/src/ws-frame-limit.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-restore.js","sourceRoot":"","sources":["../src/page-restore.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+EAA+E;AAC/E,4EAA4E;AAC5E,8EAA8E;AAC9E,2EAA2E;AAC3E,yEAAyE;AACzE,2CAA2C;AAe3C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAwB,EACxB,aAA4B;IAE5B,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,KAAK,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,aAAa,CAAC;AAChD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,SAAqB;IAClD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU;QAAE,OAAO;IAC3F,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5C,IAAK,KAAiC,CAAC,SAAS,KAAK,IAAI;YAAE,SAAS,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AcquireOrganizationResult, CreateDestinationResult } from './hosted-ui.js';
|
|
2
|
+
export interface PlacementSurfaces {
|
|
3
|
+
acquireOrganization(): Promise<AcquireOrganizationResult | null>;
|
|
4
|
+
selectCreateDestination(options?: {
|
|
5
|
+
name?: string;
|
|
6
|
+
}): Promise<CreateDestinationResult | null>;
|
|
7
|
+
}
|
|
8
|
+
export declare function placeThroughHostedSurfaces<R extends {
|
|
9
|
+
kind: string;
|
|
10
|
+
}>(surfaces: PlacementSurfaces, attempt: (destination: unknown) => Promise<R>, name: string | undefined, onDestination?: (chosen: CreateDestinationResult) => void): Promise<Exclude<R, {
|
|
11
|
+
kind: 'needs-organization' | 'needs-destination';
|
|
12
|
+
}> | null>;
|
|
13
|
+
//# sourceMappingURL=placement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../src/placement.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,IAAI,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;IACjE,uBAAuB,CAAC,OAAO,CAAC,EAAE;QAChC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;CAC7C;AAQD,wBAAsB,0BAA0B,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACzE,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7C,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,GACxD,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,oBAAoB,GAAG,mBAAmB,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CAwBlF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// The loop that places a document through the hosted surfaces: run an
|
|
2
|
+
// attempt, open the surface each `needs-*` outcome names, and retry with
|
|
3
|
+
// what it returned. Shared by the session's create and the client's claim of
|
|
4
|
+
// a document created without an account, so the two cannot drift on which
|
|
5
|
+
// surface answers which refusal.
|
|
6
|
+
// Run `attempt` until the server places the document. `needs-organization`
|
|
7
|
+
// opens the acquire surface and retries with `{ organization_id }`;
|
|
8
|
+
// `needs-destination` opens the destination dialog (pre-filled with `name`)
|
|
9
|
+
// and retries with its opaque result, relayed verbatim. Resolves null when
|
|
10
|
+
// the person dismisses a surface. `onDestination` hears the dialog's result,
|
|
11
|
+
// which also carries the name the person settled on.
|
|
12
|
+
export async function placeThroughHostedSurfaces(surfaces, attempt, name, onDestination) {
|
|
13
|
+
let destination = undefined;
|
|
14
|
+
for (;;) {
|
|
15
|
+
const result = await attempt(destination);
|
|
16
|
+
if (result.kind === 'needs-organization') {
|
|
17
|
+
const acquired = await surfaces.acquireOrganization();
|
|
18
|
+
if (!acquired)
|
|
19
|
+
return null;
|
|
20
|
+
destination = { organization_id: acquired.organization_id };
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
if (result.kind === 'needs-destination') {
|
|
24
|
+
const chosen = await surfaces.selectCreateDestination(name !== undefined ? { name } : undefined);
|
|
25
|
+
if (chosen === null)
|
|
26
|
+
return null;
|
|
27
|
+
onDestination?.(chosen);
|
|
28
|
+
destination = chosen;
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=placement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement.js","sourceRoot":"","sources":["../src/placement.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,yEAAyE;AACzE,6EAA6E;AAC7E,0EAA0E;AAC1E,iCAAiC;AAcjC,2EAA2E;AAC3E,oEAAoE;AACpE,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,QAA2B,EAC3B,OAA6C,EAC7C,IAAwB,EACxB,aAAyD;IAEzD,IAAI,WAAW,GAAY,SAAS,CAAC;IACrC,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC3B,WAAW,GAAG,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC5D,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CACnD,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;YACF,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YACjC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;YACxB,WAAW,GAAG,MAAM,CAAC;YACrB,SAAS;QACX,CAAC;QACD,OAAO,MAGN,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/presence.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare const PRESENCE_PUBLISH_INTERVAL_MS = 100;
|
|
|
8
8
|
* against it whenever what you publish scales with what the user picked.
|
|
9
9
|
*/
|
|
10
10
|
export declare const PRESENCE_LAYER_MAX_BYTES = 2048;
|
|
11
|
+
export declare const PRESENCE_TOPIC_PREFIX = "presence:doc:";
|
|
11
12
|
export interface PresenceState {
|
|
12
13
|
/** Primary pointer position. Use for "this is where my cursor
|
|
13
14
|
* is right now" in a 2D or 3D editor; omit if the app has no
|
package/dist/presence.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"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"}
|
package/dist/presence.js
CHANGED
|
@@ -19,7 +19,7 @@ export const PRESENCE_PUBLISH_INTERVAL_MS = 100;
|
|
|
19
19
|
* against it whenever what you publish scales with what the user picked.
|
|
20
20
|
*/
|
|
21
21
|
export const PRESENCE_LAYER_MAX_BYTES = 2048;
|
|
22
|
-
const PRESENCE_TOPIC_PREFIX = 'presence:doc:';
|
|
22
|
+
export const PRESENCE_TOPIC_PREFIX = 'presence:doc:';
|
|
23
23
|
const TEXT_ENCODER = new TextEncoder();
|
|
24
24
|
// Serialised UTF-8 byte length of one layer, measured the same way the
|
|
25
25
|
// platform measures it. A non-serialisable value (circular, a BigInt) reads
|
|
@@ -103,6 +103,16 @@ function splitPresencePayload(payload) {
|
|
|
103
103
|
ext: isObject(rawExt) ? rawExt : {},
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
|
+
// Shallow-merge `input` into a layer. A key set to `undefined` is removed, so
|
|
107
|
+
// the payload held here is exactly the one peers are sent.
|
|
108
|
+
function mergeLayer(current, input) {
|
|
109
|
+
const next = { ...current, ...input };
|
|
110
|
+
for (const [key, value] of Object.entries(input)) {
|
|
111
|
+
if (value === undefined)
|
|
112
|
+
delete next[key];
|
|
113
|
+
}
|
|
114
|
+
return next;
|
|
115
|
+
}
|
|
106
116
|
class PresenceController {
|
|
107
117
|
_wsClient;
|
|
108
118
|
_topic;
|
|
@@ -177,10 +187,10 @@ class PresenceController {
|
|
|
177
187
|
if (this._closed)
|
|
178
188
|
return;
|
|
179
189
|
if (input.state !== undefined) {
|
|
180
|
-
this._selfState =
|
|
190
|
+
this._selfState = mergeLayer(this._selfState, input.state);
|
|
181
191
|
}
|
|
182
192
|
if (input.ext !== undefined) {
|
|
183
|
-
this._selfExt =
|
|
193
|
+
this._selfExt = mergeLayer(this._selfExt, input.ext);
|
|
184
194
|
}
|
|
185
195
|
this._scheduleSend();
|
|
186
196
|
}
|
|
@@ -441,8 +451,10 @@ class PresenceController {
|
|
|
441
451
|
// republishes retained presence, so one oversized frame would otherwise
|
|
442
452
|
// wedge the document in a reconnect loop instead of dropping an update.
|
|
443
453
|
_publishableLayer(layer, current, lastSent, withheld) {
|
|
454
|
+
// A layer emptied by removing its keys still has to reach peers, who
|
|
455
|
+
// otherwise keep the last one this connection published.
|
|
444
456
|
if (Object.keys(current).length === 0)
|
|
445
|
-
return undefined;
|
|
457
|
+
return lastSent === null ? undefined : current;
|
|
446
458
|
if (presenceLayerBytes(current) <= PRESENCE_LAYER_MAX_BYTES)
|
|
447
459
|
return current;
|
|
448
460
|
withheld.push(layer);
|
package/dist/presence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { ListHandle, MapHandle, OrderedMapHandle, TextHandle } from './handle-types.js';
|
|
2
|
+
import type { OpenDocumentByIdOptions, OpenedDocument } from './open-document.js';
|
|
3
|
+
import type { DocumentUnsubscribe } from './documents.js';
|
|
4
|
+
import type { DocumentStream } from './document-streams.js';
|
|
5
|
+
/** A map on a `ReadOnlyDocument`: the reads of `MapHandle`, and no writes. */
|
|
6
|
+
export type ReadOnlyMapHandle<T = unknown> = Omit<MapHandle<T>, 'mutate' | 'map' | 'list'> & {
|
|
7
|
+
map<U = unknown>(entryKey: string): ReadOnlyMapHandle<U>;
|
|
8
|
+
list<U = unknown>(entryKey: string): ReadOnlyListHandle<U>;
|
|
9
|
+
};
|
|
10
|
+
/** A list on a `ReadOnlyDocument`: the reads of `ListHandle`, and no writes. */
|
|
11
|
+
export type ReadOnlyListHandle<T = unknown> = Omit<ListHandle<T>, 'mutate'>;
|
|
12
|
+
/** An ordered map on a `ReadOnlyDocument`, with no writes. */
|
|
13
|
+
export type ReadOnlyOrderedMapHandle<T = unknown> = Omit<OrderedMapHandle<T>, 'mutate' | 'insert' | 'move' | 'ordered'>;
|
|
14
|
+
/** A text on a `ReadOnlyDocument`, with no writes. */
|
|
15
|
+
export type ReadOnlyTextHandle = Omit<TextHandle, 'update'>;
|
|
16
|
+
/** Members of a document that write to it. */
|
|
17
|
+
type WritingMembers = 'mutate' | 'undo' | 'redo' | 'createCheckpoint' | 'setAutoCheckpointIntervalMs' | 'getOrCreateStream' | 'stream' | 'useCanvas' | 'map' | 'list' | 'text' | 'orderedMap' | 'dependsOn' | 'markRead';
|
|
18
|
+
/** Members that report writing, which a copy that cannot write never does. */
|
|
19
|
+
type WriterStateMembers = 'savingCount' | 'subscribeUndoState';
|
|
20
|
+
/** Members of a stream that write to it. */
|
|
21
|
+
type WritingStreamMembers = 'mutate' | 'undo' | 'redo' | 'sealUndoStep' | 'map' | 'list' | 'text' | 'orderedMap' | 'dependsOn' | 'markRead';
|
|
22
|
+
/** Members whose meaning the update mode decides. */
|
|
23
|
+
type UpdateModeMembers = 'changed' | 'onChanged' | 'reload';
|
|
24
|
+
/** One stream of a `ReadOnlyDocument`. */
|
|
25
|
+
export type ReadOnlyStream = Omit<DocumentStream, WritingStreamMembers | 'savingCount' | UpdateModeMembers> & {
|
|
26
|
+
/** On a frozen copy, called when this stream moves past what it last
|
|
27
|
+
* loaded, at once if it already has. Each stream is its own line, so each
|
|
28
|
+
* is watched on its own. */
|
|
29
|
+
onChanged(cb: () => void): DocumentUnsubscribe;
|
|
30
|
+
reload(): Promise<void>;
|
|
31
|
+
map<T = unknown>(key: string): ReadOnlyMapHandle<T>;
|
|
32
|
+
list<T = unknown>(key: string): ReadOnlyListHandle<T>;
|
|
33
|
+
text(key: string): ReadOnlyTextHandle;
|
|
34
|
+
orderedMap<T = unknown>(mapKey: string, orderKey: string): ReadOnlyOrderedMapHandle<T>;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* A document opened with `readOnly: true` or `frozen: true`, with nothing on
|
|
38
|
+
* it that writes. A document the signed-in person may only view opens
|
|
39
|
+
* read-only whatever was asked, which `doc.readOnly` reports and a refused
|
|
40
|
+
* `mutate` throws on.
|
|
41
|
+
*
|
|
42
|
+
* A live copy follows every change as it is made. A frozen copy keeps what it
|
|
43
|
+
* loaded: `onChanged` reports the document moving past it, and `reload()`
|
|
44
|
+
* loads the document as it stands, under the same handles, whose subscribers
|
|
45
|
+
* are told what changed.
|
|
46
|
+
*/
|
|
47
|
+
export type ReadOnlyDocument = Omit<OpenedDocument, WritingMembers | WriterStateMembers | UpdateModeMembers> & {
|
|
48
|
+
readonly readOnly: true;
|
|
49
|
+
/** On a frozen copy, called when the document moves past what this copy
|
|
50
|
+
* last loaded (a content edit, an import landing or failing, the document
|
|
51
|
+
* being deleted), at once if it already has. Called once per load. A live
|
|
52
|
+
* copy never calls it. */
|
|
53
|
+
onChanged(cb: () => void): DocumentUnsubscribe;
|
|
54
|
+
/** On a frozen copy, loads the document as it stands now. A live copy
|
|
55
|
+
* already holds it, so this resolves at once. */
|
|
56
|
+
reload(): Promise<void>;
|
|
57
|
+
map<T = unknown>(key: string): ReadOnlyMapHandle<T>;
|
|
58
|
+
list<T = unknown>(key: string): ReadOnlyListHandle<T>;
|
|
59
|
+
text(key: string): ReadOnlyTextHandle;
|
|
60
|
+
orderedMap<T = unknown>(mapKey: string, orderKey: string): ReadOnlyOrderedMapHandle<T>;
|
|
61
|
+
stream(name: string): Promise<ReadOnlyStream>;
|
|
62
|
+
};
|
|
63
|
+
/** The modes an open or a reopen can ask for. A frozen copy is read-only, so
|
|
64
|
+
* `frozen: true` takes no `readOnly: false`. */
|
|
65
|
+
export type OpenModeOptions = {
|
|
66
|
+
frozen?: false;
|
|
67
|
+
readOnly?: boolean;
|
|
68
|
+
} | {
|
|
69
|
+
frozen: boolean;
|
|
70
|
+
readOnly?: true;
|
|
71
|
+
};
|
|
72
|
+
/** `Brass.openDocumentById`, typed by what the open asks for. */
|
|
73
|
+
export interface OpenDocumentById {
|
|
74
|
+
(docId: string, options: OpenDocumentByIdOptions & {
|
|
75
|
+
frozen: true;
|
|
76
|
+
readOnly?: true;
|
|
77
|
+
}): Promise<ReadOnlyDocument>;
|
|
78
|
+
(docId: string, options: OpenDocumentByIdOptions & {
|
|
79
|
+
readOnly: true;
|
|
80
|
+
}): Promise<ReadOnlyDocument>;
|
|
81
|
+
(docId: string, options?: OpenDocumentByIdOptions & {
|
|
82
|
+
frozen?: false;
|
|
83
|
+
}): Promise<OpenedDocument>;
|
|
84
|
+
(docId: string, options: Omit<OpenDocumentByIdOptions, 'frozen' | 'readOnly'> & OpenModeOptions): Promise<OpenedDocument | ReadOnlyDocument>;
|
|
85
|
+
}
|
|
86
|
+
export {};
|
|
87
|
+
//# sourceMappingURL=read-only-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-only-document.d.ts","sourceRoot":"","sources":["../src/read-only-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-only-document.js","sourceRoot":"","sources":["../src/read-only-document.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qDAAqD"}
|
package/dist/record-paging.d.ts
CHANGED
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
* the body. Verbatim so the substrate and SDK name the same fields. */
|
|
3
3
|
export declare const TAG_FIELD = "type";
|
|
4
4
|
export declare const BODY_FIELD = "params";
|
|
5
|
-
/** Root container keys the record store occupies on a document
|
|
5
|
+
/** Root container keys the record store occupies on a document, and the one
|
|
6
|
+
* `meta` entry that is not paging bookkeeping. Fixed names rather than a
|
|
7
|
+
* document's configurable `rootKey`: a record store is one shape wherever it
|
|
8
|
+
* is written, so the encoding it is written in cannot change where a reader
|
|
9
|
+
* looks for it. */
|
|
6
10
|
export declare const META_KEY = "meta";
|
|
11
|
+
export declare const SCHEMA_VERSION_KEY = "schema_version";
|
|
12
|
+
export declare const HEADER_KEY = "header";
|
|
7
13
|
export declare const RECORDS_KEY = "instances";
|
|
8
14
|
export declare const ORDER_KEY = "instance_order";
|
|
9
15
|
/** Prefix on the `meta` key marking ONE root map paged (`meta` holds
|
|
@@ -69,8 +75,22 @@ export declare const PAGE_TAG = "__page__";
|
|
|
69
75
|
* call, so no record can be mistaken for a page or a tombstone whatever it
|
|
70
76
|
* holds. */
|
|
71
77
|
export declare const RESERVED_KEY_PREFIX = "brass:";
|
|
72
|
-
/** Whether `key`
|
|
73
|
-
|
|
78
|
+
/** Whether `key` in the root map `rootKey` is a paged marker
|
|
79
|
+
* (`PAGED_ROOT_PREFIX`). `meta` is a root an app reads and writes like any
|
|
80
|
+
* other (an import keeps `schema_version` there), so the markers are hidden
|
|
81
|
+
* from every read of it and refused on write: an app that copies or clears
|
|
82
|
+
* `meta` generically would otherwise delete one, and every reader after that
|
|
83
|
+
* takes the unpaged path over a map holding pages, seeing the store's
|
|
84
|
+
* `brass:` keys in place of its records. A `paged:` key in any other root is
|
|
85
|
+
* an ordinary record key. */
|
|
86
|
+
export declare function isPagedMarkerEntry(rootKey: string | null, key: string): boolean;
|
|
87
|
+
/** Whether the root map `rootKey` is the one the paged markers are kept in,
|
|
88
|
+
* so a reader can skip the per-key test on every other root. */
|
|
89
|
+
export declare function rootCarriesMarkers(rootKey: string | null): boolean;
|
|
90
|
+
/** Whether `key` names one of the platform's own entries rather than a record:
|
|
91
|
+
* the store's bookkeeping under `RESERVED_KEY_PREFIX` in any root, and, when
|
|
92
|
+
* the root is named, a paged marker in `meta`. */
|
|
93
|
+
export declare function isReservedKey(key: string, rootKey?: string | null): boolean;
|
|
74
94
|
/** Refuse a record key the store cannot carry, at the moment an app writes it:
|
|
75
95
|
* one inside the reserved space, and `__proto__`.
|
|
76
96
|
*
|
|
@@ -78,7 +98,7 @@ export declare function isReservedKey(key: string): boolean;
|
|
|
78
98
|
* is from the key alone. The alternative, escaping, would put the escape on
|
|
79
99
|
* the read of every key of every map, paged or not, and a store that pages
|
|
80
100
|
* later cannot escape what it already holds. */
|
|
81
|
-
export declare function assertUsableRecordKey(key: string): void;
|
|
101
|
+
export declare function assertUsableRecordKey(key: string, rootKey?: string | null): void;
|
|
82
102
|
/** The prefix on a record written as its OWN container in a paged store,
|
|
83
103
|
* which shadows the page's copy on read. A page body is one value, so an
|
|
84
104
|
* edit that rewrote its page would make the page the merge unit; a record in
|
|
@@ -95,8 +115,19 @@ export declare function packWholeValue<B>(key: string, value: B): PackedRecord<B
|
|
|
95
115
|
* read visits a page's triples without unpacking them, so a rewrite that
|
|
96
116
|
* changed the shape would hand it the wrong half of the record. */
|
|
97
117
|
export declare function repackRecord(packed: PackedRecord<unknown>, value: unknown): PackedRecord<unknown>;
|
|
98
|
-
/**
|
|
99
|
-
*
|
|
118
|
+
/**
|
|
119
|
+
* The stored value a tag and a body carry: the body itself when there is no
|
|
120
|
+
* tag, else the `{ type, params }` pair a typed record was split into.
|
|
121
|
+
*
|
|
122
|
+
* A null tag is not an absent field, it is the statement that this record was
|
|
123
|
+
* never split: a map holds whatever its writer assigned and an app's own value
|
|
124
|
+
* has no tag to take off it. Every reader that rebuilds a value from the two
|
|
125
|
+
* comes through here, because a reader that built the pair unconditionally
|
|
126
|
+
* would hand an app `{ type: null, params: 5 }` where the same record read out
|
|
127
|
+
* of a CRDT document is `5`, which is the encoding showing through.
|
|
128
|
+
*/
|
|
129
|
+
export declare function recordValueOf(tag: string | null, body: unknown): unknown;
|
|
130
|
+
/** The stored value a page triple carries. See `recordValueOf`. */
|
|
100
131
|
export declare function unpackRecord(packed: PackedRecord<unknown>): unknown;
|
|
101
132
|
/** The tag + body a page triple names, for a reader that walks the two
|
|
102
133
|
* separately, or null when the triple packs a whole value that is not a
|
|
@@ -186,10 +217,36 @@ export declare function encodeRecordForPage<B>(tag: string | null, body: B): str
|
|
|
186
217
|
* records; the split exists only so the writer frees each parsed body
|
|
187
218
|
* first. */
|
|
188
219
|
export declare function encodePageFromEncoded(encoded: string[], keys: string[]): EncodedPage;
|
|
220
|
+
/** A page's two stored strings as raw bytes, for a store that holds bytes
|
|
221
|
+
* rather than the latin1 strings a loro container needs. */
|
|
222
|
+
export interface EncodedPageBytes {
|
|
223
|
+
body: Uint8Array;
|
|
224
|
+
keys: Uint8Array;
|
|
225
|
+
chars: number;
|
|
226
|
+
}
|
|
227
|
+
/** Encode a page to the gzip bytes `encodePageFromEncoded` widens into
|
|
228
|
+
* strings. Byte-identical either way, so a page written into a container and
|
|
229
|
+
* a page written into a byte store hold the same compressed run. */
|
|
230
|
+
export declare function encodePageBytes(encoded: string[], keys: string[]): EncodedPageBytes;
|
|
231
|
+
/** Gzip a JSON string to raw bytes. The latin1 string a page container stores
|
|
232
|
+
* is these bytes widened; a store that holds bytes directly keeps them as
|
|
233
|
+
* they are, so one compressor serves both. */
|
|
234
|
+
export declare function gzipJsonBytes(json: string): Uint8Array;
|
|
235
|
+
/** Gunzip bytes holding UTF-8 text. */
|
|
236
|
+
export declare function gunzipText(bytes: Uint8Array): string;
|
|
237
|
+
/** Parse gzipped JSON bytes as an array. Returns null for anything that does
|
|
238
|
+
* not decompress to a JSON array, so a reader tolerates a corrupt or stray
|
|
239
|
+
* page rather than throwing. */
|
|
240
|
+
export declare function decodeGzippedJsonArray(bytes: Uint8Array): unknown[] | null;
|
|
189
241
|
/** The record keys a page holds, from the page's own `keys` string. Reading
|
|
190
242
|
* this field alone is what makes learning a store's key locations cost the
|
|
191
243
|
* keys rather than every record body. */
|
|
192
244
|
export declare function decodePageKeys(keysField: unknown): string[];
|
|
245
|
+
/** The record keys a page holds, from the gzipped bytes of its key list. The
|
|
246
|
+
* same answer `decodePageKeys` gives for a container-stored page. */
|
|
247
|
+
export declare function decodePageKeyBytes(keysBytes: Uint8Array): string[];
|
|
248
|
+
/** A page's records from the gzipped bytes of its two stored strings. */
|
|
249
|
+
export declare function decodePageRecordBytes(keysBytes: Uint8Array, bodyBytes: Uint8Array): PackedRecord<unknown>[];
|
|
193
250
|
/** A page's records, zipped back into `[key, tag, body]` triples from the two
|
|
194
251
|
* strings the page stores. A key with no body (or a body with no key) is
|
|
195
252
|
* dropped: the two arrays are written together and index each other, so a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-paging.d.ts","sourceRoot":"","sources":["../src/record-paging.ts"],"names":[],"mappings":"AA4EA;wEACwE;AACxE,eAAO,MAAM,SAAS,SAAS,CAAC;AAChC,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC
|
|
1
|
+
{"version":3,"file":"record-paging.d.ts","sourceRoot":"","sources":["../src/record-paging.ts"],"names":[],"mappings":"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"}
|