@databricks-solutions/lakebase-scm-utils 0.3.10 → 0.3.12

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 (49) hide show
  1. package/dist/{pr-e-E4aP4j.d.cts → pr-D-eayWyJ.d.cts} +59 -1
  2. package/dist/{pr-e-E4aP4j.d.ts → pr-D-eayWyJ.d.ts} +59 -1
  3. package/dist/scripts/git/index.cjs +30 -14
  4. package/dist/scripts/git/index.d.cts +32 -1
  5. package/dist/scripts/git/index.d.ts +32 -1
  6. package/dist/scripts/git/index.js +28 -14
  7. package/dist/scripts/github/index.d.cts +2 -60
  8. package/dist/scripts/github/index.d.ts +2 -60
  9. package/dist/scripts/index.cjs +268 -76
  10. package/dist/scripts/index.d.cts +4 -4
  11. package/dist/scripts/index.d.ts +4 -4
  12. package/dist/scripts/index.js +261 -76
  13. package/dist/scripts/lakebase/ci-resolve-branch.cli.cjs +2 -2
  14. package/dist/scripts/lakebase/ci-resolve-branch.cli.js +2 -2
  15. package/dist/scripts/lakebase/collapse-heads.cli.cjs +2 -2
  16. package/dist/scripts/lakebase/collapse-heads.cli.js +2 -2
  17. package/dist/scripts/lakebase/detect-language.cli.cjs +2 -2
  18. package/dist/scripts/lakebase/detect-language.cli.js +2 -2
  19. package/dist/scripts/lakebase/doctor.cli.cjs +2 -2
  20. package/dist/scripts/lakebase/doctor.cli.js +2 -2
  21. package/dist/scripts/lakebase/get-connection.cli.cjs +2 -2
  22. package/dist/scripts/lakebase/get-connection.cli.js +2 -2
  23. package/dist/scripts/lakebase/index.cjs +280 -77
  24. package/dist/scripts/lakebase/index.d.cts +97 -2
  25. package/dist/scripts/lakebase/index.d.ts +97 -2
  26. package/dist/scripts/lakebase/index.js +275 -77
  27. package/dist/scripts/lakebase/infra-runner.cli.cjs +2 -2
  28. package/dist/scripts/lakebase/infra-runner.cli.js +2 -2
  29. package/dist/scripts/lakebase/new-migration.cli.cjs +2 -2
  30. package/dist/scripts/lakebase/new-migration.cli.js +2 -2
  31. package/dist/scripts/lakebase/schema-diff.cli.cjs +2 -2
  32. package/dist/scripts/lakebase/schema-diff.cli.js +2 -2
  33. package/dist/scripts/lakebase/schema-migrate.cli.cjs +2 -2
  34. package/dist/scripts/lakebase/schema-migrate.cli.js +2 -2
  35. package/dist/scripts/lakebase/scm-claim-feature.cli.cjs +2 -2
  36. package/dist/scripts/lakebase/scm-claim-feature.cli.js +2 -2
  37. package/dist/scripts/lakebase/scm-doctor.cli.cjs +2 -2
  38. package/dist/scripts/lakebase/scm-doctor.cli.js +2 -2
  39. package/dist/scripts/lakebase/scm-merge.cli.cjs +2 -2
  40. package/dist/scripts/lakebase/scm-merge.cli.js +2 -2
  41. package/dist/scripts/lakebase/scm-reconcile-tier.cli.cjs +2 -2
  42. package/dist/scripts/lakebase/scm-reconcile-tier.cli.js +2 -2
  43. package/dist/scripts/util/index.cjs +2 -2
  44. package/dist/scripts/util/index.js +2 -2
  45. package/package.json +1 -1
  46. package/scripts/git/commit-push.ts +60 -14
  47. package/scripts/lakebase/create-preflight.ts +213 -1
  48. package/scripts/lakebase/create-project.ts +98 -30
  49. package/scripts/lakebase/scaffold.ts +50 -0
@@ -78974,6 +78974,7 @@ __export(scripts_exports, {
78974
78974
  ScmReleaseError: () => ScmReleaseError,
78975
78975
  ScmWaitCiError: () => ScmWaitCiError,
78976
78976
  SpringInitializrClient: () => SpringInitializrClient,
78977
+ TEST_CAPTURE_ROOT_FILES: () => TEST_CAPTURE_ROOT_FILES,
78977
78978
  WorkflowScopeError: () => WorkflowScopeError,
78978
78979
  _testMakeBrownfieldFixture: () => _testMakeBrownfieldFixture,
78979
78980
  abandonFeatureBranch: () => abandonFeatureBranch,
@@ -78996,6 +78997,7 @@ __export(scripts_exports, {
78996
78997
  catalogExists: () => catalogExists,
78997
78998
  catalogExplorerUrl: () => catalogExplorerUrl,
78998
78999
  checkDatabricksAuth: () => checkDatabricksAuth,
79000
+ checkGitHubPreflight: () => checkGitHubPreflight,
78999
79001
  checkGitHubScopes: () => checkGitHubScopes,
79000
79002
  checkGitHubWorkflowScope: () => checkGitHubWorkflowScope,
79001
79003
  checkoutBranch: () => checkoutBranch,
@@ -79013,6 +79015,7 @@ __export(scripts_exports, {
79013
79015
  commitAllSignedOff: () => commitAllSignedOff,
79014
79016
  commitAmend: () => commitAmend,
79015
79017
  commitAndPush: () => commitAndPush,
79018
+ commitInitial: () => commitInitial,
79016
79019
  commitSignedOff: () => commitSignedOff,
79017
79020
  compileMigrationPattern: () => compileMigrationPattern,
79018
79021
  connectionApplicationName: () => connectionApplicationName,
@@ -79027,6 +79030,7 @@ __export(scripts_exports, {
79027
79030
  createPullRequest: () => createPullRequest,
79028
79031
  createRegistrationToken: () => createRegistrationToken,
79029
79032
  createRepo: () => createRepo,
79033
+ createRollbackLedger: () => createRollbackLedger,
79030
79034
  createTag: () => createTag,
79031
79035
  createTestPairedBranch: () => createTestPairedBranch,
79032
79036
  createUatPairedBranch: () => createUatPairedBranch,
@@ -79058,6 +79062,7 @@ __export(scripts_exports, {
79058
79062
  deployLanguageProject: () => deployLanguageProject,
79059
79063
  deployScripts: () => deployScripts,
79060
79064
  deploySpringStarter: () => deploySpringStarter,
79065
+ deployTestCaptureRoot: () => deployTestCaptureRoot,
79061
79066
  deployVscodeSettings: () => deployVscodeSettings,
79062
79067
  deployWorkflows: () => deployWorkflows,
79063
79068
  deriveCiAppName: () => deriveCiAppName,
@@ -79210,6 +79215,7 @@ __export(scripts_exports, {
79210
79215
  push: () => push,
79211
79216
  pushCurrentBranchForPr: () => pushCurrentBranchForPr,
79212
79217
  pushFailureHint: () => pushFailureHint,
79218
+ pushInitial: () => pushInitial,
79213
79219
  pushTo: () => pushTo,
79214
79220
  queryBranchSchema: () => queryBranchSchema,
79215
79221
  queryBranchTables: () => queryBranchTables,
@@ -79299,6 +79305,7 @@ __export(scripts_exports, {
79299
79305
  waitForBranchReady: () => waitForBranchReady,
79300
79306
  waitForCi: () => waitForCi,
79301
79307
  warmAndVerifyKit: () => warmAndVerifyKit,
79308
+ withCreateRollback: () => withCreateRollback,
79302
79309
  withLakebaseRollback: () => withLakebaseRollback,
79303
79310
  withProxyEnv: () => withProxyEnv,
79304
79311
  workflowStateFileExists: () => workflowStateFileExists,
@@ -88992,8 +88999,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
88992
88999
  var cached;
88993
89000
  function substrateSelfVersion() {
88994
89001
  if (cached !== void 0) return cached;
88995
- if ("0.3.10".length > 0) {
88996
- cached = "0.3.10";
89002
+ if ("0.3.12".length > 0) {
89003
+ cached = "0.3.12";
88997
89004
  return cached;
88998
89005
  }
88999
89006
  cached = "unknown";
@@ -90700,6 +90707,70 @@ async function checkGitHubWorkflowScope(probe = () => checkGitHubScopes(["workfl
90700
90707
  return { ok: true };
90701
90708
  }
90702
90709
  }
90710
+ async function checkGitHubPreflight(input) {
90711
+ const warnings = [];
90712
+ const hard = input.hardScopes ?? ["repo", "workflow"];
90713
+ const advisory = input.advisoryScopes ?? ["delete_repo"];
90714
+ const currentUserProbe = input.currentUser ?? getCurrentUser;
90715
+ const scopesProbe = input.scopes ?? ((req) => checkGitHubScopes(req));
90716
+ const repoExistsProbe = input.repoExists ?? repoExists;
90717
+ let activeUser;
90718
+ try {
90719
+ activeUser = await currentUserProbe();
90720
+ } catch (err) {
90721
+ return {
90722
+ ok: false,
90723
+ warnings,
90724
+ reason: `GitHub authentication failed: ${err instanceof Error ? err.message : String(err)}. Sign in with \`gh auth login\`, or set GITHUB_TOKEN to a valid token, then re-run.`
90725
+ };
90726
+ }
90727
+ if (activeUser.toLowerCase() !== input.owner.toLowerCase()) {
90728
+ warnings.push(
90729
+ `Signed in to GitHub as "${activeUser}" but creating under "${input.owner}" (an org or another account); ensure "${activeUser}" can create repositories there.`
90730
+ );
90731
+ }
90732
+ try {
90733
+ const { granted, missing } = await scopesProbe([...hard, ...advisory]);
90734
+ if (granted !== null) {
90735
+ const missingHard = missing.filter((s2) => hard.includes(s2));
90736
+ const missingAdvisory = missing.filter((s2) => advisory.includes(s2));
90737
+ if (missingHard.length > 0) {
90738
+ return {
90739
+ ok: false,
90740
+ warnings,
90741
+ activeUser,
90742
+ reason: `GitHub token missing required scope(s): ${missingHard.join(", ")} (grants [${granted.join(", ") || "none"}]). Fix: gh auth refresh -h github.com -s ${[...hard].join(",")}`
90743
+ };
90744
+ }
90745
+ if (missingAdvisory.length > 0) {
90746
+ warnings.push(
90747
+ `GitHub token missing the ${missingAdvisory.join(", ")} scope \u2014 automatic rollback of the repo on a failed create is unavailable (you would delete it by hand). Grant it with: gh auth refresh -h github.com -s delete_repo`
90748
+ );
90749
+ }
90750
+ } else {
90751
+ warnings.push(
90752
+ "GitHub token scopes are not visible (fine-grained PAT or App token); cannot pre-verify repo/workflow access , the create will surface any gap when it pushes."
90753
+ );
90754
+ }
90755
+ } catch {
90756
+ warnings.push("Could not read GitHub token scopes (probe error); skipping the scope pre-check.");
90757
+ }
90758
+ try {
90759
+ if (await repoExistsProbe(`${input.owner}/${input.repoName}`)) {
90760
+ return {
90761
+ ok: false,
90762
+ warnings,
90763
+ activeUser,
90764
+ reason: `GitHub repo "${input.owner}/${input.repoName}" already exists. Pick a different project name, or delete the existing repo first.`
90765
+ };
90766
+ }
90767
+ } catch {
90768
+ warnings.push(
90769
+ `Could not check whether "${input.owner}/${input.repoName}" already exists (probe error); the create will fail clearly if it does.`
90770
+ );
90771
+ }
90772
+ return { ok: true, warnings, activeUser };
90773
+ }
90703
90774
  function githubWorkflowScopePrereqMessage(reason) {
90704
90775
  return "The GitHub token lacks the `workflow` OAuth scope, required to push the project's `.github/workflows/*` CI files. (Without this check, scaffolding runs all the way to the final push, is rejected, and rolls back.) Grant the scope, then re-run:\n - gh CLI: gh auth refresh -h github.com -s workflow\n - VS Code: re-sign in to GitHub and approve the workflow scope\n - token: set GITHUB_TOKEN to a PAT that includes the `workflow` scope" + (reason ? `
90705
90776
  (${reason})` : "");
@@ -90765,6 +90836,53 @@ async function withLakebaseRollback(opts, fn) {
90765
90836
  throw wrapped;
90766
90837
  }
90767
90838
  }
90839
+ function createRollbackLedger() {
90840
+ const steps = [];
90841
+ return {
90842
+ register: (label, undo) => {
90843
+ steps.push({ label, undo });
90844
+ },
90845
+ steps: () => steps
90846
+ };
90847
+ }
90848
+ async function withCreateRollback(ledger, opts, fn) {
90849
+ try {
90850
+ return await fn();
90851
+ } catch (err) {
90852
+ const report = opts.report ?? (() => {
90853
+ });
90854
+ const steps = [...ledger.steps()].reverse();
90855
+ const rolledBack = [];
90856
+ const failed = [];
90857
+ if (steps.length > 0) report(`Create failed; rolling back ${steps.length} created resource(s)...`);
90858
+ for (const s2 of steps) {
90859
+ try {
90860
+ report(` rolling back: ${s2.label}`);
90861
+ await s2.undo();
90862
+ rolledBack.push(s2.label);
90863
+ } catch (e2) {
90864
+ const m2 = e2 instanceof Error ? e2.message : String(e2);
90865
+ if (/not.?found/i.test(m2)) {
90866
+ rolledBack.push(s2.label);
90867
+ continue;
90868
+ }
90869
+ failed.push(`${s2.label} (${m2})`);
90870
+ }
90871
+ }
90872
+ const base = err instanceof Error ? err.message : String(err);
90873
+ const parts = [];
90874
+ if (rolledBack.length) parts.push(`rolled back: ${rolledBack.join(", ")}`);
90875
+ if (failed.length) {
90876
+ parts.push(
90877
+ `COULD NOT roll back: ${failed.join("; ")} , clean these up by hand before retrying the same name`
90878
+ );
90879
+ }
90880
+ const suffix = parts.length ? ` (${parts.join("; ")})` : "";
90881
+ const wrapped = err instanceof Error ? err : new Error(base);
90882
+ wrapped.message = `${base}${suffix}`;
90883
+ throw wrapped;
90884
+ }
90885
+ }
90768
90886
 
90769
90887
  // scripts/lakebase/create-project.ts
90770
90888
  init_cjs_shims();
@@ -90833,26 +90951,38 @@ To finish:
90833
90951
  }
90834
90952
  };
90835
90953
  async function commitAndPush(args) {
90836
- await exec2("git add -A", { cwd: args.projectDir });
90837
- await exec2(`git commit -m ${JSON.stringify(args.message)}`, {
90838
- cwd: args.projectDir,
90954
+ await commitInitial(args.projectDir, args.message);
90955
+ if (args.push === false) return;
90956
+ await pushInitial({ projectDir: args.projectDir, remote: args.remote, branch: args.branch });
90957
+ }
90958
+ async function commitInitial(projectDir, message) {
90959
+ await exec2("git add -A", { cwd: projectDir });
90960
+ await exec2(`git commit -m ${JSON.stringify(message)}`, {
90961
+ cwd: projectDir,
90839
90962
  timeout: 3e4
90840
90963
  });
90841
- if (args.push === false) return;
90964
+ }
90965
+ async function pushInitial(args) {
90842
90966
  const remote = args.remote ?? "origin";
90843
90967
  const branch = args.branch ?? "main";
90844
- try {
90845
- await exec2(`git push -u ${remote} ${branch}`, {
90846
- cwd: args.projectDir,
90847
- timeout: 3e4
90848
- });
90849
- } catch (err) {
90850
- const msg = err instanceof Error ? err.message : String(err);
90851
- if (/without `?workflow`? scope|workflow scope/i.test(msg)) {
90852
- throw new WorkflowScopeError(args.projectDir);
90968
+ const attempts = Math.max(1, args.attempts ?? 1);
90969
+ const sleep2 = args.sleep ?? ((ms) => new Promise((r2) => setTimeout(r2, ms)));
90970
+ const run = args.run ?? ((cmd, cwd) => exec2(cmd, { cwd, timeout: 3e4 }).then(() => void 0));
90971
+ let lastErr;
90972
+ for (let i2 = 1; i2 <= attempts; i2++) {
90973
+ try {
90974
+ await run(`git push -u ${remote} ${branch}`, args.projectDir);
90975
+ return;
90976
+ } catch (err) {
90977
+ const msg = err instanceof Error ? err.message : String(err);
90978
+ if (/without `?workflow`? scope|workflow scope/i.test(msg)) {
90979
+ throw new WorkflowScopeError(args.projectDir);
90980
+ }
90981
+ lastErr = err;
90982
+ if (i2 < attempts) await sleep2(args.delayMs ?? 1500);
90853
90983
  }
90854
- throw err;
90855
90984
  }
90985
+ throw lastErr instanceof Error ? lastErr : new Error(String(lastErr));
90856
90986
  }
90857
90987
 
90858
90988
  // scripts/lakebase/scaffold.ts
@@ -91585,6 +91715,20 @@ async function deployVscodeSettings(targetDir, opts) {
91585
91715
  fs13.mkdirSync(destDir, { recursive: true });
91586
91716
  fs13.copyFileSync(src, path10.join(destDir, "settings.json"));
91587
91717
  }
91718
+ var TEST_CAPTURE_ROOT_FILES = ["consort-capture.ts", "consort-test-reporter.ts"];
91719
+ function deployTestCaptureRoot(targetDir, opts) {
91720
+ const src = commonDir(opts);
91721
+ const written = [];
91722
+ for (const rel of TEST_CAPTURE_ROOT_FILES) {
91723
+ const from = path10.join(src, rel);
91724
+ if (!fs13.existsSync(from)) {
91725
+ throw new Error(`Kit template missing: ${from}`);
91726
+ }
91727
+ fs13.copyFileSync(from, path10.join(targetDir, rel));
91728
+ written.push(rel);
91729
+ }
91730
+ return written;
91731
+ }
91588
91732
  async function deployGitignore(targetDir, language = "java", opts) {
91589
91733
  const base = fs13.readFileSync(path10.join(commonDir(opts), ".gitignore.base"), "utf-8");
91590
91734
  const extraPath = path10.join(langDir(language, opts), ".gitignore.extra");
@@ -91719,6 +91863,12 @@ async function scaffoldAll(args) {
91719
91863
  });
91720
91864
  if (client.length > 0) staticResult.client = client;
91721
91865
  }
91866
+ if (args.clientFramework === "react" || language === "nodejs") {
91867
+ report("Deploying root test-capture modules");
91868
+ staticResult.testCapture = deployTestCaptureRoot(args.targetDir, {
91869
+ templatesDir: args.templatesDir
91870
+ });
91871
+ }
91722
91872
  return staticResult;
91723
91873
  }
91724
91874
 
@@ -93035,64 +93185,72 @@ async function createProject(input, progress) {
93035
93185
  throw new Error(databricksAuthPrereqMessage(host, auth7.reason));
93036
93186
  }
93037
93187
  if (useGithub) {
93038
- report("Checking GitHub token scopes...");
93039
- const scope = await checkGitHubWorkflowScope();
93040
- if (!scope.ok) {
93041
- throw new Error(githubWorkflowScopePrereqMessage(scope.reason));
93042
- }
93043
- }
93044
- if (useGithub) {
93045
- report("Creating GitHub repository...", fullRepoName);
93046
- await createRepo(fullRepoName, {
93047
- private: input.privateRepo !== false,
93048
- description: `Lakebase project: ${input.projectName}`
93049
- });
93050
- report("Waiting for GitHub repo to be visible...", fullRepoName);
93051
- const probeDelays = [1e3, 2e3, 3e3, 5e3, 8e3];
93052
- let probeErr = "";
93053
- let visible = false;
93054
- for (const waitMs of probeDelays) {
93055
- try {
93056
- await getRepoFullName(fullRepoName);
93057
- visible = true;
93058
- break;
93059
- } catch (err) {
93060
- probeErr = err instanceof Error ? err.message : String(err);
93061
- await delay(waitMs);
93062
- }
93063
- }
93064
- if (!visible) {
93065
- let activeUser = "";
93066
- try {
93067
- activeUser = await getCurrentUser();
93068
- } catch {
93069
- }
93070
- const samlHint = /SAML|scope does not match|sso/i.test(probeErr) ? "\n\nThe error mentions SAML \u2013 re-sign in to GitHub and authorize SSO for this org." : "";
93071
- const userHint = activeUser && activeUser !== input.githubOwner ? `
93188
+ report("Checking GitHub account + token requisites...");
93189
+ const gh = await checkGitHubPreflight({ owner: input.githubOwner, repoName: input.projectName });
93190
+ for (const w of gh.warnings) {
93191
+ warnings.push(w);
93192
+ report(`Note: ${w}`);
93193
+ }
93194
+ if (!gh.ok) throw new Error(gh.reason);
93195
+ }
93196
+ const rollback = createRollbackLedger();
93197
+ return await withCreateRollback(
93198
+ rollback,
93199
+ { report },
93200
+ async () => {
93201
+ if (useGithub) {
93202
+ report("Creating GitHub repository...", fullRepoName);
93203
+ await createRepo(fullRepoName, {
93204
+ private: input.privateRepo !== false,
93205
+ description: `Lakebase project: ${input.projectName}`
93206
+ });
93207
+ rollback.register(`GitHub repo ${fullRepoName}`, () => deleteRepo(fullRepoName));
93208
+ report("Waiting for GitHub repo to be visible...", fullRepoName);
93209
+ const probeDelays = [1e3, 2e3, 3e3, 5e3, 8e3];
93210
+ let probeErr = "";
93211
+ let visible = false;
93212
+ for (const waitMs of probeDelays) {
93213
+ try {
93214
+ await getRepoFullName(fullRepoName);
93215
+ visible = true;
93216
+ break;
93217
+ } catch (err) {
93218
+ probeErr = err instanceof Error ? err.message : String(err);
93219
+ await delay(waitMs);
93220
+ }
93221
+ }
93222
+ if (!visible) {
93223
+ let activeUser = "";
93224
+ try {
93225
+ activeUser = await getCurrentUser();
93226
+ } catch {
93227
+ }
93228
+ const samlHint = /SAML|scope does not match|sso/i.test(probeErr) ? "\n\nThe error mentions SAML \u2013 re-sign in to GitHub and authorize SSO for this org." : "";
93229
+ const userHint = activeUser && activeUser !== input.githubOwner ? `
93072
93230
 
93073
93231
  Note: signed in as "${activeUser}", but the repo was created under "${input.githubOwner}".` : "";
93074
- throw new Error(
93075
- `GitHub repo "${fullRepoName}" was created but isn't visible after ~19s of polling.${samlHint}${userHint}
93232
+ throw new Error(
93233
+ `GitHub repo "${fullRepoName}" was created but isn't visible after ~19s of polling.${samlHint}${userHint}
93076
93234
 
93077
93235
  Last probe error:
93078
93236
  ${probeErr.split("\n")[0].slice(0, 200)}`
93079
- );
93080
- }
93081
- report("Cloning repository...", projectDir);
93082
- await cloneRepo({
93083
- repoUrl: `https://github.com/${fullRepoName}.git`,
93084
- parentDir: input.parentDir
93085
- });
93086
- } else {
93087
- report("Creating local project directory...", projectDir);
93088
- fs20.mkdirSync(projectDir, { recursive: true });
93089
- await gitInit(projectDir);
93090
- }
93091
- report("Creating Lakebase database (provisioning Postgres)...", lakebaseProjectId);
93092
- await createLakebaseProject({ projectId: lakebaseProjectId, host });
93093
- return await withLakebaseRollback(
93094
- { projectId: lakebaseProjectId, host, report },
93095
- async () => {
93237
+ );
93238
+ }
93239
+ report("Cloning repository...", projectDir);
93240
+ await cloneRepo({
93241
+ repoUrl: `https://github.com/${fullRepoName}.git`,
93242
+ parentDir: input.parentDir
93243
+ });
93244
+ rollback.register(`local project dir ${projectDir}`, () => fs20.rmSync(projectDir, { recursive: true, force: true }));
93245
+ } else {
93246
+ report("Creating local project directory...", projectDir);
93247
+ fs20.mkdirSync(projectDir, { recursive: true });
93248
+ await gitInit(projectDir);
93249
+ rollback.register(`local project dir ${projectDir}`, () => fs20.rmSync(projectDir, { recursive: true, force: true }));
93250
+ }
93251
+ report("Creating Lakebase database (provisioning Postgres)...", lakebaseProjectId);
93252
+ await createLakebaseProject({ projectId: lakebaseProjectId, host });
93253
+ rollback.register(`Lakebase project ${lakebaseProjectId}`, () => deleteLakebaseProject({ projectId: lakebaseProjectId, host }));
93096
93254
  report("Resolving database endpoint...");
93097
93255
  const defaultBranchId = await getDefaultBranchId({
93098
93256
  projectId: lakebaseProjectId,
@@ -93176,6 +93334,10 @@ Last probe error:
93176
93334
  projectName: input.projectName,
93177
93335
  report: (m2) => report(m2)
93178
93336
  });
93337
+ rollback.register(
93338
+ `self-hosted runner ${input.projectName}`,
93339
+ () => removeRunner({ fullRepoName, projectName: input.projectName })
93340
+ );
93179
93341
  } catch (err) {
93180
93342
  const msg = err instanceof Error ? err.message : String(err);
93181
93343
  warnings.push(`Runner setup failed: ${msg}`);
@@ -93244,6 +93406,16 @@ Last probe error:
93244
93406
  "The Consort toolkit downloads on first use , run `./scripts/lk --refresh`, or just your first `./scripts/lk` command, and it installs then."
93245
93407
  );
93246
93408
  }
93409
+ if (enableSftdd && useGithub) {
93410
+ report("Warming the Consort toolkit (so the first push doesn't cold-download mid-hook)...");
93411
+ let warm = warmAndVerifyKit(projectDir);
93412
+ if (!warm.ok) warm = warmAndVerifyKit(projectDir);
93413
+ if (!warm.ok) {
93414
+ const m2 = kitWarmWarning(projectDir, warm.reason);
93415
+ warnings.push(m2);
93416
+ report(`Note: ${m2}`);
93417
+ }
93418
+ }
93247
93419
  const langLabels = {
93248
93420
  java: "Java/Spring Boot",
93249
93421
  kotlin: "Kotlin/Spring Boot",
@@ -93264,12 +93436,25 @@ Last probe error:
93264
93436
  }
93265
93437
  }
93266
93438
  report("Creating initial commit...");
93267
- await commitAndPush({
93268
- projectDir,
93269
- message: `Initial project scaffold (${langLabel} + Lakebase)`,
93270
- push: useGithub
93271
- });
93272
- if (tiers === 2 || tiers === 3) {
93439
+ await commitInitial(projectDir, `Initial project scaffold (${langLabel} + Lakebase)`);
93440
+ let pushLanded = !useGithub;
93441
+ if (useGithub) {
93442
+ try {
93443
+ await pushInitial({ projectDir, attempts: 2 });
93444
+ pushLanded = true;
93445
+ } catch (err) {
93446
+ if (err instanceof WorkflowScopeError) throw err;
93447
+ const msg = err instanceof Error ? err.message : String(err);
93448
+ const m2 = `Provisioning is complete, but the initial push did not land after a retry: ${msg}. The project on disk is fine , finish it with: cd ${projectDir} && git push -u origin main`;
93449
+ warnings.push(m2);
93450
+ report(`WARNING: ${m2}`);
93451
+ }
93452
+ }
93453
+ if ((tiers === 2 || tiers === 3) && !pushLanded) {
93454
+ const m2 = `INCOMPLETE TIERS: you requested ${tiers} tiers, but the initial push hasn't landed, so the tier branches can't fork off origin yet. After you finish the push (above), cut them with \`./scripts/lk lakebase-cut-tier --name staging --fork-from main\`${tiers === 3 ? " and `--name dev --fork-from staging`" : ""}.`;
93455
+ warnings.push(m2);
93456
+ report(`WARNING: ${m2}`);
93457
+ } else if (tiers === 2 || tiers === 3) {
93273
93458
  report(`Cutting staging tier (tiers=${tiers}) via createLongRunningBranch...`);
93274
93459
  try {
93275
93460
  await createLongRunningBranch({
@@ -93320,7 +93505,7 @@ Last probe error:
93320
93505
  warnings
93321
93506
  };
93322
93507
  }
93323
- // end withLakebaseRollback closure
93508
+ // end withCreateRollback closure
93324
93509
  );
93325
93510
  }
93326
93511
 
@@ -98688,6 +98873,7 @@ function isCliEntry(importMetaUrl2) {
98688
98873
  ScmReleaseError,
98689
98874
  ScmWaitCiError,
98690
98875
  SpringInitializrClient,
98876
+ TEST_CAPTURE_ROOT_FILES,
98691
98877
  WorkflowScopeError,
98692
98878
  _testMakeBrownfieldFixture,
98693
98879
  abandonFeatureBranch,
@@ -98710,6 +98896,7 @@ function isCliEntry(importMetaUrl2) {
98710
98896
  catalogExists,
98711
98897
  catalogExplorerUrl,
98712
98898
  checkDatabricksAuth,
98899
+ checkGitHubPreflight,
98713
98900
  checkGitHubScopes,
98714
98901
  checkGitHubWorkflowScope,
98715
98902
  checkoutBranch,
@@ -98727,6 +98914,7 @@ function isCliEntry(importMetaUrl2) {
98727
98914
  commitAllSignedOff,
98728
98915
  commitAmend,
98729
98916
  commitAndPush,
98917
+ commitInitial,
98730
98918
  commitSignedOff,
98731
98919
  compileMigrationPattern,
98732
98920
  connectionApplicationName,
@@ -98741,6 +98929,7 @@ function isCliEntry(importMetaUrl2) {
98741
98929
  createPullRequest,
98742
98930
  createRegistrationToken,
98743
98931
  createRepo,
98932
+ createRollbackLedger,
98744
98933
  createTag,
98745
98934
  createTestPairedBranch,
98746
98935
  createUatPairedBranch,
@@ -98772,6 +98961,7 @@ function isCliEntry(importMetaUrl2) {
98772
98961
  deployLanguageProject,
98773
98962
  deployScripts,
98774
98963
  deploySpringStarter,
98964
+ deployTestCaptureRoot,
98775
98965
  deployVscodeSettings,
98776
98966
  deployWorkflows,
98777
98967
  deriveCiAppName,
@@ -98924,6 +99114,7 @@ function isCliEntry(importMetaUrl2) {
98924
99114
  push,
98925
99115
  pushCurrentBranchForPr,
98926
99116
  pushFailureHint,
99117
+ pushInitial,
98927
99118
  pushTo,
98928
99119
  queryBranchSchema,
98929
99120
  queryBranchTables,
@@ -99013,6 +99204,7 @@ function isCliEntry(importMetaUrl2) {
99013
99204
  waitForBranchReady,
99014
99205
  waitForCi,
99015
99206
  warmAndVerifyKit,
99207
+ withCreateRollback,
99016
99208
  withLakebaseRollback,
99017
99209
  withProxyEnv,
99018
99210
  workflowStateFileExists,
@@ -1,7 +1,7 @@
1
- export { CreateRepoOptions, GITHUB_SCOPES, GitHubAuthDiagnosis, GitHubAuthSource, GitHubRepoError, GitHubRunnerError, GitHubScopeStatus, GitHubSecretsError, RepoRunner, VsCodeSessionOptions, checkGitHubScopes, createRegistrationToken, createRepo, deleteRepo, deleteRunner, diagnoseGitHubAuth, getActionsEnabled, getCurrentUser, getRepoFullName, getRunnerIdByName, getRunnerStatus, listRepoRunners, listSecretNames, repoExists, resolveGitHubToken, setRepoSecret, setRepoSecrets, tryGhAuthToken, tryVsCodeSession } from './github/index.cjs';
2
- export { C as CreatePullRequestArgs, F as FastForwardBranchArgs, G as GitHubPullRequestError, M as MergePairedPullRequestArgs, a as MergePairedPullRequestResult, b as MergePullRequestArgs, c as MergePullRequestResult, P as PullRequestCheck, d as PullRequestFile, e as PullRequestInfo, f as PullRequestReview, W as WorkflowRunSummary, g as createPullRequest, h as fastForwardBranch, i as getPullRequest, j as getPullRequestComments, k as getPullRequestFiles, l as getPullRequestReviews, m as listIssueComments, n as listWorkflowRuns, o as mergePairedPullRequest, p as mergePullRequest } from '../pr-e-E4aP4j.cjs';
3
- export { AbandonFeatureArgs, AbandonFeatureResult, AddE2eToRunTestsScriptArgs, AddE2eToRunTestsScriptResult, AddInfraToPackageJsonArgs, AddInfraToPackageJsonResult, AddInfraToRunTestsScriptArgs, AddInfraToRunTestsScriptResult, AddPlaywrightToPackageJsonArgs, AddPlaywrightToPackageJsonResult, AddPythonE2eDepsArgs, AddPythonE2eDepsResult, AdoptLakebaseProjectArgs, AdoptLakebaseProjectResult, AdoptStateArgs, AdoptStateResult, AppServicePrincipal, AppliedSchemaMigration, ApplySchemaMigrationsArgs, ApplySchemaMigrationsResult, BranchLookupOpts, BranchMetadata, CONVENTION_TIER_DEFAULTS, CatalogExistsArgs, CheckoutMode, CheckoutPairedArgs, CheckoutPairedResult, ClaimFeatureBranchArgs, ClaimFeatureBranchResult, ClaimedOrphan, ClientFramework, CommandDriftReport, CommandFileEntry, CommandFileStatus, ConnectionArgs, ConsortSetupHooks, CreateBranchArgs, CreateConventionBranchArgs, CreateConventionPairedBranchArgs, CreateLongRunningBranchArgs, CreateLongRunningBranchResult, CreatePairedBranchArgs, CreatePairedBranchResult, CreateProjectArgs, CreateProjectResult, CutBackupArgs, CutBackupResult, DEFAULT_PROTECTED_TIER_NAMES, DOTNET_EFCORE_DEFAULTS, DOTNET_FLYWAY_DIR, DatabricksProfile, DeleteAppEndpointArgs, DeleteAppEndpointResult, DeleteBranchArgs, DeletePairedBranchArgs, DeletePairedBranchResult, DeployClaudeCommandsOptions, DeployClaudeCommandsResult, DeployEnvExampleArgs, DeployLanguageProjectArgs, DeploySpringStarterArgs, DeployTarget, DeployTargetsConfig, DetectCommandDriftArgs, DetectScaffoldedDriftArgs, DetectWorkflowDriftArgs, DoctorArgs, DoctorFinding, DoctorReport, DoctorSeverity, DotnetMigrationTool, DsnArgs, DsnResult, EF_DESIGN_PACKAGE, EfCoreProject, EnableE2eForProjectArgs, EnableE2eForProjectResult, EnableInfraForProjectArgs, EnableInfraForProjectResult, EndpointInfo, EnsureAppEndpointArgs, EnsureAppEndpointResult, EnsureEndpointArgs, EnsureLakebaseSecretAuthArgs, EnsureLakebaseSecretAuthResult, EnsureProfilePinnedArgs, EnsureProfilePinnedResult, EnsureSchemaAndVolumeArgs, EnsureSchemaAndVolumeResult, FIXABLE_FINDING_IDS, FixFindingArgs, FixFindingResult, FixableFindingId, GateInvariant, GateStatus, GenerateAppYamlOptions, GenerateMavenProjectOptions, GetAppEndpointArgs, GetAppEndpointResult, GetAppServicePrincipalArgs, GetCiAppEndpointArgs, GetCiAppEndpointResult, GetConnectionArgs, GetCredentialArgs, GetEndpointArgs, GetSchemaDiffArgs, GrantLakebasePermissionArgs, GrantLakebasePermissionResult, GrantUcCatalogPermissionArgs, GrantUcCatalogPermissionResult, HealthDoctorReport, HookVerification, InfraCheckResult, InfraSuiteResult, InitWorkflowStateArgs, InitializrMetadata, InitializrNetworkError, InitializrParseError, InstallPlaywrightArgs, InstallPlaywrightOptions, InstallPlaywrightResult, LakebaseBranchError, LakebaseBranchInfo, LakebaseBranchTtlTooLongError, LakebasePermissionLevel, LakebaseProjectArgs, LakebaseProjectError, LakebaseProjectInfo, LakebaseProjectMetadata, ListSchemaMigrationsArgs, MAVEN_FLYWAY_DIR, MIGRATION_DEFAULTS, MergeArgs, MergePairedArgs, MergePairedResult, MergeResult, MigrationDefaults, MigrationLanguage, MigrationLayout, ModifiedSchemaObject, NODE_E2E_TEMPLATE_FILES, OrphanCandidate, PLAYWRIGHT_TEMPLATE_FILES, PLAYWRIGHT_TEST_VERSION_RANGE, PYTEST_BDD_VERSION_RANGE, PYTEST_PLAYWRIGHT_VERSION_RANGE, PYTHON_E2E_TEMPLATE_FILES, PendingSchemaMigration, PoolArgs, PreflightResult, PreparePrArgs, PreparePrResult, ProgressCallback, ProjectLanguage, PropagateCredentialsArgs, PropagateCredentialsResult, ProtectedBranchCommitError, QueryBranchSchemaArgs, RecoverOrphansArgs, RecoverOrphansResult, ReleaseArgs, ReleaseResult, RemoveRunnerArgs, ResolveDatabricksHostArgs, ResolveMigrationLayoutArgs, RollbackDeployArgs, RollbackDeployResult, RollbackOptions, RollbackSchemaMigrationArgs, RollbackSchemaMigrationResult, RunDoctorDeps, RunInfraSuiteArgs, RunPlaywrightInstallArgs, RunPlaywrightInstallResult, RunnerInfo, RunnerReportFn, RunnerType, SCM_STATES, STATE_FILE_REL, ScaffoldAllArgs, ScaffoldOptions, ScaffoldReportFn, ScaffoldStaticAllArgs, ScaffoldStaticAllResult, ScaffoldedDriftReport, SchemaColumn, SchemaDiffResult, SchemaMigrationError, SchemaMigrationFile, SchemaMigrationLanguage, SchemaMigrationStatusArgs, SchemaMigrationStatusResult, SchemaMigrationToolName, SchemaObject, SchemaQueryRow, ScmAbandonError, ScmAdoptError, ScmClaimError, ScmDoctorFixError, ScmMergeError, ScmPreparePrError, ScmRecoverError, ScmReleaseError, ScmState, ScmWaitCiError, ScmWorkflowState, SetupRunnerArgs, SftddSetupHooks, SpringInitializrClient, SpringJvmLanguage, StaleBranchFinding, SyncEnvArgs, SyncEnvResult, TableSchema, TierTopology, TryCreateCatalogArgs, TryCreateCatalogResult, UcCatalogPermission, UpdateEnvConnectionArgs, UpdateWorkflowsArgs, UpdateWorkflowsResult, UploadDirectoryArgs, UploadDirectoryResult, ValidateAppOptions, ValidateAppResult, ValidationError, ValidationResult, WaitCiArgs, WaitCiResult, WaitForBranchAuthReadyArgs, WaitForBranchReadyArgs, WorkflowDriftReport, WorkflowFileStatus, WorkflowFileUpdate, WorkflowStatus, WorkflowUpdateOutcome, WorkflowVerification, WriteEnvFileArgs, WritePlaywrightTemplatesArgs, WritePlaywrightTemplatesResult, _testMakeBrownfieldFixture, abandonFeatureBranch, addE2eToRunTestsScript, addInfraToPackageJson, addInfraToRunTestsScript, addPlaywrightToPackageJson, adoptLakebaseProject, adoptScmState, applySchemaMigrations, assertAdoptionPreflight, assertCleanForFork, assertCommitTargetNotProtected, assertCreatedProjectReady, buildPostgresUrl, buildSchemaQuery, cacheProjectRetention, catalogExists, catalogExplorerUrl, checkDatabricksAuth, checkGitHubWorkflowScope, checkoutPaired, claimFeatureBranch, clearRetentionCache, compileMigrationPattern, connectionApplicationName, createBranch, createFeaturePairedBranch, createLakebaseProject, createLongRunningBranch, createPairedBranch, createPerfPairedBranch, createProject, createTestPairedBranch, createUatPairedBranch, cutBackup, databricksAuthPrereqMessage, defaultRefreshPromoteWorkflows, deleteAppEndpoint, deleteBranch, deleteLakebaseProject, deletePairedBranch, deleteProjectArgs, deployClaudeAgents, deployClaudeCommands, deployClaudeSettings, deployClaudeSkills, deployClientProject, deployDeployTargets, deployEnv, deployEnvExample, deployGitignore, deployLanguageProject, deployScripts, deploySpringStarter, deployVscodeSettings, deployWorkflows, deriveCiAppName, describeGates, detectCommandDrift, detectLanguage, detectLanguageAt, detectScaffoldedDrift, detectWorkflowDrift, dirIsEmpty, enableE2eForProject, enableInfraForProject, endpointPath, ensureAppEndpoint, ensureCachedArchive, ensureEndpoint, ensureLakebaseSecretAuth, ensureProfilePinned, ensurePythonBddDeps, ensurePythonE2eDeps, ensureSchemaAndVolume, extractPullNumber, featureBranchName, findCsprojFiles, findDefaultBranchName, findEfCoreProject, findHistoryRetentionDuration, fixFinding, flywayMigrationsDir, formatJUnit, formatSchemaDiffAsMarkdown, generateAppYaml, getAppEndpoint, getAppServicePrincipal, getBranchByName, getCachedProjectRetention, getCiAppEndpoint, getConnection, getCredential, getDefaultBranch, getDefaultBranchId, getDefaultBranchName, getEndpoint, getProjectInfo, getProjectRetentionDuration, getRunnerInfo, getSchemaDiff, getTargetNames, githubWorkflowScopePrereqMessage, grantLakebasePermission, grantUcCatalogPermission, hasDotnetMarker, inferTierTopology, initWorkflowState, installHooks, installPlaywright, isAllSchemas, isDotnetFlywayProject, isDotnetProject, isForeignFeatureClaim, isGitTracked, isLongRunningTierBranch, isLtsJavaVersion, isPrereleaseBootVersion, isRunning, isTier, isTtlTooLongError, kitWarmWarning, listAppDeployments, listBranches, listSchemaMigrations, mergeFeature, mergePaired, minLakebaseTtl, mintCredential, normalizeHost, normalizeTierName, parseHostFromAuthDescribe, parseLakebaseTtl, parseTargetsYaml, patchWorkflowsForRunnerType, preparePr, projectPath, propagateCredentials, protectedTierNamesFromEnv, pushFailureHint, queryBranchSchema, queryBranchTables, readEnvVar, readTargets, readWorkflowState, reconcilePromoteRunState, reconcileTierToOrigin, recoverOrphans, release, removeRunner, resolveBranchId, resolveBranchPath, resolveCurrentUser, resolveDatabricksHost, resolveEndpointHost, resolveFeatureStartPoint, resolveJavaHome, resolveLatestBootVersion, resolveLatestLtsJavaVersion, resolveMigrationLanguage, resolveMigrationLayout, resolveParentBranch, resolveProfileForHost, resolveProfileForHostSync, resolveProtectedTierNames, rollbackDeploy, rollbackSchemaMigration, runDoctor, runHealthDoctor, runInfraSuite, runPlaywrightInstall, runnerDir, runnerName, sanitizeFeatureSlug, scaffoldAll, scaffoldStaticAll, schemaMigrationStatus, schemaObjectName, selectProfileForHost, setupRunner, stateFilePath, stopRunner, substituteScmUtilsVersion, substrateVersion, syncEnvToCurrentBranch, tierBranchNames, toolForLanguage, tryCreateCatalog, updateEnvConnection, updateWorkflows, uploadDirectory, validateApp, validateCreateInputs, validateWorkflowState, verifyHooks, verifyProject, verifyWorkflows, waitForBranchAuthReady, waitForBranchReady, waitForCi, warmAndVerifyKit, withLakebaseRollback, workflowStateFileExists, writeEnvFile, writePlaywrightTemplates, writeTargets, writeWorkflowState } from './lakebase/index.cjs';
4
- export { AddRemoteArgs, AheadBehind, AmendArgs, BranchesAtCommitArgs, CheckoutBranchArgs, CloneRepoArgs, CommitAllArgs, CommitAndPushArgs, CommitArgs, CommitFilesArgs, CreateTagArgs, CreateWorktreeArgs, CwdOnlyArgs, DeleteLocalBranchArgs, DeleteRemoteBranchArgs, DeleteRemoteTagArgs, DeleteTagArgs, DiffFilesArgs, DiscardAllChangesArgs, FetchArgs, FileChangeShort, GetFileAtRefArgs, GetMergeBaseArgs, GitBranchInfo, HasRemoteBranchArgs, IsDirtyArgs, ListLocalBranchesArgs, ListMigrationsOnBranchArgs, ListRemoteBranchesArgs, LogRawArgs, MergeBranchArgs, MergeCommit, NearestParent, OutgoingIncomingArgs, ProtectedBranchError, PublishBranchArgs, PullFromArgs, PushCurrentBranchForPrArgs, PushToArgs, RebaseBranchArgs, RecentMergesArgs, RemoveRemoteArgs, RemoveWorktreeArgs, RenameBranchArgs, ResolveNearestParentArgs, ShaArgs, StashIndexArgs, StashWithMessageArgs, UndoLastCommitArgs, WorkflowScopeError, abortRebase, addRemote, checkoutBranch, checkoutDetached, cherryPick, cloneRepo, commit, commitAll, commitAllIfChanged, commitAllSignedOff, commitAmend, commitAndPush, commitSignedOff, createTag, createWorktree, deleteLocalBranch, deleteRemoteBranch, deleteRemoteTag, deleteTag, discardAllChanges, fetch, getAheadBehind, getBranchesAtCommit, getCommitFiles, getCurrentBranch, getDiffFiles, getFileAtRef, getGitHubUrl, getIncomingCommits, getLogRaw, getLogShortstat, getMergeBase, getNearestParentName, getOutgoingCommits, getOwnerRepo, getRecentMerges, getRepoRoot, gitBranchExists, gitInit, hasRemoteBranch, hasUpstream, isDirty, isRebasing, listLocalBranches, listMigrationsOnBranch, listRemoteBranches, listRemotes, listTags, listWorktrees, mergeBranch, publishBranch, pull, pullFrom, pullRebase, push, pushCurrentBranchForPr, pushTo, rebaseBranch, removeRemote, removeWorktree, renameBranch, resolveDefaultBranch, resolveNearestParent, revert, stash, stashApply, stashDrop, stashDropAll, stashIncludeUntracked, stashList, stashPop, stashStaged, sync, undoLastCommit } from './git/index.cjs';
1
+ export { GITHUB_SCOPES, GitHubAuthDiagnosis, GitHubAuthSource, GitHubRunnerError, GitHubSecretsError, RepoRunner, VsCodeSessionOptions, createRegistrationToken, deleteRunner, diagnoseGitHubAuth, getRunnerIdByName, getRunnerStatus, listRepoRunners, listSecretNames, resolveGitHubToken, setRepoSecret, setRepoSecrets, tryGhAuthToken, tryVsCodeSession } from './github/index.cjs';
2
+ export { C as CreatePullRequestArgs, a as CreateRepoOptions, F as FastForwardBranchArgs, G as GitHubPullRequestError, b as GitHubRepoError, c as GitHubScopeStatus, M as MergePairedPullRequestArgs, d as MergePairedPullRequestResult, e as MergePullRequestArgs, f as MergePullRequestResult, P as PullRequestCheck, g as PullRequestFile, h as PullRequestInfo, i as PullRequestReview, W as WorkflowRunSummary, j as checkGitHubScopes, k as createPullRequest, l as createRepo, m as deleteRepo, n as fastForwardBranch, o as getActionsEnabled, p as getCurrentUser, q as getPullRequest, r as getPullRequestComments, s as getPullRequestFiles, t as getPullRequestReviews, u as getRepoFullName, v as listIssueComments, w as listWorkflowRuns, x as mergePairedPullRequest, y as mergePullRequest, z as repoExists } from '../pr-D-eayWyJ.cjs';
3
+ export { AbandonFeatureArgs, AbandonFeatureResult, AddE2eToRunTestsScriptArgs, AddE2eToRunTestsScriptResult, AddInfraToPackageJsonArgs, AddInfraToPackageJsonResult, AddInfraToRunTestsScriptArgs, AddInfraToRunTestsScriptResult, AddPlaywrightToPackageJsonArgs, AddPlaywrightToPackageJsonResult, AddPythonE2eDepsArgs, AddPythonE2eDepsResult, AdoptLakebaseProjectArgs, AdoptLakebaseProjectResult, AdoptStateArgs, AdoptStateResult, AppServicePrincipal, AppliedSchemaMigration, ApplySchemaMigrationsArgs, ApplySchemaMigrationsResult, BranchLookupOpts, BranchMetadata, CONVENTION_TIER_DEFAULTS, CatalogExistsArgs, CheckoutMode, CheckoutPairedArgs, CheckoutPairedResult, ClaimFeatureBranchArgs, ClaimFeatureBranchResult, ClaimedOrphan, ClientFramework, CommandDriftReport, CommandFileEntry, CommandFileStatus, ConnectionArgs, ConsortSetupHooks, CreateBranchArgs, CreateConventionBranchArgs, CreateConventionPairedBranchArgs, CreateLongRunningBranchArgs, CreateLongRunningBranchResult, CreatePairedBranchArgs, CreatePairedBranchResult, CreateProjectArgs, CreateProjectResult, CreateRollbackOptions, CutBackupArgs, CutBackupResult, DEFAULT_PROTECTED_TIER_NAMES, DOTNET_EFCORE_DEFAULTS, DOTNET_FLYWAY_DIR, DatabricksProfile, DeleteAppEndpointArgs, DeleteAppEndpointResult, DeleteBranchArgs, DeletePairedBranchArgs, DeletePairedBranchResult, DeployClaudeCommandsOptions, DeployClaudeCommandsResult, DeployEnvExampleArgs, DeployLanguageProjectArgs, DeploySpringStarterArgs, DeployTarget, DeployTargetsConfig, DetectCommandDriftArgs, DetectScaffoldedDriftArgs, DetectWorkflowDriftArgs, DoctorArgs, DoctorFinding, DoctorReport, DoctorSeverity, DotnetMigrationTool, DsnArgs, DsnResult, EF_DESIGN_PACKAGE, EfCoreProject, EnableE2eForProjectArgs, EnableE2eForProjectResult, EnableInfraForProjectArgs, EnableInfraForProjectResult, EndpointInfo, EnsureAppEndpointArgs, EnsureAppEndpointResult, EnsureEndpointArgs, EnsureLakebaseSecretAuthArgs, EnsureLakebaseSecretAuthResult, EnsureProfilePinnedArgs, EnsureProfilePinnedResult, EnsureSchemaAndVolumeArgs, EnsureSchemaAndVolumeResult, FIXABLE_FINDING_IDS, FixFindingArgs, FixFindingResult, FixableFindingId, GateInvariant, GateStatus, GenerateAppYamlOptions, GenerateMavenProjectOptions, GetAppEndpointArgs, GetAppEndpointResult, GetAppServicePrincipalArgs, GetCiAppEndpointArgs, GetCiAppEndpointResult, GetConnectionArgs, GetCredentialArgs, GetEndpointArgs, GetSchemaDiffArgs, GitHubPreflightInput, GitHubPreflightResult, GrantLakebasePermissionArgs, GrantLakebasePermissionResult, GrantUcCatalogPermissionArgs, GrantUcCatalogPermissionResult, HealthDoctorReport, HookVerification, InfraCheckResult, InfraSuiteResult, InitWorkflowStateArgs, InitializrMetadata, InitializrNetworkError, InitializrParseError, InstallPlaywrightArgs, InstallPlaywrightOptions, InstallPlaywrightResult, LakebaseBranchError, LakebaseBranchInfo, LakebaseBranchTtlTooLongError, LakebasePermissionLevel, LakebaseProjectArgs, LakebaseProjectError, LakebaseProjectInfo, LakebaseProjectMetadata, ListSchemaMigrationsArgs, MAVEN_FLYWAY_DIR, MIGRATION_DEFAULTS, MergeArgs, MergePairedArgs, MergePairedResult, MergeResult, MigrationDefaults, MigrationLanguage, MigrationLayout, ModifiedSchemaObject, NODE_E2E_TEMPLATE_FILES, OrphanCandidate, PLAYWRIGHT_TEMPLATE_FILES, PLAYWRIGHT_TEST_VERSION_RANGE, PYTEST_BDD_VERSION_RANGE, PYTEST_PLAYWRIGHT_VERSION_RANGE, PYTHON_E2E_TEMPLATE_FILES, PendingSchemaMigration, PoolArgs, PreflightResult, PreparePrArgs, PreparePrResult, ProgressCallback, ProjectLanguage, PropagateCredentialsArgs, PropagateCredentialsResult, ProtectedBranchCommitError, QueryBranchSchemaArgs, RecoverOrphansArgs, RecoverOrphansResult, ReleaseArgs, ReleaseResult, RemoveRunnerArgs, ResolveDatabricksHostArgs, ResolveMigrationLayoutArgs, RollbackDeployArgs, RollbackDeployResult, RollbackLedger, RollbackOptions, RollbackSchemaMigrationArgs, RollbackSchemaMigrationResult, RollbackStep, RunDoctorDeps, RunInfraSuiteArgs, RunPlaywrightInstallArgs, RunPlaywrightInstallResult, RunnerInfo, RunnerReportFn, RunnerType, SCM_STATES, STATE_FILE_REL, ScaffoldAllArgs, ScaffoldOptions, ScaffoldReportFn, ScaffoldStaticAllArgs, ScaffoldStaticAllResult, ScaffoldedDriftReport, SchemaColumn, SchemaDiffResult, SchemaMigrationError, SchemaMigrationFile, SchemaMigrationLanguage, SchemaMigrationStatusArgs, SchemaMigrationStatusResult, SchemaMigrationToolName, SchemaObject, SchemaQueryRow, ScmAbandonError, ScmAdoptError, ScmClaimError, ScmDoctorFixError, ScmMergeError, ScmPreparePrError, ScmRecoverError, ScmReleaseError, ScmState, ScmWaitCiError, ScmWorkflowState, SetupRunnerArgs, SftddSetupHooks, SpringInitializrClient, SpringJvmLanguage, StaleBranchFinding, SyncEnvArgs, SyncEnvResult, TEST_CAPTURE_ROOT_FILES, TableSchema, TierTopology, TryCreateCatalogArgs, TryCreateCatalogResult, UcCatalogPermission, UpdateEnvConnectionArgs, UpdateWorkflowsArgs, UpdateWorkflowsResult, UploadDirectoryArgs, UploadDirectoryResult, ValidateAppOptions, ValidateAppResult, ValidationError, ValidationResult, WaitCiArgs, WaitCiResult, WaitForBranchAuthReadyArgs, WaitForBranchReadyArgs, WorkflowDriftReport, WorkflowFileStatus, WorkflowFileUpdate, WorkflowStatus, WorkflowUpdateOutcome, WorkflowVerification, WriteEnvFileArgs, WritePlaywrightTemplatesArgs, WritePlaywrightTemplatesResult, _testMakeBrownfieldFixture, abandonFeatureBranch, addE2eToRunTestsScript, addInfraToPackageJson, addInfraToRunTestsScript, addPlaywrightToPackageJson, adoptLakebaseProject, adoptScmState, applySchemaMigrations, assertAdoptionPreflight, assertCleanForFork, assertCommitTargetNotProtected, assertCreatedProjectReady, buildPostgresUrl, buildSchemaQuery, cacheProjectRetention, catalogExists, catalogExplorerUrl, checkDatabricksAuth, checkGitHubPreflight, checkGitHubWorkflowScope, checkoutPaired, claimFeatureBranch, clearRetentionCache, compileMigrationPattern, connectionApplicationName, createBranch, createFeaturePairedBranch, createLakebaseProject, createLongRunningBranch, createPairedBranch, createPerfPairedBranch, createProject, createRollbackLedger, createTestPairedBranch, createUatPairedBranch, cutBackup, databricksAuthPrereqMessage, defaultRefreshPromoteWorkflows, deleteAppEndpoint, deleteBranch, deleteLakebaseProject, deletePairedBranch, deleteProjectArgs, deployClaudeAgents, deployClaudeCommands, deployClaudeSettings, deployClaudeSkills, deployClientProject, deployDeployTargets, deployEnv, deployEnvExample, deployGitignore, deployLanguageProject, deployScripts, deploySpringStarter, deployTestCaptureRoot, deployVscodeSettings, deployWorkflows, deriveCiAppName, describeGates, detectCommandDrift, detectLanguage, detectLanguageAt, detectScaffoldedDrift, detectWorkflowDrift, dirIsEmpty, enableE2eForProject, enableInfraForProject, endpointPath, ensureAppEndpoint, ensureCachedArchive, ensureEndpoint, ensureLakebaseSecretAuth, ensureProfilePinned, ensurePythonBddDeps, ensurePythonE2eDeps, ensureSchemaAndVolume, extractPullNumber, featureBranchName, findCsprojFiles, findDefaultBranchName, findEfCoreProject, findHistoryRetentionDuration, fixFinding, flywayMigrationsDir, formatJUnit, formatSchemaDiffAsMarkdown, generateAppYaml, getAppEndpoint, getAppServicePrincipal, getBranchByName, getCachedProjectRetention, getCiAppEndpoint, getConnection, getCredential, getDefaultBranch, getDefaultBranchId, getDefaultBranchName, getEndpoint, getProjectInfo, getProjectRetentionDuration, getRunnerInfo, getSchemaDiff, getTargetNames, githubWorkflowScopePrereqMessage, grantLakebasePermission, grantUcCatalogPermission, hasDotnetMarker, inferTierTopology, initWorkflowState, installHooks, installPlaywright, isAllSchemas, isDotnetFlywayProject, isDotnetProject, isForeignFeatureClaim, isGitTracked, isLongRunningTierBranch, isLtsJavaVersion, isPrereleaseBootVersion, isRunning, isTier, isTtlTooLongError, kitWarmWarning, listAppDeployments, listBranches, listSchemaMigrations, mergeFeature, mergePaired, minLakebaseTtl, mintCredential, normalizeHost, normalizeTierName, parseHostFromAuthDescribe, parseLakebaseTtl, parseTargetsYaml, patchWorkflowsForRunnerType, preparePr, projectPath, propagateCredentials, protectedTierNamesFromEnv, pushFailureHint, queryBranchSchema, queryBranchTables, readEnvVar, readTargets, readWorkflowState, reconcilePromoteRunState, reconcileTierToOrigin, recoverOrphans, release, removeRunner, resolveBranchId, resolveBranchPath, resolveCurrentUser, resolveDatabricksHost, resolveEndpointHost, resolveFeatureStartPoint, resolveJavaHome, resolveLatestBootVersion, resolveLatestLtsJavaVersion, resolveMigrationLanguage, resolveMigrationLayout, resolveParentBranch, resolveProfileForHost, resolveProfileForHostSync, resolveProtectedTierNames, rollbackDeploy, rollbackSchemaMigration, runDoctor, runHealthDoctor, runInfraSuite, runPlaywrightInstall, runnerDir, runnerName, sanitizeFeatureSlug, scaffoldAll, scaffoldStaticAll, schemaMigrationStatus, schemaObjectName, selectProfileForHost, setupRunner, stateFilePath, stopRunner, substituteScmUtilsVersion, substrateVersion, syncEnvToCurrentBranch, tierBranchNames, toolForLanguage, tryCreateCatalog, updateEnvConnection, updateWorkflows, uploadDirectory, validateApp, validateCreateInputs, validateWorkflowState, verifyHooks, verifyProject, verifyWorkflows, waitForBranchAuthReady, waitForBranchReady, waitForCi, warmAndVerifyKit, withCreateRollback, withLakebaseRollback, workflowStateFileExists, writeEnvFile, writePlaywrightTemplates, writeTargets, writeWorkflowState } from './lakebase/index.cjs';
4
+ export { AddRemoteArgs, AheadBehind, AmendArgs, BranchesAtCommitArgs, CheckoutBranchArgs, CloneRepoArgs, CommitAllArgs, CommitAndPushArgs, CommitArgs, CommitFilesArgs, CreateTagArgs, CreateWorktreeArgs, CwdOnlyArgs, DeleteLocalBranchArgs, DeleteRemoteBranchArgs, DeleteRemoteTagArgs, DeleteTagArgs, DiffFilesArgs, DiscardAllChangesArgs, FetchArgs, FileChangeShort, GetFileAtRefArgs, GetMergeBaseArgs, GitBranchInfo, HasRemoteBranchArgs, IsDirtyArgs, ListLocalBranchesArgs, ListMigrationsOnBranchArgs, ListRemoteBranchesArgs, LogRawArgs, MergeBranchArgs, MergeCommit, NearestParent, OutgoingIncomingArgs, ProtectedBranchError, PublishBranchArgs, PullFromArgs, PushCurrentBranchForPrArgs, PushInitialArgs, PushToArgs, RebaseBranchArgs, RecentMergesArgs, RemoveRemoteArgs, RemoveWorktreeArgs, RenameBranchArgs, ResolveNearestParentArgs, ShaArgs, StashIndexArgs, StashWithMessageArgs, UndoLastCommitArgs, WorkflowScopeError, abortRebase, addRemote, checkoutBranch, checkoutDetached, cherryPick, cloneRepo, commit, commitAll, commitAllIfChanged, commitAllSignedOff, commitAmend, commitAndPush, commitInitial, commitSignedOff, createTag, createWorktree, deleteLocalBranch, deleteRemoteBranch, deleteRemoteTag, deleteTag, discardAllChanges, fetch, getAheadBehind, getBranchesAtCommit, getCommitFiles, getCurrentBranch, getDiffFiles, getFileAtRef, getGitHubUrl, getIncomingCommits, getLogRaw, getLogShortstat, getMergeBase, getNearestParentName, getOutgoingCommits, getOwnerRepo, getRecentMerges, getRepoRoot, gitBranchExists, gitInit, hasRemoteBranch, hasUpstream, isDirty, isRebasing, listLocalBranches, listMigrationsOnBranch, listRemoteBranches, listRemotes, listTags, listWorktrees, mergeBranch, publishBranch, pull, pullFrom, pullRebase, push, pushCurrentBranchForPr, pushInitial, pushTo, rebaseBranch, removeRemote, removeWorktree, renameBranch, resolveDefaultBranch, resolveNearestParent, revert, stash, stashApply, stashDrop, stashDropAll, stashIncludeUntracked, stashList, stashPop, stashStaged, sync, undoLastCommit } from './git/index.cjs';
5
5
  export { CopyDirSubstitutedArgs, LAKEBASE_BRANCH_NAME_MAX, OwnerRepo, PROXY_ENV_KEYS, PollProbeDone, PollProbePending, PollProbeResult, PollUntilArgs, PollUntilDoneResult, PollUntilResult, PollUntilTimeoutResult, copyDirSubstituted, delay, extractZipToDir, formatOwnerRepo, isCliEntry, parseOwnerRepo, patchPomForLakebase, pollUntil, pollUntilDefined, proxyEnvSubset, sanitizeArtifactId, sanitizeBranchName, withProxyEnv } from './util/index.cjs';
6
6
  export { C as CwdOnly, E as ExecOptions, e as exec, s as shq } from '../exec-CwxSWhlz.cjs';
7
7
  export { C as CI_TOKEN_LIFETIME_SECONDS, a as CI_TOKEN_REMINT_MARGIN_SECONDS, b as CiFreshnessResult, c as CiTokenExpiryArgs, E as EnsureCiSecretsFreshArgs, R as REQUIRED_CI_SECRETS, S as SyncCiSecretsArgs, d as ciTokenComment, e as ciTokenExpiry, f as ensureCiSecretsFresh, g as ensureCiSecretsFreshFromEnv, m as missingCiSecrets, s as syncCiSecrets } from '../ci-secrets-CnGrdQV-.cjs';