@brass-build/cli 0.3.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 (55) hide show
  1. package/AGENTS.md +170 -11
  2. package/CHANGELOG.md +18 -0
  3. package/README.md +76 -14
  4. package/dist/api.d.ts +45 -0
  5. package/dist/api.d.ts.map +1 -1
  6. package/dist/api.js +21 -2
  7. package/dist/api.js.map +1 -1
  8. package/dist/approval-prompt.d.ts +25 -0
  9. package/dist/approval-prompt.d.ts.map +1 -0
  10. package/dist/approval-prompt.js +44 -0
  11. package/dist/approval-prompt.js.map +1 -0
  12. package/dist/args.d.ts.map +1 -1
  13. package/dist/args.js +10 -1
  14. package/dist/args.js.map +1 -1
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +189 -17
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands.d.ts +28 -1
  19. package/dist/commands.d.ts.map +1 -1
  20. package/dist/commands.js +358 -24
  21. package/dist/commands.js.map +1 -1
  22. package/dist/login.d.ts +1 -0
  23. package/dist/login.d.ts.map +1 -1
  24. package/dist/login.js +14 -12
  25. package/dist/login.js.map +1 -1
  26. package/dist/project.d.ts +8 -0
  27. package/dist/project.d.ts.map +1 -1
  28. package/dist/project.js +75 -7
  29. package/dist/project.js.map +1 -1
  30. package/dist/sdk-pairing.d.ts +9 -0
  31. package/dist/sdk-pairing.d.ts.map +1 -0
  32. package/dist/sdk-pairing.js +42 -0
  33. package/dist/sdk-pairing.js.map +1 -0
  34. package/dist/session.d.ts +15 -1
  35. package/dist/session.d.ts.map +1 -1
  36. package/dist/session.js +72 -10
  37. package/dist/session.js.map +1 -1
  38. package/dist/store.d.ts +10 -0
  39. package/dist/store.d.ts.map +1 -1
  40. package/dist/store.js +41 -0
  41. package/dist/store.js.map +1 -1
  42. package/dist/version.d.ts +2 -2
  43. package/dist/version.js +1 -1
  44. package/package.json +2 -1
  45. package/src/api.ts +80 -2
  46. package/src/approval-prompt.ts +75 -0
  47. package/src/args.ts +10 -1
  48. package/src/cli.ts +232 -16
  49. package/src/commands.ts +468 -30
  50. package/src/login.ts +24 -11
  51. package/src/project.ts +82 -7
  52. package/src/sdk-pairing.ts +53 -0
  53. package/src/session.ts +100 -8
  54. package/src/store.ts +77 -0
  55. package/src/version.ts +1 -1
package/dist/commands.js CHANGED
@@ -2,9 +2,12 @@
2
2
  // `BrassApi` plus its inputs and returning a structured result (or throwing
3
3
  // `BrassApiError` / `Error`). The bin layer wires real IO; tests drive these
4
4
  // directly against a mocked client, including the full publish sequence.
5
- import { BrassApi, BrassApiError, putPresigned, } from './api.js';
6
- import { mergeSchemaIntoManifest, readManifest, writeManifest, writeProjectAppId, writeTextFile, collectZipEntries, contentHash, zipEntries, isDirectory, } from './project.js';
5
+ import { BrassApi, BrassApiError, getPresigned, putPresigned, } from './api.js';
6
+ import { loadFirstManifest, mergeSchemaIntoManifest, publishManifestCandidates, readManifest, writeManifest, writeProjectAppId, writeTextFile, collectZipEntries, contentHash, zipEntries, isDirectory, } from './project.js';
7
7
  import { basename } from 'node:path';
8
+ import { createRequire } from 'node:module';
9
+ import { readFileSync } from 'node:fs';
10
+ import { sdkMismatchMessage } from './sdk-pairing.js';
8
11
  const DEFAULT_POLL_ATTEMPTS = 60;
9
12
  const DEFAULT_POLL_INTERVAL_MS = 2000;
10
13
  const realSleep = (ms) => new Promise((r) => setTimeout(r, ms));
@@ -32,7 +35,7 @@ export async function publish(ctx, opts) {
32
35
  // of a couple of reads instead of an upload and a poll loop.
33
36
  const unchanged = await activeVersionMatches(ctx, appId, hash);
34
37
  if (unchanged !== null) {
35
- const status = await awaitGateSettled(ctx, appId, await ctx.api.get(`/apps/${encodeURIComponent(appId)}/hosting`), opts.sleep ?? realSleep);
38
+ const status = await awaitSlotReady(ctx, appId, await ctx.api.get(`/apps/${encodeURIComponent(appId)}/hosting`), opts.sleep ?? realSleep);
36
39
  ctx.log.success(`Already up to date${status.url ? `: ${status.url}` : ''}`);
37
40
  // Refreshed here too, so publishing twice says the same thing both times.
38
41
  // A publisher acting on a warning re-runs publish to check, and a signal
@@ -54,11 +57,16 @@ export async function publish(ctx, opts) {
54
57
  if (version.status !== 'ready') {
55
58
  throw new Error(`Deploy failed: ${version.failure_reason ?? 'unknown reason'}`);
56
59
  }
60
+ // The status read comes first because the refresh below reads the manifest
61
+ // the app SERVES, and the app names the version it serves a moment after the
62
+ // deploy reports ready. A refresh fired on the ready alone reads the previous
63
+ // version's manifest, or, on a first publish, none at all and a failed read
64
+ // over a deploy that worked.
65
+ const status = await awaitSlotReady(ctx, appId, await ctx.api.get(`/apps/${encodeURIComponent(appId)}/hosting`), opts.sleep ?? realSleep, version.version_id);
57
66
  // Best-effort: the platform crawls the served manifest after a deploy on
58
67
  // its own, but an explicit refresh surfaces capability warnings (e.g. a
59
68
  // schema missing `family`) right here instead of silently later.
60
69
  const warnings = await refreshCapabilities(ctx, appId);
61
- const status = await awaitGateSettled(ctx, appId, await ctx.api.get(`/apps/${encodeURIComponent(appId)}/hosting`), opts.sleep ?? realSleep);
62
70
  if (status.url)
63
71
  ctx.log.success(`Deployed: ${status.url}`);
64
72
  return { app_id: appId, version_id: version.version_id, url: status.url, warnings };
@@ -66,15 +74,24 @@ export async function publish(ctx, opts) {
66
74
  async function resolveOrCreateApp(ctx, opts) {
67
75
  if (opts.appId !== undefined)
68
76
  return { appId: opts.appId };
69
- const manifest = await readManifest(opts.manifestPath);
70
- const name = opts.name ?? manifest?.name;
77
+ // An explicit `--manifest` names one file and nothing else, so a typo in it
78
+ // is reported rather than silently answered by a manifest somewhere else.
79
+ const searched = opts.manifestPath !== undefined ? [opts.manifestPath] : publishManifestCandidates(opts.dir);
80
+ const found = await loadFirstManifest(ctx.cwd, searched);
81
+ const name = opts.name ?? found?.manifest.name;
71
82
  if (name === undefined || name.trim() === '') {
72
- throw new Error('No app to publish to. Pass --name to create one, or --app / BRASS_APP_ID / a .brass/project.json for an existing app.');
83
+ // A manifest that is absent and one that sets no `name` need different
84
+ // fixes, so a manifest that was read is named rather than reported as one
85
+ // of the paths the search missed.
86
+ const fix = 'Pass --name to create one, or --app / BRASS_APP_ID / a .brass/project.json for an existing app.';
87
+ throw new Error(found === null
88
+ ? `No app to publish to, and no manifest to name one from (looked at ${searched.join(' and ')}). ${fix}`
89
+ : `No app to publish to, and ${found.path} sets no "name". ${fix}`);
73
90
  }
74
91
  // A `client_token` makes create idempotent, so a repeated create-from-
75
92
  // scratch (ephemeral CI has no persisted project.json) resolves the same
76
93
  // app rather than minting a duplicate.
77
- const clientToken = opts.clientToken ?? manifest?.client_token;
94
+ const clientToken = opts.clientToken ?? found?.manifest.client_token;
78
95
  const organizationId = await resolveCreateOrganizationId(ctx, opts.organizationId);
79
96
  const body = {
80
97
  name: name.trim(),
@@ -84,6 +101,18 @@ async function resolveOrCreateApp(ctx, opts) {
84
101
  if (typeof clientToken === 'string' && clientToken.trim() !== '') {
85
102
  body.client_token = clientToken.trim();
86
103
  }
104
+ // A create is the one call that can duplicate an app, and it duplicates
105
+ // silently: the run succeeds, and the second app only shows up later as a
106
+ // pile of them. Say so here, naming where the key belongs, because a caller
107
+ // who reached this line by passing --name never saw the manifest search.
108
+ if (body.client_token === undefined) {
109
+ ctx.log.warn((found === null
110
+ ? `No manifest found at ${searched.join(' or ')}.`
111
+ : `${found.path} sets no "client_token".`) +
112
+ ' Creating this app without one, so a run that starts with no' +
113
+ ' .brass/project.json creates a second app instead of resolving this' +
114
+ ' one. Set "client_token" in the manifest, or pass --client-token.');
115
+ }
87
116
  const app = await ctx.api.post('/apps', body);
88
117
  await writeProjectAppId(ctx.cwd, ctx.profile, app.app_id);
89
118
  // With a key the call resolves-or-creates, so avoid asserting it was new.
@@ -150,24 +179,32 @@ async function ensureHosting(ctx, appId, slug, requireAccess) {
150
179
  // ready yet is re-read a few times before publish gives up. Publishing
151
180
  // reports success only once the slot will actually serve, so an unreachable
152
181
  // one is a failed publish rather than a URL that answers 404.
153
- const GATE_SETTLE_ATTEMPTS = 3;
154
- const GATE_SETTLE_GAP_MS = 2000;
155
- async function awaitGateSettled(ctx, appId, status, sleep) {
156
- // An api that does not report the field tells us nothing to act on.
157
- if (status.gate_settled !== false)
158
- return status;
159
- for (let attempt = 1; attempt < GATE_SETTLE_ATTEMPTS; attempt++) {
160
- await sleep(GATE_SETTLE_GAP_MS);
161
- const latest = await ctx.api.get(`/apps/${encodeURIComponent(appId)}/hosting`);
162
- if (latest.gate_settled !== false)
163
- return latest;
182
+ const SLOT_READY_ATTEMPTS = 3;
183
+ const SLOT_READY_GAP_MS = 2000;
184
+ // Poll the hosting status until it reports what the rest of the publish reads:
185
+ // the slot registered, and, when the caller names a version, the app serving
186
+ // that one. Reading the manifest the app serves needs the second.
187
+ //
188
+ // A slot that never registers is fatal, since it will not serve. A version the
189
+ // status has not named yet is not: the app names it a moment later, so the
190
+ // publish reports what it did rather than failing over the lag.
191
+ async function awaitSlotReady(ctx, appId, status, sleep, versionId) {
192
+ // An api that omits `gate_settled` tells us nothing to act on.
193
+ const ready = (s) => s.gate_settled !== false && (versionId === undefined || s.active_version === versionId);
194
+ let latest = status;
195
+ for (let attempt = 1; attempt < SLOT_READY_ATTEMPTS && !ready(latest); attempt++) {
196
+ await sleep(SLOT_READY_GAP_MS);
197
+ latest = await ctx.api.get(`/apps/${encodeURIComponent(appId)}/hosting`);
164
198
  }
165
199
  // Says what is true of the SLOT, because both publish paths end here: the
166
200
  // one that uploaded a new bundle and the one that found the app already
167
201
  // serving this exact bundle and skipped the upload. A message naming an
168
202
  // upload sends the second caller looking for one that never happened.
169
- throw new Error('The hosted slot never registered, so it will not serve. ' +
170
- 'Run publish again to retry.');
203
+ if (latest.gate_settled === false) {
204
+ throw new Error('The hosted slot never registered, so it will not serve. ' +
205
+ 'Run publish again to retry.');
206
+ }
207
+ return latest;
171
208
  }
172
209
  // The currently-served version when it is `ready` and already carries `hash`,
173
210
  // else null. A null (no active version, a non-ready active version, or a hash
@@ -224,6 +261,267 @@ async function refreshCapabilities(ctx, appId) {
224
261
  return [warning];
225
262
  }
226
263
  }
264
+ // Read what a document holds and write it out as JSON.
265
+ //
266
+ // The document is fetched the way an app fetches one, as the compact CRDT
267
+ // snapshot plus the tail that follows it, and unpacked here. That is what
268
+ // makes the answer the WHOLE document rather than a slice of it: the machine
269
+ // running this is the one with the memory to hold a large one, which is the
270
+ // same reason a browser can. A reader building against an example file needs
271
+ // the record types the file carries, and no window over a store carries them,
272
+ // since an import arrives grouped by entity type.
273
+ export async function documentContents(ctx, opts) {
274
+ // Work that REPLACES the document's content holds it read-only while it
275
+ // runs, and the join answers such a document with an empty snapshot: a
276
+ // drive-linked file whose first open enqueues the import is the case that
277
+ // reaches here, and this join is what enqueues it. Writing that out lands
278
+ // an empty file and reports success, which is indistinguishable from a
279
+ // document that really is empty. An outbound push leaves the content
280
+ // readable and is not this.
281
+ let join = await joinDocument(ctx, opts);
282
+ const waitMs = opts.waitMs ?? DEFAULT_CONTENTS_WAIT_MS;
283
+ // Only work that is still running is worth waiting on. Work that has
284
+ // already stopped is answered below without spending a poll on it.
285
+ if (isContentBlocked(join.status) && join.status.pending && waitMs > 0) {
286
+ await awaitContentReady(ctx, opts, join.status, waitMs);
287
+ // One more join, because the poll reads the light route: the content the
288
+ // wait was for arrives only on a route that carries it.
289
+ join = await joinDocument(ctx, opts);
290
+ }
291
+ // A status that has stopped while still blocking is work that ended without
292
+ // content, which is terminal however long anyone waits. `ready` is the one
293
+ // non-terminal reading of that pair, and it is a transient flip on the way
294
+ // to the status clearing, so what tells the two apart is whether the join
295
+ // came back carrying anything.
296
+ if (isContentBlocked(join.status) && !carriesContent(join)) {
297
+ throw contentUnavailable(opts.docId, join.status, waitMs);
298
+ }
299
+ // Anything the response could not carry inline arrives as a presigned URL,
300
+ // which is how one response delivers a document of any size.
301
+ const [snapshot, ops] = await Promise.all([
302
+ join.snapshot === null ? null : resolveSnapshot(join.snapshot),
303
+ // Seq order, because a tail is replayed in it.
304
+ mapWithConcurrency([...join.tail_ops].sort((a, b) => a.seq - b.seq), TAIL_FETCH_CONCURRENCY, resolveTailOp),
305
+ ]);
306
+ // Loaded here rather than imported at the top: it pulls the CRDT engine's
307
+ // WASM, which no other command needs and every other command would
308
+ // otherwise pay for at startup.
309
+ assertSdkPairing();
310
+ const { readDocumentContents } = await import('@brass-build/client/internal');
311
+ const contents = readDocumentContents(snapshot, ops);
312
+ const roots = Object.keys(contents);
313
+ const body = serializeContents(contents, opts.docId);
314
+ const bytes = Buffer.byteLength(body, 'utf8');
315
+ if (opts.outPath === null) {
316
+ ctx.log.write(body);
317
+ }
318
+ else {
319
+ await writeTextFile(opts.outPath, body);
320
+ ctx.log.success(`Wrote ${roots.length === 1 ? '1 root' : `${roots.length} roots`} of ${opts.docId} to ${opts.outPath} (${bytes} bytes)`);
321
+ }
322
+ return {
323
+ doc_id: join.doc_id,
324
+ stream: opts.stream ?? DEFAULT_STREAM,
325
+ out_path: opts.outPath,
326
+ roots,
327
+ bytes,
328
+ };
329
+ }
330
+ // The stream a join reads when the caller names none. The API owns the
331
+ // default; this is only what the result reports back.
332
+ const DEFAULT_STREAM = 'default';
333
+ // How long a read waits on a document whose content is still being prepared.
334
+ //
335
+ // The command's own join is what enqueues that work for a drive-linked file's
336
+ // first open, so refusing and telling the caller to try later hands them a
337
+ // wait they then have to run by hand. `brass publish` already waits on the
338
+ // slow work it starts; this is the same bargain.
339
+ //
340
+ // The budget is the extraction worker's own 900s ceiling: past it the run is
341
+ // dead rather than slow, so waiting longer reports nothing a shorter wait
342
+ // would not.
343
+ const DEFAULT_CONTENTS_WAIT_MS = 900_000;
344
+ const CONTENTS_POLL_INTERVAL_MS = 2_000;
345
+ const POLL_FAILURES_TOLERATED = 5;
346
+ // Narrows as well as answers: a blocked status is by definition present, and
347
+ // every caller here goes on to read its wording.
348
+ function isContentBlocked(status) {
349
+ return status?.blocking === true;
350
+ }
351
+ // Whether a join carries document state at all. A never-compacted document
352
+ // lives entirely in its tail, so neither half alone answers this.
353
+ function carriesContent(join) {
354
+ return join.snapshot !== null || join.tail_ops.length > 0;
355
+ }
356
+ async function joinDocument(ctx, opts) {
357
+ const query = new URLSearchParams({ include: 'snapshot' });
358
+ if (opts.stream !== undefined)
359
+ query.set('stream', opts.stream);
360
+ if (opts.branch !== undefined)
361
+ query.set('branch', opts.branch);
362
+ return ctx.api.get(`/documents/${encodeURIComponent(opts.docId)}?${query.toString()}`);
363
+ }
364
+ // Poll until the document's inbound work stops, or the budget runs out.
365
+ //
366
+ // The poll reads the LIGHT document route rather than re-joining: a join
367
+ // resolves the snapshot, presigns every spilled tail op, and records a
368
+ // recent-open, so polling it would re-do all of that every couple of seconds
369
+ // and stamp the caller's own recency surfaces once per attempt. The light
370
+ // route carries the same status and does none of it.
371
+ //
372
+ // Returning is not a claim that the content arrived, only that the work
373
+ // stopped; the caller re-joins and reads what it actually got.
374
+ async function awaitContentReady(ctx, opts, initial, waitMs) {
375
+ const sleep = opts.sleep ?? realSleep;
376
+ const intervalMs = opts.pollIntervalMs ?? CONTENTS_POLL_INTERVAL_MS;
377
+ const attempts = Math.max(1, Math.ceil(waitMs / intervalMs));
378
+ // One line per phase, not one per attempt: the platform re-words the status
379
+ // as the work moves between steps, and that transition is the only thing a
380
+ // reader learns from a second line. A heartbeat every couple of seconds
381
+ // would bury it, and a long import would fill a CI log with it.
382
+ let said = initial.message;
383
+ ctx.log.info(`${opts.docId}: ${said}`);
384
+ let consecutiveFailures = 0;
385
+ for (let i = 0; i < attempts; i++) {
386
+ await sleep(intervalMs);
387
+ let detail;
388
+ try {
389
+ detail = await ctx.api.get(`/documents/${encodeURIComponent(opts.docId)}`);
390
+ consecutiveFailures = 0;
391
+ }
392
+ catch (err) {
393
+ // A status read is idempotent and the next one is seconds away, so one
394
+ // that fails is worth another attempt: this wait is minutes long, and
395
+ // ending it on a single blip costs the caller the whole import even
396
+ // though the work continues on the server. A run of them is something
397
+ // else (a credential that expired, a document that was deleted), and
398
+ // that error is the answer rather than a silent spin, so only
399
+ // CONSECUTIVE failures count and a success clears them.
400
+ consecutiveFailures += 1;
401
+ if (consecutiveFailures > POLL_FAILURES_TOLERATED)
402
+ throw err;
403
+ continue;
404
+ }
405
+ const status = detail.status;
406
+ if (!isContentBlocked(status) || !status.pending)
407
+ return;
408
+ if (status.message !== said) {
409
+ said = status.message;
410
+ ctx.log.info(`${opts.docId}: ${said}`);
411
+ }
412
+ }
413
+ }
414
+ // Why a document could not be read, in the caller's terms.
415
+ //
416
+ // The three cases differ in what the caller should do next, and saying "run
417
+ // this again once it settles" to all of them is advice that is wrong for two
418
+ // of them: work that has stopped never settles, and a caller who asked not to
419
+ // wait wants to know that waiting is available.
420
+ function contentUnavailable(docId, status, waitMs) {
421
+ const message = status?.message ?? 'The content is not available.';
422
+ if (status?.pending !== true) {
423
+ return new Error(`${docId} could not be prepared: ${message}`);
424
+ }
425
+ if (waitMs === 0) {
426
+ return new Error(`${docId} is not readable yet: ${message} It is still being prepared; ` +
427
+ `drop --no-wait to wait for it.`);
428
+ }
429
+ return new Error(`${docId} is not readable yet: ${message} It was still being prepared after ` +
430
+ `${formatDuration(waitMs)}; run this again, or pass --wait <seconds> to wait longer.`);
431
+ }
432
+ // Refuse an SDK that is not the one this CLI names, before reaching for
433
+ // anything in it. `sdk-pairing.ts` carries why the version is what gets
434
+ // compared; this is the half that reads the two numbers off disk.
435
+ function assertSdkPairing() {
436
+ const message = sdkMismatchMessage({
437
+ pinned: readOwnPin(),
438
+ loaded: resolveLoadedSdk(),
439
+ });
440
+ if (message !== null)
441
+ throw new Error(message);
442
+ }
443
+ // The version this build names, from the CLI's own manifest. `..` from either
444
+ // layout the module runs in (`dist/commands.js` installed, `src/commands.ts`
445
+ // in the repo) is the package root.
446
+ function readOwnPin() {
447
+ try {
448
+ const manifest = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
449
+ return manifest.dependencies?.['@brass-build/client'];
450
+ }
451
+ catch {
452
+ return undefined;
453
+ }
454
+ }
455
+ // The copy that would answer an import from here, or null when none is
456
+ // installed to read (an in-repo run maps the specifier to source).
457
+ function resolveLoadedSdk() {
458
+ try {
459
+ const path = createRequire(import.meta.url).resolve('@brass-build/client/package.json');
460
+ const { version } = JSON.parse(readFileSync(path, 'utf8'));
461
+ return { version, path };
462
+ }
463
+ catch {
464
+ return null;
465
+ }
466
+ }
467
+ function formatDuration(ms) {
468
+ const seconds = Math.round(ms / 1000);
469
+ if (seconds < 120)
470
+ return `${seconds}s`;
471
+ return `${Math.round(seconds / 60)}m`;
472
+ }
473
+ // How many of a tail's presigned ops are fetched at once.
474
+ //
475
+ // A tail can name a large number of ops whose bytes are fetched separately,
476
+ // and that is the ordinary case rather than the rare one: a bulk write puts
477
+ // nearly every op's bytes outside the response. Firing them all together
478
+ // opens a connection per op and draws resets, on a link that is somebody's
479
+ // home connection. Bounded so the fetch finishes instead of failing partway.
480
+ const TAIL_FETCH_CONCURRENCY = 16;
481
+ // `Promise.all` with a ceiling on how many run together, preserving input
482
+ // order in the result.
483
+ async function mapWithConcurrency(items, limit, run) {
484
+ const results = Array.from({ length: items.length });
485
+ let next = 0;
486
+ const worker = async () => {
487
+ for (let i = next++; i < items.length; i = next++) {
488
+ results[i] = await run(items[i]);
489
+ }
490
+ };
491
+ await Promise.all(Array.from({ length: Math.min(limit, items.length) }, worker));
492
+ return results;
493
+ }
494
+ // One JSON string is what a caller reads and pipes, and V8 caps a single
495
+ // string at 512 MiB however much memory the machine has. A document past
496
+ // that throws a `RangeError` naming neither the document nor the limit, so
497
+ // the ceiling is stated here rather than left to surface as a bare
498
+ // `Invalid string length` out of `JSON.stringify`.
499
+ function serializeContents(contents, docId) {
500
+ try {
501
+ return `${JSON.stringify(contents, null, 2)}\n`;
502
+ }
503
+ catch (cause) {
504
+ if (cause instanceof RangeError) {
505
+ throw new Error(`${docId} holds more than a single JSON string can carry (512 MiB), ` +
506
+ `so it cannot be written as one file. Read a smaller stream of it ` +
507
+ `with --stream <name>.`);
508
+ }
509
+ throw cause;
510
+ }
511
+ }
512
+ function decodeBase64(value) {
513
+ return new Uint8Array(Buffer.from(value, 'base64'));
514
+ }
515
+ async function resolveSnapshot(snapshot) {
516
+ return snapshot.kind === 'inline'
517
+ ? decodeBase64(snapshot.data_b64)
518
+ : await getPresigned(snapshot.url);
519
+ }
520
+ async function resolveTailOp(op) {
521
+ return 'op_blob_b64' in op
522
+ ? decodeBase64(op.op_blob_b64)
523
+ : await getPresigned(op.op_blob_url);
524
+ }
227
525
  export async function schemaPull(ctx, opts) {
228
526
  const docPath = `/documents/${encodeURIComponent(opts.docId)}`;
229
527
  const [held, summary] = await Promise.all([
@@ -370,12 +668,13 @@ export async function status(inp) {
370
668
  hosting: null,
371
669
  ready_to_publish: false,
372
670
  next: pending !== null
373
- ? `a sign-in for ${inp.profile} is waiting for approval: give the user ` +
374
- `${pending.verificationUrl} and the code ${pending.userCode}, then run ` +
671
+ ? `a sign-in for ${inp.profile} is waiting for approval: put ` +
672
+ `${pending.verificationUrl} and the code ${pending.userCode} in your ` +
673
+ `reply, where the user will read them, then run ` +
375
674
  `'brass login --check --wait'. It polls until they approve and renews ` +
376
675
  `the code if it lapses, so there is no need to start a second sign-in.`
377
676
  : `no credential for ${inp.profile}. Run 'brass login --start' to begin a ` +
378
- `sign-in, give the user the URL and short code it prints, then run ` +
677
+ `sign-in, put the URL and short code it prints in your reply, then run ` +
379
678
  `'brass login --check --wait' until it reports approved (or set ` +
380
679
  `BRASS_SERVICE_TOKEN). The session feeds the build steps ` +
381
680
  `('brass agents pull' for the organization's instructions, ` +
@@ -546,12 +845,42 @@ function pendingLoginReport(inp) {
546
845
  expires_in_seconds: remaining,
547
846
  };
548
847
  }
848
+ // Report an outstanding approval only while the link is still good and only
849
+ // against the app this status resolved, so a caller is never sent to relay a
850
+ // URL the page refuses or one that answers a question about another app.
851
+ function pendingApprovalReport(inp) {
852
+ const pending = inp.pendingApproval;
853
+ if (pending === null || pending.appId !== inp.appId)
854
+ return null;
855
+ const remaining = Math.round((pending.expiresAt - Date.now()) / 1000);
856
+ if (remaining <= 0)
857
+ return null;
858
+ return {
859
+ app_id: pending.appId,
860
+ approval_url: pending.approvalUrl,
861
+ expires_in_seconds: remaining,
862
+ };
863
+ }
549
864
  function finish(inp, rest) {
865
+ const pendingApproval = pendingApprovalReport(inp);
550
866
  const result = {
551
867
  profile: inp.profile,
552
868
  app_id: inp.appId,
553
869
  pending_login: pendingLoginReport(inp),
870
+ pending_approval: pendingApproval,
554
871
  ...rest,
872
+ // An outstanding approval outranks whatever this branch would otherwise
873
+ // say, on the same terms as the pending sign-in above it: it is the one
874
+ // step the caller cannot take itself, and everything else the branch could
875
+ // name is a step it can. Only once the credential is good, since an
876
+ // approval is moot to a caller that cannot authenticate at all.
877
+ ...(pendingApproval !== null && rest.authenticated === true
878
+ ? {
879
+ next: `${pendingApproval.app_id} is waiting for approval before it can be opened ` +
880
+ `in a browser: give the user ${pendingApproval.approval_url} and ask them to ` +
881
+ `approve, then run 'brass browser-session' again. Publishing is unaffected.`,
882
+ }
883
+ : {}),
555
884
  };
556
885
  const cred = result.credential === 'none'
557
886
  ? 'none'
@@ -570,6 +899,11 @@ function finish(inp, rest) {
570
899
  `(${Math.ceil(p.expires_in_seconds / 60)} min left)`);
571
900
  }
572
901
  inp.log.info(` app: ${result.app_id ?? 'none (a first publish creates one)'}`);
902
+ if (result.pending_approval !== null) {
903
+ const a = result.pending_approval;
904
+ inp.log.info(` approval: awaiting a human at ${a.approval_url} ` +
905
+ `(${Math.ceil(a.expires_in_seconds / 60)} min left)`);
906
+ }
573
907
  if (result.hosting !== null) {
574
908
  const h = result.hosting;
575
909
  const hostingLine = h.url
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/login.d.ts CHANGED
@@ -5,6 +5,7 @@ export interface LoginStartOptions {
5
5
  profile: Profile;
6
6
  log: Logger;
7
7
  force?: boolean;
8
+ targetAppId?: string;
8
9
  resultFollows?: boolean;
9
10
  env?: NodeJS.ProcessEnv;
10
11
  now?: () => number;
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAIhB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAMD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqC5E;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IAIZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AASD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4E5E"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAMD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuC5E;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IAIZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AASD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkF5E"}