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

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 (63) hide show
  1. package/dist/scripts/github/index.cjs +21 -4
  2. package/dist/scripts/github/index.js +21 -4
  3. package/dist/scripts/github/pr.cli.cjs +21 -4
  4. package/dist/scripts/github/pr.cli.js +21 -4
  5. package/dist/scripts/index.cjs +1224 -1157
  6. package/dist/scripts/index.d.cts +1 -1
  7. package/dist/scripts/index.d.ts +1 -1
  8. package/dist/scripts/index.js +1223 -1157
  9. package/dist/scripts/lakebase/branch.cli.cjs +21 -4
  10. package/dist/scripts/lakebase/branch.cli.js +21 -4
  11. package/dist/scripts/lakebase/ci-app-endpoint.cli.cjs +21 -4
  12. package/dist/scripts/lakebase/ci-app-endpoint.cli.js +21 -4
  13. package/dist/scripts/lakebase/ci-resolve-branch.cli.cjs +23 -6
  14. package/dist/scripts/lakebase/ci-resolve-branch.cli.js +23 -6
  15. package/dist/scripts/lakebase/collapse-heads.cli.cjs +23 -6
  16. package/dist/scripts/lakebase/collapse-heads.cli.js +23 -6
  17. package/dist/scripts/lakebase/cut-backup.cli.cjs +21 -4
  18. package/dist/scripts/lakebase/cut-backup.cli.js +21 -4
  19. package/dist/scripts/lakebase/cut-tier.cli.cjs +21 -4
  20. package/dist/scripts/lakebase/cut-tier.cli.js +21 -4
  21. package/dist/scripts/lakebase/detect-language.cli.cjs +23 -6
  22. package/dist/scripts/lakebase/detect-language.cli.js +23 -6
  23. package/dist/scripts/lakebase/doctor.cli.cjs +24 -7
  24. package/dist/scripts/lakebase/doctor.cli.js +24 -7
  25. package/dist/scripts/lakebase/get-connection.cli.cjs +23 -6
  26. package/dist/scripts/lakebase/get-connection.cli.js +23 -6
  27. package/dist/scripts/lakebase/index.cjs +489 -391
  28. package/dist/scripts/lakebase/index.d.cts +33 -1
  29. package/dist/scripts/lakebase/index.d.ts +33 -1
  30. package/dist/scripts/lakebase/index.js +488 -391
  31. package/dist/scripts/lakebase/infra-runner.cli.cjs +23 -6
  32. package/dist/scripts/lakebase/infra-runner.cli.js +23 -6
  33. package/dist/scripts/lakebase/new-migration.cli.cjs +23 -6
  34. package/dist/scripts/lakebase/new-migration.cli.js +23 -6
  35. package/dist/scripts/lakebase/schema-diff.cli.cjs +23 -6
  36. package/dist/scripts/lakebase/schema-diff.cli.js +23 -6
  37. package/dist/scripts/lakebase/schema-migrate.cli.cjs +23 -6
  38. package/dist/scripts/lakebase/schema-migrate.cli.js +23 -6
  39. package/dist/scripts/lakebase/scm-abandon-feature.cli.cjs +21 -4
  40. package/dist/scripts/lakebase/scm-abandon-feature.cli.js +21 -4
  41. package/dist/scripts/lakebase/scm-adopt-state.cli.cjs +21 -4
  42. package/dist/scripts/lakebase/scm-adopt-state.cli.js +21 -4
  43. package/dist/scripts/lakebase/scm-claim-feature.cli.cjs +23 -6
  44. package/dist/scripts/lakebase/scm-claim-feature.cli.js +23 -6
  45. package/dist/scripts/lakebase/scm-cleanup.cli.cjs +21 -4
  46. package/dist/scripts/lakebase/scm-cleanup.cli.js +21 -4
  47. package/dist/scripts/lakebase/scm-doctor.cli.cjs +23 -6
  48. package/dist/scripts/lakebase/scm-doctor.cli.js +23 -6
  49. package/dist/scripts/lakebase/scm-merge.cli.cjs +2305 -2037
  50. package/dist/scripts/lakebase/scm-merge.cli.js +360 -92
  51. package/dist/scripts/lakebase/scm-reconcile-tier.cli.cjs +23 -6
  52. package/dist/scripts/lakebase/scm-reconcile-tier.cli.js +23 -6
  53. package/dist/scripts/lakebase/scm-recover-orphans.cli.cjs +21 -4
  54. package/dist/scripts/lakebase/scm-recover-orphans.cli.js +21 -4
  55. package/dist/scripts/util/index.cjs +23 -6
  56. package/dist/scripts/util/index.js +23 -6
  57. package/package.json +1 -1
  58. package/scripts/lakebase/databricks-cli.ts +44 -4
  59. package/scripts/lakebase/doctor.ts +1 -1
  60. package/scripts/lakebase/runner-setup.ts +18 -2
  61. package/scripts/lakebase/scm-merge.ts +80 -1
  62. package/scripts/lakebase/secret-auth.ts +9 -2
  63. package/templates/project/common/scripts/run-tests.sh +10 -0
@@ -77813,16 +77813,33 @@ stdout: ${stdout}` : killed || signal ? `
77813
77813
  }
77814
77814
  async function runDatabricks(args, opts = {}) {
77815
77815
  const { argv, env, profile } = buildInvocation(args, opts);
77816
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
77816
77817
  try {
77817
- const { stdout } = await execFileP("databricks", argv, {
77818
- env,
77819
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
77820
- });
77818
+ if (opts.input !== void 0) {
77819
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
77820
+ }
77821
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
77821
77822
  return stdout.toString();
77822
77823
  } catch (err) {
77823
77824
  throw classifyDatabricksError(err, argv, profile);
77824
77825
  }
77825
77826
  }
77827
+ function execDatabricksWithStdin(argv, input, env, timeout) {
77828
+ return new Promise((resolve, reject) => {
77829
+ const child = (0, import_node_child_process2.execFile)("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
77830
+ if (err) {
77831
+ err.stdout = String(stdout ?? "");
77832
+ err.stderr = String(stderr ?? "");
77833
+ reject(err);
77834
+ return;
77835
+ }
77836
+ resolve(String(stdout ?? ""));
77837
+ });
77838
+ child.stdin?.on("error", () => {
77839
+ });
77840
+ child.stdin?.end(input);
77841
+ });
77842
+ }
77826
77843
  function runDatabricksSync(args, opts = {}) {
77827
77844
  const { argv, env, profile } = buildInvocation(args, opts);
77828
77845
  try {
@@ -296,16 +296,33 @@ stdout: ${stdout}` : killed || signal ? `
296
296
  }
297
297
  async function runDatabricks(args, opts = {}) {
298
298
  const { argv, env, profile } = buildInvocation(args, opts);
299
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
299
300
  try {
300
- const { stdout } = await execFileP("databricks", argv, {
301
- env,
302
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
303
- });
301
+ if (opts.input !== void 0) {
302
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
303
+ }
304
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
304
305
  return stdout.toString();
305
306
  } catch (err) {
306
307
  throw classifyDatabricksError(err, argv, profile);
307
308
  }
308
309
  }
310
+ function execDatabricksWithStdin(argv, input, env, timeout) {
311
+ return new Promise((resolve, reject) => {
312
+ const child = execFile("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
313
+ if (err) {
314
+ err.stdout = String(stdout ?? "");
315
+ err.stderr = String(stderr ?? "");
316
+ reject(err);
317
+ return;
318
+ }
319
+ resolve(String(stdout ?? ""));
320
+ });
321
+ child.stdin?.on("error", () => {
322
+ });
323
+ child.stdin?.end(input);
324
+ });
325
+ }
309
326
  function runDatabricksSync(args, opts = {}) {
310
327
  const { argv, env, profile } = buildInvocation(args, opts);
311
328
  try {
@@ -234,16 +234,33 @@ stdout: ${stdout}` : killed || signal ? `
234
234
  }
235
235
  async function runDatabricks(args2, opts = {}) {
236
236
  const { argv, env, profile } = buildInvocation(args2, opts);
237
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
237
238
  try {
238
- const { stdout } = await execFileP("databricks", argv, {
239
- env,
240
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
241
- });
239
+ if (opts.input !== void 0) {
240
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
241
+ }
242
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
242
243
  return stdout.toString();
243
244
  } catch (err) {
244
245
  throw classifyDatabricksError(err, argv, profile);
245
246
  }
246
247
  }
248
+ function execDatabricksWithStdin(argv, input, env, timeout) {
249
+ return new Promise((resolve, reject) => {
250
+ const child = (0, import_node_child_process2.execFile)("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
251
+ if (err) {
252
+ err.stdout = String(stdout ?? "");
253
+ err.stderr = String(stderr ?? "");
254
+ reject(err);
255
+ return;
256
+ }
257
+ resolve(String(stdout ?? ""));
258
+ });
259
+ child.stdin?.on("error", () => {
260
+ });
261
+ child.stdin?.end(input);
262
+ });
263
+ }
247
264
 
248
265
  // scripts/lakebase/deploy-workspace-upload.ts
249
266
  var import_node_fs = require("fs");
@@ -211,16 +211,33 @@ stdout: ${stdout}` : killed || signal ? `
211
211
  }
212
212
  async function runDatabricks(args2, opts = {}) {
213
213
  const { argv, env, profile } = buildInvocation(args2, opts);
214
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
214
215
  try {
215
- const { stdout } = await execFileP("databricks", argv, {
216
- env,
217
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
218
- });
216
+ if (opts.input !== void 0) {
217
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
218
+ }
219
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
219
220
  return stdout.toString();
220
221
  } catch (err) {
221
222
  throw classifyDatabricksError(err, argv, profile);
222
223
  }
223
224
  }
225
+ function execDatabricksWithStdin(argv, input, env, timeout) {
226
+ return new Promise((resolve, reject) => {
227
+ const child = execFile("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
228
+ if (err) {
229
+ err.stdout = String(stdout ?? "");
230
+ err.stderr = String(stderr ?? "");
231
+ reject(err);
232
+ return;
233
+ }
234
+ resolve(String(stdout ?? ""));
235
+ });
236
+ child.stdin?.on("error", () => {
237
+ });
238
+ child.stdin?.end(input);
239
+ });
240
+ }
224
241
 
225
242
  // scripts/lakebase/deploy-workspace-upload.ts
226
243
  import { readdirSync, statSync } from "fs";
@@ -77732,16 +77732,33 @@ stdout: ${stdout}` : killed || signal ? `
77732
77732
  }
77733
77733
  async function runDatabricks(args, opts = {}) {
77734
77734
  const { argv, env, profile } = buildInvocation(args, opts);
77735
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
77735
77736
  try {
77736
- const { stdout } = await execFileP("databricks", argv, {
77737
- env,
77738
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
77739
- });
77737
+ if (opts.input !== void 0) {
77738
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
77739
+ }
77740
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
77740
77741
  return stdout.toString();
77741
77742
  } catch (err) {
77742
77743
  throw classifyDatabricksError(err, argv, profile);
77743
77744
  }
77744
77745
  }
77746
+ function execDatabricksWithStdin(argv, input, env, timeout) {
77747
+ return new Promise((resolve2, reject) => {
77748
+ const child = (0, import_node_child_process2.execFile)("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
77749
+ if (err) {
77750
+ err.stdout = String(stdout ?? "");
77751
+ err.stderr = String(stderr ?? "");
77752
+ reject(err);
77753
+ return;
77754
+ }
77755
+ resolve2(String(stdout ?? ""));
77756
+ });
77757
+ child.stdin?.on("error", () => {
77758
+ });
77759
+ child.stdin?.end(input);
77760
+ });
77761
+ }
77745
77762
  function runDatabricksSync(args, opts = {}) {
77746
77763
  const { argv, env, profile } = buildInvocation(args, opts);
77747
77764
  try {
@@ -79611,8 +79628,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79611
79628
  var cached;
79612
79629
  function substrateSelfVersion() {
79613
79630
  if (cached !== void 0) return cached;
79614
- if ("0.2.43".length > 0) {
79615
- cached = "0.2.43";
79631
+ if ("0.2.45".length > 0) {
79632
+ cached = "0.2.45";
79616
79633
  return cached;
79617
79634
  }
79618
79635
  cached = "unknown";
@@ -211,16 +211,33 @@ stdout: ${stdout}` : killed || signal ? `
211
211
  }
212
212
  async function runDatabricks(args, opts = {}) {
213
213
  const { argv, env, profile } = buildInvocation(args, opts);
214
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
214
215
  try {
215
- const { stdout } = await execFileP("databricks", argv, {
216
- env,
217
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
218
- });
216
+ if (opts.input !== void 0) {
217
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
218
+ }
219
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
219
220
  return stdout.toString();
220
221
  } catch (err) {
221
222
  throw classifyDatabricksError(err, argv, profile);
222
223
  }
223
224
  }
225
+ function execDatabricksWithStdin(argv, input, env, timeout) {
226
+ return new Promise((resolve2, reject) => {
227
+ const child = execFile("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
228
+ if (err) {
229
+ err.stdout = String(stdout ?? "");
230
+ err.stderr = String(stderr ?? "");
231
+ reject(err);
232
+ return;
233
+ }
234
+ resolve2(String(stdout ?? ""));
235
+ });
236
+ child.stdin?.on("error", () => {
237
+ });
238
+ child.stdin?.end(input);
239
+ });
240
+ }
224
241
  function runDatabricksSync(args, opts = {}) {
225
242
  const { argv, env, profile } = buildInvocation(args, opts);
226
243
  try {
@@ -703,8 +720,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
703
720
  var cached;
704
721
  function substrateSelfVersion() {
705
722
  if (cached !== void 0) return cached;
706
- if ("0.2.43".length > 0) {
707
- cached = "0.2.43";
723
+ if ("0.2.45".length > 0) {
724
+ cached = "0.2.45";
708
725
  return cached;
709
726
  }
710
727
  cached = "unknown";
@@ -77733,16 +77733,33 @@ stdout: ${stdout}` : killed || signal ? `
77733
77733
  }
77734
77734
  async function runDatabricks(args, opts = {}) {
77735
77735
  const { argv, env, profile } = buildInvocation(args, opts);
77736
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
77736
77737
  try {
77737
- const { stdout } = await execFileP("databricks", argv, {
77738
- env,
77739
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
77740
- });
77738
+ if (opts.input !== void 0) {
77739
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
77740
+ }
77741
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
77741
77742
  return stdout.toString();
77742
77743
  } catch (err) {
77743
77744
  throw classifyDatabricksError(err, argv, profile);
77744
77745
  }
77745
77746
  }
77747
+ function execDatabricksWithStdin(argv, input, env, timeout) {
77748
+ return new Promise((resolve, reject) => {
77749
+ const child = (0, import_node_child_process2.execFile)("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
77750
+ if (err) {
77751
+ err.stdout = String(stdout ?? "");
77752
+ err.stderr = String(stderr ?? "");
77753
+ reject(err);
77754
+ return;
77755
+ }
77756
+ resolve(String(stdout ?? ""));
77757
+ });
77758
+ child.stdin?.on("error", () => {
77759
+ });
77760
+ child.stdin?.end(input);
77761
+ });
77762
+ }
77746
77763
  function runDatabricksSync(args, opts = {}) {
77747
77764
  const { argv, env, profile } = buildInvocation(args, opts);
77748
77765
  try {
@@ -79272,8 +79289,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79272
79289
  var cached;
79273
79290
  function substrateSelfVersion() {
79274
79291
  if (cached !== void 0) return cached;
79275
- if ("0.2.43".length > 0) {
79276
- cached = "0.2.43";
79292
+ if ("0.2.45".length > 0) {
79293
+ cached = "0.2.45";
79277
79294
  return cached;
79278
79295
  }
79279
79296
  cached = "unknown";
@@ -212,16 +212,33 @@ stdout: ${stdout}` : killed || signal ? `
212
212
  }
213
213
  async function runDatabricks(args, opts = {}) {
214
214
  const { argv, env, profile } = buildInvocation(args, opts);
215
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
215
216
  try {
216
- const { stdout } = await execFileP("databricks", argv, {
217
- env,
218
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
219
- });
217
+ if (opts.input !== void 0) {
218
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
219
+ }
220
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
220
221
  return stdout.toString();
221
222
  } catch (err) {
222
223
  throw classifyDatabricksError(err, argv, profile);
223
224
  }
224
225
  }
226
+ function execDatabricksWithStdin(argv, input, env, timeout) {
227
+ return new Promise((resolve, reject) => {
228
+ const child = execFile("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
229
+ if (err) {
230
+ err.stdout = String(stdout ?? "");
231
+ err.stderr = String(stderr ?? "");
232
+ reject(err);
233
+ return;
234
+ }
235
+ resolve(String(stdout ?? ""));
236
+ });
237
+ child.stdin?.on("error", () => {
238
+ });
239
+ child.stdin?.end(input);
240
+ });
241
+ }
225
242
  function runDatabricksSync(args, opts = {}) {
226
243
  const { argv, env, profile } = buildInvocation(args, opts);
227
244
  try {
@@ -375,8 +392,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
375
392
  var cached;
376
393
  function substrateSelfVersion() {
377
394
  if (cached !== void 0) return cached;
378
- if ("0.2.43".length > 0) {
379
- cached = "0.2.43";
395
+ if ("0.2.45".length > 0) {
396
+ cached = "0.2.45";
380
397
  return cached;
381
398
  }
382
399
  cached = "unknown";
@@ -231,16 +231,33 @@ stdout: ${stdout}` : killed || signal ? `
231
231
  }
232
232
  async function runDatabricks(args, opts = {}) {
233
233
  const { argv, env, profile } = buildInvocation(args, opts);
234
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
234
235
  try {
235
- const { stdout } = await execFileP("databricks", argv, {
236
- env,
237
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
238
- });
236
+ if (opts.input !== void 0) {
237
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
238
+ }
239
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
239
240
  return stdout.toString();
240
241
  } catch (err) {
241
242
  throw classifyDatabricksError(err, argv, profile);
242
243
  }
243
244
  }
245
+ function execDatabricksWithStdin(argv, input, env, timeout) {
246
+ return new Promise((resolve, reject) => {
247
+ const child = (0, import_node_child_process2.execFile)("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
248
+ if (err) {
249
+ err.stdout = String(stdout ?? "");
250
+ err.stderr = String(stderr ?? "");
251
+ reject(err);
252
+ return;
253
+ }
254
+ resolve(String(stdout ?? ""));
255
+ });
256
+ child.stdin?.on("error", () => {
257
+ });
258
+ child.stdin?.end(input);
259
+ });
260
+ }
244
261
 
245
262
  // scripts/util/delay.ts
246
263
  function delay(ms) {
@@ -208,16 +208,33 @@ stdout: ${stdout}` : killed || signal ? `
208
208
  }
209
209
  async function runDatabricks(args, opts = {}) {
210
210
  const { argv, env, profile } = buildInvocation(args, opts);
211
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
211
212
  try {
212
- const { stdout } = await execFileP("databricks", argv, {
213
- env,
214
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
215
- });
213
+ if (opts.input !== void 0) {
214
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
215
+ }
216
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
216
217
  return stdout.toString();
217
218
  } catch (err) {
218
219
  throw classifyDatabricksError(err, argv, profile);
219
220
  }
220
221
  }
222
+ function execDatabricksWithStdin(argv, input, env, timeout) {
223
+ return new Promise((resolve, reject) => {
224
+ const child = execFile("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
225
+ if (err) {
226
+ err.stdout = String(stdout ?? "");
227
+ err.stderr = String(stderr ?? "");
228
+ reject(err);
229
+ return;
230
+ }
231
+ resolve(String(stdout ?? ""));
232
+ });
233
+ child.stdin?.on("error", () => {
234
+ });
235
+ child.stdin?.end(input);
236
+ });
237
+ }
221
238
 
222
239
  // scripts/util/delay.ts
223
240
  function delay(ms) {
@@ -275,16 +275,33 @@ stdout: ${stdout}` : killed || signal ? `
275
275
  }
276
276
  async function runDatabricks(args, opts = {}) {
277
277
  const { argv, env, profile } = buildInvocation(args, opts);
278
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
278
279
  try {
279
- const { stdout } = await execFileP("databricks", argv, {
280
- env,
281
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
282
- });
280
+ if (opts.input !== void 0) {
281
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
282
+ }
283
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
283
284
  return stdout.toString();
284
285
  } catch (err) {
285
286
  throw classifyDatabricksError(err, argv, profile);
286
287
  }
287
288
  }
289
+ function execDatabricksWithStdin(argv, input, env, timeout) {
290
+ return new Promise((resolve, reject) => {
291
+ const child = (0, import_node_child_process2.execFile)("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
292
+ if (err) {
293
+ err.stdout = String(stdout ?? "");
294
+ err.stderr = String(stderr ?? "");
295
+ reject(err);
296
+ return;
297
+ }
298
+ resolve(String(stdout ?? ""));
299
+ });
300
+ child.stdin?.on("error", () => {
301
+ });
302
+ child.stdin?.end(input);
303
+ });
304
+ }
288
305
 
289
306
  // scripts/util/delay.ts
290
307
  function delay(ms) {
@@ -235,16 +235,33 @@ stdout: ${stdout}` : killed || signal ? `
235
235
  }
236
236
  async function runDatabricks(args, opts = {}) {
237
237
  const { argv, env, profile } = buildInvocation(args, opts);
238
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
238
239
  try {
239
- const { stdout } = await execFileP("databricks", argv, {
240
- env,
241
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
242
- });
240
+ if (opts.input !== void 0) {
241
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
242
+ }
243
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
243
244
  return stdout.toString();
244
245
  } catch (err) {
245
246
  throw classifyDatabricksError(err, argv, profile);
246
247
  }
247
248
  }
249
+ function execDatabricksWithStdin(argv, input, env, timeout) {
250
+ return new Promise((resolve, reject) => {
251
+ const child = execFile("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
252
+ if (err) {
253
+ err.stdout = String(stdout ?? "");
254
+ err.stderr = String(stderr ?? "");
255
+ reject(err);
256
+ return;
257
+ }
258
+ resolve(String(stdout ?? ""));
259
+ });
260
+ child.stdin?.on("error", () => {
261
+ });
262
+ child.stdin?.end(input);
263
+ });
264
+ }
248
265
 
249
266
  // scripts/util/delay.ts
250
267
  function delay(ms) {
@@ -77733,16 +77733,33 @@ stdout: ${stdout}` : killed || signal ? `
77733
77733
  }
77734
77734
  async function runDatabricks(args, opts = {}) {
77735
77735
  const { argv, env, profile } = buildInvocation(args, opts);
77736
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
77736
77737
  try {
77737
- const { stdout } = await execFileP("databricks", argv, {
77738
- env,
77739
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
77740
- });
77738
+ if (opts.input !== void 0) {
77739
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
77740
+ }
77741
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
77741
77742
  return stdout.toString();
77742
77743
  } catch (err) {
77743
77744
  throw classifyDatabricksError(err, argv, profile);
77744
77745
  }
77745
77746
  }
77747
+ function execDatabricksWithStdin(argv, input, env, timeout) {
77748
+ return new Promise((resolve2, reject) => {
77749
+ const child = (0, import_node_child_process2.execFile)("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
77750
+ if (err) {
77751
+ err.stdout = String(stdout ?? "");
77752
+ err.stderr = String(stderr ?? "");
77753
+ reject(err);
77754
+ return;
77755
+ }
77756
+ resolve2(String(stdout ?? ""));
77757
+ });
77758
+ child.stdin?.on("error", () => {
77759
+ });
77760
+ child.stdin?.end(input);
77761
+ });
77762
+ }
77746
77763
  function runDatabricksSync(args, opts = {}) {
77747
77764
  const { argv, env, profile } = buildInvocation(args, opts);
77748
77765
  try {
@@ -79272,8 +79289,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79272
79289
  var cached;
79273
79290
  function substrateSelfVersion() {
79274
79291
  if (cached !== void 0) return cached;
79275
- if ("0.2.43".length > 0) {
79276
- cached = "0.2.43";
79292
+ if ("0.2.45".length > 0) {
79293
+ cached = "0.2.45";
79277
79294
  return cached;
79278
79295
  }
79279
79296
  cached = "unknown";
@@ -212,16 +212,33 @@ stdout: ${stdout}` : killed || signal ? `
212
212
  }
213
213
  async function runDatabricks(args, opts = {}) {
214
214
  const { argv, env, profile } = buildInvocation(args, opts);
215
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
215
216
  try {
216
- const { stdout } = await execFileP("databricks", argv, {
217
- env,
218
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
219
- });
217
+ if (opts.input !== void 0) {
218
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
219
+ }
220
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
220
221
  return stdout.toString();
221
222
  } catch (err) {
222
223
  throw classifyDatabricksError(err, argv, profile);
223
224
  }
224
225
  }
226
+ function execDatabricksWithStdin(argv, input, env, timeout) {
227
+ return new Promise((resolve2, reject) => {
228
+ const child = execFile("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
229
+ if (err) {
230
+ err.stdout = String(stdout ?? "");
231
+ err.stderr = String(stderr ?? "");
232
+ reject(err);
233
+ return;
234
+ }
235
+ resolve2(String(stdout ?? ""));
236
+ });
237
+ child.stdin?.on("error", () => {
238
+ });
239
+ child.stdin?.end(input);
240
+ });
241
+ }
225
242
  function runDatabricksSync(args, opts = {}) {
226
243
  const { argv, env, profile } = buildInvocation(args, opts);
227
244
  try {
@@ -375,8 +392,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
375
392
  var cached;
376
393
  function substrateSelfVersion() {
377
394
  if (cached !== void 0) return cached;
378
- if ("0.2.43".length > 0) {
379
- cached = "0.2.43";
395
+ if ("0.2.45".length > 0) {
396
+ cached = "0.2.45";
380
397
  return cached;
381
398
  }
382
399
  cached = "unknown";
@@ -77779,16 +77779,33 @@ stdout: ${stdout}` : killed || signal ? `
77779
77779
  }
77780
77780
  async function runDatabricks(args, opts = {}) {
77781
77781
  const { argv, env, profile } = buildInvocation(args, opts);
77782
+ const timeout = opts.timeout ?? KIT_TIMEOUTS.cliDefault;
77782
77783
  try {
77783
- const { stdout } = await execFileP("databricks", argv, {
77784
- env,
77785
- timeout: opts.timeout ?? KIT_TIMEOUTS.cliDefault
77786
- });
77784
+ if (opts.input !== void 0) {
77785
+ return await execDatabricksWithStdin(argv, opts.input, env, timeout);
77786
+ }
77787
+ const { stdout } = await execFileP("databricks", argv, { env, timeout });
77787
77788
  return stdout.toString();
77788
77789
  } catch (err) {
77789
77790
  throw classifyDatabricksError(err, argv, profile);
77790
77791
  }
77791
77792
  }
77793
+ function execDatabricksWithStdin(argv, input, env, timeout) {
77794
+ return new Promise((resolve2, reject) => {
77795
+ const child = (0, import_node_child_process2.execFile)("databricks", argv, { env, timeout }, (err, stdout, stderr) => {
77796
+ if (err) {
77797
+ err.stdout = String(stdout ?? "");
77798
+ err.stderr = String(stderr ?? "");
77799
+ reject(err);
77800
+ return;
77801
+ }
77802
+ resolve2(String(stdout ?? ""));
77803
+ });
77804
+ child.stdin?.on("error", () => {
77805
+ });
77806
+ child.stdin?.end(input);
77807
+ });
77808
+ }
77792
77809
  function runDatabricksSync(args, opts = {}) {
77793
77810
  const { argv, env, profile } = buildInvocation(args, opts);
77794
77811
  try {
@@ -79364,8 +79381,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79364
79381
  var cached;
79365
79382
  function substrateSelfVersion() {
79366
79383
  if (cached !== void 0) return cached;
79367
- if ("0.2.43".length > 0) {
79368
- cached = "0.2.43";
79384
+ if ("0.2.45".length > 0) {
79385
+ cached = "0.2.45";
79369
79386
  return cached;
79370
79387
  }
79371
79388
  cached = "unknown";
@@ -80994,7 +81011,7 @@ function checkWorkflowDrift(projectDir) {
80994
81011
  status: "warn",
80995
81012
  message: `Scaffolded workflows drift from kit: ${drifted} drifted, ${missing} missing`,
80996
81013
  detail: { files: report.files.map((f3) => ({ name: f3.name, status: f3.status })) },
80997
- hint: "Inspect via the lakebase_workflow_drift MCP tool (or detectWorkflowDrift import). Refresh manually until updateWorkflows lands."
81014
+ hint: "Refresh with updateWorkflows (or the lakebase_workflow_drift MCP tool). A stale merge.yml calling 'lakebase-schema-migrate apply' (not 'apply-tier') makes the promote's migrate-target fail on the tier guard; the scm-merge promote also self-heals drifted workflows onto the PR head before merging."
80998
81015
  };
80999
81016
  } catch (err) {
81000
81017
  return {