@databricks-solutions/lakebase-scm-utils 0.3.4 → 0.3.6
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.
- package/dist/scripts/github/index.cjs +14 -0
- package/dist/scripts/github/index.d.cts +19 -1
- package/dist/scripts/github/index.d.ts +19 -1
- package/dist/scripts/github/index.js +13 -0
- package/dist/scripts/index.cjs +94 -6
- package/dist/scripts/index.d.cts +2 -2
- package/dist/scripts/index.d.ts +2 -2
- package/dist/scripts/index.js +91 -6
- package/dist/scripts/lakebase/ci-resolve-branch.cli.cjs +2 -2
- package/dist/scripts/lakebase/ci-resolve-branch.cli.js +2 -2
- package/dist/scripts/lakebase/collapse-heads.cli.cjs +2 -2
- package/dist/scripts/lakebase/collapse-heads.cli.js +2 -2
- package/dist/scripts/lakebase/detect-language.cli.cjs +2 -2
- package/dist/scripts/lakebase/detect-language.cli.js +2 -2
- package/dist/scripts/lakebase/doctor.cli.cjs +15664 -7598
- package/dist/scripts/lakebase/doctor.cli.js +8243 -106
- package/dist/scripts/lakebase/get-connection.cli.cjs +2 -2
- package/dist/scripts/lakebase/get-connection.cli.js +2 -2
- package/dist/scripts/lakebase/index.cjs +187 -99
- package/dist/scripts/lakebase/index.d.cts +22 -1
- package/dist/scripts/lakebase/index.d.ts +22 -1
- package/dist/scripts/lakebase/index.js +185 -99
- package/dist/scripts/lakebase/infra-runner.cli.cjs +2 -2
- package/dist/scripts/lakebase/infra-runner.cli.js +2 -2
- package/dist/scripts/lakebase/new-migration.cli.cjs +2 -2
- package/dist/scripts/lakebase/new-migration.cli.js +2 -2
- package/dist/scripts/lakebase/schema-diff.cli.cjs +2 -2
- package/dist/scripts/lakebase/schema-diff.cli.js +2 -2
- package/dist/scripts/lakebase/schema-migrate.cli.cjs +2 -2
- package/dist/scripts/lakebase/schema-migrate.cli.js +2 -2
- package/dist/scripts/lakebase/scm-claim-feature.cli.cjs +2 -2
- package/dist/scripts/lakebase/scm-claim-feature.cli.js +2 -2
- package/dist/scripts/lakebase/scm-doctor.cli.cjs +2 -2
- package/dist/scripts/lakebase/scm-doctor.cli.js +2 -2
- package/dist/scripts/lakebase/scm-merge.cli.cjs +2 -2
- package/dist/scripts/lakebase/scm-merge.cli.js +2 -2
- package/dist/scripts/lakebase/scm-reconcile-tier.cli.cjs +2 -2
- package/dist/scripts/lakebase/scm-reconcile-tier.cli.js +2 -2
- package/dist/scripts/util/index.cjs +2 -2
- package/dist/scripts/util/index.js +2 -2
- package/package.json +1 -1
- package/scripts/github/repo.ts +37 -1
- package/scripts/lakebase/create-preflight.ts +45 -0
- package/scripts/lakebase/create-project.ts +15 -0
- package/scripts/lakebase/doctor.ts +50 -0
- package/scripts/lakebase/enable-e2e.ts +34 -4
- package/templates/project/common/.github/workflows/pr.yml +14 -5
|
@@ -79285,8 +79285,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79285
79285
|
var cached;
|
|
79286
79286
|
function substrateSelfVersion() {
|
|
79287
79287
|
if (cached !== void 0) return cached;
|
|
79288
|
-
if ("0.3.
|
|
79289
|
-
cached = "0.3.
|
|
79288
|
+
if ("0.3.6".length > 0) {
|
|
79289
|
+
cached = "0.3.6";
|
|
79290
79290
|
return cached;
|
|
79291
79291
|
}
|
|
79292
79292
|
cached = "unknown";
|
|
@@ -389,8 +389,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
389
389
|
var cached;
|
|
390
390
|
function substrateSelfVersion() {
|
|
391
391
|
if (cached !== void 0) return cached;
|
|
392
|
-
if ("0.3.
|
|
393
|
-
cached = "0.3.
|
|
392
|
+
if ("0.3.6".length > 0) {
|
|
393
|
+
cached = "0.3.6";
|
|
394
394
|
return cached;
|
|
395
395
|
}
|
|
396
396
|
cached = "unknown";
|
|
@@ -78981,6 +78981,7 @@ __export(lakebase_exports, {
|
|
|
78981
78981
|
catalogExists: () => catalogExists,
|
|
78982
78982
|
catalogExplorerUrl: () => catalogExplorerUrl,
|
|
78983
78983
|
checkDatabricksAuth: () => checkDatabricksAuth,
|
|
78984
|
+
checkGitHubWorkflowScope: () => checkGitHubWorkflowScope,
|
|
78984
78985
|
checkoutPaired: () => checkoutPaired,
|
|
78985
78986
|
claimFeatureBranch: () => claimFeatureBranch,
|
|
78986
78987
|
clearRetentionCache: () => clearRetentionCache,
|
|
@@ -79063,6 +79064,7 @@ __export(lakebase_exports, {
|
|
|
79063
79064
|
getRunnerInfo: () => getRunnerInfo,
|
|
79064
79065
|
getSchemaDiff: () => getSchemaDiff,
|
|
79065
79066
|
getTargetNames: () => getTargetNames,
|
|
79067
|
+
githubWorkflowScopePrereqMessage: () => githubWorkflowScopePrereqMessage,
|
|
79066
79068
|
grantLakebasePermission: () => grantLakebasePermission,
|
|
79067
79069
|
grantUcCatalogPermission: () => grantUcCatalogPermission,
|
|
79068
79070
|
hasDotnetMarker: () => hasDotnetMarker,
|
|
@@ -81604,8 +81606,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
81604
81606
|
var cached;
|
|
81605
81607
|
function substrateSelfVersion() {
|
|
81606
81608
|
if (cached !== void 0) return cached;
|
|
81607
|
-
if ("0.3.
|
|
81608
|
-
cached = "0.3.
|
|
81609
|
+
if ("0.3.6".length > 0) {
|
|
81610
|
+
cached = "0.3.6";
|
|
81609
81611
|
return cached;
|
|
81610
81612
|
}
|
|
81611
81613
|
cached = "unknown";
|
|
@@ -90098,6 +90100,113 @@ init_cjs_shims();
|
|
|
90098
90100
|
var import_node_child_process8 = require("child_process");
|
|
90099
90101
|
var fs6 = __toESM(require("fs"), 1);
|
|
90100
90102
|
var path4 = __toESM(require("path"), 1);
|
|
90103
|
+
|
|
90104
|
+
// scripts/github/repo.ts
|
|
90105
|
+
init_cjs_shims();
|
|
90106
|
+
var GitHubRepoError = class extends Error {
|
|
90107
|
+
status;
|
|
90108
|
+
constructor(message, status) {
|
|
90109
|
+
super(message);
|
|
90110
|
+
this.name = "GitHubRepoError";
|
|
90111
|
+
this.status = status;
|
|
90112
|
+
}
|
|
90113
|
+
};
|
|
90114
|
+
async function newContext() {
|
|
90115
|
+
const token = await resolveGitHubToken();
|
|
90116
|
+
return { octokit: new Octokit2({ auth: token }) };
|
|
90117
|
+
}
|
|
90118
|
+
function wrap2(err, context) {
|
|
90119
|
+
if (err instanceof RequestError) {
|
|
90120
|
+
throw new GitHubRepoError(`${context}: ${err.message}`, err.status);
|
|
90121
|
+
}
|
|
90122
|
+
if (err instanceof Error) {
|
|
90123
|
+
throw new GitHubRepoError(`${context}: ${err.message}`);
|
|
90124
|
+
}
|
|
90125
|
+
throw new GitHubRepoError(context);
|
|
90126
|
+
}
|
|
90127
|
+
async function getLogin(ctx) {
|
|
90128
|
+
if (!ctx.loginPromise) {
|
|
90129
|
+
ctx.loginPromise = ctx.octokit.rest.users.getAuthenticated().then(({ data }) => data.login);
|
|
90130
|
+
}
|
|
90131
|
+
return ctx.loginPromise;
|
|
90132
|
+
}
|
|
90133
|
+
async function getCurrentUser() {
|
|
90134
|
+
try {
|
|
90135
|
+
const ctx = await newContext();
|
|
90136
|
+
return await getLogin(ctx);
|
|
90137
|
+
} catch (err) {
|
|
90138
|
+
wrap2(err, "GitHub authentication failed");
|
|
90139
|
+
}
|
|
90140
|
+
}
|
|
90141
|
+
async function checkGitHubScopes(required = GITHUB_SCOPES) {
|
|
90142
|
+
try {
|
|
90143
|
+
const ctx = await newContext();
|
|
90144
|
+
const res = await ctx.octokit.rest.users.getAuthenticated();
|
|
90145
|
+
const header = res.headers["x-oauth-scopes"];
|
|
90146
|
+
if (header === void 0 || header === null) return { granted: null, missing: [] };
|
|
90147
|
+
const granted = String(header).split(",").map((s2) => s2.trim()).filter(Boolean);
|
|
90148
|
+
return { granted, missing: required.filter((s2) => !granted.includes(s2)) };
|
|
90149
|
+
} catch (err) {
|
|
90150
|
+
wrap2(err, "GitHub scope check failed");
|
|
90151
|
+
}
|
|
90152
|
+
}
|
|
90153
|
+
async function createRepo(name, opts = {}) {
|
|
90154
|
+
try {
|
|
90155
|
+
const ctx = await newContext();
|
|
90156
|
+
const isPrivate = opts.private !== false;
|
|
90157
|
+
const description = opts.description;
|
|
90158
|
+
if (name.includes("/")) {
|
|
90159
|
+
const { owner, repo } = parseOwnerRepo(name);
|
|
90160
|
+
const login = await getLogin(ctx);
|
|
90161
|
+
let data2;
|
|
90162
|
+
if (owner.toLowerCase() === login.toLowerCase()) {
|
|
90163
|
+
({ data: data2 } = await ctx.octokit.rest.repos.createForAuthenticatedUser({
|
|
90164
|
+
name: repo,
|
|
90165
|
+
private: isPrivate,
|
|
90166
|
+
description
|
|
90167
|
+
}));
|
|
90168
|
+
} else {
|
|
90169
|
+
({ data: data2 } = await ctx.octokit.rest.repos.createInOrg({
|
|
90170
|
+
org: owner,
|
|
90171
|
+
name: repo,
|
|
90172
|
+
private: isPrivate,
|
|
90173
|
+
description
|
|
90174
|
+
}));
|
|
90175
|
+
}
|
|
90176
|
+
return data2.html_url || `https://github.com/${formatOwnerRepo(owner, repo)}`;
|
|
90177
|
+
}
|
|
90178
|
+
const { data } = await ctx.octokit.rest.repos.createForAuthenticatedUser({
|
|
90179
|
+
name,
|
|
90180
|
+
private: isPrivate,
|
|
90181
|
+
description
|
|
90182
|
+
});
|
|
90183
|
+
return data.html_url || `https://github.com/${data.full_name}`;
|
|
90184
|
+
} catch (err) {
|
|
90185
|
+
wrap2(err, `Failed to create repository "${name}"`);
|
|
90186
|
+
}
|
|
90187
|
+
}
|
|
90188
|
+
async function getActionsEnabled(ownerRepo) {
|
|
90189
|
+
try {
|
|
90190
|
+
const { owner, repo } = parseOwnerRepo(ownerRepo);
|
|
90191
|
+
const ctx = await newContext();
|
|
90192
|
+
const { data } = await ctx.octokit.rest.actions.getGithubActionsPermissionsRepository({ owner, repo });
|
|
90193
|
+
return data.enabled;
|
|
90194
|
+
} catch {
|
|
90195
|
+
return void 0;
|
|
90196
|
+
}
|
|
90197
|
+
}
|
|
90198
|
+
async function getRepoFullName(name) {
|
|
90199
|
+
try {
|
|
90200
|
+
const { owner, repo } = parseOwnerRepo(name);
|
|
90201
|
+
const ctx = await newContext();
|
|
90202
|
+
const { data } = await ctx.octokit.rest.repos.get({ owner, repo });
|
|
90203
|
+
return data.full_name || formatOwnerRepo(owner, repo);
|
|
90204
|
+
} catch (err) {
|
|
90205
|
+
wrap2(err, `Repository "${name}" is not visible`);
|
|
90206
|
+
}
|
|
90207
|
+
}
|
|
90208
|
+
|
|
90209
|
+
// scripts/lakebase/create-preflight.ts
|
|
90101
90210
|
function validateCreateInputs(input) {
|
|
90102
90211
|
if (input.useGithub && !input.githubOwner) {
|
|
90103
90212
|
return { ok: false, reason: "GitHub owner is required when creating a GitHub repository" };
|
|
@@ -90132,6 +90241,22 @@ async function checkDatabricksAuth(host, run = (args) => runDatabricks(args, { h
|
|
|
90132
90241
|
return { ok: false, reason: lastLines(e2.stderr, 2) || e2.message || "databricks auth token failed" };
|
|
90133
90242
|
}
|
|
90134
90243
|
}
|
|
90244
|
+
async function checkGitHubWorkflowScope(probe = () => checkGitHubScopes(["workflow"])) {
|
|
90245
|
+
try {
|
|
90246
|
+
const { granted, missing } = await probe();
|
|
90247
|
+
if (granted === null) return { ok: true };
|
|
90248
|
+
if (missing.includes("workflow")) {
|
|
90249
|
+
return { ok: false, reason: `token grants [${granted.join(", ") || "none"}] but not \`workflow\`` };
|
|
90250
|
+
}
|
|
90251
|
+
return { ok: true };
|
|
90252
|
+
} catch {
|
|
90253
|
+
return { ok: true };
|
|
90254
|
+
}
|
|
90255
|
+
}
|
|
90256
|
+
function githubWorkflowScopePrereqMessage(reason) {
|
|
90257
|
+
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 ? `
|
|
90258
|
+
(${reason})` : "");
|
|
90259
|
+
}
|
|
90135
90260
|
function databricksAuthPrereqMessage(host, reason) {
|
|
90136
90261
|
const hostFlag = host ? ` --host ${host.replace(/\/+$/, "")}` : "";
|
|
90137
90262
|
return `Databricks authentication is required before creating a project. Run: databricks auth login${hostFlag}` + (reason ? `
|
|
@@ -90231,99 +90356,6 @@ function verifyProject(projectDir) {
|
|
|
90231
90356
|
return { hooks, workflows, warnings };
|
|
90232
90357
|
}
|
|
90233
90358
|
|
|
90234
|
-
// scripts/github/repo.ts
|
|
90235
|
-
init_cjs_shims();
|
|
90236
|
-
var GitHubRepoError = class extends Error {
|
|
90237
|
-
status;
|
|
90238
|
-
constructor(message, status) {
|
|
90239
|
-
super(message);
|
|
90240
|
-
this.name = "GitHubRepoError";
|
|
90241
|
-
this.status = status;
|
|
90242
|
-
}
|
|
90243
|
-
};
|
|
90244
|
-
async function newContext() {
|
|
90245
|
-
const token = await resolveGitHubToken();
|
|
90246
|
-
return { octokit: new Octokit2({ auth: token }) };
|
|
90247
|
-
}
|
|
90248
|
-
function wrap2(err, context) {
|
|
90249
|
-
if (err instanceof RequestError) {
|
|
90250
|
-
throw new GitHubRepoError(`${context}: ${err.message}`, err.status);
|
|
90251
|
-
}
|
|
90252
|
-
if (err instanceof Error) {
|
|
90253
|
-
throw new GitHubRepoError(`${context}: ${err.message}`);
|
|
90254
|
-
}
|
|
90255
|
-
throw new GitHubRepoError(context);
|
|
90256
|
-
}
|
|
90257
|
-
async function getLogin(ctx) {
|
|
90258
|
-
if (!ctx.loginPromise) {
|
|
90259
|
-
ctx.loginPromise = ctx.octokit.rest.users.getAuthenticated().then(({ data }) => data.login);
|
|
90260
|
-
}
|
|
90261
|
-
return ctx.loginPromise;
|
|
90262
|
-
}
|
|
90263
|
-
async function getCurrentUser() {
|
|
90264
|
-
try {
|
|
90265
|
-
const ctx = await newContext();
|
|
90266
|
-
return await getLogin(ctx);
|
|
90267
|
-
} catch (err) {
|
|
90268
|
-
wrap2(err, "GitHub authentication failed");
|
|
90269
|
-
}
|
|
90270
|
-
}
|
|
90271
|
-
async function createRepo(name, opts = {}) {
|
|
90272
|
-
try {
|
|
90273
|
-
const ctx = await newContext();
|
|
90274
|
-
const isPrivate = opts.private !== false;
|
|
90275
|
-
const description = opts.description;
|
|
90276
|
-
if (name.includes("/")) {
|
|
90277
|
-
const { owner, repo } = parseOwnerRepo(name);
|
|
90278
|
-
const login = await getLogin(ctx);
|
|
90279
|
-
let data2;
|
|
90280
|
-
if (owner.toLowerCase() === login.toLowerCase()) {
|
|
90281
|
-
({ data: data2 } = await ctx.octokit.rest.repos.createForAuthenticatedUser({
|
|
90282
|
-
name: repo,
|
|
90283
|
-
private: isPrivate,
|
|
90284
|
-
description
|
|
90285
|
-
}));
|
|
90286
|
-
} else {
|
|
90287
|
-
({ data: data2 } = await ctx.octokit.rest.repos.createInOrg({
|
|
90288
|
-
org: owner,
|
|
90289
|
-
name: repo,
|
|
90290
|
-
private: isPrivate,
|
|
90291
|
-
description
|
|
90292
|
-
}));
|
|
90293
|
-
}
|
|
90294
|
-
return data2.html_url || `https://github.com/${formatOwnerRepo(owner, repo)}`;
|
|
90295
|
-
}
|
|
90296
|
-
const { data } = await ctx.octokit.rest.repos.createForAuthenticatedUser({
|
|
90297
|
-
name,
|
|
90298
|
-
private: isPrivate,
|
|
90299
|
-
description
|
|
90300
|
-
});
|
|
90301
|
-
return data.html_url || `https://github.com/${data.full_name}`;
|
|
90302
|
-
} catch (err) {
|
|
90303
|
-
wrap2(err, `Failed to create repository "${name}"`);
|
|
90304
|
-
}
|
|
90305
|
-
}
|
|
90306
|
-
async function getActionsEnabled(ownerRepo) {
|
|
90307
|
-
try {
|
|
90308
|
-
const { owner, repo } = parseOwnerRepo(ownerRepo);
|
|
90309
|
-
const ctx = await newContext();
|
|
90310
|
-
const { data } = await ctx.octokit.rest.actions.getGithubActionsPermissionsRepository({ owner, repo });
|
|
90311
|
-
return data.enabled;
|
|
90312
|
-
} catch {
|
|
90313
|
-
return void 0;
|
|
90314
|
-
}
|
|
90315
|
-
}
|
|
90316
|
-
async function getRepoFullName(name) {
|
|
90317
|
-
try {
|
|
90318
|
-
const { owner, repo } = parseOwnerRepo(name);
|
|
90319
|
-
const ctx = await newContext();
|
|
90320
|
-
const { data } = await ctx.octokit.rest.repos.get({ owner, repo });
|
|
90321
|
-
return data.full_name || formatOwnerRepo(owner, repo);
|
|
90322
|
-
} catch (err) {
|
|
90323
|
-
wrap2(err, `Repository "${name}" is not visible`);
|
|
90324
|
-
}
|
|
90325
|
-
}
|
|
90326
|
-
|
|
90327
90359
|
// scripts/git/clone.ts
|
|
90328
90360
|
init_cjs_shims();
|
|
90329
90361
|
async function cloneRepo(args) {
|
|
@@ -91401,6 +91433,9 @@ function ensurePythonBddDeps(args) {
|
|
|
91401
91433
|
}
|
|
91402
91434
|
var RUN_TESTS_E2E_MARKER = "# run Playwright E2E suite when configured";
|
|
91403
91435
|
var CLIENT_E2E_MARKER = "# run client Playwright E2E suite when configured";
|
|
91436
|
+
var escapeRe = (s2) => s2.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
91437
|
+
var RUN_TESTS_E2E_MARKER_LINE = new RegExp(`^${escapeRe(RUN_TESTS_E2E_MARKER)}$`, "m");
|
|
91438
|
+
var CLIENT_E2E_MARKER_LINE = new RegExp(`^${escapeRe(CLIENT_E2E_MARKER)}$`, "m");
|
|
91404
91439
|
function runTestsE2eBlock() {
|
|
91405
91440
|
return [
|
|
91406
91441
|
"",
|
|
@@ -91492,14 +91527,22 @@ function addE2eToRunTestsScript(args) {
|
|
|
91492
91527
|
return { patched: false, inserted: false };
|
|
91493
91528
|
}
|
|
91494
91529
|
const original = fs15.readFileSync(scriptPath, "utf8");
|
|
91495
|
-
const
|
|
91496
|
-
const
|
|
91530
|
+
const baseMarker = RUN_TESTS_E2E_MARKER_LINE.exec(original);
|
|
91531
|
+
const hasBase = baseMarker !== null;
|
|
91532
|
+
const hasClient = CLIENT_E2E_MARKER_LINE.test(original);
|
|
91497
91533
|
if (hasBase && hasClient) {
|
|
91498
91534
|
return { patched: true, inserted: false };
|
|
91499
91535
|
}
|
|
91500
|
-
const cut = hasBase ? original.slice(0,
|
|
91536
|
+
const cut = hasBase ? original.slice(0, baseMarker.index) : original;
|
|
91501
91537
|
const base = cut.replace(/\n+$/, "\n");
|
|
91502
|
-
|
|
91538
|
+
const assembled = base + runTestsE2eBlock();
|
|
91539
|
+
const BODY_SENTINEL = 'REPO_ROOT="$(cd';
|
|
91540
|
+
if (original.includes(BODY_SENTINEL) && !assembled.includes(BODY_SENTINEL)) {
|
|
91541
|
+
throw new Error(
|
|
91542
|
+
`addE2eToRunTestsScript: refusing to write ${scriptPath} \u2014 the E2E assembly would drop the primary-suite body (REPO_ROOT/pytest/vitest). This is the marker-match clobber; the marker must anchor to the appended block's own line, not a prose mention.`
|
|
91543
|
+
);
|
|
91544
|
+
}
|
|
91545
|
+
fs15.writeFileSync(scriptPath, assembled, "utf8");
|
|
91503
91546
|
return { patched: true, inserted: true };
|
|
91504
91547
|
}
|
|
91505
91548
|
function enableE2eForProject(args) {
|
|
@@ -92667,6 +92710,13 @@ async function createProject(input, progress) {
|
|
|
92667
92710
|
if (!auth7.ok) {
|
|
92668
92711
|
throw new Error(databricksAuthPrereqMessage(host, auth7.reason));
|
|
92669
92712
|
}
|
|
92713
|
+
if (useGithub) {
|
|
92714
|
+
report("Checking GitHub token scopes...");
|
|
92715
|
+
const scope = await checkGitHubWorkflowScope();
|
|
92716
|
+
if (!scope.ok) {
|
|
92717
|
+
throw new Error(githubWorkflowScopePrereqMessage(scope.reason));
|
|
92718
|
+
}
|
|
92719
|
+
}
|
|
92670
92720
|
if (useGithub) {
|
|
92671
92721
|
report("Creating GitHub repository...", fullRepoName);
|
|
92672
92722
|
await createRepo(fullRepoName, {
|
|
@@ -97336,6 +97386,40 @@ async function checkGitRemote(projectDir) {
|
|
|
97336
97386
|
};
|
|
97337
97387
|
}
|
|
97338
97388
|
}
|
|
97389
|
+
async function checkGitHubTokenScope(probe = () => checkGitHubScopes(["workflow"])) {
|
|
97390
|
+
try {
|
|
97391
|
+
const { granted, missing } = await probe();
|
|
97392
|
+
if (granted === null) {
|
|
97393
|
+
return {
|
|
97394
|
+
name: "github-token-scope",
|
|
97395
|
+
status: "skip",
|
|
97396
|
+
message: "GitHub token scopes not visible (fine-grained PAT / App token) - `workflow` scope unverified"
|
|
97397
|
+
};
|
|
97398
|
+
}
|
|
97399
|
+
if (missing.includes("workflow")) {
|
|
97400
|
+
return {
|
|
97401
|
+
name: "github-token-scope",
|
|
97402
|
+
status: "fail",
|
|
97403
|
+
message: "GitHub token lacks the `workflow` scope - pushes touching .github/workflows/* will be rejected",
|
|
97404
|
+
detail: { granted },
|
|
97405
|
+
hint: "Grant it with `gh auth refresh -h github.com -s workflow`, re-sign in to GitHub in VS Code and approve the workflow scope, or set GITHUB_TOKEN to a PAT that includes `workflow`."
|
|
97406
|
+
};
|
|
97407
|
+
}
|
|
97408
|
+
return {
|
|
97409
|
+
name: "github-token-scope",
|
|
97410
|
+
status: "ok",
|
|
97411
|
+
message: "GitHub token has the `workflow` scope",
|
|
97412
|
+
detail: { granted }
|
|
97413
|
+
};
|
|
97414
|
+
} catch (err) {
|
|
97415
|
+
return {
|
|
97416
|
+
name: "github-token-scope",
|
|
97417
|
+
status: "skip",
|
|
97418
|
+
message: "GitHub token scope check skipped (no token resolved, or GitHub unreachable)",
|
|
97419
|
+
detail: { error: err.message }
|
|
97420
|
+
};
|
|
97421
|
+
}
|
|
97422
|
+
}
|
|
97339
97423
|
function checkLanguage(projectDir) {
|
|
97340
97424
|
try {
|
|
97341
97425
|
const lang = detectLanguage(projectDir);
|
|
@@ -97445,6 +97529,7 @@ async function runDoctor2(args = {}) {
|
|
|
97445
97529
|
host
|
|
97446
97530
|
);
|
|
97447
97531
|
const gitRemote = await checkGitRemote(projectDir);
|
|
97532
|
+
const githubTokenScope = await checkGitHubTokenScope();
|
|
97448
97533
|
const language = checkLanguage(projectDir);
|
|
97449
97534
|
const hooks = checkHooks(projectDir);
|
|
97450
97535
|
const workflowDrift = checkWorkflowDrift(projectDir);
|
|
@@ -97466,6 +97551,7 @@ async function runDoctor2(args = {}) {
|
|
|
97466
97551
|
configProfile,
|
|
97467
97552
|
lakebaseProject,
|
|
97468
97553
|
gitRemote,
|
|
97554
|
+
githubTokenScope,
|
|
97469
97555
|
language,
|
|
97470
97556
|
hooks,
|
|
97471
97557
|
workflowDrift
|
|
@@ -97691,6 +97777,7 @@ function isUcMissingError(msg) {
|
|
|
97691
97777
|
catalogExists,
|
|
97692
97778
|
catalogExplorerUrl,
|
|
97693
97779
|
checkDatabricksAuth,
|
|
97780
|
+
checkGitHubWorkflowScope,
|
|
97694
97781
|
checkoutPaired,
|
|
97695
97782
|
claimFeatureBranch,
|
|
97696
97783
|
clearRetentionCache,
|
|
@@ -97773,6 +97860,7 @@ function isUcMissingError(msg) {
|
|
|
97773
97860
|
getRunnerInfo,
|
|
97774
97861
|
getSchemaDiff,
|
|
97775
97862
|
getTargetNames,
|
|
97863
|
+
githubWorkflowScopePrereqMessage,
|
|
97776
97864
|
grantLakebasePermission,
|
|
97777
97865
|
grantUcCatalogPermission,
|
|
97778
97866
|
hasDotnetMarker,
|
|
@@ -1605,6 +1605,27 @@ type AuthProbe = (args: string[]) => Promise<string>;
|
|
|
1605
1605
|
* into an immediate, actionable failure.
|
|
1606
1606
|
*/
|
|
1607
1607
|
declare function checkDatabricksAuth(host?: string, run?: AuthProbe): Promise<PreflightResult>;
|
|
1608
|
+
/** Injectable scope probe for checkGitHubWorkflowScope (defaults to the real GitHub API read). */
|
|
1609
|
+
type ScopeProbe = () => Promise<{
|
|
1610
|
+
granted: string[] | null;
|
|
1611
|
+
missing: string[];
|
|
1612
|
+
}>;
|
|
1613
|
+
/**
|
|
1614
|
+
* W-workflow-scope: preflight the GitHub token's `workflow` OAuth scope BEFORE
|
|
1615
|
+
* any repo / Lakebase project is created. The scaffold's FINAL push commits
|
|
1616
|
+
* `.github/workflows/*`, which GitHub REJECTS unless the token carries
|
|
1617
|
+
* `workflow` — without this, that rejection only surfaces at the very end,
|
|
1618
|
+
* after all the provisioning, forcing a full rollback. Gating the ONE scope the
|
|
1619
|
+
* push needs here turns that into an immediate, actionable failure.
|
|
1620
|
+
*
|
|
1621
|
+
* Non-blocking in two cases (ok:true): a token that exposes NO OAuth scopes
|
|
1622
|
+
* (fine-grained PAT / GitHub App token — `granted` null; its workflow
|
|
1623
|
+
* permission isn't visible this way, so we can't assert), and any probe error
|
|
1624
|
+
* (a genuinely bad/absent token surfaces clearly at repo creation, not here).
|
|
1625
|
+
*/
|
|
1626
|
+
declare function checkGitHubWorkflowScope(probe?: ScopeProbe): Promise<PreflightResult>;
|
|
1627
|
+
/** The actionable prereq message for a GitHub token missing the `workflow` scope. */
|
|
1628
|
+
declare function githubWorkflowScopePrereqMessage(reason?: string): string;
|
|
1608
1629
|
/** The actionable prereq message for a failed auth probe (W5). */
|
|
1609
1630
|
declare function databricksAuthPrereqMessage(host?: string, reason?: string): string;
|
|
1610
1631
|
/**
|
|
@@ -4185,4 +4206,4 @@ declare function applySchemaMigrations(args: ApplySchemaMigrationsArgs): Promise
|
|
|
4185
4206
|
declare function rollbackSchemaMigration(args: RollbackSchemaMigrationArgs): Promise<RollbackSchemaMigrationResult>;
|
|
4186
4207
|
declare function schemaMigrationStatus(args: SchemaMigrationStatusArgs): Promise<SchemaMigrationStatusResult>;
|
|
4187
4208
|
|
|
4188
|
-
export { type AbandonFeatureArgs, type AbandonFeatureResult, type AddE2eToRunTestsScriptArgs, type AddE2eToRunTestsScriptResult, type AddInfraToPackageJsonArgs, type AddInfraToPackageJsonResult, type AddInfraToRunTestsScriptArgs, type AddInfraToRunTestsScriptResult, type AddPlaywrightToPackageJsonArgs, type AddPlaywrightToPackageJsonResult, type AddPythonE2eDepsArgs, type AddPythonE2eDepsResult, type AdoptLakebaseProjectArgs, type AdoptLakebaseProjectResult, type AdoptStateArgs, type AdoptStateResult, type AppServicePrincipal, type AppliedSchemaMigration, type ApplySchemaMigrationsArgs, type ApplySchemaMigrationsResult, type BranchLookupOpts, type BranchMetadata, CONVENTION_TIER_DEFAULTS, type CatalogExistsArgs, type CheckoutMode, type CheckoutPairedArgs, type CheckoutPairedResult, type ClaimFeatureBranchArgs, type ClaimFeatureBranchResult, type ClaimedOrphan, type ClientFramework, type CommandDriftReport, type CommandFileEntry, type CommandFileStatus, type ConnectionArgs, type ConsortSetupHooks, type CreateBranchArgs, type CreateConventionBranchArgs, type CreateConventionPairedBranchArgs, type CreateLongRunningBranchArgs, type CreateLongRunningBranchResult, type CreatePairedBranchArgs, type CreatePairedBranchResult, type CreateProjectArgs, type CreateProjectResult, type CutBackupArgs, type CutBackupResult, DEFAULT_PROTECTED_TIER_NAMES, DOTNET_EFCORE_DEFAULTS, DOTNET_FLYWAY_DIR, type DatabricksProfile, type DeleteAppEndpointArgs, type DeleteAppEndpointResult, type DeleteBranchArgs, type DeletePairedBranchArgs, type DeletePairedBranchResult, type DeployClaudeCommandsOptions, type DeployClaudeCommandsResult, type DeployEnvExampleArgs, type DeployLanguageProjectArgs, type DeploySpringStarterArgs, type DeployTarget, type DeployTargetsConfig, type DetectCommandDriftArgs, type DetectScaffoldedDriftArgs, type DetectWorkflowDriftArgs, type DoctorArgs$1 as DoctorArgs, type DoctorFinding, type DoctorReport$1 as DoctorReport, type DoctorSeverity, type DotnetMigrationTool, type DsnArgs, type DsnResult, EF_DESIGN_PACKAGE, type EfCoreProject, type EnableE2eForProjectArgs, type EnableE2eForProjectResult, type EnableInfraForProjectArgs, type EnableInfraForProjectResult, type EndpointInfo, type EnsureAppEndpointArgs, type EnsureAppEndpointResult, type EnsureEndpointArgs, type EnsureLakebaseSecretAuthArgs, type EnsureLakebaseSecretAuthResult, type EnsureProfilePinnedArgs, type EnsureProfilePinnedResult, type EnsureSchemaAndVolumeArgs, type EnsureSchemaAndVolumeResult, FIXABLE_FINDING_IDS, type FixFindingArgs, type FixFindingResult, type FixableFindingId, type GateInvariant, type GateStatus, type GenerateAppYamlOptions, type GenerateMavenProjectOptions, type GetAppEndpointArgs, type GetAppEndpointResult, type GetAppServicePrincipalArgs, type GetCiAppEndpointArgs, type GetCiAppEndpointResult, type GetConnectionArgs, type GetCredentialArgs, type GetEndpointArgs, type GetSchemaDiffArgs, type GrantLakebasePermissionArgs, type GrantLakebasePermissionResult, type GrantUcCatalogPermissionArgs, type GrantUcCatalogPermissionResult, type DoctorReport as HealthDoctorReport, type HookVerification, type InfraCheckResult, type InfraSuiteResult, type InitWorkflowStateArgs, type InitializrMetadata, InitializrNetworkError, InitializrParseError, type InstallPlaywrightArgs, type InstallPlaywrightOptions, type InstallPlaywrightResult, LakebaseBranchError, type LakebaseBranchInfo, LakebaseBranchTtlTooLongError, type LakebasePermissionLevel, type LakebaseProjectArgs, LakebaseProjectError, type LakebaseProjectInfo, type LakebaseProjectMetadata, type ListSchemaMigrationsArgs, MAVEN_FLYWAY_DIR, MIGRATION_DEFAULTS, type MergeArgs, type MergePairedArgs, type MergePairedResult, type MergeResult, type MigrationDefaults, type MigrationLanguage, type MigrationLayout, type ModifiedSchemaObject, NODE_E2E_TEMPLATE_FILES, type OrphanCandidate, PLAYWRIGHT_TEMPLATE_FILES, PLAYWRIGHT_TEST_VERSION_RANGE, PYTEST_BDD_VERSION_RANGE, PYTEST_PLAYWRIGHT_VERSION_RANGE, PYTHON_E2E_TEMPLATE_FILES, type PendingSchemaMigration, type PoolArgs, type PreflightResult, type PreparePrArgs, type PreparePrResult, type ProgressCallback, type ProjectLanguage, type PropagateCredentialsArgs, type PropagateCredentialsResult, ProtectedBranchCommitError, type QueryBranchSchemaArgs, type RecoverOrphansArgs, type RecoverOrphansResult, type ReleaseArgs, type ReleaseResult, type RemoveRunnerArgs, type ResolveDatabricksHostArgs, type ResolveMigrationLayoutArgs, type RollbackDeployArgs, type RollbackDeployResult, type RollbackOptions, type RollbackSchemaMigrationArgs, type RollbackSchemaMigrationResult, type RunDoctorDeps, type RunInfraSuiteArgs, type RunPlaywrightInstallArgs, type RunPlaywrightInstallResult, type RunnerInfo, type RunnerReportFn, type RunnerType, SCM_STATES, STATE_FILE_REL, type ScaffoldAllArgs, type ScaffoldOptions, type ScaffoldReportFn, type ScaffoldStaticAllArgs, type ScaffoldStaticAllResult, type ScaffoldedDriftReport, type SchemaColumn, type SchemaDiffResult, SchemaMigrationError, type SchemaMigrationFile, type SchemaMigrationLanguage, type SchemaMigrationStatusArgs, type SchemaMigrationStatusResult, type SchemaMigrationToolName, type SchemaObject, type SchemaQueryRow, ScmAbandonError, ScmAdoptError, ScmClaimError, ScmDoctorFixError, ScmMergeError, ScmPreparePrError, ScmRecoverError, type ScmState, ScmWaitCiError, type ScmWorkflowState, type SetupRunnerArgs, type SftddSetupHooks, SpringInitializrClient, type SpringJvmLanguage, type StaleBranchFinding, type SyncEnvArgs, type SyncEnvResult, type TableSchema, type TierTopology, type TryCreateCatalogArgs, type TryCreateCatalogResult, type UcCatalogPermission, type UpdateEnvConnectionArgs, type UpdateWorkflowsArgs, type UpdateWorkflowsResult, type UploadDirectoryArgs, type UploadDirectoryResult, type ValidateAppOptions, type ValidateAppResult, type ValidationError, type ValidationResult, type WaitCiArgs, type WaitCiResult, type WaitForBranchAuthReadyArgs, type WaitForBranchReadyArgs, type WorkflowDriftReport, type WorkflowFileStatus, type WorkflowFileUpdate, type WorkflowStatus, type WorkflowUpdateOutcome, type WorkflowVerification, type WriteEnvFileArgs, type WritePlaywrightTemplatesArgs, type WritePlaywrightTemplatesResult, _testMakeBrownfieldFixture, abandonFeatureBranch, addE2eToRunTestsScript, addInfraToPackageJson, addInfraToRunTestsScript, addPlaywrightToPackageJson, adoptLakebaseProject, adoptScmState, applySchemaMigrations, assertAdoptionPreflight, assertCleanForFork, assertCommitTargetNotProtected, assertCreatedProjectReady, buildPostgresUrl, buildSchemaQuery, cacheProjectRetention, catalogExists, catalogExplorerUrl, checkDatabricksAuth, 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, 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$1 as runDoctor, runDoctor as 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 };
|
|
4209
|
+
export { type AbandonFeatureArgs, type AbandonFeatureResult, type AddE2eToRunTestsScriptArgs, type AddE2eToRunTestsScriptResult, type AddInfraToPackageJsonArgs, type AddInfraToPackageJsonResult, type AddInfraToRunTestsScriptArgs, type AddInfraToRunTestsScriptResult, type AddPlaywrightToPackageJsonArgs, type AddPlaywrightToPackageJsonResult, type AddPythonE2eDepsArgs, type AddPythonE2eDepsResult, type AdoptLakebaseProjectArgs, type AdoptLakebaseProjectResult, type AdoptStateArgs, type AdoptStateResult, type AppServicePrincipal, type AppliedSchemaMigration, type ApplySchemaMigrationsArgs, type ApplySchemaMigrationsResult, type BranchLookupOpts, type BranchMetadata, CONVENTION_TIER_DEFAULTS, type CatalogExistsArgs, type CheckoutMode, type CheckoutPairedArgs, type CheckoutPairedResult, type ClaimFeatureBranchArgs, type ClaimFeatureBranchResult, type ClaimedOrphan, type ClientFramework, type CommandDriftReport, type CommandFileEntry, type CommandFileStatus, type ConnectionArgs, type ConsortSetupHooks, type CreateBranchArgs, type CreateConventionBranchArgs, type CreateConventionPairedBranchArgs, type CreateLongRunningBranchArgs, type CreateLongRunningBranchResult, type CreatePairedBranchArgs, type CreatePairedBranchResult, type CreateProjectArgs, type CreateProjectResult, type CutBackupArgs, type CutBackupResult, DEFAULT_PROTECTED_TIER_NAMES, DOTNET_EFCORE_DEFAULTS, DOTNET_FLYWAY_DIR, type DatabricksProfile, type DeleteAppEndpointArgs, type DeleteAppEndpointResult, type DeleteBranchArgs, type DeletePairedBranchArgs, type DeletePairedBranchResult, type DeployClaudeCommandsOptions, type DeployClaudeCommandsResult, type DeployEnvExampleArgs, type DeployLanguageProjectArgs, type DeploySpringStarterArgs, type DeployTarget, type DeployTargetsConfig, type DetectCommandDriftArgs, type DetectScaffoldedDriftArgs, type DetectWorkflowDriftArgs, type DoctorArgs$1 as DoctorArgs, type DoctorFinding, type DoctorReport$1 as DoctorReport, type DoctorSeverity, type DotnetMigrationTool, type DsnArgs, type DsnResult, EF_DESIGN_PACKAGE, type EfCoreProject, type EnableE2eForProjectArgs, type EnableE2eForProjectResult, type EnableInfraForProjectArgs, type EnableInfraForProjectResult, type EndpointInfo, type EnsureAppEndpointArgs, type EnsureAppEndpointResult, type EnsureEndpointArgs, type EnsureLakebaseSecretAuthArgs, type EnsureLakebaseSecretAuthResult, type EnsureProfilePinnedArgs, type EnsureProfilePinnedResult, type EnsureSchemaAndVolumeArgs, type EnsureSchemaAndVolumeResult, FIXABLE_FINDING_IDS, type FixFindingArgs, type FixFindingResult, type FixableFindingId, type GateInvariant, type GateStatus, type GenerateAppYamlOptions, type GenerateMavenProjectOptions, type GetAppEndpointArgs, type GetAppEndpointResult, type GetAppServicePrincipalArgs, type GetCiAppEndpointArgs, type GetCiAppEndpointResult, type GetConnectionArgs, type GetCredentialArgs, type GetEndpointArgs, type GetSchemaDiffArgs, type GrantLakebasePermissionArgs, type GrantLakebasePermissionResult, type GrantUcCatalogPermissionArgs, type GrantUcCatalogPermissionResult, type DoctorReport as HealthDoctorReport, type HookVerification, type InfraCheckResult, type InfraSuiteResult, type InitWorkflowStateArgs, type InitializrMetadata, InitializrNetworkError, InitializrParseError, type InstallPlaywrightArgs, type InstallPlaywrightOptions, type InstallPlaywrightResult, LakebaseBranchError, type LakebaseBranchInfo, LakebaseBranchTtlTooLongError, type LakebasePermissionLevel, type LakebaseProjectArgs, LakebaseProjectError, type LakebaseProjectInfo, type LakebaseProjectMetadata, type ListSchemaMigrationsArgs, MAVEN_FLYWAY_DIR, MIGRATION_DEFAULTS, type MergeArgs, type MergePairedArgs, type MergePairedResult, type MergeResult, type MigrationDefaults, type MigrationLanguage, type MigrationLayout, type ModifiedSchemaObject, NODE_E2E_TEMPLATE_FILES, type OrphanCandidate, PLAYWRIGHT_TEMPLATE_FILES, PLAYWRIGHT_TEST_VERSION_RANGE, PYTEST_BDD_VERSION_RANGE, PYTEST_PLAYWRIGHT_VERSION_RANGE, PYTHON_E2E_TEMPLATE_FILES, type PendingSchemaMigration, type PoolArgs, type PreflightResult, type PreparePrArgs, type PreparePrResult, type ProgressCallback, type ProjectLanguage, type PropagateCredentialsArgs, type PropagateCredentialsResult, ProtectedBranchCommitError, type QueryBranchSchemaArgs, type RecoverOrphansArgs, type RecoverOrphansResult, type ReleaseArgs, type ReleaseResult, type RemoveRunnerArgs, type ResolveDatabricksHostArgs, type ResolveMigrationLayoutArgs, type RollbackDeployArgs, type RollbackDeployResult, type RollbackOptions, type RollbackSchemaMigrationArgs, type RollbackSchemaMigrationResult, type RunDoctorDeps, type RunInfraSuiteArgs, type RunPlaywrightInstallArgs, type RunPlaywrightInstallResult, type RunnerInfo, type RunnerReportFn, type RunnerType, SCM_STATES, STATE_FILE_REL, type ScaffoldAllArgs, type ScaffoldOptions, type ScaffoldReportFn, type ScaffoldStaticAllArgs, type ScaffoldStaticAllResult, type ScaffoldedDriftReport, type SchemaColumn, type SchemaDiffResult, SchemaMigrationError, type SchemaMigrationFile, type SchemaMigrationLanguage, type SchemaMigrationStatusArgs, type SchemaMigrationStatusResult, type SchemaMigrationToolName, type SchemaObject, type SchemaQueryRow, ScmAbandonError, ScmAdoptError, ScmClaimError, ScmDoctorFixError, ScmMergeError, ScmPreparePrError, ScmRecoverError, type ScmState, ScmWaitCiError, type ScmWorkflowState, type SetupRunnerArgs, type SftddSetupHooks, SpringInitializrClient, type SpringJvmLanguage, type StaleBranchFinding, type SyncEnvArgs, type SyncEnvResult, type TableSchema, type TierTopology, type TryCreateCatalogArgs, type TryCreateCatalogResult, type UcCatalogPermission, type UpdateEnvConnectionArgs, type UpdateWorkflowsArgs, type UpdateWorkflowsResult, type UploadDirectoryArgs, type UploadDirectoryResult, type ValidateAppOptions, type ValidateAppResult, type ValidationError, type ValidationResult, type WaitCiArgs, type WaitCiResult, type WaitForBranchAuthReadyArgs, type WaitForBranchReadyArgs, type WorkflowDriftReport, type WorkflowFileStatus, type WorkflowFileUpdate, type WorkflowStatus, type WorkflowUpdateOutcome, type WorkflowVerification, type WriteEnvFileArgs, type WritePlaywrightTemplatesArgs, type 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$1 as runDoctor, runDoctor as 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 };
|
|
@@ -1605,6 +1605,27 @@ type AuthProbe = (args: string[]) => Promise<string>;
|
|
|
1605
1605
|
* into an immediate, actionable failure.
|
|
1606
1606
|
*/
|
|
1607
1607
|
declare function checkDatabricksAuth(host?: string, run?: AuthProbe): Promise<PreflightResult>;
|
|
1608
|
+
/** Injectable scope probe for checkGitHubWorkflowScope (defaults to the real GitHub API read). */
|
|
1609
|
+
type ScopeProbe = () => Promise<{
|
|
1610
|
+
granted: string[] | null;
|
|
1611
|
+
missing: string[];
|
|
1612
|
+
}>;
|
|
1613
|
+
/**
|
|
1614
|
+
* W-workflow-scope: preflight the GitHub token's `workflow` OAuth scope BEFORE
|
|
1615
|
+
* any repo / Lakebase project is created. The scaffold's FINAL push commits
|
|
1616
|
+
* `.github/workflows/*`, which GitHub REJECTS unless the token carries
|
|
1617
|
+
* `workflow` — without this, that rejection only surfaces at the very end,
|
|
1618
|
+
* after all the provisioning, forcing a full rollback. Gating the ONE scope the
|
|
1619
|
+
* push needs here turns that into an immediate, actionable failure.
|
|
1620
|
+
*
|
|
1621
|
+
* Non-blocking in two cases (ok:true): a token that exposes NO OAuth scopes
|
|
1622
|
+
* (fine-grained PAT / GitHub App token — `granted` null; its workflow
|
|
1623
|
+
* permission isn't visible this way, so we can't assert), and any probe error
|
|
1624
|
+
* (a genuinely bad/absent token surfaces clearly at repo creation, not here).
|
|
1625
|
+
*/
|
|
1626
|
+
declare function checkGitHubWorkflowScope(probe?: ScopeProbe): Promise<PreflightResult>;
|
|
1627
|
+
/** The actionable prereq message for a GitHub token missing the `workflow` scope. */
|
|
1628
|
+
declare function githubWorkflowScopePrereqMessage(reason?: string): string;
|
|
1608
1629
|
/** The actionable prereq message for a failed auth probe (W5). */
|
|
1609
1630
|
declare function databricksAuthPrereqMessage(host?: string, reason?: string): string;
|
|
1610
1631
|
/**
|
|
@@ -4185,4 +4206,4 @@ declare function applySchemaMigrations(args: ApplySchemaMigrationsArgs): Promise
|
|
|
4185
4206
|
declare function rollbackSchemaMigration(args: RollbackSchemaMigrationArgs): Promise<RollbackSchemaMigrationResult>;
|
|
4186
4207
|
declare function schemaMigrationStatus(args: SchemaMigrationStatusArgs): Promise<SchemaMigrationStatusResult>;
|
|
4187
4208
|
|
|
4188
|
-
export { type AbandonFeatureArgs, type AbandonFeatureResult, type AddE2eToRunTestsScriptArgs, type AddE2eToRunTestsScriptResult, type AddInfraToPackageJsonArgs, type AddInfraToPackageJsonResult, type AddInfraToRunTestsScriptArgs, type AddInfraToRunTestsScriptResult, type AddPlaywrightToPackageJsonArgs, type AddPlaywrightToPackageJsonResult, type AddPythonE2eDepsArgs, type AddPythonE2eDepsResult, type AdoptLakebaseProjectArgs, type AdoptLakebaseProjectResult, type AdoptStateArgs, type AdoptStateResult, type AppServicePrincipal, type AppliedSchemaMigration, type ApplySchemaMigrationsArgs, type ApplySchemaMigrationsResult, type BranchLookupOpts, type BranchMetadata, CONVENTION_TIER_DEFAULTS, type CatalogExistsArgs, type CheckoutMode, type CheckoutPairedArgs, type CheckoutPairedResult, type ClaimFeatureBranchArgs, type ClaimFeatureBranchResult, type ClaimedOrphan, type ClientFramework, type CommandDriftReport, type CommandFileEntry, type CommandFileStatus, type ConnectionArgs, type ConsortSetupHooks, type CreateBranchArgs, type CreateConventionBranchArgs, type CreateConventionPairedBranchArgs, type CreateLongRunningBranchArgs, type CreateLongRunningBranchResult, type CreatePairedBranchArgs, type CreatePairedBranchResult, type CreateProjectArgs, type CreateProjectResult, type CutBackupArgs, type CutBackupResult, DEFAULT_PROTECTED_TIER_NAMES, DOTNET_EFCORE_DEFAULTS, DOTNET_FLYWAY_DIR, type DatabricksProfile, type DeleteAppEndpointArgs, type DeleteAppEndpointResult, type DeleteBranchArgs, type DeletePairedBranchArgs, type DeletePairedBranchResult, type DeployClaudeCommandsOptions, type DeployClaudeCommandsResult, type DeployEnvExampleArgs, type DeployLanguageProjectArgs, type DeploySpringStarterArgs, type DeployTarget, type DeployTargetsConfig, type DetectCommandDriftArgs, type DetectScaffoldedDriftArgs, type DetectWorkflowDriftArgs, type DoctorArgs$1 as DoctorArgs, type DoctorFinding, type DoctorReport$1 as DoctorReport, type DoctorSeverity, type DotnetMigrationTool, type DsnArgs, type DsnResult, EF_DESIGN_PACKAGE, type EfCoreProject, type EnableE2eForProjectArgs, type EnableE2eForProjectResult, type EnableInfraForProjectArgs, type EnableInfraForProjectResult, type EndpointInfo, type EnsureAppEndpointArgs, type EnsureAppEndpointResult, type EnsureEndpointArgs, type EnsureLakebaseSecretAuthArgs, type EnsureLakebaseSecretAuthResult, type EnsureProfilePinnedArgs, type EnsureProfilePinnedResult, type EnsureSchemaAndVolumeArgs, type EnsureSchemaAndVolumeResult, FIXABLE_FINDING_IDS, type FixFindingArgs, type FixFindingResult, type FixableFindingId, type GateInvariant, type GateStatus, type GenerateAppYamlOptions, type GenerateMavenProjectOptions, type GetAppEndpointArgs, type GetAppEndpointResult, type GetAppServicePrincipalArgs, type GetCiAppEndpointArgs, type GetCiAppEndpointResult, type GetConnectionArgs, type GetCredentialArgs, type GetEndpointArgs, type GetSchemaDiffArgs, type GrantLakebasePermissionArgs, type GrantLakebasePermissionResult, type GrantUcCatalogPermissionArgs, type GrantUcCatalogPermissionResult, type DoctorReport as HealthDoctorReport, type HookVerification, type InfraCheckResult, type InfraSuiteResult, type InitWorkflowStateArgs, type InitializrMetadata, InitializrNetworkError, InitializrParseError, type InstallPlaywrightArgs, type InstallPlaywrightOptions, type InstallPlaywrightResult, LakebaseBranchError, type LakebaseBranchInfo, LakebaseBranchTtlTooLongError, type LakebasePermissionLevel, type LakebaseProjectArgs, LakebaseProjectError, type LakebaseProjectInfo, type LakebaseProjectMetadata, type ListSchemaMigrationsArgs, MAVEN_FLYWAY_DIR, MIGRATION_DEFAULTS, type MergeArgs, type MergePairedArgs, type MergePairedResult, type MergeResult, type MigrationDefaults, type MigrationLanguage, type MigrationLayout, type ModifiedSchemaObject, NODE_E2E_TEMPLATE_FILES, type OrphanCandidate, PLAYWRIGHT_TEMPLATE_FILES, PLAYWRIGHT_TEST_VERSION_RANGE, PYTEST_BDD_VERSION_RANGE, PYTEST_PLAYWRIGHT_VERSION_RANGE, PYTHON_E2E_TEMPLATE_FILES, type PendingSchemaMigration, type PoolArgs, type PreflightResult, type PreparePrArgs, type PreparePrResult, type ProgressCallback, type ProjectLanguage, type PropagateCredentialsArgs, type PropagateCredentialsResult, ProtectedBranchCommitError, type QueryBranchSchemaArgs, type RecoverOrphansArgs, type RecoverOrphansResult, type ReleaseArgs, type ReleaseResult, type RemoveRunnerArgs, type ResolveDatabricksHostArgs, type ResolveMigrationLayoutArgs, type RollbackDeployArgs, type RollbackDeployResult, type RollbackOptions, type RollbackSchemaMigrationArgs, type RollbackSchemaMigrationResult, type RunDoctorDeps, type RunInfraSuiteArgs, type RunPlaywrightInstallArgs, type RunPlaywrightInstallResult, type RunnerInfo, type RunnerReportFn, type RunnerType, SCM_STATES, STATE_FILE_REL, type ScaffoldAllArgs, type ScaffoldOptions, type ScaffoldReportFn, type ScaffoldStaticAllArgs, type ScaffoldStaticAllResult, type ScaffoldedDriftReport, type SchemaColumn, type SchemaDiffResult, SchemaMigrationError, type SchemaMigrationFile, type SchemaMigrationLanguage, type SchemaMigrationStatusArgs, type SchemaMigrationStatusResult, type SchemaMigrationToolName, type SchemaObject, type SchemaQueryRow, ScmAbandonError, ScmAdoptError, ScmClaimError, ScmDoctorFixError, ScmMergeError, ScmPreparePrError, ScmRecoverError, type ScmState, ScmWaitCiError, type ScmWorkflowState, type SetupRunnerArgs, type SftddSetupHooks, SpringInitializrClient, type SpringJvmLanguage, type StaleBranchFinding, type SyncEnvArgs, type SyncEnvResult, type TableSchema, type TierTopology, type TryCreateCatalogArgs, type TryCreateCatalogResult, type UcCatalogPermission, type UpdateEnvConnectionArgs, type UpdateWorkflowsArgs, type UpdateWorkflowsResult, type UploadDirectoryArgs, type UploadDirectoryResult, type ValidateAppOptions, type ValidateAppResult, type ValidationError, type ValidationResult, type WaitCiArgs, type WaitCiResult, type WaitForBranchAuthReadyArgs, type WaitForBranchReadyArgs, type WorkflowDriftReport, type WorkflowFileStatus, type WorkflowFileUpdate, type WorkflowStatus, type WorkflowUpdateOutcome, type WorkflowVerification, type WriteEnvFileArgs, type WritePlaywrightTemplatesArgs, type WritePlaywrightTemplatesResult, _testMakeBrownfieldFixture, abandonFeatureBranch, addE2eToRunTestsScript, addInfraToPackageJson, addInfraToRunTestsScript, addPlaywrightToPackageJson, adoptLakebaseProject, adoptScmState, applySchemaMigrations, assertAdoptionPreflight, assertCleanForFork, assertCommitTargetNotProtected, assertCreatedProjectReady, buildPostgresUrl, buildSchemaQuery, cacheProjectRetention, catalogExists, catalogExplorerUrl, checkDatabricksAuth, 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, 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$1 as runDoctor, runDoctor as 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 };
|
|
4209
|
+
export { type AbandonFeatureArgs, type AbandonFeatureResult, type AddE2eToRunTestsScriptArgs, type AddE2eToRunTestsScriptResult, type AddInfraToPackageJsonArgs, type AddInfraToPackageJsonResult, type AddInfraToRunTestsScriptArgs, type AddInfraToRunTestsScriptResult, type AddPlaywrightToPackageJsonArgs, type AddPlaywrightToPackageJsonResult, type AddPythonE2eDepsArgs, type AddPythonE2eDepsResult, type AdoptLakebaseProjectArgs, type AdoptLakebaseProjectResult, type AdoptStateArgs, type AdoptStateResult, type AppServicePrincipal, type AppliedSchemaMigration, type ApplySchemaMigrationsArgs, type ApplySchemaMigrationsResult, type BranchLookupOpts, type BranchMetadata, CONVENTION_TIER_DEFAULTS, type CatalogExistsArgs, type CheckoutMode, type CheckoutPairedArgs, type CheckoutPairedResult, type ClaimFeatureBranchArgs, type ClaimFeatureBranchResult, type ClaimedOrphan, type ClientFramework, type CommandDriftReport, type CommandFileEntry, type CommandFileStatus, type ConnectionArgs, type ConsortSetupHooks, type CreateBranchArgs, type CreateConventionBranchArgs, type CreateConventionPairedBranchArgs, type CreateLongRunningBranchArgs, type CreateLongRunningBranchResult, type CreatePairedBranchArgs, type CreatePairedBranchResult, type CreateProjectArgs, type CreateProjectResult, type CutBackupArgs, type CutBackupResult, DEFAULT_PROTECTED_TIER_NAMES, DOTNET_EFCORE_DEFAULTS, DOTNET_FLYWAY_DIR, type DatabricksProfile, type DeleteAppEndpointArgs, type DeleteAppEndpointResult, type DeleteBranchArgs, type DeletePairedBranchArgs, type DeletePairedBranchResult, type DeployClaudeCommandsOptions, type DeployClaudeCommandsResult, type DeployEnvExampleArgs, type DeployLanguageProjectArgs, type DeploySpringStarterArgs, type DeployTarget, type DeployTargetsConfig, type DetectCommandDriftArgs, type DetectScaffoldedDriftArgs, type DetectWorkflowDriftArgs, type DoctorArgs$1 as DoctorArgs, type DoctorFinding, type DoctorReport$1 as DoctorReport, type DoctorSeverity, type DotnetMigrationTool, type DsnArgs, type DsnResult, EF_DESIGN_PACKAGE, type EfCoreProject, type EnableE2eForProjectArgs, type EnableE2eForProjectResult, type EnableInfraForProjectArgs, type EnableInfraForProjectResult, type EndpointInfo, type EnsureAppEndpointArgs, type EnsureAppEndpointResult, type EnsureEndpointArgs, type EnsureLakebaseSecretAuthArgs, type EnsureLakebaseSecretAuthResult, type EnsureProfilePinnedArgs, type EnsureProfilePinnedResult, type EnsureSchemaAndVolumeArgs, type EnsureSchemaAndVolumeResult, FIXABLE_FINDING_IDS, type FixFindingArgs, type FixFindingResult, type FixableFindingId, type GateInvariant, type GateStatus, type GenerateAppYamlOptions, type GenerateMavenProjectOptions, type GetAppEndpointArgs, type GetAppEndpointResult, type GetAppServicePrincipalArgs, type GetCiAppEndpointArgs, type GetCiAppEndpointResult, type GetConnectionArgs, type GetCredentialArgs, type GetEndpointArgs, type GetSchemaDiffArgs, type GrantLakebasePermissionArgs, type GrantLakebasePermissionResult, type GrantUcCatalogPermissionArgs, type GrantUcCatalogPermissionResult, type DoctorReport as HealthDoctorReport, type HookVerification, type InfraCheckResult, type InfraSuiteResult, type InitWorkflowStateArgs, type InitializrMetadata, InitializrNetworkError, InitializrParseError, type InstallPlaywrightArgs, type InstallPlaywrightOptions, type InstallPlaywrightResult, LakebaseBranchError, type LakebaseBranchInfo, LakebaseBranchTtlTooLongError, type LakebasePermissionLevel, type LakebaseProjectArgs, LakebaseProjectError, type LakebaseProjectInfo, type LakebaseProjectMetadata, type ListSchemaMigrationsArgs, MAVEN_FLYWAY_DIR, MIGRATION_DEFAULTS, type MergeArgs, type MergePairedArgs, type MergePairedResult, type MergeResult, type MigrationDefaults, type MigrationLanguage, type MigrationLayout, type ModifiedSchemaObject, NODE_E2E_TEMPLATE_FILES, type OrphanCandidate, PLAYWRIGHT_TEMPLATE_FILES, PLAYWRIGHT_TEST_VERSION_RANGE, PYTEST_BDD_VERSION_RANGE, PYTEST_PLAYWRIGHT_VERSION_RANGE, PYTHON_E2E_TEMPLATE_FILES, type PendingSchemaMigration, type PoolArgs, type PreflightResult, type PreparePrArgs, type PreparePrResult, type ProgressCallback, type ProjectLanguage, type PropagateCredentialsArgs, type PropagateCredentialsResult, ProtectedBranchCommitError, type QueryBranchSchemaArgs, type RecoverOrphansArgs, type RecoverOrphansResult, type ReleaseArgs, type ReleaseResult, type RemoveRunnerArgs, type ResolveDatabricksHostArgs, type ResolveMigrationLayoutArgs, type RollbackDeployArgs, type RollbackDeployResult, type RollbackOptions, type RollbackSchemaMigrationArgs, type RollbackSchemaMigrationResult, type RunDoctorDeps, type RunInfraSuiteArgs, type RunPlaywrightInstallArgs, type RunPlaywrightInstallResult, type RunnerInfo, type RunnerReportFn, type RunnerType, SCM_STATES, STATE_FILE_REL, type ScaffoldAllArgs, type ScaffoldOptions, type ScaffoldReportFn, type ScaffoldStaticAllArgs, type ScaffoldStaticAllResult, type ScaffoldedDriftReport, type SchemaColumn, type SchemaDiffResult, SchemaMigrationError, type SchemaMigrationFile, type SchemaMigrationLanguage, type SchemaMigrationStatusArgs, type SchemaMigrationStatusResult, type SchemaMigrationToolName, type SchemaObject, type SchemaQueryRow, ScmAbandonError, ScmAdoptError, ScmClaimError, ScmDoctorFixError, ScmMergeError, ScmPreparePrError, ScmRecoverError, type ScmState, ScmWaitCiError, type ScmWorkflowState, type SetupRunnerArgs, type SftddSetupHooks, SpringInitializrClient, type SpringJvmLanguage, type StaleBranchFinding, type SyncEnvArgs, type SyncEnvResult, type TableSchema, type TierTopology, type TryCreateCatalogArgs, type TryCreateCatalogResult, type UcCatalogPermission, type UpdateEnvConnectionArgs, type UpdateWorkflowsArgs, type UpdateWorkflowsResult, type UploadDirectoryArgs, type UploadDirectoryResult, type ValidateAppOptions, type ValidateAppResult, type ValidationError, type ValidationResult, type WaitCiArgs, type WaitCiResult, type WaitForBranchAuthReadyArgs, type WaitForBranchReadyArgs, type WorkflowDriftReport, type WorkflowFileStatus, type WorkflowFileUpdate, type WorkflowStatus, type WorkflowUpdateOutcome, type WorkflowVerification, type WriteEnvFileArgs, type WritePlaywrightTemplatesArgs, type 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$1 as runDoctor, runDoctor as 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 };
|