@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/src/index.ts CHANGED
@@ -13,10 +13,17 @@ import type {
13
13
  OpenDocumentByIdOptions,
14
14
  OpenedDocument,
15
15
  } from './open-document.js';
16
- import type { SelectDocumentResult } from './hosted-ui.js';
16
+ import type {
17
+ ChooseInputOptions,
18
+ ChooseInputsOptions,
19
+ DocumentFamilies,
20
+ InputReference,
21
+ SelectDocumentResult,
22
+ } from './hosted-ui.js';
17
23
  import type { AppServiceState, CallServiceOptions } from './call-service.js';
18
24
  import type { DocumentsNamespace } from './documents-namespace.js';
19
- import type { DocumentImporter } from './importer.js';
25
+ import type { OpenDocumentById } from './read-only-document.js';
26
+ import type { DocumentImporter } from './import-contract.js';
20
27
  import type { DocumentSerializer } from './serializer.js';
21
28
  import type { DocumentSession } from './session.js';
22
29
  import type {
@@ -44,15 +51,18 @@ export type {
44
51
  } from './call-service.js';
45
52
  export {
46
53
  type HostedUiTheme,
54
+ type ChooseInputOptions,
55
+ type ChooseInputsOptions,
56
+ type DocumentFamilies,
47
57
  type SelectDocumentResult,
58
+ type SelectionAccept,
59
+ type SelectionNarrowing,
48
60
  } from './hosted-ui.js';
49
61
  export {
50
62
  type DocumentMember,
51
63
  type DocumentRecord,
52
64
  type DocumentRole,
53
- type DocumentCheckpoint,
54
65
  type DocumentSourceBlob,
55
- type DocumentSourceStream,
56
66
  type DocumentStreamInfo,
57
67
  type DocumentSummary,
58
68
  type DocumentThumbnail,
@@ -60,6 +70,15 @@ export {
60
70
  type GetThumbnailOptions,
61
71
  type SetThumbnailInput,
62
72
  } from './documents-namespace.js';
73
+ export {
74
+ type ReadOnlyDocument,
75
+ type ReadOnlyStream,
76
+ type ReadOnlyListHandle,
77
+ type ReadOnlyMapHandle,
78
+ type ReadOnlyOrderedMapHandle,
79
+ type ReadOnlyTextHandle,
80
+ type OpenModeOptions,
81
+ } from './read-only-document.js';
63
82
  export {
64
83
  type CanvasSource,
65
84
  type Command,
@@ -115,11 +134,18 @@ export type {
115
134
  Splice,
116
135
  MapHandle,
117
136
  MapSubscriber,
137
+ MutateOptions,
118
138
  OrderedMapHandle,
119
139
  OrderedMapPosition,
120
140
  TextHandle,
121
141
  TextSubscriber,
122
142
  } from './handle-types.js';
143
+ export type {
144
+ InputDocument,
145
+ InputDocumentHandlers,
146
+ InputDocumentOpen,
147
+ InputDocumentOptions,
148
+ } from './input-documents.js';
123
149
 
124
150
  export type {
125
151
  DocumentSerializer,
@@ -127,7 +153,22 @@ export type {
127
153
  StoredList,
128
154
  StoredMap,
129
155
  } from './serializer.js';
130
- export type { DocumentImporter } from './importer.js';
156
+ export type {
157
+ DocumentImporter,
158
+ ImportContent,
159
+ ImportFile,
160
+ ImportResult,
161
+ } from './import-contract.js';
162
+ export type {
163
+ ImportFinding,
164
+ ImportFindingKind,
165
+ ImportReport,
166
+ } from './import-report.js';
167
+ export type {
168
+ InputReference,
169
+ InputStatus,
170
+ InputStatusDocument,
171
+ } from './inputs-status.js';
131
172
  export { DocumentStream } from './document-streams.js';
132
173
  export {
133
174
  type CreateDocumentOptions,
@@ -220,7 +261,7 @@ export const Brass = {
220
261
  return client.connectService(host);
221
262
  },
222
263
  // Metadata read for a known id (`get`) plus thumbnails. Create / move /
223
- // list / grant access are hosted-only.
264
+ // grant access are hosted-only.
224
265
  get documents(): DocumentsNamespace {
225
266
  return client.documents;
226
267
  },
@@ -274,20 +315,40 @@ export const Brass = {
274
315
  mountVersionPreview(container: HTMLElement): MountedPiece {
275
316
  return client.mountVersionPreview(container);
276
317
  },
318
+ /** @deprecated Use `Brass.session.open()` with no id. */
277
319
  selectDocument(): Promise<SelectDocumentResult | null> {
278
320
  return client.selectDocument();
279
321
  },
322
+ // Files, folders and projects as references, or `null` when the person
323
+ // closes the picker. A folder or project reference keeps including what is
324
+ // filed there later: record the references with `doc.dependsOn`, and the
325
+ // key's status lists the files they include. Rejects with
326
+ // `iframe_unavailable` where the browser blocks the picker.
327
+ chooseInputs(
328
+ families: DocumentFamilies,
329
+ options?: ChooseInputsOptions,
330
+ ): Promise<InputReference[] | null> {
331
+ return client.chooseInputs(families, options);
332
+ },
333
+ // One file as a reference, such as a standard a model is checked against.
334
+ // Resolves with that reference, or `null` when the person closes the
335
+ // picker; keep the reference you already have on `null`. Rejects with
336
+ // `iframe_unavailable` where the browser blocks the picker.
337
+ chooseInput(
338
+ families: DocumentFamilies,
339
+ options?: ChooseInputOptions,
340
+ ): Promise<InputReference | null> {
341
+ return client.chooseInput(families, options);
342
+ },
280
343
  // Opens the hosted multi-tier share dialog (document / project /
281
344
  // organization in one UI) focused on the given document.
282
345
  shareDocument(docId: string): Promise<void> {
283
346
  return client.shareDocument(docId);
284
347
  },
285
- openDocumentById(
286
- docId: string,
287
- options?: OpenDocumentByIdOptions,
288
- ): Promise<OpenedDocument> {
289
- return client.openDocumentById(docId, options);
290
- },
348
+ // `readOnly: true` opens a live copy with nothing on it that writes
349
+ // (`ReadOnlyDocument`).
350
+ openDocumentById: ((docId: string, options?: OpenDocumentByIdOptions) =>
351
+ client.openDocumentById(docId, options)) as OpenDocumentById,
291
352
  // `true` when the page was opened as an anonymous link guest
292
353
  // (`?brass_link=`): no signed-in user, a read-only document. Apps render
293
354
  // their working surface for a guest as they do for a signed-in user (the
@@ -305,10 +366,9 @@ export const Brass = {
305
366
  registerSerializer(serializer: DocumentSerializer): void {
306
367
  client.registerSerializer(serializer);
307
368
  },
308
- // Register the app's import backend: parses a stored source file into
309
- // the document's records. Brass runs it when a document's file needs
310
- // importing; the records reach every open client live. Call once at
311
- // boot beside `registerSerializer`.
369
+ // Register the app's import backend: given a document's stored files, it
370
+ // returns the document's content. Brass seals what it returns as the
371
+ // document's first content. Call once at boot beside `registerSerializer`.
312
372
  registerImporter(importer: DocumentImporter): void {
313
373
  client.registerImporter(importer);
314
374
  },
package/src/init-keys.ts CHANGED
@@ -4,12 +4,17 @@
4
4
 
5
5
  // Keys used in the prompt block the dashboard renders. The `app_id`
6
6
  // line carries the app-specific id; the URL lines carry the env's
7
- // auth / data / WS origins.
7
+ // auth / data / WS / dashboard origins.
8
+ //
9
+ // Every origin `Brass.init` takes belongs here: each falls back to its own
10
+ // default independently, so a prompt naming a subset leaves the rest on
11
+ // theirs.
8
12
  export const BRASS_INIT_ARG_KEYS = [
9
13
  'app_id',
10
14
  'auth_base_url',
11
15
  'api_base_url',
12
16
  'ws_base_url',
17
+ 'dashboard_base_url',
13
18
  ] as const;
14
19
 
15
20
  export type BrassInitArgKey = (typeof BRASS_INIT_ARG_KEYS)[number];