@substrat-run/cli 0.44.0 → 0.46.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 (42) hide show
  1. package/dist/bump.d.ts +120 -0
  2. package/dist/bump.d.ts.map +1 -0
  3. package/dist/bump.js +780 -0
  4. package/dist/bump.js.map +1 -0
  5. package/dist/changeset.d.ts +129 -0
  6. package/dist/changeset.d.ts.map +1 -0
  7. package/dist/changeset.js +336 -0
  8. package/dist/changeset.js.map +1 -0
  9. package/dist/cli.js +193 -41
  10. package/dist/cli.js.map +1 -1
  11. package/dist/concept.d.ts +19 -0
  12. package/dist/concept.d.ts.map +1 -0
  13. package/dist/concept.js +25 -0
  14. package/dist/concept.js.map +1 -0
  15. package/dist/data-loss-check.d.ts +70 -0
  16. package/dist/data-loss-check.d.ts.map +1 -0
  17. package/dist/data-loss-check.js +260 -0
  18. package/dist/data-loss-check.js.map +1 -0
  19. package/dist/data-loss-replay-child.d.ts +27 -0
  20. package/dist/data-loss-replay-child.d.ts.map +1 -0
  21. package/dist/data-loss-replay-child.js +71 -0
  22. package/dist/data-loss-replay-child.js.map +1 -0
  23. package/dist/promote.d.ts +16 -1
  24. package/dist/promote.d.ts.map +1 -1
  25. package/dist/promote.js +87 -11
  26. package/dist/promote.js.map +1 -1
  27. package/dist/push.d.ts +32 -6
  28. package/dist/push.d.ts.map +1 -1
  29. package/dist/push.js +94 -32
  30. package/dist/push.js.map +1 -1
  31. package/dist/scope.d.ts +23 -2
  32. package/dist/scope.d.ts.map +1 -1
  33. package/dist/scope.js +63 -7
  34. package/dist/scope.js.map +1 -1
  35. package/dist/store-driver.d.ts +59 -0
  36. package/dist/store-driver.d.ts.map +1 -0
  37. package/dist/{store-kind.js → store-driver.js} +58 -22
  38. package/dist/store-driver.js.map +1 -0
  39. package/package.json +4 -4
  40. package/dist/store-kind.d.ts +0 -46
  41. package/dist/store-kind.d.ts.map +0 -1
  42. package/dist/store-kind.js.map +0 -1
package/dist/scope.js CHANGED
@@ -1,4 +1,4 @@
1
- import { assertReplayableDump, assertSqlIdentifier, problemDetail, scopeId, scopeStoreDump, tenantId } from '@substrat-run/contracts';
1
+ import { assertReplayableDump, assertSqlIdentifier, problemDetail, rebindReviewReasonIn, scopeId, scopeStoreDump, tenantId, } from '@substrat-run/contracts';
2
2
  /**
3
3
  * `substrat scope pull <scopeId>` — bring a scope's data to the local inner loop
4
4
  * (preview-and-snapshots.md §8; the substrat analog of `vercel env pull`).
@@ -16,9 +16,10 @@ import { assertReplayableDump, assertSqlIdentifier, problemDetail, scopeId, scop
16
16
  import { mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from 'node:fs';
17
17
  import { basename, join } from 'node:path';
18
18
  import { fetchWhoami } from './whoami.js';
19
+ import { ControlPlaneError } from '@substrat-run/control-plane-client';
19
20
  import { planeFor, refusalBody, viaPlane } from './plane.js';
20
21
  import { orderTablesByForeignKeys } from './dump-order.js';
21
- import { exportBreakListing } from './promote.js';
22
+ import { exportBreakListing, formatMigrationDiff, idOf, reviewToken } from './promote.js';
22
23
  const ULID = /^[0-9A-HJKMNP-TV-Z]{26}$/i;
23
24
  /** Resolve `--tenant` (id or slug) / the stored default slug to a tenant ID. */
24
25
  export async function resolveTenantId(controlPlaneUrl, header, tenant) {
@@ -353,16 +354,45 @@ export async function bindScopeVersion(opts) {
353
354
  /**
354
355
  * `substrat scope rebind <scopeId> --to <slug>` — move ONE scope onto a DIFFERENT vertical
355
356
  * lineage's serving script (#389): the update-rebind behind retiring a platform-owned lineage
356
- * in favour of a tenant-owned one. Staff-only server-side. Refused when the two lineages'
357
- * migration digests differ, unless `--ack-migrations` says both diffs were read.
357
+ * in favour of a tenant-owned one. Server-side: staff, or a workspace for its own scope between
358
+ * verticals it can see (its own, or listed). Refused when the two lineages'
359
+ * migration digests differ, unless `--ack-migrations` says the diff was read.
360
+ *
361
+ * #2347: that acknowledgement answers ONE review — the target's serving version over the version
362
+ * the scope is bound to, when it was read. The refusal prints the migrations and the `--review`
363
+ * token they were read with; the control plane refuses a token that a promote on either lineage
364
+ * has made stale since, and a `--ack-migrations` sent with none.
358
365
  */
359
366
  export async function rebindScopeVertical(opts) {
360
- const body = await viaPlane(() => planeFor(opts.controlPlaneUrl, opts.header).rebindScopeVertical(opts.tenantId, opts.scopeId, {
367
+ const plane = planeFor(opts.controlPlaneUrl, opts.header);
368
+ const acknowledge = {
369
+ ...(opts.ackExportBreak ? { exportBreak: true } : {}),
370
+ ...(opts.review ? { review: opts.review } : {}),
371
+ };
372
+ const send = () =>
373
+ // The refusal is passed through as it is: explaining it needs a second round-trip.
374
+ viaPlane(() => plane.rebindScopeVertical(opts.tenantId, opts.scopeId, {
361
375
  vertical: opts.vertical,
362
376
  ackMigrations: opts.ackMigrations ? true : undefined,
363
377
  abandonData: opts.abandonData ? true : undefined,
364
- ...ackBody(opts.ackExportBreak),
365
- }), (e) => new Error(refusalText(refusalBody(e), `rebind refused: ${e.status} ${e.statusText}`)));
378
+ ...(Object.keys(acknowledge).length > 0 ? { acknowledge } : {}),
379
+ }), (e) => e);
380
+ let body;
381
+ try {
382
+ body = await send();
383
+ }
384
+ catch (e) {
385
+ if (!(e instanceof ControlPlaneError))
386
+ throw e;
387
+ const parsed = refusalBody(e);
388
+ const message = refusalText(parsed, `rebind refused: ${e.status} ${e.statusText}`);
389
+ // A digest refusal, a review that moved under the acknowledgement, or a migration
390
+ // acknowledgement sent with none, is answered the same way: the migrations as they stand
391
+ // now, and the token to acknowledge exactly those with.
392
+ if (!message.includes(DIGESTS_DIFFER) && rebindReviewReasonIn(parsed) === undefined)
393
+ throw new Error(message);
394
+ throw new Error(`${message}\n\n${(await explainRebind(opts)).join('\n')}`);
395
+ }
366
396
  if (body.alreadyBound) {
367
397
  console.log(`✓ scope ${opts.scopeId} already bound to ${opts.vertical} (${body.servingRef}) — nothing to do.`);
368
398
  }
@@ -376,6 +406,32 @@ export async function rebindScopeVertical(opts) {
376
406
  console.log(' the source script’s copy is left intact — it is the backout.');
377
407
  }
378
408
  }
409
+ /** What the rebind's digest refusal says (`migration surfaces differ across lineages …`). */
410
+ const DIGESTS_DIFFER = 'migration surfaces differ across lineages';
411
+ /**
412
+ * The migrations a refused rebind would apply (#2347), as printable lines, and the `--review`
413
+ * token the same read returned beside them. Never throws: the refusal is the answer, and a review
414
+ * that could not be read is said so in a line.
415
+ */
416
+ export async function explainRebind(opts) {
417
+ try {
418
+ const read = await viaPlane(() => planeFor(opts.controlPlaneUrl, opts.header).getRebindReview(opts.tenantId, opts.scopeId, opts.vertical), (e) => new Error(refusalText(refusalBody(e), `${e.status} ${e.statusText}`)));
419
+ return [
420
+ `${read.base ? `scope runs ${idOf(read.base.vertical)} ${idOf(read.base.versionId)}` : 'scope is bound to no version'}; ` +
421
+ `${idOf(read.target.vertical)} serves ${idOf(read.target.versionId)}.`,
422
+ '',
423
+ 'migration changes:',
424
+ ...(read.migrationsWithheld
425
+ ? ['the migration digests differ; the SQL is shown only to the owner of both verticals']
426
+ : formatMigrationDiff(read.migrations, !read.digestsMatch)).map((l) => ` ${l}`),
427
+ '',
428
+ `to acknowledge exactly what is shown above, re-run with --ack-migrations and --review ${idOf(reviewToken(read.review))}`,
429
+ ];
430
+ }
431
+ catch (e) {
432
+ return [`(the rebind review could not be read: ${e instanceof Error ? e.message : String(e)})`];
433
+ }
434
+ }
379
435
  /**
380
436
  * `substrat scope adopt-serving --vertical <slug>` — backfill EVERY still-legacy scope of a
381
437
  * vertical in one call. The whole-install migration a promote-per-scope would be tedious for.
package/dist/scope.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACtI;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAqB,MAAM,cAAc,CAAC;AAUrE,MAAM,IAAI,GAAG,2BAA2B,CAAC;AAEzC,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,eAAuB,EACvB,MAA8B,EAC9B,MAA0B;IAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,sFAAsF,CAC3G,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,EAAE,CAAC;AAClB,CAAC;AAED,mFAAmF;AACnF,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAmC,EAAE,CAC/D,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;IACnF,CAAC,CAAE,CAAqC;IACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAExB,mFAAmF;AACnF,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,IAAgB;IACvD,IAAI,YAA4D,CAAC;IACjE,IAAI,CAAC;QACH,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC,CAAC,+CAA+C;IAC/D,CAAC;IACD,+EAA+E;IAC/E,kFAAkF;IAClF,iFAAiF;IACjF,kFAAkF;IAClF,kFAAkF;IAClF,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,yEAAyE;QACzE,oEAAoE;QACpE,KAAK,MAAM,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,gFAAgF;YAChF,8EAA8E;YAC9E,8EAA8E;YAC9E,6EAA6E;YAC7E,sDAAsD;YACtD,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAClC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,MAAM,IAAI,aAAa,KAAK,GAAG,CAAC,CAAC;YAC/E,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAO/B;IACC,MAAM,IAAI,GAAG,MAAM,QAAQ,CACzB,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EACrG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAC/F,CAAC;IACF,iFAAiF;IACjF,8EAA8E;IAC9E,kFAAkF;IAClF,iFAAiF;IACjF,yCAAyC;IACzC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAElC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEhE,sFAAsF;IACtF,uFAAuF;IACvF,oFAAoF;IACpF,kFAAkF;IAClF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,GAAG,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC;IAClE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,iFAAiF;QACjF,wEAAwE;QACxE,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;QAC5C,IAAI,CAAC;YACH,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrD,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,YAAY,IAAI,oBAAoB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC3B,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,qCAAqC,CAAC,CAAC;IAC/H,CAAC;SAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAwB,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kCAAkC,CAAC,CAAC;QAC9F,+EAA+E;QAC/E,gFAAgF;QAChF,iFAAiF;QACjF,iEAAiE;QACjE,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,gFAAgF;QAChF,kFAAkF;QAClF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC;QAC9C,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,+EAA+E,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,MAAM,GAAG,SAAS;YACtB,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACvF,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,MAAwB,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,YAAY,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6BAA6B,CAAC,CAAC;YACjF,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACzF,CAAC;IACD,IAAI,YAA4D,CAAC;IACjE,IAAI,CAAC;QACH,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,EAAE;aACZ,OAAO,CAAC,uFAAuF,CAAC;aAChG,GAAG,EAAqC,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,0EAA0E;YAC1E,sEAAsE;YACtE,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAI,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3G,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,mBAAmB,CAAC,CAAC,EAAE,wBAAwB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/F,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAA+B,CAAC;YACxF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzG,CAAC;QACD,MAAM,WAAW,GAAG,+DAA+D,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,WAAW;YACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,EAAE;YACpH,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9D,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAMlC;IACC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,QAAQ,CACZ,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;QACpF,4EAA4E;QAC5E,iEAAiE;QACjE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClD,MAAM;QACN,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5C,CAAC,EACJ,CAAC,CAAC,EAAE,EAAE;QACJ,6FAA6F;QAC7F,8EAA8E;QAC9E,EAAE;QACF,uFAAuF;QACvF,qFAAqF;QACrF,qFAAqF;QACrF,gFAAgF;QAChF,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAA+C,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,oBAAoB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3E,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,YAAY,IAAI,qBAAqB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5F,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;AACrF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAOvC;IACC,MAAM,IAAI,GAAG,MAAM,QAAQ,CACzB,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EACzH,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CACpG,CAAC;IACF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,OAAO,wBAAwB,IAAI,CAAC,UAAU,mBAAmB,CAAC,CAAC;IACjG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7G,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAKpC;IACC,MAAM,IAAI,GAAG,MAAM,QAAQ,CACzB,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAC7F,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CACpG,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxB,6FAA6F;QAC7F,+FAA+F;QAC/F,uEAAuE;QACvE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,OAAO,gFAAgF,CAAC,CAAC;QAChI,OAAO,CAAC,GAAG,CACT,6FAA6F;YAC3F,0FAA0F;YAC1F,2DAA2D,CAC9D,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,KAAK,IAAI,WAAW,+BAA+B,CAAC,CAAC;IACtH,CAAC;IACD,sFAAsF;IACtF,wFAAwF;IACxF,sFAAsF;IACtF,+CAA+C;IAC/C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CACT,iEAAiE,IAAI,CAAC,UAAU,IAAI;YAClF,yFAAyF;YACzF,+DAA+D,CAClE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAKjC;IACC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAClD,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CACvG,CAAC;IACF,qFAAqF;IACrF,+EAA+E;IAC/E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,iBAAiB,IAAI,oBAAoB,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,UAAU,IAAI,0BAA0B,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,aAAa,uBAAuB,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,SAAS,IAAI,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/J,CAAC;IACD,sFAAsF;IACtF,wFAAwF;IACxF,uDAAuD;IACvD,MAAM,OAAO,GAAG,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CACT,OAAO,OAAO,CAAC,MAAM,wDAAwD;YAC3E,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAChE,+FAA+F,CAClG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,yFAAyF;YACvF,oFAAoF,CACvF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iGAAiG;AACjG,MAAM,OAAO,GAAG,CAAC,cAAwB,EAAkB,EAAE,CAC3D,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,SAAS,WAAW,CAAC,IAAa,EAAE,QAAgB;IAClD,MAAM,MAAM,GAAI,IAA+C,EAAE,YAAY,CAAC;IAC9E,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAStC;IACC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;QACxF,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC1C,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KAChC,CAAC;IACJ,sFAAsF;IACtF,sFAAsF;IACtF,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAC3F,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,OAAO,qBAAqB,MAAM,CAAC,iBAAiB,KAAK,MAAM,CAAC,QAAQ,IAAI,GAAG,IAAI,CAAC,CAAC;IACjH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,sGAAsG,CAAC,CAAC;IACtH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAUzC;IACC,MAAM,IAAI,GAAG,MAAM,QAAQ,CACzB,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;QAC3F,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACpD,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAChD,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KAChC,CAAC,EACJ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAC7F,CAAC;IACF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,OAAO,qBAAqB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,oBAAoB,CAAC,CAAC;IACjH,CAAC;SAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,sCAAsC,CAAC,CAAC;QAC7H,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,iGAAiG,CAAC,CAAC;IACjH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7H,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAK1C;IACC,MAAM,IAAI,GAAG,MAAM,QAAQ,CACzB,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAC/G,CAAC,CAAC,EAAE,EAAE;QACJ,kFAAkF;QAClF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAA6D,CAAC;QAC3F,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;QACtF,OAAO,IAAI,KAAK,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvI,CAAC,CACF,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,EAAE,cAAc,IAAI,EAAE,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,aAAa,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,MAAM,iCAAiC,CAAC,CAAC;IACpH,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { type StoreDriverReleaseUpload } from '@substrat-run/contracts';
2
+ import type { StoreDriverRebuildView, StoreDriverView } from '@substrat-run/control-plane-client';
3
+ /**
4
+ * Every file under `dir`, by its path relative to it, `__pycache__` and `.pyc` left out. A symbolic
5
+ * link is refused, not followed: it could pack a file from outside `dir`, or loop forever.
6
+ */
7
+ export declare function packedFilesOf(dir: string): string[];
8
+ /**
9
+ * The commit `dir` is checked out at, for the files about to be packed. Refused unless every one
10
+ * of them is tracked and unchanged there: an untracked, ignored or edited file is not that
11
+ * commit, so the bundle would carry bytes the commit a reviewer reads does not.
12
+ */
13
+ export declare function sourceCommitOf(dir: string, files: readonly string[]): string;
14
+ /** The driver's package under `dir`, as the upload body. `entry` is the module with the class. */
15
+ export declare function packStoreDriverDir(dir: string, entry: string, sourceCommit: string): StoreDriverReleaseUpload;
16
+ /** A release is named by its sha256 as `upload` printed it; anything else is refused before a request. */
17
+ export declare const isReleaseSha: (value: string | undefined) => value is string;
18
+ type Plane = {
19
+ controlPlaneUrl: string;
20
+ header: Record<string, string>;
21
+ };
22
+ export declare const uploadStoreDriverRelease: (input: Plane & {
23
+ driver: string;
24
+ body: StoreDriverReleaseUpload;
25
+ }) => Promise<{
26
+ release: import("@substrat-run/control-plane-client").StoreDriverReleaseView;
27
+ pinned: boolean;
28
+ }>;
29
+ export declare const rollOutStoreDriver: (input: Plane & {
30
+ driver: string;
31
+ sha256: string;
32
+ }) => Promise<import("@substrat-run/control-plane-client").StoreDriverRolloutResultView>;
33
+ export declare const rollBackStoreDriver: (input: Plane & {
34
+ driver: string;
35
+ }) => Promise<import("@substrat-run/control-plane-client").StoreDriverRolloutResultView>;
36
+ export declare const storeDriverStatus: (input: Plane & {
37
+ driver: string;
38
+ }) => Promise<StoreDriverView>;
39
+ export declare const rebuildStoreDriver: (input: Plane & {
40
+ driver: string;
41
+ deployFinished?: boolean;
42
+ }) => Promise<{
43
+ pass: import("@substrat-run/control-plane-client").StoreDriverRebuildPassView;
44
+ rebuild: StoreDriverRebuildView;
45
+ }>;
46
+ /**
47
+ * Whether every script of the driver is built from what the control plane builds from now (#2309).
48
+ * An old key is revoked only once this reads `current`: until then a script on the list below may
49
+ * still accept it.
50
+ */
51
+ export declare function storeDriverRebuildLines(rebuild: StoreDriverRebuildView): string[];
52
+ /**
53
+ * What `store-driver status` prints. "Rolls back to" is the server's `rollbackTarget`, never the
54
+ * current release's previous good one: after a diverged or paused rollout it is the current
55
+ * release, and a rollback still under way continues to its own target.
56
+ */
57
+ export declare function storeDriverStatusLines(driver: string, view: StoreDriverView): string[];
58
+ export {};
59
+ //# sourceMappingURL=store-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-driver.d.ts","sourceRoot":"","sources":["../src/store-driver.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA2B,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAelG;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBnD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAgB5E;AAED,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,wBAAwB,CAoB7G;AAED,0GAA0G;AAC1G,eAAO,MAAM,YAAY,UAAW,MAAM,GAAG,SAAS,KAAG,KAAK,IAAI,MAA6D,CAAC;AAEhI,KAAK,KAAK,GAAG;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAEzE,eAAO,MAAM,wBAAwB,UAAW,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,wBAAwB,CAAA;CAAE;;;EACR,CAAC;AAEnG,eAAO,MAAM,kBAAkB,UAAW,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,uFACU,CAAC;AAE/F,eAAO,MAAM,mBAAmB,UAAW,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,uFACY,CAAC;AAElF,eAAO,MAAM,iBAAiB,UAAW,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,6BACS,CAAC;AAE7E,eAAO,MAAM,kBAAkB,UAAW,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE;;;EACqC,CAAC;AAEpI;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,EAAE,CA4BjF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE,CAStF"}
@@ -1,17 +1,17 @@
1
1
  /**
2
- * `substrat store-kind upload | rollout | rollback | status --kind <kind>` (D-63, #2300). Staff
2
+ * `substrat store-driver upload | rollout | rollback | status --driver <driver>` (D-63, #2300). Staff
3
3
  * only, and a write must be made from a person's sign-in (`substrat login`): the control plane
4
4
  * refuses the service token.
5
5
  *
6
- * - `upload` packs the kind's package from `--dir` and stores it. The control plane names the
6
+ * - `upload` packs the driver's package from `--dir` and stores it. The control plane names the
7
7
  * release by its sha256 and says whether this repo pins it yet; bytes may go up first.
8
8
  * - `rollout --sha256` moves every vertical to a stored, pinned release, after a canary. A big
9
9
  * fleet takes more than one request: the command says so, and running it again continues.
10
- * - `rollback` returns the kind to the immediately previous good release.
10
+ * - `rollback` returns the driver to the immediately previous good release.
11
11
  *
12
- * What is packed is the kind's own package only: every `kind_<name>/…/*.py` under `--dir`, by
12
+ * What is packed is the driver's own package only: every `driver_<name>/…/*.py` under `--dir`, by
13
13
  * its path relative to it. `__pycache__` is skipped. Anything else is refused by name, vendored
14
- * packages included: a release is one `kind_` package (the platform's module rule), so a kind
14
+ * packages included: a release is one `driver_` package (the platform's module rule), so a driver
15
15
  * that needs a third-party package cannot be published yet.
16
16
  */
17
17
  import { spawnSync } from 'node:child_process';
@@ -19,14 +19,14 @@ import { lstatSync, readdirSync, readFileSync } from 'node:fs';
19
19
  import { join, relative, sep } from 'node:path';
20
20
  import { STORE_RELEASE_MAX_BYTES } from '@substrat-run/contracts';
21
21
  import { planeFor } from './plane.js';
22
- const KIND_MODULE = /^kind_[a-z0-9_]+\/(?:[A-Za-z_][A-Za-z0-9_]*\/)*[A-Za-z_][A-Za-z0-9_]*\.py$/;
22
+ const DRIVER_MODULE = /^driver_[a-z0-9_]+\/(?:[A-Za-z_][A-Za-z0-9_]*\/)*[A-Za-z_][A-Za-z0-9_]*\.py$/;
23
23
  function base64(bytes) {
24
24
  let text = '';
25
25
  for (let i = 0; i < bytes.length; i += 0x8000)
26
26
  text += String.fromCharCode(...bytes.subarray(i, i + 0x8000));
27
27
  return btoa(text);
28
28
  }
29
- /** How deep, and how many files, a kind's package may go: past either it is not one package. */
29
+ /** How deep, and how many files, a driver's package may go: past either it is not one package. */
30
30
  const MAX_DEPTH = 16;
31
31
  const MAX_FILES = 2000;
32
32
  /**
@@ -81,17 +81,17 @@ export function sourceCommitOf(dir, files) {
81
81
  }
82
82
  return head.stdout.trim();
83
83
  }
84
- /** The kind's package under `dir`, as the upload body. `entry` is the module with the class. */
85
- export function packStoreKindDir(dir, entry, sourceCommit) {
84
+ /** The driver's package under `dir`, as the upload body. `entry` is the module with the class. */
85
+ export function packStoreDriverDir(dir, entry, sourceCommit) {
86
86
  const files = packedFilesOf(dir);
87
- const refused = files.filter((path) => !KIND_MODULE.test(path));
87
+ const refused = files.filter((path) => !DRIVER_MODULE.test(path));
88
88
  if (refused.length > 0) {
89
- throw new Error(`only the kind's own package is published (kind_<name>/…/*.py); refused: ${refused.join(', ')}. ` +
90
- 'Vendored packages are not supported: a release is one kind_ package.');
89
+ throw new Error(`only the driver's own package is published (driver_<name>/…/*.py); refused: ${refused.join(', ')}. ` +
90
+ 'Vendored packages are not supported: a release is one driver_ package.');
91
91
  }
92
92
  const packages = new Set(files.map((path) => path.split('/')[0]));
93
93
  if (packages.size !== 1)
94
- throw new Error(`'${dir}' must hold exactly one kind_ package, not ${[...packages].join(', ') || 'none'}`);
94
+ throw new Error(`'${dir}' must hold exactly one driver_ package, not ${[...packages].join(', ') || 'none'}`);
95
95
  if (!files.includes(entry))
96
96
  throw new Error(`'${dir}' has no ${entry}`);
97
97
  let total = 0;
@@ -106,22 +106,58 @@ export function packStoreKindDir(dir, entry, sourceCommit) {
106
106
  }
107
107
  /** A release is named by its sha256 as `upload` printed it; anything else is refused before a request. */
108
108
  export const isReleaseSha = (value) => value !== undefined && /^[0-9a-f]{64}$/.test(value);
109
- export const uploadStoreKindRelease = (input) => planeFor(input.controlPlaneUrl, input.header).uploadStoreKindRelease(input.kind, input.body);
110
- export const rollOutStoreKind = (input) => planeFor(input.controlPlaneUrl, input.header).rollOutStoreKind(input.kind, input.sha256);
111
- export const rollBackStoreKind = (input) => planeFor(input.controlPlaneUrl, input.header).rollBackStoreKind(input.kind);
112
- export const storeKindStatus = (input) => planeFor(input.controlPlaneUrl, input.header).getStoreKind(input.kind);
109
+ export const uploadStoreDriverRelease = (input) => planeFor(input.controlPlaneUrl, input.header).uploadStoreDriverRelease(input.driver, input.body);
110
+ export const rollOutStoreDriver = (input) => planeFor(input.controlPlaneUrl, input.header).rollOutStoreDriver(input.driver, input.sha256);
111
+ export const rollBackStoreDriver = (input) => planeFor(input.controlPlaneUrl, input.header).rollBackStoreDriver(input.driver);
112
+ export const storeDriverStatus = (input) => planeFor(input.controlPlaneUrl, input.header).getStoreDriver(input.driver);
113
+ export const rebuildStoreDriver = (input) => planeFor(input.controlPlaneUrl, input.header).rebuildStoreDriver(input.driver, { deployFinished: input.deployFinished === true });
113
114
  /**
114
- * What `store-kind status` prints. "Rolls back to" is the server's `rollbackTarget`, never the
115
+ * Whether every script of the driver is built from what the control plane builds from now (#2309).
116
+ * An old key is revoked only once this reads `current`: until then a script on the list below may
117
+ * still accept it.
118
+ */
119
+ export function storeDriverRebuildLines(rebuild) {
120
+ const walk = rebuild.walk;
121
+ // Why it reads as it does: when these lists were first walked towards, and when the next automatic walk is.
122
+ const timing = walk && walk.fingerprint === rebuild.fingerprint
123
+ ? [` first walked towards ${walk.fingerprintSince}${rebuild.nextWalk ? `; next automatic re-walk ${rebuild.nextWalk}` : ''}`]
124
+ : [];
125
+ if (rebuild.current && rebuild.reverifying) {
126
+ return [` scripts: current (re-verifying: a walk since ${walk?.startedAt} re-checks every script; last proved ${walk?.verifiedAt})`, ...timing];
127
+ }
128
+ if (rebuild.current) {
129
+ const by = walk?.attestedBy ? `, deploy attested finished by ${walk.attestedBy}` : '';
130
+ return [` scripts: current (every script is built from ${rebuild.fingerprint.slice(0, 12)}, walk finished ${walk?.finishedAt}${by})`, ...timing];
131
+ }
132
+ if (rebuild.settling) {
133
+ return [
134
+ ` scripts: settling: every script was current when walked (${walk?.finishedAt ?? 'just now'}), but the control plane's deploy may still`,
135
+ ` have been rolling out then. It is walked again from ${rebuild.settling}; once the deploy serves only the new version,`,
136
+ ` \`substrat store-driver rebuild --driver <driver> --deploy-finished\` walks it at once and attests that.`,
137
+ ...timing,
138
+ ];
139
+ }
140
+ const shown = rebuild.pending.slice(0, 10);
141
+ return [
142
+ ` scripts: NOT current: ${rebuild.pending.length} may still be built from older keys or code (target ${rebuild.fingerprint.slice(0, 12)})`,
143
+ ...(shown.length ? [` pending: ${shown.join(', ')}${rebuild.pending.length > shown.length ? `, … ${rebuild.pending.length - shown.length} more` : ''}`] : []),
144
+ ...(walk?.failures ?? []).slice(0, 10).map((f) => ` failed: ${f.vertical}: ${f.detail}`),
145
+ ...timing,
146
+ ];
147
+ }
148
+ /**
149
+ * What `store-driver status` prints. "Rolls back to" is the server's `rollbackTarget`, never the
115
150
  * current release's previous good one: after a diverged or paused rollout it is the current
116
151
  * release, and a rollback still under way continues to its own target.
117
152
  */
118
- export function storeKindStatusLines(kind, view) {
153
+ export function storeDriverStatusLines(driver, view) {
119
154
  return [
120
- `${kind}: current ${view.current?.sha256 ?? 'none'}, rolls back to ${view.rollbackTarget ?? 'nothing'}`,
155
+ `${driver}: current ${view.current?.sha256 ?? 'none'}, rolls back to ${view.rollbackTarget ?? 'nothing'}`,
121
156
  ...(view.unfinishedRollback
122
- ? [` a rollback to ${view.unfinishedRollback} stopped part way: run \`substrat store-kind rollback\` again to finish it`]
157
+ ? [` a rollback to ${view.unfinishedRollback} stopped part way: run \`substrat store-driver rollback\` again to finish it`]
123
158
  : []),
124
159
  ...view.rollouts.slice(-10).map((r) => ` #${r.seq} ${r.action} ${r.sha256} ${r.state}${r.detail ? ` — ${r.detail}` : ''}`),
160
+ ...(view.rebuild ? storeDriverRebuildLines(view.rebuild) : []),
125
161
  ];
126
162
  }
127
- //# sourceMappingURL=store-kind.js.map
163
+ //# sourceMappingURL=store-driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-driver.js","sourceRoot":"","sources":["../src/store-driver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@substrat-run/cli",
3
- "version": "0.44.0",
3
+ "version": "0.46.0",
4
4
  "description": "The substrat CLI — authenticated deploy tooling: push a vertical to the platform, manage its versions and channels",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -31,9 +31,9 @@
31
31
  "@babel/parser": "^7.29.7",
32
32
  "esbuild": "^0.28.2",
33
33
  "@substrat-run/boundary-lint": "^0.8.0",
34
- "@substrat-run/contracts": "^0.148.0",
35
- "@substrat-run/control-plane-client": "^0.2.0",
36
- "@substrat-run/model-view": "^0.2.52"
34
+ "@substrat-run/contracts": "^0.150.0",
35
+ "@substrat-run/model-view": "^0.3.0",
36
+ "@substrat-run/control-plane-client": "^0.3.1"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^22.20.5",
@@ -1,46 +0,0 @@
1
- import { type StoreKindReleaseUpload } from '@substrat-run/contracts';
2
- import type { StoreKindView } from '@substrat-run/control-plane-client';
3
- /**
4
- * Every file under `dir`, by its path relative to it, `__pycache__` and `.pyc` left out. A symbolic
5
- * link is refused, not followed: it could pack a file from outside `dir`, or loop forever.
6
- */
7
- export declare function packedFilesOf(dir: string): string[];
8
- /**
9
- * The commit `dir` is checked out at, for the files about to be packed. Refused unless every one
10
- * of them is tracked and unchanged there: an untracked, ignored or edited file is not that
11
- * commit, so the bundle would carry bytes the commit a reviewer reads does not.
12
- */
13
- export declare function sourceCommitOf(dir: string, files: readonly string[]): string;
14
- /** The kind's package under `dir`, as the upload body. `entry` is the module with the class. */
15
- export declare function packStoreKindDir(dir: string, entry: string, sourceCommit: string): StoreKindReleaseUpload;
16
- /** A release is named by its sha256 as `upload` printed it; anything else is refused before a request. */
17
- export declare const isReleaseSha: (value: string | undefined) => value is string;
18
- type Plane = {
19
- controlPlaneUrl: string;
20
- header: Record<string, string>;
21
- };
22
- export declare const uploadStoreKindRelease: (input: Plane & {
23
- kind: string;
24
- body: StoreKindReleaseUpload;
25
- }) => Promise<{
26
- release: import("@substrat-run/control-plane-client").StoreKindReleaseView;
27
- pinned: boolean;
28
- }>;
29
- export declare const rollOutStoreKind: (input: Plane & {
30
- kind: string;
31
- sha256: string;
32
- }) => Promise<import("@substrat-run/control-plane-client").StoreKindRolloutResultView>;
33
- export declare const rollBackStoreKind: (input: Plane & {
34
- kind: string;
35
- }) => Promise<import("@substrat-run/control-plane-client").StoreKindRolloutResultView>;
36
- export declare const storeKindStatus: (input: Plane & {
37
- kind: string;
38
- }) => Promise<StoreKindView>;
39
- /**
40
- * What `store-kind status` prints. "Rolls back to" is the server's `rollbackTarget`, never the
41
- * current release's previous good one: after a diverged or paused rollout it is the current
42
- * release, and a rollback still under way continues to its own target.
43
- */
44
- export declare function storeKindStatusLines(kind: string, view: StoreKindView): string[];
45
- export {};
46
- //# sourceMappingURL=store-kind.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-kind.d.ts","sourceRoot":"","sources":["../src/store-kind.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAexE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBnD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAgB5E;AAED,gGAAgG;AAChG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,sBAAsB,CAoBzG;AAED,0GAA0G;AAC1G,eAAO,MAAM,YAAY,UAAW,MAAM,GAAG,SAAS,KAAG,KAAK,IAAI,MAA6D,CAAC;AAEhI,KAAK,KAAK,GAAG;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAEzE,eAAO,MAAM,sBAAsB,UAAW,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,sBAAsB,CAAA;CAAE;;;EACN,CAAC;AAE/F,eAAO,MAAM,gBAAgB,UAAW,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,qFACU,CAAC;AAE3F,eAAO,MAAM,iBAAiB,UAAW,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,qFACY,CAAC;AAE9E,eAAO,MAAM,eAAe,UAAW,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,2BACS,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAQhF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-kind.js","sourceRoot":"","sources":["../src/store-kind.ts"],"names":[],"mappings":"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"}