@databricks-solutions/lakebase-scm-utils 0.2.45 → 0.2.46

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 (44) hide show
  1. package/README.md +13 -4
  2. package/dist/scripts/index.cjs +12 -3
  3. package/dist/scripts/index.js +12 -3
  4. package/dist/scripts/lakebase/ci-resolve-branch.cli.cjs +12 -3
  5. package/dist/scripts/lakebase/ci-resolve-branch.cli.js +12 -3
  6. package/dist/scripts/lakebase/collapse-heads.cli.cjs +12 -3
  7. package/dist/scripts/lakebase/collapse-heads.cli.js +12 -3
  8. package/dist/scripts/lakebase/detect-language.cli.cjs +12 -3
  9. package/dist/scripts/lakebase/detect-language.cli.js +12 -3
  10. package/dist/scripts/lakebase/doctor.cli.cjs +12 -3
  11. package/dist/scripts/lakebase/doctor.cli.js +12 -3
  12. package/dist/scripts/lakebase/get-connection.cli.cjs +12 -3
  13. package/dist/scripts/lakebase/get-connection.cli.js +12 -3
  14. package/dist/scripts/lakebase/index.cjs +12 -3
  15. package/dist/scripts/lakebase/index.d.cts +0 -11
  16. package/dist/scripts/lakebase/index.d.ts +0 -11
  17. package/dist/scripts/lakebase/index.js +12 -3
  18. package/dist/scripts/lakebase/infra-runner.cli.cjs +12 -3
  19. package/dist/scripts/lakebase/infra-runner.cli.js +12 -3
  20. package/dist/scripts/lakebase/new-migration.cli.cjs +12 -3
  21. package/dist/scripts/lakebase/new-migration.cli.js +12 -3
  22. package/dist/scripts/lakebase/schema-diff.cli.cjs +12 -3
  23. package/dist/scripts/lakebase/schema-diff.cli.js +12 -3
  24. package/dist/scripts/lakebase/schema-migrate.cli.cjs +12 -3
  25. package/dist/scripts/lakebase/schema-migrate.cli.js +12 -3
  26. package/dist/scripts/lakebase/scm-claim-feature.cli.cjs +12 -3
  27. package/dist/scripts/lakebase/scm-claim-feature.cli.js +12 -3
  28. package/dist/scripts/lakebase/scm-doctor.cli.cjs +12 -3
  29. package/dist/scripts/lakebase/scm-doctor.cli.js +12 -3
  30. package/dist/scripts/lakebase/scm-merge.cli.cjs +12 -3
  31. package/dist/scripts/lakebase/scm-merge.cli.js +12 -3
  32. package/dist/scripts/lakebase/scm-reconcile-tier.cli.cjs +12 -3
  33. package/dist/scripts/lakebase/scm-reconcile-tier.cli.js +12 -3
  34. package/dist/scripts/util/index.cjs +2 -2
  35. package/dist/scripts/util/index.js +2 -2
  36. package/package.json +1 -1
  37. package/scripts/lakebase/constants.ts +23 -5
  38. package/scripts/lakebase/get-connection.ts +17 -3
  39. package/skills/lakebase-scm-workflows/README.md +2 -1
  40. package/templates/project/nodejs/package.json +3 -1
  41. package/templates/project/nodejs/src/index.js +8 -0
  42. package/templates/project/nodejs/src/openapi.js +20 -0
  43. package/templates/project/nodejs/src/routes/health.js +18 -0
  44. package/templates/project/nodejs/tests/app.test.js +16 -0
@@ -382,6 +382,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
382
382
  var DEFAULT_ENDPOINT = "primary";
383
383
  var CONSORT_APPLICATION_NAME = "consort";
384
384
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
385
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
385
386
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
386
387
 
387
388
  // scripts/lakebase/self-version.ts
@@ -392,8 +393,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
392
393
  var cached;
393
394
  function substrateSelfVersion() {
394
395
  if (cached !== void 0) return cached;
395
- if ("0.2.45".length > 0) {
396
- cached = "0.2.45";
396
+ if ("0.2.46".length > 0) {
397
+ cached = "0.2.46";
397
398
  return cached;
398
399
  }
399
400
  cached = "unknown";
@@ -421,9 +422,17 @@ function substrateSelfVersion() {
421
422
  }
422
423
 
423
424
  // scripts/lakebase/get-connection.ts
425
+ function sanitizeApplicationName(raw) {
426
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
427
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
428
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
429
+ }
424
430
  function connectionApplicationName() {
431
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
432
+ if (client) return sanitizeApplicationName(client);
425
433
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
426
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
434
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
435
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
427
436
  }
428
437
  async function getConnection(args) {
429
438
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -79278,6 +79278,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
79278
79278
  var DEFAULT_ENDPOINT = "primary";
79279
79279
  var CONSORT_APPLICATION_NAME = "consort";
79280
79280
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
79281
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
79281
79282
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
79282
79283
 
79283
79284
  // scripts/lakebase/self-version.ts
@@ -79289,8 +79290,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79289
79290
  var cached;
79290
79291
  function substrateSelfVersion() {
79291
79292
  if (cached !== void 0) return cached;
79292
- if ("0.2.45".length > 0) {
79293
- cached = "0.2.45";
79293
+ if ("0.2.46".length > 0) {
79294
+ cached = "0.2.46";
79294
79295
  return cached;
79295
79296
  }
79296
79297
  cached = "unknown";
@@ -79318,9 +79319,17 @@ function substrateSelfVersion() {
79318
79319
  }
79319
79320
 
79320
79321
  // scripts/lakebase/get-connection.ts
79322
+ function sanitizeApplicationName(raw) {
79323
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
79324
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79325
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
79326
+ }
79321
79327
  function connectionApplicationName() {
79328
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
79329
+ if (client) return sanitizeApplicationName(client);
79322
79330
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
79323
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79331
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
79332
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79324
79333
  }
79325
79334
  async function getConnection(args) {
79326
79335
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -382,6 +382,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
382
382
  var DEFAULT_ENDPOINT = "primary";
383
383
  var CONSORT_APPLICATION_NAME = "consort";
384
384
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
385
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
385
386
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
386
387
 
387
388
  // scripts/lakebase/self-version.ts
@@ -392,8 +393,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
392
393
  var cached;
393
394
  function substrateSelfVersion() {
394
395
  if (cached !== void 0) return cached;
395
- if ("0.2.45".length > 0) {
396
- cached = "0.2.45";
396
+ if ("0.2.46".length > 0) {
397
+ cached = "0.2.46";
397
398
  return cached;
398
399
  }
399
400
  cached = "unknown";
@@ -421,9 +422,17 @@ function substrateSelfVersion() {
421
422
  }
422
423
 
423
424
  // scripts/lakebase/get-connection.ts
425
+ function sanitizeApplicationName(raw) {
426
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
427
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
428
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
429
+ }
424
430
  function connectionApplicationName() {
431
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
432
+ if (client) return sanitizeApplicationName(client);
425
433
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
426
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
434
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
435
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
427
436
  }
428
437
  async function getConnection(args) {
429
438
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -79276,6 +79276,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
79276
79276
  var DEFAULT_ENDPOINT = "primary";
79277
79277
  var CONSORT_APPLICATION_NAME = "consort";
79278
79278
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
79279
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
79279
79280
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
79280
79281
 
79281
79282
  // scripts/lakebase/self-version.ts
@@ -79287,8 +79288,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79287
79288
  var cached;
79288
79289
  function substrateSelfVersion() {
79289
79290
  if (cached !== void 0) return cached;
79290
- if ("0.2.45".length > 0) {
79291
- cached = "0.2.45";
79291
+ if ("0.2.46".length > 0) {
79292
+ cached = "0.2.46";
79292
79293
  return cached;
79293
79294
  }
79294
79295
  cached = "unknown";
@@ -79316,9 +79317,17 @@ function substrateSelfVersion() {
79316
79317
  }
79317
79318
 
79318
79319
  // scripts/lakebase/get-connection.ts
79320
+ function sanitizeApplicationName(raw) {
79321
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
79322
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79323
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
79324
+ }
79319
79325
  function connectionApplicationName() {
79326
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
79327
+ if (client) return sanitizeApplicationName(client);
79320
79328
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
79321
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79329
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
79330
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79322
79331
  }
79323
79332
  async function getConnection(args) {
79324
79333
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -378,6 +378,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
378
378
  var DEFAULT_ENDPOINT = "primary";
379
379
  var CONSORT_APPLICATION_NAME = "consort";
380
380
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
381
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
381
382
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
382
383
 
383
384
  // scripts/lakebase/self-version.ts
@@ -388,8 +389,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
388
389
  var cached;
389
390
  function substrateSelfVersion() {
390
391
  if (cached !== void 0) return cached;
391
- if ("0.2.45".length > 0) {
392
- cached = "0.2.45";
392
+ if ("0.2.46".length > 0) {
393
+ cached = "0.2.46";
393
394
  return cached;
394
395
  }
395
396
  cached = "unknown";
@@ -417,9 +418,17 @@ function substrateSelfVersion() {
417
418
  }
418
419
 
419
420
  // scripts/lakebase/get-connection.ts
421
+ function sanitizeApplicationName(raw) {
422
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
423
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
424
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
425
+ }
420
426
  function connectionApplicationName() {
427
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
428
+ if (client) return sanitizeApplicationName(client);
421
429
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
422
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
430
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
431
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
423
432
  }
424
433
  async function getConnection(args) {
425
434
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -79312,6 +79312,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
79312
79312
  var DEFAULT_ENDPOINT = "primary";
79313
79313
  var CONSORT_APPLICATION_NAME = "consort";
79314
79314
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
79315
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
79315
79316
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
79316
79317
 
79317
79318
  // scripts/lakebase/self-version.ts
@@ -79323,8 +79324,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79323
79324
  var cached;
79324
79325
  function substrateSelfVersion() {
79325
79326
  if (cached !== void 0) return cached;
79326
- if ("0.2.45".length > 0) {
79327
- cached = "0.2.45";
79327
+ if ("0.2.46".length > 0) {
79328
+ cached = "0.2.46";
79328
79329
  return cached;
79329
79330
  }
79330
79331
  cached = "unknown";
@@ -79352,9 +79353,17 @@ function substrateSelfVersion() {
79352
79353
  }
79353
79354
 
79354
79355
  // scripts/lakebase/get-connection.ts
79356
+ function sanitizeApplicationName(raw) {
79357
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
79358
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79359
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
79360
+ }
79355
79361
  function connectionApplicationName() {
79362
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
79363
+ if (client) return sanitizeApplicationName(client);
79356
79364
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
79357
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79365
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
79366
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79358
79367
  }
79359
79368
  async function getConnection(args) {
79360
79369
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -416,6 +416,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
416
416
  var DEFAULT_ENDPOINT = "primary";
417
417
  var CONSORT_APPLICATION_NAME = "consort";
418
418
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
419
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
419
420
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
420
421
 
421
422
  // scripts/lakebase/self-version.ts
@@ -426,8 +427,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
426
427
  var cached;
427
428
  function substrateSelfVersion() {
428
429
  if (cached !== void 0) return cached;
429
- if ("0.2.45".length > 0) {
430
- cached = "0.2.45";
430
+ if ("0.2.46".length > 0) {
431
+ cached = "0.2.46";
431
432
  return cached;
432
433
  }
433
434
  cached = "unknown";
@@ -455,9 +456,17 @@ function substrateSelfVersion() {
455
456
  }
456
457
 
457
458
  // scripts/lakebase/get-connection.ts
459
+ function sanitizeApplicationName(raw) {
460
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
461
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
462
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
463
+ }
458
464
  function connectionApplicationName() {
465
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
466
+ if (client) return sanitizeApplicationName(client);
459
467
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
460
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
468
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
469
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
461
470
  }
462
471
  async function getConnection(args) {
463
472
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -79771,6 +79771,7 @@ var RUNTIME_ARTIFACT_IGNORE = [
79771
79771
  var DEFAULT_ENDPOINT = "primary";
79772
79772
  var CONSORT_APPLICATION_NAME = "consort";
79773
79773
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
79774
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
79774
79775
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
79775
79776
 
79776
79777
  // scripts/lakebase/self-version.ts
@@ -79782,8 +79783,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79782
79783
  var cached;
79783
79784
  function substrateSelfVersion() {
79784
79785
  if (cached !== void 0) return cached;
79785
- if ("0.2.45".length > 0) {
79786
- cached = "0.2.45";
79786
+ if ("0.2.46".length > 0) {
79787
+ cached = "0.2.46";
79787
79788
  return cached;
79788
79789
  }
79789
79790
  cached = "unknown";
@@ -79811,9 +79812,17 @@ function substrateSelfVersion() {
79811
79812
  }
79812
79813
 
79813
79814
  // scripts/lakebase/get-connection.ts
79815
+ function sanitizeApplicationName(raw) {
79816
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
79817
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79818
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
79819
+ }
79814
79820
  function connectionApplicationName() {
79821
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
79822
+ if (client) return sanitizeApplicationName(client);
79815
79823
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
79816
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79824
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
79825
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79817
79826
  }
79818
79827
  async function getConnection(args) {
79819
79828
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -853,6 +853,7 @@ var RUNTIME_ARTIFACT_IGNORE = [
853
853
  var DEFAULT_ENDPOINT = "primary";
854
854
  var CONSORT_APPLICATION_NAME = "consort";
855
855
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
856
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
856
857
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
857
858
 
858
859
  // scripts/lakebase/self-version.ts
@@ -863,8 +864,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
863
864
  var cached;
864
865
  function substrateSelfVersion() {
865
866
  if (cached !== void 0) return cached;
866
- if ("0.2.45".length > 0) {
867
- cached = "0.2.45";
867
+ if ("0.2.46".length > 0) {
868
+ cached = "0.2.46";
868
869
  return cached;
869
870
  }
870
871
  cached = "unknown";
@@ -892,9 +893,17 @@ function substrateSelfVersion() {
892
893
  }
893
894
 
894
895
  // scripts/lakebase/get-connection.ts
896
+ function sanitizeApplicationName(raw) {
897
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
898
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
899
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
900
+ }
895
901
  function connectionApplicationName() {
902
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
903
+ if (client) return sanitizeApplicationName(client);
896
904
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
897
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
905
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
906
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
898
907
  }
899
908
  async function getConnection(args) {
900
909
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -88228,6 +88228,7 @@ var RUNTIME_ARTIFACT_IGNORE = [
88228
88228
  var DEFAULT_ENDPOINT = "primary";
88229
88229
  var CONSORT_APPLICATION_NAME = "consort";
88230
88230
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
88231
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
88231
88232
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
88232
88233
 
88233
88234
  // scripts/lakebase/self-version.ts
@@ -88239,8 +88240,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
88239
88240
  var cached;
88240
88241
  function substrateSelfVersion() {
88241
88242
  if (cached !== void 0) return cached;
88242
- if ("0.2.45".length > 0) {
88243
- cached = "0.2.45";
88243
+ if ("0.2.46".length > 0) {
88244
+ cached = "0.2.46";
88244
88245
  return cached;
88245
88246
  }
88246
88247
  cached = "unknown";
@@ -88268,9 +88269,17 @@ function substrateSelfVersion() {
88268
88269
  }
88269
88270
 
88270
88271
  // scripts/lakebase/get-connection.ts
88272
+ function sanitizeApplicationName(raw) {
88273
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
88274
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
88275
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
88276
+ }
88271
88277
  function connectionApplicationName() {
88278
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
88279
+ if (client) return sanitizeApplicationName(client);
88272
88280
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
88273
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
88281
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
88282
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
88274
88283
  }
88275
88284
  async function getConnection(args) {
88276
88285
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -9381,6 +9381,7 @@ var RUNTIME_ARTIFACT_IGNORE = [
9381
9381
  var DEFAULT_ENDPOINT = "primary";
9382
9382
  var CONSORT_APPLICATION_NAME = "consort";
9383
9383
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
9384
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
9384
9385
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
9385
9386
 
9386
9387
  // scripts/lakebase/self-version.ts
@@ -9392,8 +9393,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
9392
9393
  var cached;
9393
9394
  function substrateSelfVersion() {
9394
9395
  if (cached !== void 0) return cached;
9395
- if ("0.2.45".length > 0) {
9396
- cached = "0.2.45";
9396
+ if ("0.2.46".length > 0) {
9397
+ cached = "0.2.46";
9397
9398
  return cached;
9398
9399
  }
9399
9400
  cached = "unknown";
@@ -9421,9 +9422,17 @@ function substrateSelfVersion() {
9421
9422
  }
9422
9423
 
9423
9424
  // scripts/lakebase/get-connection.ts
9425
+ function sanitizeApplicationName(raw) {
9426
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
9427
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
9428
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
9429
+ }
9424
9430
  function connectionApplicationName() {
9431
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
9432
+ if (client) return sanitizeApplicationName(client);
9425
9433
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
9426
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
9434
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
9435
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
9427
9436
  }
9428
9437
  async function getConnection(args) {
9429
9438
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -88462,6 +88462,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
88462
88462
  var DEFAULT_ENDPOINT = "primary";
88463
88463
  var CONSORT_APPLICATION_NAME = "consort";
88464
88464
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
88465
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
88465
88466
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
88466
88467
 
88467
88468
  // scripts/lakebase/self-version.ts
@@ -88473,8 +88474,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
88473
88474
  var cached;
88474
88475
  function substrateSelfVersion() {
88475
88476
  if (cached !== void 0) return cached;
88476
- if ("0.2.45".length > 0) {
88477
- cached = "0.2.45";
88477
+ if ("0.2.46".length > 0) {
88478
+ cached = "0.2.46";
88478
88479
  return cached;
88479
88480
  }
88480
88481
  cached = "unknown";
@@ -88502,9 +88503,17 @@ function substrateSelfVersion() {
88502
88503
  }
88503
88504
 
88504
88505
  // scripts/lakebase/get-connection.ts
88506
+ function sanitizeApplicationName(raw) {
88507
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
88508
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
88509
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
88510
+ }
88505
88511
  function connectionApplicationName() {
88512
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
88513
+ if (client) return sanitizeApplicationName(client);
88506
88514
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
88507
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
88515
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
88516
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
88508
88517
  }
88509
88518
  async function getConnection(args) {
88510
88519
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -9615,6 +9615,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
9615
9615
  var DEFAULT_ENDPOINT = "primary";
9616
9616
  var CONSORT_APPLICATION_NAME = "consort";
9617
9617
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
9618
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
9618
9619
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
9619
9620
 
9620
9621
  // scripts/lakebase/self-version.ts
@@ -9626,8 +9627,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
9626
9627
  var cached;
9627
9628
  function substrateSelfVersion() {
9628
9629
  if (cached !== void 0) return cached;
9629
- if ("0.2.45".length > 0) {
9630
- cached = "0.2.45";
9630
+ if ("0.2.46".length > 0) {
9631
+ cached = "0.2.46";
9631
9632
  return cached;
9632
9633
  }
9633
9634
  cached = "unknown";
@@ -9655,9 +9656,17 @@ function substrateSelfVersion() {
9655
9656
  }
9656
9657
 
9657
9658
  // scripts/lakebase/get-connection.ts
9659
+ function sanitizeApplicationName(raw) {
9660
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
9661
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
9662
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
9663
+ }
9658
9664
  function connectionApplicationName() {
9665
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
9666
+ if (client) return sanitizeApplicationName(client);
9659
9667
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
9660
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
9668
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
9669
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
9661
9670
  }
9662
9671
  async function getConnection(args) {
9663
9672
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -79276,6 +79276,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
79276
79276
  var DEFAULT_ENDPOINT = "primary";
79277
79277
  var CONSORT_APPLICATION_NAME = "consort";
79278
79278
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
79279
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
79279
79280
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
79280
79281
 
79281
79282
  // scripts/lakebase/self-version.ts
@@ -79287,8 +79288,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79287
79288
  var cached;
79288
79289
  function substrateSelfVersion() {
79289
79290
  if (cached !== void 0) return cached;
79290
- if ("0.2.45".length > 0) {
79291
- cached = "0.2.45";
79291
+ if ("0.2.46".length > 0) {
79292
+ cached = "0.2.46";
79292
79293
  return cached;
79293
79294
  }
79294
79295
  cached = "unknown";
@@ -79316,9 +79317,17 @@ function substrateSelfVersion() {
79316
79317
  }
79317
79318
 
79318
79319
  // scripts/lakebase/get-connection.ts
79320
+ function sanitizeApplicationName(raw) {
79321
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
79322
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79323
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
79324
+ }
79319
79325
  function connectionApplicationName() {
79326
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
79327
+ if (client) return sanitizeApplicationName(client);
79320
79328
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
79321
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79329
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
79330
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79322
79331
  }
79323
79332
  async function getConnection(args) {
79324
79333
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -378,6 +378,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
378
378
  var DEFAULT_ENDPOINT = "primary";
379
379
  var CONSORT_APPLICATION_NAME = "consort";
380
380
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
381
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
381
382
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
382
383
 
383
384
  // scripts/lakebase/self-version.ts
@@ -388,8 +389,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
388
389
  var cached;
389
390
  function substrateSelfVersion() {
390
391
  if (cached !== void 0) return cached;
391
- if ("0.2.45".length > 0) {
392
- cached = "0.2.45";
392
+ if ("0.2.46".length > 0) {
393
+ cached = "0.2.46";
393
394
  return cached;
394
395
  }
395
396
  cached = "unknown";
@@ -417,9 +418,17 @@ function substrateSelfVersion() {
417
418
  }
418
419
 
419
420
  // scripts/lakebase/get-connection.ts
421
+ function sanitizeApplicationName(raw) {
422
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
423
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
424
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
425
+ }
420
426
  function connectionApplicationName() {
427
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
428
+ if (client) return sanitizeApplicationName(client);
421
429
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
422
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
430
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
431
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
423
432
  }
424
433
  async function getConnection(args) {
425
434
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -1659,8 +1659,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
1659
1659
  var cached;
1660
1660
  function substrateSelfVersion() {
1661
1661
  if (cached !== void 0) return cached;
1662
- if ("0.2.45".length > 0) {
1663
- cached = "0.2.45";
1662
+ if ("0.2.46".length > 0) {
1663
+ cached = "0.2.46";
1664
1664
  return cached;
1665
1665
  }
1666
1666
  cached = "unknown";
@@ -1630,8 +1630,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
1630
1630
  var cached;
1631
1631
  function substrateSelfVersion() {
1632
1632
  if (cached !== void 0) return cached;
1633
- if ("0.2.45".length > 0) {
1634
- cached = "0.2.45";
1633
+ if ("0.2.46".length > 0) {
1634
+ cached = "0.2.46";
1635
1635
  return cached;
1636
1636
  }
1637
1637
  cached = "unknown";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@databricks-solutions/lakebase-scm-utils",
3
- "version": "0.2.45",
3
+ "version": "0.2.46",
4
4
  "description": "Lakebase SCM + substrate engine: database branching, paired-branch SCM workflows, connection/credential minting, schema migration, project scaffold + deploy primitives, and the git/github utility layer. Extracted from consort for portable, standalone consumption by lakebase-scm-extension and the SFTDD orchestration.",
5
5
  "type": "module",
6
6
  "private": false,
@@ -58,10 +58,15 @@ export const DEFAULT_ENDPOINT = "primary";
58
58
  // branch/schema/ping connections this package opens). The full label is
59
59
  // `<brand>/<version>` , see `connectionApplicationName()` in get-connection.ts , and it
60
60
  // reflects WHICH tool opened the connection:
61
- // - `consort/<consort-version>` when the connection is made UNDER a Consort run (Consort
62
- // exports its version via CONSORT_VERSION_ENV; scm-utils reads it);
63
- // - `scm-utils/<scm-utils-version>` when scm-utils is used DIRECTLY (the VS Code extension,
64
- // a bare `lakebase-*` CLI) , no env set, so the label falls back to this package's brand.
61
+ // - ANY consumer that sets SCM_CLIENT_ENV (`LAKEBASE_SCM_CLIENT="<brand>/<version>"`) — the
62
+ // GENERIC, extensible path: a new consumer self-brands with NO scm-utils change. scm-utils
63
+ // sanitizes the value and uses it verbatim (e.g. the VS Code / Cursor extension sets
64
+ // `scm-extension/<ext-version>`);
65
+ // - `consort/<consort-version>` — BACK-COMPAT for Consort, which sets CONSORT_VERSION_ENV
66
+ // (older Consorts predate the generic env; keeping this means Consort needs no change);
67
+ // - `scm-utils/<scm-utils-version>` when nothing is set — a bare `lakebase-*` CLI falls back
68
+ // to this package's own brand.
69
+ // Precedence: SCM_CLIENT_ENV > CONSORT_VERSION_ENV > scm-utils default.
65
70
  // A TRANSPARENT label , standard practice (psql, ORMs set one) , visible to the database OWNER
66
71
  // in their own `pg_stat_activity`, so support + the owner's own diagnostics can tell which
67
72
  // tooling connected versus their application. Reads no table contents; carries only brand + version.
@@ -69,9 +74,22 @@ export const DEFAULT_ENDPOINT = "primary";
69
74
  /** Brand when the connection is made under a Consort run (CONSORT_VERSION_ENV set). */
70
75
  export const CONSORT_APPLICATION_NAME = "consort";
71
76
 
72
- /** Brand when scm-utils is used directly (extension / bare CLI); the default. */
77
+ /** Brand when scm-utils is used directly via a bare `lakebase-*` CLI; the default. */
73
78
  export const SCM_UTILS_APPLICATION_NAME = "scm-utils";
74
79
 
80
+ /**
81
+ * GENERIC consumer-brand env: any tool that opens substrate connections can set
82
+ * `LAKEBASE_SCM_CLIENT="<brand>/<version>"` (e.g. the VS Code / Cursor extension sets
83
+ * `scm-extension/<ext-version>`), and connectionApplicationName() uses it (sanitized) as the
84
+ * Postgres application_name. This is the extensibility point: adding a NEW consumer needs ZERO
85
+ * scm-utils changes — the consumer just sets this env before its first connection. Takes
86
+ * precedence over the CONSORT_VERSION back-compat path. The value is a full `<brand>/<version>`
87
+ * label owned by the consumer (scm-utils no longer hardcodes per-consumer brand constants).
88
+ * Brand convention: drop the `lakebase-` package prefix (lakebase-scm-utils -> scm-utils,
89
+ * lakebase-scm-extension -> scm-extension).
90
+ */
91
+ export const SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
92
+
75
93
  /**
76
94
  * Env var Consort sets to its OWN version so a connection opened under a Consort run is
77
95
  * labelled `consort/<consort-version>` rather than `scm-utils/<scm-utils-version>`. This is