@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.
Files changed (323) hide show
  1. package/AGENTS.md +124 -45
  2. package/CHANGELOG.md +80 -4
  3. package/README.md +666 -179
  4. package/dist/api-fetch.d.ts +8 -0
  5. package/dist/api-fetch.d.ts.map +1 -1
  6. package/dist/api-fetch.js +35 -8
  7. package/dist/api-fetch.js.map +1 -1
  8. package/dist/batched-get.d.ts +11 -0
  9. package/dist/batched-get.d.ts.map +1 -0
  10. package/dist/batched-get.js +92 -0
  11. package/dist/batched-get.js.map +1 -0
  12. package/dist/call-service.d.ts +4 -0
  13. package/dist/call-service.d.ts.map +1 -1
  14. package/dist/call-service.js +66 -3
  15. package/dist/call-service.js.map +1 -1
  16. package/dist/client.d.ts +48 -2
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +918 -115
  19. package/dist/client.js.map +1 -1
  20. package/dist/document-checkpoints.d.ts +25 -2
  21. package/dist/document-checkpoints.d.ts.map +1 -1
  22. package/dist/document-checkpoints.js +258 -61
  23. package/dist/document-checkpoints.js.map +1 -1
  24. package/dist/document-commands.d.ts.map +1 -1
  25. package/dist/document-commands.js +5 -3
  26. package/dist/document-commands.js.map +1 -1
  27. package/dist/document-contents.d.ts +10 -0
  28. package/dist/document-contents.d.ts.map +1 -1
  29. package/dist/document-contents.js +23 -1
  30. package/dist/document-contents.js.map +1 -1
  31. package/dist/document-set-subscription.d.ts +56 -0
  32. package/dist/document-set-subscription.d.ts.map +1 -0
  33. package/dist/document-set-subscription.js +240 -0
  34. package/dist/document-set-subscription.js.map +1 -0
  35. package/dist/document-signals.d.ts +6 -0
  36. package/dist/document-signals.d.ts.map +1 -1
  37. package/dist/document-signals.js +31 -1
  38. package/dist/document-signals.js.map +1 -1
  39. package/dist/document-streams.d.ts +36 -2
  40. package/dist/document-streams.d.ts.map +1 -1
  41. package/dist/document-streams.js +69 -18
  42. package/dist/document-streams.js.map +1 -1
  43. package/dist/document-thumbnail-capture.d.ts +12 -2
  44. package/dist/document-thumbnail-capture.d.ts.map +1 -1
  45. package/dist/document-thumbnail-capture.js +103 -27
  46. package/dist/document-thumbnail-capture.js.map +1 -1
  47. package/dist/documents-namespace.d.ts +92 -10
  48. package/dist/documents-namespace.d.ts.map +1 -1
  49. package/dist/documents-namespace.js +285 -39
  50. package/dist/documents-namespace.js.map +1 -1
  51. package/dist/documents.d.ts +173 -8
  52. package/dist/documents.d.ts.map +1 -1
  53. package/dist/documents.js +1778 -310
  54. package/dist/documents.js.map +1 -1
  55. package/dist/errors.d.ts +3 -3
  56. package/dist/errors.d.ts.map +1 -1
  57. package/dist/errors.js.map +1 -1
  58. package/dist/fetch-retry.d.ts +1 -0
  59. package/dist/fetch-retry.d.ts.map +1 -1
  60. package/dist/fetch-retry.js +2 -0
  61. package/dist/fetch-retry.js.map +1 -1
  62. package/dist/file-choice.d.ts +2 -0
  63. package/dist/file-choice.d.ts.map +1 -0
  64. package/dist/file-choice.js +27 -0
  65. package/dist/file-choice.js.map +1 -0
  66. package/dist/guest-link.d.ts +18 -1
  67. package/dist/guest-link.d.ts.map +1 -1
  68. package/dist/guest-link.js +329 -1
  69. package/dist/guest-link.js.map +1 -1
  70. package/dist/handle-types.d.ts +67 -5
  71. package/dist/handle-types.d.ts.map +1 -1
  72. package/dist/handles.d.ts +15 -19
  73. package/dist/handles.d.ts.map +1 -1
  74. package/dist/handles.js +231 -76
  75. package/dist/handles.js.map +1 -1
  76. package/dist/hosted-ui.d.ts +61 -0
  77. package/dist/hosted-ui.d.ts.map +1 -1
  78. package/dist/hosted-ui.js +94 -42
  79. package/dist/hosted-ui.js.map +1 -1
  80. package/dist/import-contract.d.ts +74 -0
  81. package/dist/import-contract.d.ts.map +1 -0
  82. package/dist/import-contract.js +163 -0
  83. package/dist/import-contract.js.map +1 -0
  84. package/dist/import-guest.d.ts +9 -0
  85. package/dist/import-guest.d.ts.map +1 -0
  86. package/dist/import-guest.js +155 -0
  87. package/dist/import-guest.js.map +1 -0
  88. package/dist/import-report.d.ts +17 -0
  89. package/dist/import-report.d.ts.map +1 -0
  90. package/dist/import-report.js +7 -0
  91. package/dist/import-report.js.map +1 -0
  92. package/dist/importer-wait.d.ts +2 -0
  93. package/dist/importer-wait.d.ts.map +1 -0
  94. package/dist/importer-wait.js +5 -0
  95. package/dist/importer-wait.js.map +1 -0
  96. package/dist/importer.d.ts +18 -4
  97. package/dist/importer.d.ts.map +1 -1
  98. package/dist/importer.js +322 -105
  99. package/dist/importer.js.map +1 -1
  100. package/dist/in-development.d.ts +2 -0
  101. package/dist/in-development.d.ts.map +1 -0
  102. package/dist/in-development.js +10 -0
  103. package/dist/in-development.js.map +1 -0
  104. package/dist/index.d.ts +16 -8
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +24 -8
  107. package/dist/index.js.map +1 -1
  108. package/dist/init-keys.d.ts +1 -1
  109. package/dist/init-keys.d.ts.map +1 -1
  110. package/dist/init-keys.js +6 -1
  111. package/dist/init-keys.js.map +1 -1
  112. package/dist/input-documents.d.ts +67 -0
  113. package/dist/input-documents.d.ts.map +1 -0
  114. package/dist/input-documents.js +693 -0
  115. package/dist/input-documents.js.map +1 -0
  116. package/dist/inputs-status.d.ts +80 -0
  117. package/dist/inputs-status.d.ts.map +1 -0
  118. package/dist/inputs-status.js +460 -0
  119. package/dist/inputs-status.js.map +1 -0
  120. package/dist/inputs.d.ts +2 -0
  121. package/dist/inputs.d.ts.map +1 -0
  122. package/dist/inputs.js +793 -0
  123. package/dist/inputs.js.map +1 -0
  124. package/dist/internal.d.ts +6 -1
  125. package/dist/internal.d.ts.map +1 -1
  126. package/dist/internal.js +4 -1
  127. package/dist/internal.js.map +1 -1
  128. package/dist/join-content.d.ts +33 -0
  129. package/dist/join-content.d.ts.map +1 -0
  130. package/dist/join-content.js +114 -0
  131. package/dist/join-content.js.map +1 -0
  132. package/dist/join-stamp.d.ts +3 -0
  133. package/dist/join-stamp.d.ts.map +1 -0
  134. package/dist/join-stamp.js +12 -0
  135. package/dist/join-stamp.js.map +1 -0
  136. package/dist/manifest-drift.d.ts +9 -0
  137. package/dist/manifest-drift.d.ts.map +1 -0
  138. package/dist/manifest-drift.js +46 -0
  139. package/dist/manifest-drift.js.map +1 -0
  140. package/dist/open-document.d.ts +109 -2
  141. package/dist/open-document.d.ts.map +1 -1
  142. package/dist/open-document.js +1822 -811
  143. package/dist/open-document.js.map +1 -1
  144. package/dist/page-restore.d.ts +12 -0
  145. package/dist/page-restore.d.ts.map +1 -0
  146. package/dist/page-restore.js +23 -0
  147. package/dist/page-restore.js.map +1 -0
  148. package/dist/placement.d.ts +13 -0
  149. package/dist/placement.d.ts.map +1 -0
  150. package/dist/placement.js +34 -0
  151. package/dist/placement.js.map +1 -0
  152. package/dist/presence.d.ts +1 -0
  153. package/dist/presence.d.ts.map +1 -1
  154. package/dist/presence.js +16 -4
  155. package/dist/presence.js.map +1 -1
  156. package/dist/read-only-document.d.ts +87 -0
  157. package/dist/read-only-document.d.ts.map +1 -0
  158. package/dist/read-only-document.js +4 -0
  159. package/dist/read-only-document.js.map +1 -0
  160. package/dist/record-paging.d.ts +63 -6
  161. package/dist/record-paging.d.ts.map +1 -1
  162. package/dist/record-paging.js +122 -29
  163. package/dist/record-paging.js.map +1 -1
  164. package/dist/references.d.ts +40 -0
  165. package/dist/references.d.ts.map +1 -0
  166. package/dist/references.js +135 -0
  167. package/dist/references.js.map +1 -0
  168. package/dist/request-lane.d.ts +5 -0
  169. package/dist/request-lane.d.ts.map +1 -0
  170. package/dist/request-lane.js +48 -0
  171. package/dist/request-lane.js.map +1 -0
  172. package/dist/sealed-arrow.d.ts +170 -0
  173. package/dist/sealed-arrow.d.ts.map +1 -0
  174. package/dist/sealed-arrow.js +769 -0
  175. package/dist/sealed-arrow.js.map +1 -0
  176. package/dist/sealed-cache.d.ts +21 -0
  177. package/dist/sealed-cache.d.ts.map +1 -0
  178. package/dist/sealed-cache.js +247 -0
  179. package/dist/sealed-cache.js.map +1 -0
  180. package/dist/sealed-encode.d.ts +87 -0
  181. package/dist/sealed-encode.d.ts.map +1 -0
  182. package/dist/sealed-encode.js +876 -0
  183. package/dist/sealed-encode.js.map +1 -0
  184. package/dist/sealed-handles.d.ts +45 -0
  185. package/dist/sealed-handles.d.ts.map +1 -0
  186. package/dist/sealed-handles.js +408 -0
  187. package/dist/sealed-handles.js.map +1 -0
  188. package/dist/sealed-store.d.ts +242 -0
  189. package/dist/sealed-store.d.ts.map +1 -0
  190. package/dist/sealed-store.js +1155 -0
  191. package/dist/sealed-store.js.map +1 -0
  192. package/dist/serializer.d.ts +6 -15
  193. package/dist/serializer.d.ts.map +1 -1
  194. package/dist/session-toolbar.d.ts +20 -5
  195. package/dist/session-toolbar.d.ts.map +1 -1
  196. package/dist/session-toolbar.js +419 -67
  197. package/dist/session-toolbar.js.map +1 -1
  198. package/dist/session.d.ts +38 -1
  199. package/dist/session.d.ts.map +1 -1
  200. package/dist/session.js +562 -79
  201. package/dist/session.js.map +1 -1
  202. package/dist/sha256.d.ts +3 -0
  203. package/dist/sha256.d.ts.map +1 -0
  204. package/dist/sha256.js +74 -0
  205. package/dist/sha256.js.map +1 -0
  206. package/dist/stable-handles.d.ts +19 -0
  207. package/dist/stable-handles.d.ts.map +1 -0
  208. package/dist/stable-handles.js +193 -0
  209. package/dist/stable-handles.js.map +1 -0
  210. package/dist/staged-seal.d.ts +2 -0
  211. package/dist/staged-seal.d.ts.map +1 -0
  212. package/dist/staged-seal.js +76 -0
  213. package/dist/staged-seal.js.map +1 -0
  214. package/dist/subscriber-delivery.d.ts +8 -0
  215. package/dist/subscriber-delivery.d.ts.map +1 -0
  216. package/dist/subscriber-delivery.js +31 -0
  217. package/dist/subscriber-delivery.js.map +1 -0
  218. package/dist/tail-op-import.d.ts +10 -0
  219. package/dist/tail-op-import.d.ts.map +1 -0
  220. package/dist/tail-op-import.js +33 -0
  221. package/dist/tail-op-import.js.map +1 -0
  222. package/dist/topic-lifecycle.d.ts +6 -0
  223. package/dist/topic-lifecycle.d.ts.map +1 -1
  224. package/dist/topic-lifecycle.js +32 -2
  225. package/dist/topic-lifecycle.js.map +1 -1
  226. package/dist/trial-replace-dialog.d.ts +10 -0
  227. package/dist/trial-replace-dialog.d.ts.map +1 -0
  228. package/dist/trial-replace-dialog.js +153 -0
  229. package/dist/trial-replace-dialog.js.map +1 -0
  230. package/dist/types.d.ts +8 -1
  231. package/dist/types.d.ts.map +1 -1
  232. package/dist/undo.d.ts +60 -5
  233. package/dist/undo.d.ts.map +1 -1
  234. package/dist/undo.js +344 -75
  235. package/dist/undo.js.map +1 -1
  236. package/dist/version-bar.d.ts +1 -0
  237. package/dist/version-bar.d.ts.map +1 -1
  238. package/dist/version-bar.js +2 -1
  239. package/dist/version-bar.js.map +1 -1
  240. package/dist/version.d.ts +2 -2
  241. package/dist/version.js +1 -1
  242. package/dist/ws-client.d.ts +21 -0
  243. package/dist/ws-client.d.ts.map +1 -1
  244. package/dist/ws-client.js +192 -8
  245. package/dist/ws-client.js.map +1 -1
  246. package/dist/ws-frame-limit.d.ts +1 -0
  247. package/dist/ws-frame-limit.d.ts.map +1 -1
  248. package/dist/ws-frame-limit.js.map +1 -1
  249. package/docs/app-manifest.md +121 -17
  250. package/docs/custom-chrome.md +24 -16
  251. package/docs/hosted-ui-advanced.md +38 -6
  252. package/docs/imported-documents.md +104 -51
  253. package/docs/presence.md +16 -4
  254. package/docs/schemas.md +8 -5
  255. package/docs/services.md +6 -6
  256. package/docs/streams.md +139 -150
  257. package/docs/text-fields.md +26 -19
  258. package/package.json +5 -2
  259. package/src/api-fetch.ts +53 -3
  260. package/src/auth-flow.ts +1 -1
  261. package/src/batched-get.ts +117 -0
  262. package/src/call-service.ts +78 -3
  263. package/src/client.ts +1022 -112
  264. package/src/document-checkpoints.ts +307 -65
  265. package/src/document-commands.ts +5 -5
  266. package/src/document-contents.ts +27 -1
  267. package/src/document-set-subscription.ts +274 -0
  268. package/src/document-signals.ts +47 -5
  269. package/src/document-streams.ts +85 -16
  270. package/src/document-thumbnail-capture.ts +118 -32
  271. package/src/documents-namespace.ts +539 -84
  272. package/src/documents.ts +2017 -348
  273. package/src/errors.ts +17 -6
  274. package/src/fetch-retry.ts +5 -0
  275. package/src/file-choice.ts +26 -0
  276. package/src/guest-link.ts +362 -1
  277. package/src/handle-types.ts +73 -47
  278. package/src/handles.ts +253 -83
  279. package/src/hosted-ui.ts +211 -50
  280. package/src/import-contract.ts +227 -0
  281. package/src/import-guest.ts +193 -0
  282. package/src/import-report.ts +24 -0
  283. package/src/importer-wait.ts +4 -0
  284. package/src/importer.ts +386 -131
  285. package/src/in-development.ts +10 -0
  286. package/src/index.ts +76 -16
  287. package/src/init-keys.ts +6 -1
  288. package/src/input-documents.ts +819 -0
  289. package/src/inputs-status.ts +598 -0
  290. package/src/inputs.ts +1090 -0
  291. package/src/internal.ts +7 -0
  292. package/src/join-content.ts +135 -0
  293. package/src/join-stamp.ts +12 -0
  294. package/src/manifest-drift.ts +54 -0
  295. package/src/open-document.ts +2346 -930
  296. package/src/page-restore.ts +38 -0
  297. package/src/placement.ts +54 -0
  298. package/src/presence.ts +21 -5
  299. package/src/read-only-document.ts +133 -0
  300. package/src/record-paging.ts +147 -25
  301. package/src/references.ts +207 -0
  302. package/src/request-lane.ts +59 -0
  303. package/src/sealed-arrow.ts +843 -0
  304. package/src/sealed-cache.ts +267 -0
  305. package/src/sealed-encode.ts +1015 -0
  306. package/src/sealed-handles.ts +486 -0
  307. package/src/sealed-store.ts +1330 -0
  308. package/src/serializer.ts +8 -20
  309. package/src/session-toolbar.ts +463 -72
  310. package/src/session.ts +740 -99
  311. package/src/sha256.ts +65 -0
  312. package/src/stable-handles.ts +235 -0
  313. package/src/staged-seal.ts +90 -0
  314. package/src/subscriber-delivery.ts +37 -0
  315. package/src/tail-op-import.ts +30 -0
  316. package/src/topic-lifecycle.ts +38 -2
  317. package/src/trial-replace-dialog.ts +163 -0
  318. package/src/types.ts +6 -6
  319. package/src/undo.ts +386 -73
  320. package/src/version-bar.ts +5 -1
  321. package/src/version.ts +1 -1
  322. package/src/ws-client.ts +208 -16
  323. package/src/ws-frame-limit.ts +1 -0
package/dist/hosted-ui.js CHANGED
@@ -62,6 +62,26 @@ const REVEAL_TIMEOUT_MS = 10_000;
62
62
  const INITIAL_IFRAME_HEIGHT = 480;
63
63
  const MIN_IFRAME_HEIGHT = 160;
64
64
  const MAX_IFRAME_HEIGHT = 760;
65
+ // The `accept` a picker sends, from the families and narrowing an app passed.
66
+ // Throws when the families are missing, since without them the picker would
67
+ // offer everything the app can read, its own documents included.
68
+ function pickerAccept(method, families, narrowing) {
69
+ const named = Array.isArray(families) &&
70
+ families.length > 0 &&
71
+ families.every((t) => typeof t === 'string' && t.trim() !== '');
72
+ if (families !== '*' && !named) {
73
+ throw new Error(`${method}: pass the families to offer first, such as ['ifc']`);
74
+ }
75
+ if (narrowing !== undefined && ('families' in narrowing || 'types' in narrowing)) {
76
+ throw new Error(`${method}: name the families in the first argument rather than in accept`);
77
+ }
78
+ const accept = {
79
+ ...(named ? { families: [...families] } : {}),
80
+ ...(narrowing?.names?.length ? { names: [...narrowing.names] } : {}),
81
+ ...(narrowing?.extensions?.length ? { extensions: [...narrowing.extensions] } : {}),
82
+ };
83
+ return Object.keys(accept).length > 0 ? accept : undefined;
84
+ }
65
85
  // Full-page fallback when the iframe can't be hosted: navigate the top
66
86
  // window to the standalone embed page, threading the surface params plus a
67
87
  // `return_to` so the standalone page can send the user home when done.
@@ -601,14 +621,16 @@ export function createHostedUiLauncher(opts) {
601
621
  // Default `'light'`: most hosts are light-only, and an `'auto'` default
602
622
  // would put a dark embed inside a light host on a dark-OS user.
603
623
  const theme = opts.theme ?? 'light';
604
- // Name the user this app is acting as in every surface's bridge params.
605
- // Read at open time, not launcher-construction time, since the app may
606
- // authenticate after the launcher is built. Every embed surface checks the
607
- // same way, so this is cross-cutting rather than per-surface like `appId`.
608
- const withActingSub = (params) => {
624
+ // Name the app and the user it acts as in every surface's bridge params.
625
+ // The app id is what the embed checks the framing page against, so a
626
+ // surface opened without it is one whose host goes unchecked. The acting sub
627
+ // is read at open time, not launcher-construction time, since the app may
628
+ // authenticate after the launcher is built.
629
+ const withCaller = (params) => {
609
630
  const actingSub = opts.getActingSub?.();
610
631
  return {
611
632
  ...params,
633
+ ...(opts.callingAppId !== undefined ? { appId: opts.callingAppId } : {}),
612
634
  ...(actingSub ? { actingSub } : {}),
613
635
  };
614
636
  };
@@ -616,29 +638,64 @@ export function createHostedUiLauncher(opts) {
616
638
  // dismissal, otherwise the payload. `exportDoc` threads the export
617
639
  // serializer for the document surfaces whose page offers a Download
618
640
  // action.
641
+ const openSurface = (surface, params, unavailable, exportDoc) => openEmbed(baseUrl, dashboardOrigin, surface, withCaller(params), unavailable, theme, exportDoc ? opts.serializeForExport : undefined,
642
+ // Only the document-settings / share surface deletes; harmless to pass
643
+ // for all, since the message arrives only from that surface.
644
+ opts.onLocalDelete, opts.onSignInRequested);
619
645
  const launch = async (surface, params, unavailable, exportDoc) => {
620
- const outcome = await openEmbed(baseUrl, dashboardOrigin, surface, withActingSub(params), unavailable, theme, exportDoc ? opts.serializeForExport : undefined,
621
- // Only the document-settings / share surface deletes; harmless to pass
622
- // for all, since the message arrives only from that surface.
623
- opts.onLocalDelete, opts.onSignInRequested);
646
+ const outcome = await openSurface(surface, params, unavailable, exportDoc);
624
647
  if (!outcome)
625
648
  return null;
626
649
  return outcome.payload;
627
650
  };
628
- // Every Brass app shares one sign-in client, so a request's JWT
629
- // does not say which app made it. Surfaces that must name the caller
630
- // (its scopes on the install screen, its documents in the picker, the app
631
- // a share link should open in) read this off the bridge instead.
632
- const callerAppParam = () => opts.callingAppId !== undefined ? { appId: opts.callingAppId } : {};
651
+ // One input picker at a time. A second call while one is open (a double
652
+ // press) shares it when it asks the same question, so the reader answers
653
+ // once and every caller hears that answer; a different question is
654
+ // refused rather than stacked behind the first. The slot clears on a
655
+ // reaction registered on the dialog's own promise, ahead of any caller's,
656
+ // so a call made as soon as the first settles opens a fresh picker.
657
+ let inputPicker = null;
658
+ const pickInputs = (params) => {
659
+ const key = JSON.stringify(params);
660
+ if (inputPicker) {
661
+ if (inputPicker.key === key)
662
+ return inputPicker.promise;
663
+ return Promise.reject(new BrassError('A document picker is already open.'));
664
+ }
665
+ const opened = openSurface('select-document', params, 'reject');
666
+ const promise = opened.then((outcome) => outcome ? outcome.payload : null);
667
+ const entry = { key, promise };
668
+ const clear = () => {
669
+ if (inputPicker === entry)
670
+ inputPicker = null;
671
+ };
672
+ opened.then(clear, clear);
673
+ inputPicker = entry;
674
+ return promise;
675
+ };
676
+ // The params a choice opens the picker with. `choose` is what the picker
677
+ // reads to answer with references; everything else about the surface is
678
+ // the same, which is why this is one param rather than a second surface.
679
+ // A choice takes no redirect: the fallback carries its answer home in
680
+ // one-shot URL params built for an opened document, so a browser that
681
+ // cannot host the frame rejects instead of ejecting the reader.
682
+ const chooseParams = (method, families, options, selected) => {
683
+ const accept = pickerAccept(method, families, options?.accept);
684
+ const params = { choose: true };
685
+ if (selected.length)
686
+ params['selected'] = [...selected];
687
+ if (accept)
688
+ params['accept'] = accept;
689
+ if (options?.prompt !== undefined)
690
+ params['prompt'] = options.prompt;
691
+ const actingOrganizationId = opts.actingOrganizationId?.();
692
+ if (actingOrganizationId)
693
+ params['organizationId'] = actingOrganizationId;
694
+ return params;
695
+ };
633
696
  return {
634
697
  async selectDocument() {
635
- // Thread the calling app id over the bridge (every Brass app shares one
636
- // sign-in client, so the origin can't otherwise tell which
637
- // app opened the picker). The embed page uses it for a "only documents
638
- // this app can open" filter.
639
698
  const params = {};
640
- if (opts.callingAppId !== undefined)
641
- params['appId'] = opts.callingAppId;
642
699
  // Where the app is working, so the picker opens there rather than on
643
700
  // every document the person can reach. Without it the first list an app
644
701
  // shows spans organizations the app is not installed on, and picking
@@ -666,22 +723,30 @@ export function createHostedUiLauncher(opts) {
666
723
  }
667
724
  return launch('select-document', params, pickReturn ? 'redirect-with-value' : 'reject');
668
725
  },
726
+ async chooseInputs(families, options) {
727
+ return pickInputs(chooseParams('chooseInputs', families, options, options?.selected ?? []));
728
+ },
729
+ async chooseInput(families, options) {
730
+ const held = options?.selected ?? null;
731
+ const params = chooseParams('chooseInput', families, options, held ? [held] : []);
732
+ // `multiple: false` draws the browsing list rather than the tree, and
733
+ // the picker answers with an array of the one reference.
734
+ params['multiple'] = false;
735
+ const chosen = await pickInputs(params);
736
+ return chosen?.[0] ?? null;
737
+ },
669
738
  async selectCreateDestination(options) {
670
739
  // The `select-document` surface opened on its New panel via
671
740
  // `intent: 'create'`: the embed page resolves a destination and sends
672
741
  // it back instead of creating the doc, so the create stays on the SDK's
673
742
  // credential path. `name` pre-fills the dialog.
674
743
  const params = { intent: 'create' };
675
- if (opts.callingAppId !== undefined)
676
- params['appId'] = opts.callingAppId;
677
744
  if (options?.name !== undefined)
678
745
  params['name'] = options.name;
679
746
  return launch('select-document', params, 'reject');
680
747
  },
681
748
  async acquireOrganization() {
682
749
  const params = {};
683
- if (opts.callingAppId !== undefined)
684
- params['appId'] = opts.callingAppId;
685
750
  return launch('acquire-organization', params, 'reject');
686
751
  },
687
752
  async shareDocument(docId) {
@@ -689,7 +754,7 @@ export function createHostedUiLauncher(opts) {
689
754
  // reaches with `focus: 'share'`. It discards the outcome, so it passes
690
755
  // no `canOpenCopy`: that flag says the caller will route a duplicate's
691
756
  // `newDocId` into `openSiblingDoc`, and this one cannot.
692
- await launch('share-document', { ...callerAppParam(), docId, focus: 'share' }, 'redirect', true);
757
+ await launch('share-document', { docId, focus: 'share' }, 'redirect', true);
693
758
  },
694
759
  async documentSettings(docId, options) {
695
760
  // The embed page reads `focus` from `init.params`. Defaults to
@@ -707,7 +772,7 @@ export function createHostedUiLauncher(opts) {
707
772
  // `newDocId` into `openSiblingDoc`. The hosted page is served
708
773
  // fresh against pinned SDKs, so it offers the Open only to a host
709
774
  // that says it will honour it.
710
- { ...callerAppParam(), docId, focus, canOpenCopy: true }, 'redirect', true);
775
+ { docId, focus, canOpenCopy: true }, 'redirect', true);
711
776
  },
712
777
  async documentHistory(docId, options) {
713
778
  const params = { docId };
@@ -723,25 +788,17 @@ export function createHostedUiLauncher(opts) {
723
788
  },
724
789
  async selectOrganization(currentOrganizationId) {
725
790
  // 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.
791
+ // bridge; only the chosen organization comes back.
729
792
  const params = {};
730
- if (opts.callingAppId !== undefined)
731
- params['appId'] = opts.callingAppId;
732
793
  if (currentOrganizationId !== undefined) {
733
794
  params['organizationId'] = currentOrganizationId;
734
795
  }
735
796
  return launch('select-organization', params, 'reject');
736
797
  },
737
798
  async installApp(organizationId) {
738
- // Thread the caller's `appId` over the bridge so the embed page renders
739
- // the right app's name + scopes (every Brass app shares one sign-in
740
- // user-pool client, so the JWT can't disambiguate). On confirm the
741
- // embed page POSTs the install server-side and forwards the response.
799
+ // The embed page renders the app the init names, with its scopes. On
800
+ // confirm it POSTs the install server-side and forwards the response.
742
801
  const params = {};
743
- if (opts.callingAppId !== undefined)
744
- params['appId'] = opts.callingAppId;
745
802
  if (organizationId !== undefined)
746
803
  params['organizationId'] = organizationId;
747
804
  return launch('install-app', params, 'reject');
@@ -750,12 +807,7 @@ export function createHostedUiLauncher(opts) {
750
807
  return launch('drive-resolve', { docId }, 'reject');
751
808
  },
752
809
  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
810
  const params = { organizationId, host };
757
- if (opts.callingAppId !== undefined)
758
- params['appId'] = opts.callingAppId;
759
811
  return launch('service-credential', params, 'reject');
760
812
  },
761
813
  };
@@ -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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"}
@@ -0,0 +1,74 @@
1
+ import type { ImportReport } from './import-report.js';
2
+ import { type SealedStoreBuiltBy } from './sealed-store.js';
3
+ /** The file an importer is given. */
4
+ export interface ImportFile {
5
+ /** The file's own name, extension included. */
6
+ name: string;
7
+ /** The file's media type, as it was uploaded. */
8
+ content_type: string;
9
+ /** The file's size in bytes. */
10
+ byte_size: number;
11
+ /** The file's bytes. */
12
+ bytes(): Promise<Uint8Array>;
13
+ }
14
+ /**
15
+ * One stream's content as JSON: one entry per top-level collection, the same
16
+ * keys `doc.map`, `doc.list`, `doc.orderedMap` and `doc.text` read it back
17
+ * through. An object is a map (its entries are the records), an array is a
18
+ * list, and a string is a text. An ordered map is its two collections: the
19
+ * map of records and the list of their keys.
20
+ */
21
+ export type ImportContent = Record<string, Record<string, unknown> | readonly unknown[] | string>;
22
+ /** What an importer returns: the content of every stream it produces, keyed
23
+ * by stream name, and what it skipped or assumed. The document's own stream
24
+ * is `default`; any other name is a stream an app opens with
25
+ * `doc.stream(name)`. */
26
+ export interface ImportResult {
27
+ streams: Record<string, ImportContent>;
28
+ /** What the import skipped or assumed. Omit it for a file read cleanly. */
29
+ report?: ImportReport;
30
+ }
31
+ export type DocumentImporter = (file: ImportFile) => ImportResult | Promise<ImportResult>;
32
+ /** The document's own stream. */
33
+ export declare const DEFAULT_IMPORT_STREAM = "default";
34
+ /** A result an importer returned that no runner can store, naming what is
35
+ * wrong with it. */
36
+ export declare class ImportResultError extends Error {
37
+ }
38
+ /**
39
+ * The importer's return value, validated, or null when it returned no
40
+ * content. Throws `ImportResultError` naming the stream or collection it
41
+ * could not read.
42
+ */
43
+ export declare function readImportResult(value: unknown): ImportResult | null;
44
+ /** How many entries a stream's content holds, across its collections. */
45
+ export declare function importContentEntries(content: ImportContent): number;
46
+ /** One stream, encoded in the form its producer uploads
47
+ * (`encodeSealedUpload`). */
48
+ export interface EncodedImportStream {
49
+ name: string;
50
+ bytes: Uint8Array;
51
+ /** Entries the stream holds, counted before the encode consumed them. */
52
+ entries: number;
53
+ }
54
+ /**
55
+ * Encode every stream a result holds, the default stream first. A stream
56
+ * holding no entries is left out, and a result where every stream is empty
57
+ * encodes to nothing, which a runner reports rather than seals: the import
58
+ * stamp is permanent, and a document stamped with nothing in it has no path
59
+ * back to its file.
60
+ *
61
+ * CONSUMES the result's map values (see `sealedTablesOfImport`).
62
+ */
63
+ export declare function encodeImportStreams(result: ImportResult, builtBy?: SealedStoreBuiltBy): Promise<EncodedImportStream[]>;
64
+ export declare function encodeStreamBundle(streams: readonly {
65
+ name: string;
66
+ bytes: Uint8Array;
67
+ }[]): Uint8Array;
68
+ /** The streams a bundle carries, or null for bytes that are not a bundle this
69
+ * reader can read. */
70
+ export declare function decodeStreamBundle(bytes: Uint8Array): {
71
+ name: string;
72
+ bytes: Uint8Array;
73
+ }[] | null;
74
+ //# sourceMappingURL=import-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-contract.d.ts","sourceRoot":"","sources":["../src/import-contract.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,qCAAqC;AACrC,MAAM,WAAW,UAAU;IACzB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAIlB,wBAAwB;IACxB,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AAElG;;;0BAG0B;AAC1B,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,UAAU,KACb,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAE1C,iCAAiC;AACjC,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAM/C;qBACqB;AACrB,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAwCpE;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAQnE;AAED;8BAC8B;AAC9B,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAahC;AAYD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,EAAE,GACtD,UAAU,CA0BZ;AAED;uBACuB;AACvB,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,EAAE,GAAG,IAAI,CAwB9C"}
@@ -0,0 +1,163 @@
1
+ // The importer contract, shared by every place an importer runs.
2
+ //
3
+ // An importer is a leaf: given one file, it returns content as JSON covering
4
+ // one or more named streams of one document, plus an optional report. It
5
+ // holds no Document and calls nothing on Brass. Whatever runs it (the SDK in a
6
+ // browser tab, the platform's import worker) reads the file, encodes what it returns
7
+ // with `encodeImportStreams`, and hands the encoded streams to the platform,
8
+ // which seals them as the document's first content. Nothing here or in a
9
+ // runner knows which importer it is running.
10
+ //
11
+ // Loro-free, so the platform's worker and the published SDK share it.
12
+ import { sealedRootKindOf } from './sealed-store.js';
13
+ /** The document's own stream. */
14
+ export const DEFAULT_IMPORT_STREAM = 'default';
15
+ // A stream name is a manifest name token (`NAME_TOKEN_PATTERN` in the
16
+ // platform's contracts): the platform refuses anything else.
17
+ const STREAM_NAME = /^[a-z0-9][a-z0-9._-]{0,63}$/;
18
+ /** A result an importer returned that no runner can store, naming what is
19
+ * wrong with it. */
20
+ export class ImportResultError extends Error {
21
+ }
22
+ /**
23
+ * The importer's return value, validated, or null when it returned no
24
+ * content. Throws `ImportResultError` naming the stream or collection it
25
+ * could not read.
26
+ */
27
+ export function readImportResult(value) {
28
+ if (value === undefined || value === null)
29
+ return null;
30
+ if (typeof value !== 'object' || Array.isArray(value)) {
31
+ throw new ImportResultError('The importer must return { streams }.');
32
+ }
33
+ const { streams, report } = value;
34
+ if (streams === undefined || streams === null)
35
+ return null;
36
+ if (typeof streams !== 'object' || Array.isArray(streams)) {
37
+ throw new ImportResultError('The importer returned streams that are not an object keyed by stream name.');
38
+ }
39
+ for (const [name, content] of Object.entries(streams)) {
40
+ if (!STREAM_NAME.test(name)) {
41
+ throw new ImportResultError(`The importer returned a stream named "${name}". A stream name is ` +
42
+ 'lowercase letters, digits, ".", "-" and "_".');
43
+ }
44
+ if (content === null || typeof content !== 'object' || Array.isArray(content)) {
45
+ throw new ImportResultError(`The importer returned stream "${name}" as something other than an ` +
46
+ 'object of collections.');
47
+ }
48
+ for (const [key, root] of Object.entries(content)) {
49
+ if (sealedRootKindOf(root) === null) {
50
+ throw new ImportResultError(`The importer returned "${key}" in stream "${name}" as neither an ` +
51
+ 'object, an array, nor a string.');
52
+ }
53
+ }
54
+ }
55
+ return {
56
+ streams: streams,
57
+ ...(report !== undefined && report !== null
58
+ ? { report: report }
59
+ : {}),
60
+ };
61
+ }
62
+ /** How many entries a stream's content holds, across its collections. */
63
+ export function importContentEntries(content) {
64
+ let count = 0;
65
+ for (const root of Object.values(content)) {
66
+ if (typeof root === 'string')
67
+ count += root === '' ? 0 : 1;
68
+ else if (Array.isArray(root))
69
+ count += root.length;
70
+ else
71
+ count += Object.keys(root).length;
72
+ }
73
+ return count;
74
+ }
75
+ /**
76
+ * Encode every stream a result holds, the default stream first. A stream
77
+ * holding no entries is left out, and a result where every stream is empty
78
+ * encodes to nothing, which a runner reports rather than seals: the import
79
+ * stamp is permanent, and a document stamped with nothing in it has no path
80
+ * back to its file.
81
+ *
82
+ * CONSUMES the result's map values (see `sealedTablesOfImport`).
83
+ */
84
+ export async function encodeImportStreams(result, builtBy) {
85
+ const { encodeSealedUpload } = await import('./sealed-encode.js');
86
+ const names = Object.keys(result.streams).sort((a, b) => a === DEFAULT_IMPORT_STREAM ? -1 : b === DEFAULT_IMPORT_STREAM ? 1 : 0);
87
+ const out = [];
88
+ for (const name of names) {
89
+ const content = result.streams[name];
90
+ const entries = importContentEntries(content);
91
+ if (entries === 0)
92
+ continue;
93
+ out.push({ name, bytes: await encodeSealedUpload(content, builtBy), entries });
94
+ }
95
+ return out;
96
+ }
97
+ // --- The staging bundle -------------------------------------------------
98
+ //
99
+ // A runner outside the platform stages every stream of one import as ONE
100
+ // object, so the seal reads one upload and the streams land together or not
101
+ // at all. `BRSB`, a version byte, the stream count, then per stream a u16
102
+ // name length, the name, a u32 byte length, and the bytes.
103
+ const BUNDLE_MAGIC = 0x42_52_53_42;
104
+ const BUNDLE_VERSION = 1;
105
+ export function encodeStreamBundle(streams) {
106
+ const encoder = new TextEncoder();
107
+ const names = streams.map((s) => encoder.encode(s.name));
108
+ let total = 9;
109
+ for (let i = 0; i < streams.length; i += 1) {
110
+ total += 2 + names[i].byteLength + 4 + streams[i].bytes.byteLength;
111
+ }
112
+ const out = new Uint8Array(total);
113
+ const view = new DataView(out.buffer);
114
+ view.setUint32(0, BUNDLE_MAGIC);
115
+ view.setUint8(4, BUNDLE_VERSION);
116
+ view.setUint32(5, streams.length);
117
+ let at = 9;
118
+ for (let i = 0; i < streams.length; i += 1) {
119
+ const name = names[i];
120
+ view.setUint16(at, name.byteLength);
121
+ at += 2;
122
+ out.set(name, at);
123
+ at += name.byteLength;
124
+ const bytes = streams[i].bytes;
125
+ view.setUint32(at, bytes.byteLength);
126
+ at += 4;
127
+ out.set(bytes, at);
128
+ at += bytes.byteLength;
129
+ }
130
+ return out;
131
+ }
132
+ /** The streams a bundle carries, or null for bytes that are not a bundle this
133
+ * reader can read. */
134
+ export function decodeStreamBundle(bytes) {
135
+ if (bytes.byteLength < 9)
136
+ return null;
137
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
138
+ if (view.getUint32(0) !== BUNDLE_MAGIC || view.getUint8(4) !== BUNDLE_VERSION) {
139
+ return null;
140
+ }
141
+ const count = view.getUint32(5);
142
+ const decoder = new TextDecoder();
143
+ const out = [];
144
+ let at = 9;
145
+ for (let i = 0; i < count; i += 1) {
146
+ if (at + 2 > bytes.byteLength)
147
+ return null;
148
+ const nameLength = view.getUint16(at);
149
+ at += 2;
150
+ if (at + nameLength + 4 > bytes.byteLength)
151
+ return null;
152
+ const name = decoder.decode(bytes.subarray(at, at + nameLength));
153
+ at += nameLength;
154
+ const length = view.getUint32(at);
155
+ at += 4;
156
+ if (at + length > bytes.byteLength)
157
+ return null;
158
+ out.push({ name, bytes: bytes.subarray(at, at + length) });
159
+ at += length;
160
+ }
161
+ return at === bytes.byteLength ? out : null;
162
+ }
163
+ //# sourceMappingURL=import-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-contract.js","sourceRoot":"","sources":["../src/import-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type DocumentImporter } from './import-contract.js';
2
+ export declare const IMPORT_MODE_PARAM = "__brass_import";
3
+ export declare function isImportMode(search: string): boolean;
4
+ export interface ImportGuestController {
5
+ setImporter(importer: DocumentImporter): void;
6
+ dispose(): void;
7
+ }
8
+ export declare function startImportGuest(): ImportGuestController;
9
+ //# sourceMappingURL=import-guest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-guest.d.ts","sourceRoot":"","sources":["../src/import-guest.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,gBAAgB,EAEtB,MAAM,sBAAsB,CAAC;AAI9B,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAMlD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC9C,OAAO,IAAI,IAAI,CAAC;CACjB;AAiCD,wBAAgB,gBAAgB,IAAI,qBAAqB,CAiIxD"}