@brass-build/client 0.2.0 → 0.4.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.
Files changed (168) hide show
  1. package/AGENTS.md +26 -5
  2. package/CHANGELOG.md +61 -2
  3. package/README.md +247 -87
  4. package/dist/acting-organization.d.ts +131 -0
  5. package/dist/acting-organization.d.ts.map +1 -0
  6. package/dist/acting-organization.js +278 -0
  7. package/dist/acting-organization.js.map +1 -0
  8. package/dist/api-headers.js +7 -7
  9. package/dist/api-headers.js.map +1 -1
  10. package/dist/call-service.d.ts +74 -0
  11. package/dist/call-service.d.ts.map +1 -0
  12. package/dist/call-service.js +253 -0
  13. package/dist/call-service.js.map +1 -0
  14. package/dist/client.d.ts +29 -0
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +583 -12
  17. package/dist/client.js.map +1 -1
  18. package/dist/document-checkpoints.d.ts +1 -0
  19. package/dist/document-checkpoints.d.ts.map +1 -1
  20. package/dist/document-checkpoints.js +27 -0
  21. package/dist/document-checkpoints.js.map +1 -1
  22. package/dist/document-contents.d.ts +15 -0
  23. package/dist/document-contents.d.ts.map +1 -0
  24. package/dist/document-contents.js +88 -0
  25. package/dist/document-contents.js.map +1 -0
  26. package/dist/document-signals.d.ts +31 -1
  27. package/dist/document-signals.d.ts.map +1 -1
  28. package/dist/document-signals.js +59 -0
  29. package/dist/document-signals.js.map +1 -1
  30. package/dist/document-streams.d.ts +4 -2
  31. package/dist/document-streams.d.ts.map +1 -1
  32. package/dist/document-streams.js +6 -0
  33. package/dist/document-streams.js.map +1 -1
  34. package/dist/document-thumbnail-capture.d.ts +20 -0
  35. package/dist/document-thumbnail-capture.d.ts.map +1 -1
  36. package/dist/document-thumbnail-capture.js +247 -9
  37. package/dist/document-thumbnail-capture.js.map +1 -1
  38. package/dist/documents-namespace.d.ts.map +1 -1
  39. package/dist/documents-namespace.js +3 -0
  40. package/dist/documents-namespace.js.map +1 -1
  41. package/dist/documents.d.ts +51 -3
  42. package/dist/documents.d.ts.map +1 -1
  43. package/dist/documents.js +415 -36
  44. package/dist/documents.js.map +1 -1
  45. package/dist/export-guest.d.ts.map +1 -1
  46. package/dist/export-guest.js +5 -0
  47. package/dist/export-guest.js.map +1 -1
  48. package/dist/handle-types.d.ts +23 -0
  49. package/dist/handle-types.d.ts.map +1 -1
  50. package/dist/handles.d.ts +1 -1
  51. package/dist/handles.d.ts.map +1 -1
  52. package/dist/handles.js +3 -3
  53. package/dist/handles.js.map +1 -1
  54. package/dist/hosted-ui.d.ts +10 -0
  55. package/dist/hosted-ui.d.ts.map +1 -1
  56. package/dist/hosted-ui.js +115 -30
  57. package/dist/hosted-ui.js.map +1 -1
  58. package/dist/importer.d.ts.map +1 -1
  59. package/dist/importer.js +28 -66
  60. package/dist/importer.js.map +1 -1
  61. package/dist/index.d.ts +8 -3
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +25 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/internal.d.ts +2 -0
  66. package/dist/internal.d.ts.map +1 -1
  67. package/dist/internal.js +2 -0
  68. package/dist/internal.js.map +1 -1
  69. package/dist/mutate-batching.js +2 -2
  70. package/dist/mutate-batching.js.map +1 -1
  71. package/dist/open-document.d.ts +16 -1
  72. package/dist/open-document.d.ts.map +1 -1
  73. package/dist/open-document.js +123 -35
  74. package/dist/open-document.js.map +1 -1
  75. package/dist/presence.d.ts +10 -0
  76. package/dist/presence.d.ts.map +1 -1
  77. package/dist/presence.js.map +1 -1
  78. package/dist/record-paging.d.ts +13 -14
  79. package/dist/record-paging.d.ts.map +1 -1
  80. package/dist/record-paging.js +13 -14
  81. package/dist/record-paging.js.map +1 -1
  82. package/dist/serializer.d.ts +3 -3
  83. package/dist/session-toolbar.d.ts +9 -0
  84. package/dist/session-toolbar.d.ts.map +1 -1
  85. package/dist/session-toolbar.js +191 -21
  86. package/dist/session-toolbar.js.map +1 -1
  87. package/dist/tail-ops.js +2 -2
  88. package/dist/tail-ops.js.map +1 -1
  89. package/dist/types.d.ts +0 -42
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/undo.d.ts +1 -1
  92. package/dist/undo.d.ts.map +1 -1
  93. package/dist/undo.js +1 -1
  94. package/dist/undo.js.map +1 -1
  95. package/dist/version-bar.d.ts.map +1 -1
  96. package/dist/version-bar.js +75 -4
  97. package/dist/version-bar.js.map +1 -1
  98. package/dist/version.d.ts +2 -2
  99. package/dist/version.js +1 -1
  100. package/dist/wasm-ready-gate.d.ts +13 -0
  101. package/dist/wasm-ready-gate.d.ts.map +1 -0
  102. package/dist/wasm-ready-gate.js +28 -0
  103. package/dist/wasm-ready-gate.js.map +1 -0
  104. package/dist/wasm-runtime.browser.d.ts +11 -0
  105. package/dist/wasm-runtime.browser.d.ts.map +1 -0
  106. package/dist/wasm-runtime.browser.js +44 -0
  107. package/dist/wasm-runtime.browser.js.map +1 -0
  108. package/dist/wasm-runtime.d.ts +6 -0
  109. package/dist/wasm-runtime.d.ts.map +1 -0
  110. package/dist/wasm-runtime.js +20 -0
  111. package/dist/wasm-runtime.js.map +1 -0
  112. package/dist/when-saved.d.ts +2 -0
  113. package/dist/when-saved.d.ts.map +1 -0
  114. package/dist/when-saved.js +70 -0
  115. package/dist/when-saved.js.map +1 -0
  116. package/dist/ws-client.d.ts +4 -0
  117. package/dist/ws-client.d.ts.map +1 -1
  118. package/dist/ws-client.js +70 -1
  119. package/dist/ws-client.js.map +1 -1
  120. package/dist/ws-frame-limit.d.ts.map +1 -1
  121. package/dist/ws-frame-limit.js +9 -10
  122. package/dist/ws-frame-limit.js.map +1 -1
  123. package/docs/app-manifest.md +335 -5
  124. package/docs/custom-chrome.md +7 -2
  125. package/docs/presence.md +12 -0
  126. package/docs/services.md +265 -0
  127. package/docs/text-fields.md +191 -0
  128. package/package.json +4 -5
  129. package/src/acting-organization.ts +396 -0
  130. package/src/api-headers.ts +7 -7
  131. package/src/call-service.ts +354 -0
  132. package/src/client.ts +655 -15
  133. package/src/document-checkpoints.ts +30 -0
  134. package/src/document-contents.ts +104 -0
  135. package/src/document-signals.ts +113 -1
  136. package/src/document-streams.ts +15 -1
  137. package/src/document-thumbnail-capture.ts +253 -9
  138. package/src/documents-namespace.ts +20 -10
  139. package/src/documents.ts +460 -33
  140. package/src/export-guest.ts +5 -0
  141. package/src/handle-types.ts +35 -0
  142. package/src/handles.ts +7 -6
  143. package/src/hosted-ui.ts +155 -29
  144. package/src/importer.ts +28 -62
  145. package/src/index.ts +43 -4
  146. package/src/internal.ts +10 -0
  147. package/src/mutate-batching.ts +2 -2
  148. package/src/open-document.ts +179 -39
  149. package/src/presence.ts +6 -0
  150. package/src/record-paging.ts +13 -14
  151. package/src/serializer.ts +3 -3
  152. package/src/session-toolbar.ts +219 -22
  153. package/src/tail-ops.ts +2 -2
  154. package/src/types.ts +6 -4
  155. package/src/undo.ts +1 -1
  156. package/src/version-bar.ts +77 -7
  157. package/src/version.ts +1 -1
  158. package/src/wasm-ready-gate.ts +30 -0
  159. package/src/wasm-runtime.browser.ts +48 -0
  160. package/src/wasm-runtime.ts +21 -0
  161. package/src/when-saved.ts +66 -0
  162. package/src/ws-client.ts +70 -1
  163. package/src/ws-frame-limit.ts +9 -10
  164. package/dist/vite.d.ts +0 -31
  165. package/dist/vite.d.ts.map +0 -1
  166. package/dist/vite.js +0 -161
  167. package/dist/vite.js.map +0 -1
  168. package/src/vite.ts +0 -214
package/dist/hosted-ui.js CHANGED
@@ -19,8 +19,10 @@
19
19
  // document picker).
20
20
  //
21
21
  // Bridge protocol (envelope `__brass_embed: 1`):
22
- // iframe -> host: ready | resize{height} | result{payload} | cancel |
23
- // error{code,message}
22
+ // iframe -> host: ready | booted | resize{height} | result{payload} |
23
+ // cancel | error{code,message}
24
+ // `ready` says the frame is alive and answers the timeout below; `booted`
25
+ // says the embed page has drawn something and is what takes the loader off.
24
26
  // host -> iframe: init{surface,params}
25
27
  // The host validates `event.origin === dashboardOrigin` and
26
28
  // `event.source === iframe.contentWindow` on every inbound message; the embed
@@ -34,16 +36,26 @@ import { EMBED_ENVELOPE, EMBED_PROTOCOL_VERSION } from './embed-protocol.js';
34
36
  //
35
37
  // Only a plain `redirect` can afford the short window: the surface returns
36
38
  // nothing, the standalone page finishes the same job, and the user keeps
37
- // their place, so eating ten seconds of blank modal is the bigger cost.
39
+ // their place, so eating four seconds of blank modal is the bigger cost.
38
40
  //
39
41
  // `reject` and `redirect-with-value` both end with the caller worse off (a
40
42
  // thrown error, or the user navigated out of the host app with the value
41
- // routed home through a URL round trip), so they wait long enough that only
42
- // a genuinely unusable iframe times out. The embed page is a full
43
- // application boot behind a cross-origin request, so a merely slow link
44
- // clears the short window while the iframe is perfectly capable.
43
+ // routed home through a URL round trip), so they wait longer.
44
+ //
45
+ // The embed page answers from a script that runs before its application, so
46
+ // what either window measures is a round trip to the dashboard origin rather
47
+ // than a boot. That is what keeps a slow link on the iframe path: the reader
48
+ // waits out the load inside the app they are in, which is the point of the
49
+ // iframe, instead of being handed a fallback on the strength of how long the
50
+ // embed took to render.
45
51
  const READY_TIMEOUT_LONG_MS = 10_000;
46
52
  const READY_TIMEOUT_SHORT_MS = 4_000;
53
+ // How long a frame that answered `ready` gets to draw something before the
54
+ // spinner comes off anyway. `booted` is what normally takes it off; this
55
+ // covers a boot that dies after the script that pings, and an embed page
56
+ // older than that message. Long, because the cost of being early here is the
57
+ // blank panel the spinner exists to prevent, and the reader can dismiss.
58
+ const REVEAL_TIMEOUT_MS = 10_000;
47
59
  // The embed page posts `resize` with its measured height; the host clamps to
48
60
  // this range so a malformed or hostile height can't collapse the dialog or
49
61
  // paint the whole viewport.
@@ -143,6 +155,20 @@ export function trackHostedUiActivations() {
143
155
  document.addEventListener('pointerdown', trackActivation, true);
144
156
  document.addEventListener('keydown', trackActivation, true);
145
157
  }
158
+ // Whether this surface is the one on top. An app can open a second surface
159
+ // over the first (a toolbar command while a picker is up, a trigger pressed
160
+ // twice), and each one listens for Escape on `window`, where
161
+ // `stopPropagation` does not reach a sibling listener on the same target, so
162
+ // one Escape would dismiss every surface at once and resolve `null` to
163
+ // callers whose dialog the reader never touched. Read off the document rather
164
+ // than a registry the launcher maintains: the surfaces are appended in the
165
+ // order they open, so the last one in document order is the last one in the
166
+ // top layer, and an overlay removed by anything at all stops counting the
167
+ // moment it leaves.
168
+ function isTopmostSurface(overlay) {
169
+ const open = document.querySelectorAll('[data-brass-hosted-ui]');
170
+ return open[open.length - 1] === overlay;
171
+ }
146
172
  // Who a dismissal should put the keyboard back on: whatever holds focus when
147
173
  // the surface opens, or the last control the reader pressed when nothing does.
148
174
  function resolveOpener() {
@@ -275,11 +301,11 @@ onSignInRequested) {
275
301
  });
276
302
  card.appendChild(closeButton);
277
303
  card.appendChild(iframe);
278
- // Loading spinner over the iframe until the `ready` handshake. Without it
279
- // the user sees a blank panel for ~300-1000ms while the iframe boots,
280
- // reading as "the click did nothing". It can't sit BEHIND the iframe
281
- // because the iframe paints its own background synchronously (the
282
- // OS-color-flash defense above), so it goes on top and hides on `ready`.
304
+ // Loading spinner over the iframe until the embed page reports `booted`.
305
+ // Without it the user sees a blank panel while the iframe boots, reading
306
+ // as "the click did nothing". It can't sit BEHIND the iframe because the
307
+ // iframe paints its own background synchronously (the OS-color-flash
308
+ // defense above), so it goes on top.
283
309
  const loader = document.createElement('div');
284
310
  Object.assign(loader.style, {
285
311
  position: 'absolute',
@@ -311,6 +337,8 @@ onSignInRequested) {
311
337
  overlay.appendChild(card);
312
338
  let settled = false;
313
339
  let readyTimer;
340
+ let revealTimer;
341
+ let revealed = false;
314
342
  // Where to put the reader back. Dismissal detaches the dialog rather than
315
343
  // closing it in place, so this is the launcher's job; a reader left on
316
344
  // `<body>` resumes tabbing from the top of the page instead of from the
@@ -341,11 +369,34 @@ onSignInRequested) {
341
369
  overlay.removeEventListener('cancel', onCancel);
342
370
  if (readyTimer !== undefined)
343
371
  clearTimeout(readyTimer);
372
+ if (revealTimer !== undefined)
373
+ clearTimeout(revealTimer);
344
374
  if (overlay.open)
345
375
  overlay.close();
346
376
  overlay.remove();
347
377
  restoreFocus();
348
378
  }
379
+ // Hand the frame to the reader: the embed page has drawn something, so
380
+ // the spinner comes off and the keyboard goes in.
381
+ function revealFrame() {
382
+ if (revealed)
383
+ return;
384
+ revealed = true;
385
+ if (revealTimer !== undefined)
386
+ clearTimeout(revealTimer);
387
+ // Delayed removal so the last 120ms is a fade, not a snap.
388
+ loader.style.opacity = '0';
389
+ window.setTimeout(() => {
390
+ loader.style.display = 'none';
391
+ }, 150);
392
+ // Opening the dialog leaves focus on the close button, which is the
393
+ // right place to wait out the load and the wrong place to stay once
394
+ // there is something inside to receive the keyboard. Only when the
395
+ // reader has not moved in the meantime, since taking focus back off a
396
+ // control they tabbed to during the load is worse than leaving it.
397
+ if (document.activeElement === closeButton)
398
+ iframe.focus();
399
+ }
349
400
  function settleResolve(value) {
350
401
  if (settled)
351
402
  return;
@@ -372,23 +423,24 @@ onSignInRequested) {
372
423
  return;
373
424
  switch (data['type']) {
374
425
  case 'ready': {
426
+ // The frame is alive, which is the whole of what the window above
427
+ // asks. The embed page posts this from a pre-boot script, so it
428
+ // arrives while the application behind it is still loading and
429
+ // there is nothing to look at yet.
375
430
  if (readyTimer !== undefined)
376
431
  clearTimeout(readyTimer);
377
432
  iframe.contentWindow?.postMessage({ [EMBED_ENVELOPE]: EMBED_PROTOCOL_VERSION, type: 'init', surface, params }, dashboardOrigin);
378
- // Embed page mounted; fade the loader out (delayed removal so the
379
- // last 120ms is a fade, not a snap).
380
- loader.style.opacity = '0';
381
- window.setTimeout(() => {
382
- loader.style.display = 'none';
383
- }, 150);
384
- // Hand the keyboard to the embed now that there is something inside
385
- // to receive it: opening the dialog leaves focus on the close
386
- // button, which is the right place to wait while the frame boots and
387
- // the wrong place to stay once it has. Only when the reader has not
388
- // moved in the meantime, since taking focus back off a control they
389
- // tabbed to during the load is worse than leaving it where it is.
390
- if (document.activeElement === closeButton)
391
- iframe.focus();
433
+ if (revealTimer === undefined && !revealed) {
434
+ // A frame that comes alive and then draws nothing (a boot that
435
+ // dies past its first script) would otherwise sit under the
436
+ // spinner for as long as the reader waits. Show them what is
437
+ // there instead, and let them close it.
438
+ revealTimer = setTimeout(revealFrame, REVEAL_TIMEOUT_MS);
439
+ }
440
+ break;
441
+ }
442
+ case 'booted': {
443
+ revealFrame();
392
444
  break;
393
445
  }
394
446
  case 'resize': {
@@ -474,10 +526,10 @@ onSignInRequested) {
474
526
  // page relays it as a `cancel` over the bridge. Capture phase so the
475
527
  // foreground modal wins over any Escape handler the host app registered.
476
528
  function onKeydown(event) {
477
- if (event.key === 'Escape' && !settled) {
478
- event.stopPropagation();
479
- settleResolve(null);
480
- }
529
+ if (event.key !== 'Escape' || settled || !isTopmostSurface(overlay))
530
+ return;
531
+ event.stopPropagation();
532
+ settleResolve(null);
481
533
  }
482
534
  window.addEventListener('keydown', onKeydown, true);
483
535
  // An open dialog answers Escape itself, and closing it that way would
@@ -486,6 +538,8 @@ onSignInRequested) {
486
538
  // the backstop for an Escape it does not see.
487
539
  function onCancel(event) {
488
540
  event.preventDefault();
541
+ if (!isTopmostSurface(overlay))
542
+ return;
489
543
  settleResolve(null);
490
544
  }
491
545
  overlay.addEventListener('cancel', onCancel);
@@ -585,6 +639,15 @@ export function createHostedUiLauncher(opts) {
585
639
  const params = {};
586
640
  if (opts.callingAppId !== undefined)
587
641
  params['appId'] = opts.callingAppId;
642
+ // Where the app is working, so the picker opens there rather than on
643
+ // every document the person can reach. Without it the first list an app
644
+ // shows spans organizations the app is not installed on, and picking
645
+ // one of those moves the app somewhere the person did not choose to be.
646
+ // The picker's own Go-to still reaches everywhere, including work
647
+ // shared directly from an organization they do not belong to.
648
+ const actingOrganizationId = opts.actingOrganizationId?.();
649
+ if (actingOrganizationId)
650
+ params['organizationId'] = actingOrganizationId;
588
651
  // Where the iframe can't be hosted (cookie-partitioning browsers), the
589
652
  // picker falls back to a full-page redirect: the standalone page returns
590
653
  // the pick on these one-shot params, which the SDK consumes on boot to
@@ -658,6 +721,19 @@ export function createHostedUiLauncher(opts) {
658
721
  params['branch'] = options.branch;
659
722
  return launch('select-branch', params, 'reject');
660
723
  },
724
+ async selectOrganization(currentOrganizationId) {
725
+ // The list is read on the dashboard origin and never crosses the
726
+ // bridge; only the chosen organization comes back. `appId` rides it for
727
+ // the same reason the install dialog needs it: one sign-in client
728
+ // serves every app, so the JWT cannot say which app is asking.
729
+ const params = {};
730
+ if (opts.callingAppId !== undefined)
731
+ params['appId'] = opts.callingAppId;
732
+ if (currentOrganizationId !== undefined) {
733
+ params['organizationId'] = currentOrganizationId;
734
+ }
735
+ return launch('select-organization', params, 'reject');
736
+ },
661
737
  async installApp(organizationId) {
662
738
  // Thread the caller's `appId` over the bridge so the embed page renders
663
739
  // the right app's name + scopes (every Brass app shares one sign-in
@@ -673,6 +749,15 @@ export function createHostedUiLauncher(opts) {
673
749
  async driveResolve(docId) {
674
750
  return launch('drive-resolve', { docId }, 'reject');
675
751
  },
752
+ async serviceCredential(organizationId, host) {
753
+ // `appId` rides the bridge for the same reason the install dialog needs
754
+ // it: one sign-in client serves every app, so the JWT cannot say which
755
+ // app is asking, and this screen grants that app in particular.
756
+ const params = { organizationId, host };
757
+ if (opts.callingAppId !== undefined)
758
+ params['appId'] = opts.callingAppId;
759
+ return launch('service-credential', params, 'reject');
760
+ },
676
761
  };
677
762
  }
678
763
  //# sourceMappingURL=hosted-ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-ui.js","sourceRoot":"","sources":["../src/hosted-ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosted-ui.js","sourceRoot":"","sources":["../src/hosted-ui.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAanE,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,kBAAkB,EAC1B,GAAG,EAAE,QAAQ,KACV,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAM1B,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAkCD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAsMvE"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAcnE,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,kBAAkB,EAC1B,GAAG,EAAE,QAAQ,KACV,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAM1B,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAkCD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAkNvE"}
package/dist/importer.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { BrassError } from './errors.js';
2
+ import { whenSaved } from './when-saved.js';
2
3
  // The claim holder can close its tab mid-import and let its claim expire, so
3
4
  // a client that lost the race asks again instead of spending this document's
4
5
  // one attempt on it.
@@ -30,9 +31,17 @@ const CLAIM_REFUSED_STATUS = 422;
30
31
  // protocol is testable against mocked HTTP deps.
31
32
  export function createImportRunner(deps) {
32
33
  let importer = null;
33
- // One attempt per Document instance; a reopen mints a new instance,
34
- // whose claim resolves `already_imported` as a no-op.
35
- const attempted = new WeakSet();
34
+ // One attempt per OPEN, recorded as the open generation the attempt was
35
+ // made in. The mark cannot be per-instance: an app's `close()` parks the
36
+ // Document and the park cache hands the SAME instance back on reopen, so a
37
+ // bare mark says "this document already had its attempt" for the life of the
38
+ // page. Every path that leaves the file unimported (the claim failing, the
39
+ // importer throwing, the writes never draining) is then unrecoverable
40
+ // without a reload, and the reopen the reader reaches for does nothing and
41
+ // says nothing. Keyed on the open, a reopen attempts again; a document whose
42
+ // import already finished spends one claim that resolves `already_imported`,
43
+ // which is what a reopen has always cost on a fresh instance.
44
+ const attempted = new WeakMap();
36
45
  // Documents waiting on server-side work, holding the detach for the status
37
46
  // listener that is watching it. Kept apart from `attempted` so the wait does
38
47
  // not consume the attempt, and holding the DETACH rather than a bare mark so
@@ -51,8 +60,11 @@ export function createImportRunner(deps) {
51
60
  importer = fn;
52
61
  },
53
62
  async attempt(doc) {
54
- if (importer === null || doc.id === null || attempted.has(doc))
63
+ if (importer === null || doc.id === null)
55
64
  return;
65
+ if (attempted.has(doc) && attempted.get(doc) === doc._openGeneration) {
66
+ return;
67
+ }
56
68
  // Claiming an import binds the document to THIS client for the claim's
57
69
  // lifetime, and only this client can complete it. A document that is
58
70
  // closed or parked can no longer read its source or write records, so a
@@ -86,7 +98,7 @@ export function createImportRunner(deps) {
86
98
  }
87
99
  catch {
88
100
  // The document closed while attaching; nothing left to import
89
- // into, and a reopen mints a fresh instance that attempts again.
101
+ // into, and the attempt is unspent, so the reopen attempts again.
90
102
  }
91
103
  return;
92
104
  }
@@ -94,7 +106,7 @@ export function createImportRunner(deps) {
94
106
  // rather than leave it to fire against a document already past it.
95
107
  waiting.get(doc)?.();
96
108
  waiting.delete(doc);
97
- attempted.add(doc);
109
+ attempted.set(doc, doc._openGeneration);
98
110
  const run = importer;
99
111
  const docId = doc.id;
100
112
  let claim;
@@ -137,6 +149,7 @@ export function createImportRunner(deps) {
137
149
  if (doc.savingCount > 0)
138
150
  wroteRecords = true;
139
151
  });
152
+ let saved = false;
140
153
  try {
141
154
  await run(source, doc);
142
155
  // The importer's ops are still in flight when it returns, and
@@ -144,20 +157,20 @@ export function createImportRunner(deps) {
144
157
  // the head it lands on. Completing before they are acked stamps
145
158
  // a version below the records' own, which reads as a document
146
159
  // edited since it was uploaded from then on.
147
- await whenSaved(doc);
160
+ saved = await whenSaved(doc);
148
161
  }
149
162
  finally {
150
163
  stopRefresh();
151
164
  stopWatchingWrites();
152
165
  }
153
- // The wait above ends on the document going as well as on its writes
154
- // draining, and only one of those means the records are stored. The
155
- // completion stamps the document with the app's schema at the version
156
- // it lands on, so running it over writes that never reached the server
157
- // records an import of records the document does not hold. Abandoning
158
- // instead leaves the claim to expire, and a client that is still open
159
- // imports the file properly.
160
- if (!doc._isLive)
166
+ // The wait ends on the document going, and on the acks stopping, as
167
+ // well as on the writes draining, and only the last of those means
168
+ // the records are stored. The completion stamps the document with the
169
+ // app's schema at the version it lands on, so running it over writes
170
+ // that never reached the server records an import of records the
171
+ // document does not hold. Abandoning instead leaves the claim to
172
+ // expire, and a client that is still open imports the file properly.
173
+ if (!saved)
161
174
  return;
162
175
  // An importer that returns without writing anything must not stamp the
163
176
  // document imported: the stamp is permanent, a later open reads
@@ -225,57 +238,6 @@ export function createImportRunner(deps) {
225
238
  }
226
239
  return runner;
227
240
  }
228
- // How often the wait below re-checks that the document is still live. A
229
- // closing document drops its subscribers without firing them, so this is the
230
- // only thing that ends the wait for one that goes mid-import; it runs solely
231
- // while an import's writes are draining.
232
- const SAVED_LIVENESS_POLL_MS = 1_000;
233
- // Resolves once the document has no locally-issued op waiting for its
234
- // server ack, or once the document is no longer live.
235
- //
236
- // The liveness half is not belt-and-braces. Closing a Document CLEARS its
237
- // subscribers rather than firing them, so a wait that watched the ack count
238
- // alone would never settle for a document closed with writes outstanding, and
239
- // the caller's `finally` (which stops renewing the platform's import claim)
240
- // would never run. Resolving here does not claim the writes landed: the
241
- // completion that follows is what asserts that, and it fails against a
242
- // document this client can no longer write.
243
- function whenSaved(doc) {
244
- if (doc.savingCount === 0)
245
- return Promise.resolve();
246
- return new Promise((resolve) => {
247
- let off;
248
- let poll;
249
- const settle = () => {
250
- off?.();
251
- if (poll !== undefined)
252
- clearInterval(poll);
253
- resolve();
254
- };
255
- try {
256
- off = doc.subscribe(() => {
257
- if (doc.savingCount > 0)
258
- return;
259
- settle();
260
- });
261
- }
262
- catch {
263
- // The document closed, so nothing more is going to be acked.
264
- resolve();
265
- return;
266
- }
267
- poll = setInterval(() => {
268
- if (doc._isLive && doc.savingCount > 0)
269
- return;
270
- settle();
271
- }, SAVED_LIVENESS_POLL_MS);
272
- // Node keeps the process alive for a pending interval; this one is
273
- // bookkeeping for a wait that ends on its own, so it must not.
274
- poll.unref?.();
275
- if (doc.savingCount === 0)
276
- settle();
277
- });
278
- }
279
241
  function asError(err) {
280
242
  return err instanceof Error ? err : new Error(String(err));
281
243
  }
@@ -1 +1 @@
1
- {"version":3,"file":"importer.js","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importer.js","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { CreateDocumentOptions, OpenDocumentByIdOptions, OpenedDocument } from './open-document.js';
2
2
  import type { SelectDocumentResult } from './hosted-ui.js';
3
+ import type { AppServiceState, CallServiceOptions } from './call-service.js';
3
4
  import type { DocumentsNamespace } from './documents-namespace.js';
4
5
  import type { DocumentImporter } from './importer.js';
5
6
  import type { DocumentSerializer } from './serializer.js';
@@ -7,13 +8,14 @@ import type { DocumentSession } from './session.js';
7
8
  import type { AuthStatus, ErrorListener, BrassInitOptions, BrassUser, UndoControllerOptions, UserChangeListener } from './types.js';
8
9
  export type { AuthStatus, ErrorListener, BrassInitOptions, BrassUser, UndoControllerOptions, UserChangeListener, };
9
10
  export { BrassError, type BrassErrorCode } from './errors.js';
11
+ export type { AppServiceState, CallServiceBody, CallServiceOptions, } from './call-service.js';
10
12
  export { type HostedUiTheme, type SelectDocumentResult, } from './hosted-ui.js';
11
13
  export { type DocumentMember, type DocumentRecord, type DocumentRole, type DocumentCheckpoint, type DocumentSourceBlob, type DocumentSourceStream, type DocumentStreamInfo, type DocumentSummary, type DocumentThumbnail, type DocumentsNamespace, type GetThumbnailOptions, type SetThumbnailInput, } from './documents-namespace.js';
12
14
  export { type CanvasSource, type Command, type CommandGroup, type CommandSurface, type DocumentSession, type SessionOpenOptions, type SessionStatus, } from './session.js';
13
15
  export type { SessionToolbarHandle, SessionHeaderHandle, SessionToolbarOptions, MountedPiece, } from './session-toolbar.js';
14
16
  import type { SessionToolbarHandle, SessionHeaderHandle, SessionToolbarOptions, MountedPiece } from './session-toolbar.js';
15
- export { Document, type DocumentMutator, type DocumentOptions, type DocumentSubscriber, type SyntheticSubscribeEvent, type DocumentUnsubscribe, type DocumentGoneListener, type DocumentGoneReason, type DocumentGoneUnsubscribe, type DocumentWorkStatus, type DocumentStatusListener, type DocumentStatusUnsubscribe, type DocumentDriveStatus, type DocumentDriveStatusListener, type DocumentDriveStatusUnsubscribe, type DocumentDriveTrackingState, type DriveMirrorDirection, type EntityProxy, type UndoState, type UndoStateSubscriber, } from './documents.js';
16
- export type { Change, ChangeOrigin, ChangeSource, HandleUnsubscribe, ListHandle, ListChange, ListSubscriber, Splice, MapHandle, MapSubscriber, OrderedMapHandle, OrderedMapPosition, } from './handle-types.js';
17
+ export { Document, type DocumentMutator, type DocumentOptions, type DocumentSubscriber, type SyntheticSubscribeEvent, type DocumentUnsubscribe, type DocumentGoneListener, type DocumentGoneReason, type DocumentGoneUnsubscribe, type DocumentWorkStatus, type DocumentStatusListener, type DocumentStatusUnsubscribe, type DocumentDriveStatus, type DocumentDriveStatusListener, type DocumentDriveStatusUnsubscribe, type DocumentDriveTrackingState, type DriveMirrorDirection, type EntityProxy, type RootKind, type UndoState, type UndoStateSubscriber, } from './documents.js';
18
+ export type { Change, ChangeOrigin, ChangeSource, HandleUnsubscribe, ListHandle, ListChange, ListSubscriber, Splice, MapHandle, MapSubscriber, OrderedMapHandle, OrderedMapPosition, TextHandle, TextSubscriber, } from './handle-types.js';
17
19
  export type { DocumentSerializer, StoredDocument, StoredList, StoredMap, } from './serializer.js';
18
20
  export type { DocumentImporter } from './importer.js';
19
21
  export { DocumentStream } from './document-streams.js';
@@ -21,7 +23,7 @@ export { type CreateDocumentOptions, type OpenDocumentByIdOptions, type OpenedDo
21
23
  export { PRESENCE_LAYER_MAX_BYTES } from './presence.js';
22
24
  export type { PresenceChangeListener, PresenceClient, PresenceLayer, PresenceParticipant, PresenceSetInput, PresenceState, PresenceStatus, PresenceStatusListener, } from './presence.js';
23
25
  declare function init(options?: BrassInitOptions): Promise<void>;
24
- declare function init(appId: string, options?: BrassInitOptions): Promise<void>;
26
+ declare function init(appId: string | undefined, options?: BrassInitOptions): Promise<void>;
25
27
  export declare const Brass: {
26
28
  init: typeof init;
27
29
  signIn(): void;
@@ -31,6 +33,9 @@ export declare const Brass: {
31
33
  onUserChange(listener: UserChangeListener): () => void;
32
34
  onError(listener: ErrorListener): () => void;
33
35
  getAccessToken(): Promise<string | null>;
36
+ callService(host: string, path: string, options?: CallServiceOptions): Promise<Response>;
37
+ listServices(): Promise<AppServiceState[] | null>;
38
+ connectService(host: string): Promise<boolean>;
34
39
  readonly documents: DocumentsNamespace;
35
40
  readonly session: DocumentSession;
36
41
  mountToolbar(container: HTMLElement, options?: SessionToolbarOptions): SessionToolbarHandle;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -19,7 +19,10 @@ const client = new BrassClient();
19
19
  function init(appIdOrOptions, options) {
20
20
  if (typeof appIdOrOptions === 'string')
21
21
  return client.init(appIdOrOptions, options);
22
- return client.init(undefined, appIdOrOptions);
22
+ // With no id in the first position the options are in whichever argument
23
+ // the caller used: `init(options)` on a hosted bundle, `init(undefined,
24
+ // options)` from an app that resolves its id at build time.
25
+ return client.init(undefined, appIdOrOptions ?? options);
23
26
  }
24
27
  export const Brass = {
25
28
  init,
@@ -49,6 +52,27 @@ export const Brass = {
49
52
  getAccessToken() {
50
53
  return client.getAccessToken();
51
54
  },
55
+ // One call to an outside service the app's manifest declares, under a
56
+ // credential Brass holds. Returns the service's own response.
57
+ callService(host, path, options) {
58
+ return client.callService(host, path, options);
59
+ },
60
+ // Which of this app's declared services would serve a call right now, so a
61
+ // feature that works better with an account connected renders as available
62
+ // or as an upgrade before the reader presses anything.
63
+ //
64
+ // Null while the app is acting in no organization yet, or in one that has
65
+ // not installed it, which is a state to render the feature as available on.
66
+ // `connectService` asks when the reader reaches for it.
67
+ listServices() {
68
+ return client.listServices();
69
+ },
70
+ // Open the hosted dialog for one service from the app's own affordance.
71
+ // Whoever can supply the credential does it there; anyone else reads who to
72
+ // ask. Resolves true when that host became usable.
73
+ connectService(host) {
74
+ return client.connectService(host);
75
+ },
52
76
  // Metadata read for a known id (`get`) plus thumbnails. Create / move /
53
77
  // list / grant access are hosted-only.
54
78
  get documents() {