@runa-ai/runa-cli 0.10.3 → 0.10.5
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/{build-P2A6345N.js → build-C65G2QQE.js} +3 -2
- package/dist/{chunk-UHDAYPHH.js → chunk-47BG6DRP.js} +1 -1
- package/dist/{chunk-MAFJAA2P.js → chunk-C3SRIUWX.js} +1 -1
- package/dist/{chunk-QSEF4T3Y.js → chunk-F2AQ3EYJ.js} +10 -199
- package/dist/{chunk-SS7RIWW3.js → chunk-FZONYKNR.js} +1 -1
- package/dist/chunk-NOXYPVMZ.js +204 -0
- package/dist/chunk-TXXGDJYB.js +3636 -0
- package/dist/{chunk-S7VGVFYF.js → chunk-WHVJ4JMQ.js} +274 -3863
- package/dist/{chunk-XFXGFUAM.js → chunk-XVGMGFKF.js} +1 -1
- package/dist/{chunk-WGRVAGSR.js → chunk-ZDETCPCE.js} +2 -2
- package/dist/{ci-6P7VK6WB.js → ci-WOP7K7MS.js} +11 -9
- package/dist/{cli-Q665YRVT.js → cli-4HI3D2II.js} +12 -12
- package/dist/{db-BQOVOQXU.js → db-DO6L72RR.js} +91 -53
- package/dist/{dev-QR55VDNZ.js → dev-N3BFJZ7F.js} +3 -2
- package/dist/{env-KYR6Q7WO.js → env-2XM45E7O.js} +4 -3
- package/dist/{env-XPPACZM4.js → env-KIMSQSPS.js} +3 -2
- package/dist/helpers-RHAZLOLQ.js +15 -0
- package/dist/{hotfix-JYHDY2M6.js → hotfix-QP5J6FCD.js} +4 -3
- package/dist/index.js +3 -3
- package/dist/local-supabase-KTTC3O2L.js +8 -0
- package/dist/{risk-detector-GDDLISVE.js → risk-detector-4D5HRUMY.js} +1 -1
- package/dist/{risk-detector-core-YI3M6INI.js → risk-detector-core-CHUY6M5N.js} +1 -1
- package/dist/{vuln-check-WW43E7PS.js → vuln-check-OE4KSASO.js} +1 -1
- package/dist/{vuln-checker-BC3ZAXJ3.js → vuln-checker-LMHRSMYY.js} +1 -1
- package/dist/{watch-4RHXVCQ3.js → watch-VQQHKDNQ.js} +1 -1
- package/package.json +3 -3
- package/dist/{risk-detector-plpgsql-4GWEQXUG.js → risk-detector-plpgsql-NNUZU3OQ.js} +1 -1
|
@@ -9,7 +9,7 @@ init_esm_shims();
|
|
|
9
9
|
var riskDetectorModulePromise = null;
|
|
10
10
|
async function loadRiskDetectorModule() {
|
|
11
11
|
if (!riskDetectorModulePromise) {
|
|
12
|
-
riskDetectorModulePromise = import('./risk-detector-core-
|
|
12
|
+
riskDetectorModulePromise = import('./risk-detector-core-CHUY6M5N.js').catch((error) => {
|
|
13
13
|
riskDetectorModulePromise = null;
|
|
14
14
|
throw error;
|
|
15
15
|
});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
|
-
import { env } from './chunk-
|
|
3
|
+
import { env } from './chunk-47BG6DRP.js';
|
|
4
4
|
import { redactSecrets } from './chunk-II7VYQEM.js';
|
|
5
|
-
import { init_local_supabase, buildLocalDatabaseUrl } from './chunk-
|
|
5
|
+
import { init_local_supabase, buildLocalDatabaseUrl } from './chunk-F2AQ3EYJ.js';
|
|
6
6
|
import { init_esm_shims } from './chunk-VRXHCR5K.js';
|
|
7
7
|
import { CLIError } from '@runa-ai/runa';
|
|
8
8
|
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
|
-
import {
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-HWR5NUUZ.js';
|
|
6
|
-
import './chunk-UHDAYPHH.js';
|
|
3
|
+
import { runDbApply } from './chunk-TXXGDJYB.js';
|
|
4
|
+
import { normalizeDatabaseUrlForDdl, parseBoolish, enhanceConnectionError, isIdempotentRoleHazard, detectAppSchemas, formatSchemasForSql, getDbPlanArtifactPath } from './chunk-WHVJ4JMQ.js';
|
|
7
5
|
import './chunk-EZ46JIEO.js';
|
|
6
|
+
import './chunk-ZDETCPCE.js';
|
|
7
|
+
import './chunk-HWR5NUUZ.js';
|
|
8
|
+
import './chunk-47BG6DRP.js';
|
|
9
|
+
import { createInitialSummary, resolveMode, appendGithubStepSummary, buildCiProdApplyStepSummaryMarkdown, setSummaryErrorFromUnknown, writeEnvLocal, startAppBackground, waitForAppReady, executePrSetupBase, createErrorOutput, requireCiAutoApprove, resolveProdApplyInputs, parseIntOr, classifyCiProdApplyError, addGithubMask } from './chunk-EXR4J2JT.js';
|
|
10
|
+
import './chunk-O3M7A73M.js';
|
|
11
|
+
import { parsePostgresUrl, buildPsqlArgs, buildPsqlEnv, psqlSyncQuery } from './chunk-A6A7JIRD.js';
|
|
8
12
|
import './chunk-IWVXI5O4.js';
|
|
9
|
-
import './chunk-
|
|
13
|
+
import './chunk-FZONYKNR.js';
|
|
10
14
|
import './chunk-B7C7CLW2.js';
|
|
11
15
|
import './chunk-QDF7QXBL.js';
|
|
12
16
|
import { getSnapshotStateName, getSnapshotStatePaths, isSnapshotComplete } from './chunk-XVNDDHAF.js';
|
|
13
|
-
import { createInitialSummary, resolveMode, appendGithubStepSummary, buildCiProdApplyStepSummaryMarkdown, setSummaryErrorFromUnknown, writeEnvLocal, startAppBackground, waitForAppReady, executePrSetupBase, createErrorOutput, requireCiAutoApprove, resolveProdApplyInputs, parseIntOr, classifyCiProdApplyError, addGithubMask } from './chunk-EXR4J2JT.js';
|
|
14
|
-
import './chunk-O3M7A73M.js';
|
|
15
|
-
import { parsePostgresUrl, buildPsqlArgs, buildPsqlEnv, psqlSyncQuery } from './chunk-A6A7JIRD.js';
|
|
16
17
|
import { ensureRunaTmpDir, runLogged } from './chunk-ELXXQIGW.js';
|
|
17
18
|
import { createMachineStateChangeLogger } from './chunk-5FT3F36G.js';
|
|
18
19
|
import { getSafeEnv, getFilteredEnv, redactSecrets } from './chunk-II7VYQEM.js';
|
|
19
|
-
import { init_constants
|
|
20
|
+
import { init_constants } from './chunk-NOXYPVMZ.js';
|
|
20
21
|
import { emitJsonSuccess } from './chunk-KE6QJBZG.js';
|
|
21
22
|
import './chunk-WJXC4MVY.js';
|
|
22
23
|
import { setOutputFormat } from './chunk-HKUWEGUX.js';
|
|
24
|
+
import { init_local_supabase, detectLocalSupabasePorts } from './chunk-F2AQ3EYJ.js';
|
|
23
25
|
import './chunk-OERS32LW.js';
|
|
24
26
|
import './chunk-GT5DMS5R.js';
|
|
25
27
|
import { init_esm_shims } from './chunk-VRXHCR5K.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
3
|
import { enableNonInteractiveMode } from './chunk-6Y3LAUGL.js';
|
|
4
4
|
import { getRequestedCommandNameFromArgv } from './chunk-UWWSAPDR.js';
|
|
5
|
-
import { CLI_VERSION, HAS_ADMIN_COMMAND } from './chunk-
|
|
5
|
+
import { CLI_VERSION, HAS_ADMIN_COMMAND } from './chunk-FZONYKNR.js';
|
|
6
6
|
import { emitDefaultSuccessIfNeeded } from './chunk-WJXC4MVY.js';
|
|
7
7
|
import { parseOutputFormat, setOutputFormat, getOutputFormatFromEnv } from './chunk-HKUWEGUX.js';
|
|
8
8
|
import { init_esm_shims } from './chunk-VRXHCR5K.js';
|
|
@@ -165,12 +165,12 @@ async function registerProjectLifecycleCommands(program, requested, loadAllComma
|
|
|
165
165
|
return;
|
|
166
166
|
}
|
|
167
167
|
if (requested === "build") {
|
|
168
|
-
const { buildCommand: buildCommand2 } = await import('./build-
|
|
168
|
+
const { buildCommand: buildCommand2 } = await import('./build-C65G2QQE.js');
|
|
169
169
|
program.addCommand(buildCommand2);
|
|
170
170
|
return;
|
|
171
171
|
}
|
|
172
172
|
if (requested === "dev") {
|
|
173
|
-
const { devCommand: devCommand2 } = await import('./dev-
|
|
173
|
+
const { devCommand: devCommand2 } = await import('./dev-N3BFJZ7F.js');
|
|
174
174
|
program.addCommand(devCommand2);
|
|
175
175
|
return;
|
|
176
176
|
}
|
|
@@ -187,8 +187,8 @@ async function registerProjectLifecycleCommands(program, requested, loadAllComma
|
|
|
187
187
|
import('./prepare-32DOVHTE.js'),
|
|
188
188
|
import('./upgrade-X7P6WRD5.js'),
|
|
189
189
|
import('./validate-CAAW4Y44.js'),
|
|
190
|
-
import('./build-
|
|
191
|
-
import('./dev-
|
|
190
|
+
import('./build-C65G2QQE.js'),
|
|
191
|
+
import('./dev-N3BFJZ7F.js')
|
|
192
192
|
]);
|
|
193
193
|
program.addCommand(initCommand);
|
|
194
194
|
program.addCommand(prepareCommand);
|
|
@@ -462,11 +462,11 @@ async function registerFocusedStatusUtilityCommand(program, requested) {
|
|
|
462
462
|
return false;
|
|
463
463
|
}
|
|
464
464
|
async function registerCiCommand(program) {
|
|
465
|
-
const { ciCommand } = await import('./ci-
|
|
465
|
+
const { ciCommand } = await import('./ci-WOP7K7MS.js');
|
|
466
466
|
program.addCommand(ciCommand);
|
|
467
467
|
}
|
|
468
468
|
async function registerDbCommand(program) {
|
|
469
|
-
const { dbCommand } = await import('./db-
|
|
469
|
+
const { dbCommand } = await import('./db-DO6L72RR.js');
|
|
470
470
|
program.addCommand(dbCommand);
|
|
471
471
|
}
|
|
472
472
|
async function registerServicesCommand(program) {
|
|
@@ -474,11 +474,11 @@ async function registerServicesCommand(program) {
|
|
|
474
474
|
program.addCommand(servicesCommand);
|
|
475
475
|
}
|
|
476
476
|
async function registerEnvCommand(program) {
|
|
477
|
-
const { envCommand } = await import('./env-
|
|
477
|
+
const { envCommand } = await import('./env-2XM45E7O.js');
|
|
478
478
|
program.addCommand(envCommand);
|
|
479
479
|
}
|
|
480
480
|
async function registerHotfixCommand(program) {
|
|
481
|
-
const { hotfixCommand } = await import('./hotfix-
|
|
481
|
+
const { hotfixCommand } = await import('./hotfix-QP5J6FCD.js');
|
|
482
482
|
program.addCommand(hotfixCommand);
|
|
483
483
|
}
|
|
484
484
|
async function registerSdkCommand(program) {
|
|
@@ -490,7 +490,7 @@ async function registerUiCommand(program) {
|
|
|
490
490
|
program.addCommand(uiCommand);
|
|
491
491
|
}
|
|
492
492
|
async function registerWatchCommand(program) {
|
|
493
|
-
const { watchCommand } = await import('./watch-
|
|
493
|
+
const { watchCommand } = await import('./watch-VQQHKDNQ.js');
|
|
494
494
|
program.addCommand(watchCommand);
|
|
495
495
|
}
|
|
496
496
|
async function registerWorkflowCommand(program) {
|
|
@@ -498,7 +498,7 @@ async function registerWorkflowCommand(program) {
|
|
|
498
498
|
program.addCommand(workflowCommand);
|
|
499
499
|
}
|
|
500
500
|
async function registerVulnCheckCommand(program) {
|
|
501
|
-
const { vulnCheckCommand } = await import('./vuln-check-
|
|
501
|
+
const { vulnCheckCommand } = await import('./vuln-check-OE4KSASO.js');
|
|
502
502
|
program.addCommand(vulnCheckCommand);
|
|
503
503
|
}
|
|
504
504
|
async function registerTemplateCheckCommand(program) {
|
|
@@ -714,7 +714,7 @@ async function executeProgram(program) {
|
|
|
714
714
|
silent: true
|
|
715
715
|
});
|
|
716
716
|
await enforceLicenseInCI();
|
|
717
|
-
await import('./env-
|
|
717
|
+
await import('./env-KIMSQSPS.js');
|
|
718
718
|
}
|
|
719
719
|
await program.parseAsync(process.argv);
|
|
720
720
|
}
|
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
|
-
import { detectDatabaseStack, getStackPaths } from './chunk-MILCC3B6.js';
|
|
4
|
-
import { categorizeRisks, detectSchemaRisks } from './chunk-XFXGFUAM.js';
|
|
5
|
-
import { isExecaError, resolveDbPreviewEnvironment, buildDbPlanCommandLabel, runDbApply, buildDbApplyCliError, DbPlanOutputSchema, parseDbPreviewProfile, DEFAULT_DB_PREVIEW_PROFILE, getDbPreviewModeLabel, buildDbPreviewCommandLabel, isCompareOnlyPreviewProfile, DbApplyOutputSchema, applyCommand, getDbPreviewIdempotentSchemaCount, classifyDbSyncCommandFailure, getDbSyncFallbackSuggestions, detectAppSchemas, normalizeDatabaseUrlForDdl, analyzeDuplicateFunctionOwnership, formatDuplicateFunctionOwnershipFinding, reviewDeclarativeDependencyWarnings, logDeclarativeDependencyWarnings, buildDeclarativeDependencyWarningFailureLines, parsePlanOutput, validateDependencyOrder, getBoundaryPolicy, resolveProductionApplyStrictMode, findDeclarativeRiskAllowlistMatch, assertBoundaryPolicyUsable, assertBoundaryPolicyQualityGate, formatSchemasForSql, findDirectoryPlacementAllowlistMatch, formatAllowlistMetadata, FUNCTION_ACL_RECONCILIATION_RELATIVE_PATH, functionAclManifestHasEntries, validateFunctionAclMigration, isManagedFunctionAclFileContentStale, renderFunctionAclFile, assessPlanSize, formatPlanSizeSummary, buildFunctionAclManifestFromSqlFiles, buildFunctionAclIdempotentTouchMetadata, stableSorted, normalizePolicyCommand, normalizeFileList, extractFunctionOwnershipDefinition, SECURITY_DEFINER_RE, MANAGED_BOUNDARY_SCHEMAS, currentIsoTimestamp, makeGraphVersion, GENERATOR_VERSION, MAX_SCHEMA_GUIDANCE_TARGETS_PER_FILE, QUALIFIED_SQL_OBJECT_RE, SEARCH_PATH_LOCK_RE, TRIGGER_GUIDANCE_SUPPRESSED_FUNCTIONS, SQL_EXTENSION_IDENTIFIER_PATTERN, SQL_IDENTIFIER_PATTERN } from './chunk-S7VGVFYF.js';
|
|
6
3
|
import { createError } from './chunk-NIS77243.js';
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
import './chunk-
|
|
4
|
+
import { detectDatabaseStack, getStackPaths } from './chunk-MILCC3B6.js';
|
|
5
|
+
import { categorizeRisks, detectSchemaRisks } from './chunk-XVGMGFKF.js';
|
|
6
|
+
import { isExecaError, resolveDbPreviewEnvironment, buildDbPlanCommandLabel, runDbApply, buildDbApplyCliError, parseDbPreviewProfile, DEFAULT_DB_PREVIEW_PROFILE, getDbPreviewModeLabel, buildDbPreviewCommandLabel, isCompareOnlyPreviewProfile, applyCommand, getDbPreviewIdempotentSchemaCount, classifyDbSyncCommandFailure, getDbSyncFallbackSuggestions, reviewDeclarativeDependencyWarnings, logDeclarativeDependencyWarnings, buildDeclarativeDependencyWarningFailureLines, getBoundaryPolicy, resolveProductionApplyStrictMode, findDeclarativeRiskAllowlistMatch, assertBoundaryPolicyUsable, assertBoundaryPolicyQualityGate, findDirectoryPlacementAllowlistMatch, formatAllowlistMetadata, assessPlanSize, formatPlanSizeSummary } from './chunk-TXXGDJYB.js';
|
|
7
|
+
import { DbPlanOutputSchema, DbApplyOutputSchema, detectAppSchemas, normalizeDatabaseUrlForDdl, analyzeDuplicateFunctionOwnership, formatDuplicateFunctionOwnershipFinding, parsePlanOutput, validateDependencyOrder, formatSchemasForSql, FUNCTION_ACL_RECONCILIATION_RELATIVE_PATH, functionAclManifestHasEntries, validateFunctionAclMigration, isManagedFunctionAclFileContentStale, renderFunctionAclFile, buildFunctionAclManifestFromSqlFiles, buildFunctionAclIdempotentTouchMetadata, stableSorted, normalizePolicyCommand, normalizeFileList, extractFunctionOwnershipDefinition, SECURITY_DEFINER_RE, MANAGED_BOUNDARY_SCHEMAS, currentIsoTimestamp, makeGraphVersion, GENERATOR_VERSION, MAX_SCHEMA_GUIDANCE_TARGETS_PER_FILE, QUALIFIED_SQL_OBJECT_RE, SEARCH_PATH_LOCK_RE, TRIGGER_GUIDANCE_SUPPRESSED_FUNCTIONS, SQL_EXTENSION_IDENTIFIER_PATTERN, SQL_IDENTIFIER_PATTERN } from './chunk-WHVJ4JMQ.js';
|
|
11
8
|
import './chunk-EZ46JIEO.js';
|
|
9
|
+
import { resolveDatabaseUrl, resolveDatabaseTarget, tryResolveDatabaseUrl } from './chunk-ZDETCPCE.js';
|
|
10
|
+
export { resolveDatabaseUrl, tryResolveDatabaseUrl } from './chunk-ZDETCPCE.js';
|
|
11
|
+
import { analyzeDeclarativeDependencyContract, formatDeclarativeDependencyViolation, parseSqlFilename, collectSqlFiles, splitSqlStatements, ALLOW_DYNAMIC_SQL_ANNOTATION, extractFirstDollarBody, sanitizeExecutableCode, detectExtensionFilePath, FUNCTION_DEFINITION_RE, blankQuotedStrings, sanitizeExecutableCodePreserveStrings, countNewlines, shouldReviewUnknownDeclarativeDdl, extractDdlObject, isNonSchemaOperation, isNonDdlMaintenanceStatement, shouldReviewUnknownIdempotentDdl } from './chunk-HWR5NUUZ.js';
|
|
12
|
+
import './chunk-47BG6DRP.js';
|
|
13
|
+
import { writeEnvLocalBridge, removeEnvLocalBridge } from './chunk-KUH3G522.js';
|
|
14
|
+
import { extractSchemaTablesAndEnums, fetchDbTablesAndEnums, extractTablesFromIdempotentSql, extractDynamicTablePatternsFromIdempotentSql, diffSchema, getSqlParserUtils, buildTablePatternMatcher } from './chunk-O3M7A73M.js';
|
|
15
|
+
import { psqlExec, psqlQuery, blankDollarQuotedBodies, stripSqlComments, parsePostgresUrl, buildPsqlArgs, buildPsqlEnv } from './chunk-A6A7JIRD.js';
|
|
12
16
|
import { loadEnvFiles } from './chunk-IWVXI5O4.js';
|
|
13
|
-
import './chunk-
|
|
17
|
+
import './chunk-FZONYKNR.js';
|
|
14
18
|
import { diagnoseSupabaseStart } from './chunk-AAIE4F2U.js';
|
|
15
19
|
import { validateUserFilePath, filterSafePaths, resolveSafePath } from './chunk-B7C7CLW2.js';
|
|
16
20
|
import { runMachine } from './chunk-QDF7QXBL.js';
|
|
17
21
|
import './chunk-XVNDDHAF.js';
|
|
18
|
-
import { writeEnvLocalBridge, removeEnvLocalBridge } from './chunk-KUH3G522.js';
|
|
19
|
-
import { extractSchemaTablesAndEnums, fetchDbTablesAndEnums, extractTablesFromIdempotentSql, extractDynamicTablePatternsFromIdempotentSql, diffSchema, getSqlParserUtils, buildTablePatternMatcher } from './chunk-O3M7A73M.js';
|
|
20
|
-
import { psqlExec, psqlQuery, blankDollarQuotedBodies, stripSqlComments, parsePostgresUrl, buildPsqlArgs, buildPsqlEnv } from './chunk-A6A7JIRD.js';
|
|
21
22
|
import { redactSecrets } from './chunk-II7VYQEM.js';
|
|
22
|
-
import {
|
|
23
|
-
export { DATABASE_DEFAULTS, SCRIPT_LOCATIONS, SEED_DEFAULTS } from './chunk-
|
|
23
|
+
import { init_constants, DATABASE_DEFAULTS, SEED_DEFAULTS, SCRIPT_LOCATIONS } from './chunk-NOXYPVMZ.js';
|
|
24
|
+
export { DATABASE_DEFAULTS, SCRIPT_LOCATIONS, SEED_DEFAULTS } from './chunk-NOXYPVMZ.js';
|
|
24
25
|
import { secureSupabase, secureDocker } from './chunk-RZLYEO4U.js';
|
|
25
26
|
import { emitJsonSuccess } from './chunk-KE6QJBZG.js';
|
|
26
27
|
import './chunk-WJXC4MVY.js';
|
|
27
28
|
import { getOutputFormatFromEnv } from './chunk-HKUWEGUX.js';
|
|
29
|
+
import { init_local_supabase, detectLocalSupabasePorts, buildLocalDatabaseUrl } from './chunk-F2AQ3EYJ.js';
|
|
28
30
|
import { getDatabasePackagePath, loadRunaConfig, getSDKScriptsPath } from './chunk-OERS32LW.js';
|
|
29
31
|
import { findRunaConfig, findWorkspaceRoot } from './chunk-GT5DMS5R.js';
|
|
30
32
|
import { init_esm_shims } from './chunk-VRXHCR5K.js';
|
|
@@ -4205,7 +4207,7 @@ init_esm_shims();
|
|
|
4205
4207
|
var riskDetectorLoader = null;
|
|
4206
4208
|
function loadRiskDetectorModule() {
|
|
4207
4209
|
if (!riskDetectorLoader) {
|
|
4208
|
-
riskDetectorLoader = import('./risk-detector-
|
|
4210
|
+
riskDetectorLoader = import('./risk-detector-4D5HRUMY.js').then((module) => ({
|
|
4209
4211
|
detectSchemaRisks: module.detectSchemaRisks
|
|
4210
4212
|
})).catch((error) => {
|
|
4211
4213
|
riskDetectorLoader = null;
|
|
@@ -5508,30 +5510,49 @@ function reconcileRuntimeTableNode(params) {
|
|
|
5508
5510
|
];
|
|
5509
5511
|
}
|
|
5510
5512
|
const contradictions = [];
|
|
5511
|
-
|
|
5512
|
-
|
|
5513
|
-
|
|
5514
|
-
|
|
5515
|
-
|
|
5516
|
-
|
|
5513
|
+
const declarativeFks = normalizeFkSet(params.tableNode.outboundForeignKeys);
|
|
5514
|
+
if (declarativeFks.length > 0) {
|
|
5515
|
+
const runtimeFkSet = new Set(normalizeFkSet(params.runtimeTable.foreignKeys ?? []));
|
|
5516
|
+
const missingFks = declarativeFks.filter((fk) => !runtimeFkSet.has(fk));
|
|
5517
|
+
if (missingFks.length > 0) {
|
|
5518
|
+
contradictions.push({
|
|
5519
|
+
code: "RUNTIME_FK_MISMATCH",
|
|
5520
|
+
target: params.tableNode.qualifiedName,
|
|
5521
|
+
details: `Declarative foreign key(s) missing from runtime: ${missingFks.join(", ")}`
|
|
5522
|
+
});
|
|
5523
|
+
}
|
|
5517
5524
|
}
|
|
5518
|
-
|
|
5519
|
-
|
|
5520
|
-
)
|
|
5521
|
-
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
|
|
5525
|
-
|
|
5525
|
+
const declarativePolicies = normalizeNameSet(
|
|
5526
|
+
params.tableNode.policies.map((policy) => policy.name)
|
|
5527
|
+
);
|
|
5528
|
+
if (declarativePolicies.length > 0) {
|
|
5529
|
+
const runtimePolicySet = new Set(
|
|
5530
|
+
normalizeNameSet((params.runtimeTable.rlsPolicies ?? []).map((policy) => policy.name))
|
|
5531
|
+
);
|
|
5532
|
+
const missingPolicies = declarativePolicies.filter((p) => !runtimePolicySet.has(p));
|
|
5533
|
+
if (missingPolicies.length > 0) {
|
|
5534
|
+
contradictions.push({
|
|
5535
|
+
code: "RUNTIME_POLICY_MISMATCH",
|
|
5536
|
+
target: params.tableNode.qualifiedName,
|
|
5537
|
+
details: `Declarative RLS policy(s) missing from runtime: ${missingPolicies.join(", ")}`
|
|
5538
|
+
});
|
|
5539
|
+
}
|
|
5526
5540
|
}
|
|
5527
|
-
|
|
5528
|
-
|
|
5529
|
-
)
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5533
|
-
|
|
5534
|
-
|
|
5541
|
+
const declarativeTriggers = normalizeNameSet(
|
|
5542
|
+
params.tableNode.triggers.map((trigger) => trigger.name)
|
|
5543
|
+
);
|
|
5544
|
+
if (declarativeTriggers.length > 0) {
|
|
5545
|
+
const runtimeTriggerSet = new Set(
|
|
5546
|
+
normalizeNameSet((params.runtimeTable.triggers ?? []).map((trigger) => trigger.name))
|
|
5547
|
+
);
|
|
5548
|
+
const missingTriggers = declarativeTriggers.filter((t) => !runtimeTriggerSet.has(t));
|
|
5549
|
+
if (missingTriggers.length > 0) {
|
|
5550
|
+
contradictions.push({
|
|
5551
|
+
code: "RUNTIME_TRIGGER_MISMATCH",
|
|
5552
|
+
target: params.tableNode.qualifiedName,
|
|
5553
|
+
details: `Declarative trigger(s) missing from runtime: ${missingTriggers.join(", ")}`
|
|
5554
|
+
});
|
|
5555
|
+
}
|
|
5535
5556
|
}
|
|
5536
5557
|
return contradictions;
|
|
5537
5558
|
}
|
|
@@ -8429,6 +8450,37 @@ function tryGetProductionAdminUrl(targetDir) {
|
|
|
8429
8450
|
}
|
|
8430
8451
|
return void 0;
|
|
8431
8452
|
}
|
|
8453
|
+
function validateProductionPlan(planOutput, log) {
|
|
8454
|
+
if (!planOutput.trim() || planOutput.includes("No changes")) {
|
|
8455
|
+
log.info("\u2705 Production schema is up-to-date (no changes needed)");
|
|
8456
|
+
return;
|
|
8457
|
+
}
|
|
8458
|
+
const plan = parsePlanOutput(planOutput);
|
|
8459
|
+
const orderIssues = validateDependencyOrder(plan);
|
|
8460
|
+
if (orderIssues.length > 0) {
|
|
8461
|
+
for (const issue of orderIssues) {
|
|
8462
|
+
logger3.error(issue);
|
|
8463
|
+
}
|
|
8464
|
+
throw new Error(
|
|
8465
|
+
`\u274C Production DDL ordering issue detected (${orderIssues.length} problem(s)):
|
|
8466
|
+
` + orderIssues.map((i) => ` \u2022 ${i}`).join("\n") + "\n\nThis plan would fail during production deploy. The automatic reorder will attempt to fix this, but review the ordering."
|
|
8467
|
+
);
|
|
8468
|
+
}
|
|
8469
|
+
log.info("\u2705 Production DDL ordering verified");
|
|
8470
|
+
}
|
|
8471
|
+
async function resolveTempDbDsnForProductionCheck(targetDir) {
|
|
8472
|
+
const envDsn = process.env.PG_SCHEMA_DIFF_TEMP_DB_DSN?.trim();
|
|
8473
|
+
if (envDsn) return envDsn;
|
|
8474
|
+
try {
|
|
8475
|
+
const { buildLocalDatabaseUrl: buildLocalDatabaseUrl2 } = await import('./local-supabase-KTTC3O2L.js');
|
|
8476
|
+
const { verifyDatabaseConnection } = await import('./helpers-RHAZLOLQ.js');
|
|
8477
|
+
const localDsn = buildLocalDatabaseUrl2(targetDir);
|
|
8478
|
+
await verifyDatabaseConnection(localDsn, { maxRetries: 0 });
|
|
8479
|
+
return localDsn;
|
|
8480
|
+
} catch {
|
|
8481
|
+
}
|
|
8482
|
+
return void 0;
|
|
8483
|
+
}
|
|
8432
8484
|
async function runProductionDdlOrderCheck(params) {
|
|
8433
8485
|
const productionUrl = tryGetProductionAdminUrl(params.targetDir);
|
|
8434
8486
|
if (productionUrl) {
|
|
@@ -8448,30 +8500,16 @@ async function runProductionDdlOrderCheck(params) {
|
|
|
8448
8500
|
params.logger.info("\u{1F50D} Checking production DDL ordering...");
|
|
8449
8501
|
try {
|
|
8450
8502
|
const { executePgSchemaDiffPlan } = await import('./pg-schema-diff-helpers-JZO4GAQG.js');
|
|
8503
|
+
const tempDbDsn = await resolveTempDbDsnForProductionCheck(params.targetDir);
|
|
8451
8504
|
const { planOutput } = executePgSchemaDiffPlan(
|
|
8452
8505
|
productionUrl,
|
|
8453
8506
|
schemasDir,
|
|
8454
8507
|
includeSchemas,
|
|
8455
8508
|
false,
|
|
8456
8509
|
// not verbose
|
|
8457
|
-
{ targetDir: params.targetDir }
|
|
8510
|
+
{ targetDir: params.targetDir, tempDbDsn }
|
|
8458
8511
|
);
|
|
8459
|
-
|
|
8460
|
-
params.logger.info("\u2705 Production schema is up-to-date (no changes needed)");
|
|
8461
|
-
return;
|
|
8462
|
-
}
|
|
8463
|
-
const plan = parsePlanOutput(planOutput);
|
|
8464
|
-
const orderIssues = validateDependencyOrder(plan);
|
|
8465
|
-
if (orderIssues.length > 0) {
|
|
8466
|
-
for (const issue of orderIssues) {
|
|
8467
|
-
logger3.error(issue);
|
|
8468
|
-
}
|
|
8469
|
-
throw new Error(
|
|
8470
|
-
`\u274C Production DDL ordering issue detected (${orderIssues.length} problem(s)):
|
|
8471
|
-
` + orderIssues.map((i) => ` \u2022 ${i}`).join("\n") + "\n\nThis plan would fail during production deploy. The automatic reorder will attempt to fix this, but review the ordering."
|
|
8472
|
-
);
|
|
8473
|
-
}
|
|
8474
|
-
params.logger.info("\u2705 Production DDL ordering verified");
|
|
8512
|
+
validateProductionPlan(planOutput, params.logger);
|
|
8475
8513
|
} catch (error) {
|
|
8476
8514
|
if (error instanceof Error && error.message.includes("DDL ordering issue")) {
|
|
8477
8515
|
throw error;
|
|
@@ -4,16 +4,17 @@ import { startAppBackground, waitForAppReady, detectApp } from './chunk-EXR4J2JT
|
|
|
4
4
|
import { writeEnvLocalBridge } from './chunk-KUH3G522.js';
|
|
5
5
|
import { generateTablesManifest } from './chunk-O3M7A73M.js';
|
|
6
6
|
import './chunk-A6A7JIRD.js';
|
|
7
|
-
import { manifestActor, supabaseStartActor, envCheckActor, depsInstallActor, detectManifestTask, detectDatabase } from './chunk-
|
|
7
|
+
import { manifestActor, supabaseStartActor, envCheckActor, depsInstallActor, detectManifestTask, detectDatabase } from './chunk-C3SRIUWX.js';
|
|
8
8
|
import { findRepoRoot } from './chunk-3WDV32GA.js';
|
|
9
9
|
import './chunk-ELXXQIGW.js';
|
|
10
10
|
import { createMachineStateChangeLogger } from './chunk-5FT3F36G.js';
|
|
11
11
|
import './chunk-II7VYQEM.js';
|
|
12
|
-
import
|
|
12
|
+
import './chunk-NOXYPVMZ.js';
|
|
13
13
|
import { secureExeca } from './chunk-RZLYEO4U.js';
|
|
14
14
|
import { emitJsonSuccess } from './chunk-KE6QJBZG.js';
|
|
15
15
|
import './chunk-WJXC4MVY.js';
|
|
16
16
|
import './chunk-HKUWEGUX.js';
|
|
17
|
+
import { init_local_supabase, buildLocalDatabaseUrl, detectLocalSupabasePorts } from './chunk-F2AQ3EYJ.js';
|
|
17
18
|
import './chunk-OERS32LW.js';
|
|
18
19
|
import './chunk-GT5DMS5R.js';
|
|
19
20
|
import { init_esm_shims } from './chunk-VRXHCR5K.js';
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
3
|
import { isNonInteractiveEnabled } from './chunk-6Y3LAUGL.js';
|
|
4
4
|
import { registerCleanup } from './chunk-TYIAD6SB.js';
|
|
5
|
-
import { tryResolveDatabaseUrl } from './chunk-
|
|
6
|
-
import './chunk-
|
|
5
|
+
import { tryResolveDatabaseUrl } from './chunk-ZDETCPCE.js';
|
|
6
|
+
import './chunk-47BG6DRP.js';
|
|
7
7
|
import { loadEnvFiles } from './chunk-IWVXI5O4.js';
|
|
8
8
|
import { getVercelRootDirectory } from './chunk-MXRWBNIY.js';
|
|
9
9
|
import { syncRunaConfigWithVercel } from './chunk-6AALH2ED.js';
|
|
10
10
|
import './chunk-B7C7CLW2.js';
|
|
11
11
|
import './chunk-II7VYQEM.js';
|
|
12
|
-
import
|
|
12
|
+
import './chunk-NOXYPVMZ.js';
|
|
13
13
|
import { emitJsonSuccess } from './chunk-KE6QJBZG.js';
|
|
14
14
|
import './chunk-WJXC4MVY.js';
|
|
15
15
|
import './chunk-HKUWEGUX.js';
|
|
16
|
+
import { init_local_supabase, getLocalSupabaseEnvValues, getLocalValueDescriptions } from './chunk-F2AQ3EYJ.js';
|
|
16
17
|
import './chunk-GT5DMS5R.js';
|
|
17
18
|
import { init_esm_shims } from './chunk-VRXHCR5K.js';
|
|
18
19
|
import { Command } from 'commander';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
|
-
export { env, getDatabaseUrl, hasEnv, isCI, isDebug, sanitizeEnv } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { env, getDatabaseUrl, hasEnv, isCI, isDebug, sanitizeEnv } from './chunk-47BG6DRP.js';
|
|
4
|
+
import './chunk-NOXYPVMZ.js';
|
|
5
|
+
import './chunk-F2AQ3EYJ.js';
|
|
5
6
|
import './chunk-VRXHCR5K.js';
|
|
6
7
|
|
|
7
8
|
createRequire(import.meta.url);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'module';
|
|
3
|
+
export { ALLOWED_DDL_PREFIXES, BASE_DELAY_MS, BLOCKED_SQL_PATTERNS, DEFAULT_MAX_DELAY_MS, DbPlanArtifactSchema, MAX_RETRIES, MIGRATION_LOCK_ID, acquireAdvisoryLock, backupIdempotentTables, bootstrapTempDbFromSource, buildAllowedHazards, buildCheckConstraintQuery, buildCheckModePlanSummary, buildNotNullQuery, buildTargetFingerprint, buildTempDbBootstrapStatements, buildTypeCastQuery, buildUniqueQuery, calculateBackoffDelay, checkDataCompatibility, checkPasswordSecurity, cleanPartitionAclsForPgSchemaDiff, cleanupOrphanShadowDatabases, createShadowDbWithExtensions, detectPartitionDrift, detectPlannerSchemas, displayCheckModeResults, displayDataCompatibilityResults, displayHazardsWithContext, executePlanSqlWithRetry, filterCheckModePlanStatements, filterFalsePositiveHazards, filterIdempotentProtectedStatements, formatPartitionWarnings, getDbPlanArtifactPath, getIdempotentProtectedObjects, getIdempotentProtectedTables, getIdempotentRoles, getTableRowEstimates, getTransactionStrategy, handleFreshDbCase, handleHazardsWithContext, handleProductionAuthzProtection, handleProductionDataProtection, hasAppTables, hasTransactionIncompatibleContent, hasTransactionIncompatibleStatements, isDropStatementForProtectedObject, isIdempotentManagedAuthzStatement, isIdempotentManagedRlsStatement, isIdempotentRoleHazard, isLockTimeoutError, isNoChangePlanOutput, isValidIdentifier, maskDbCredentials, needsShadowDb, parseAddCheck, parseAddUnique, parseAlterType, parseCreateUniqueIndex, parseDbCredentials, parseExpectedPartitions, parseHazardsWithContext, parsePlanOutput, parseSetNotNull, persistDbPlanArtifact, prefilterPartitionStubs, qualifiedTable, queryActualPartitions, quoteIdent, releaseAdvisoryLock, reorderRawSqlDependencies, resetIdempotentRolesCache, resetManagedAuthzCache, setRolePasswords, sleep, stripLeadingSessionStatements, tryReuseDbPlanArtifact, validateDependencyOrder, validateDependencyOrderFromRawSql, validatePlanForExecution, validateStatementTypes, verifyDataIntegrity, wrapInTransaction } from './chunk-WHVJ4JMQ.js';
|
|
4
|
+
import './chunk-EZ46JIEO.js';
|
|
5
|
+
import './chunk-ZDETCPCE.js';
|
|
6
|
+
export { PG_SCHEMA_DIFF_APPLY_TIMEOUT_MS, detectDropTableStatements, detectPartitionPrivilegeError, executePgSchemaDiffPlan, formatPartitionPrivilegeHint, freeConnectionSlotsForPgSchemaDiff, startConnectionCleanupDaemon, stopConnectionCleanupDaemon, verifyDatabaseConnection, verifyPgSchemaDiffBinary } from './chunk-HWR5NUUZ.js';
|
|
7
|
+
import './chunk-47BG6DRP.js';
|
|
8
|
+
export { blankDollarQuotedBodies } from './chunk-A6A7JIRD.js';
|
|
9
|
+
import './chunk-FZONYKNR.js';
|
|
10
|
+
import './chunk-II7VYQEM.js';
|
|
11
|
+
import './chunk-NOXYPVMZ.js';
|
|
12
|
+
import './chunk-F2AQ3EYJ.js';
|
|
13
|
+
import './chunk-VRXHCR5K.js';
|
|
14
|
+
|
|
15
|
+
createRequire(import.meta.url);
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
3
|
import { createError } from './chunk-NIS77243.js';
|
|
4
|
-
import { tryResolveDatabaseUrl } from './chunk-
|
|
5
|
-
import './chunk-
|
|
4
|
+
import { tryResolveDatabaseUrl } from './chunk-ZDETCPCE.js';
|
|
5
|
+
import './chunk-47BG6DRP.js';
|
|
6
6
|
import { loadEnvFiles } from './chunk-IWVXI5O4.js';
|
|
7
7
|
import { isPathContained } from './chunk-B7C7CLW2.js';
|
|
8
8
|
import './chunk-II7VYQEM.js';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-NOXYPVMZ.js';
|
|
10
|
+
import './chunk-F2AQ3EYJ.js';
|
|
10
11
|
import './chunk-GT5DMS5R.js';
|
|
11
12
|
import { init_esm_shims } from './chunk-VRXHCR5K.js';
|
|
12
13
|
import { Command } from 'commander';
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
3
|
import { getRequestedCommandNameFromArgv } from './chunk-UWWSAPDR.js';
|
|
4
|
-
import { CLI_VERSION } from './chunk-
|
|
4
|
+
import { CLI_VERSION } from './chunk-FZONYKNR.js';
|
|
5
5
|
import { init_esm_shims } from './chunk-VRXHCR5K.js';
|
|
6
6
|
import { realpathSync } from 'fs';
|
|
7
7
|
import { fileURLToPath } from 'url';
|
|
@@ -36,7 +36,7 @@ async function getProgram(options) {
|
|
|
36
36
|
};
|
|
37
37
|
const nextKey = getProgramCacheKey(resolvedOptions);
|
|
38
38
|
if (!programInstance || programCacheKey !== nextKey) {
|
|
39
|
-
const { createProgram } = await import('./cli-
|
|
39
|
+
const { createProgram } = await import('./cli-4HI3D2II.js');
|
|
40
40
|
programInstance = await createProgram(resolvedOptions);
|
|
41
41
|
programCacheKey = nextKey;
|
|
42
42
|
}
|
|
@@ -60,7 +60,7 @@ async function runCliFromProcessArgv() {
|
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
62
|
const { setupSignalHandlers } = await import('./signal-handler-DO3OANW5.js');
|
|
63
|
-
const { executeProgram } = await import('./cli-
|
|
63
|
+
const { executeProgram } = await import('./cli-4HI3D2II.js');
|
|
64
64
|
setupSignalHandlers();
|
|
65
65
|
const options = getProgramLoadOptions(argv);
|
|
66
66
|
const program = await getProgram(options);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'module';
|
|
3
|
+
import { init_local_supabase } from './chunk-F2AQ3EYJ.js';
|
|
4
|
+
export { LOCAL_DATABASE_URL, LOCAL_REPLACEMENT_KEYS, LOCAL_SUPABASE_ANON_KEY, LOCAL_SUPABASE_ENV_VALUES, LOCAL_SUPABASE_SERVICE_ROLE_KEY, LOCAL_SUPABASE_URL, LOCAL_VALUE_DESCRIPTIONS, buildLocalDatabaseUrl, buildLocalSupabaseUrl, clearLocalSupabaseDetectionCache, detectLocalSupabasePorts, getLocalSupabaseEnvValues, getLocalValueDescriptions, parseTomlPort, validateLocalhostValues } from './chunk-F2AQ3EYJ.js';
|
|
5
|
+
import './chunk-VRXHCR5K.js';
|
|
6
|
+
|
|
7
|
+
createRequire(import.meta.url);
|
|
8
|
+
init_local_supabase();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
|
-
export { categorizeRisks, detectSchemaRisks } from './chunk-
|
|
3
|
+
export { categorizeRisks, detectSchemaRisks } from './chunk-XVGMGFKF.js';
|
|
4
4
|
import './chunk-VRXHCR5K.js';
|
|
5
5
|
|
|
6
6
|
createRequire(import.meta.url);
|
|
@@ -54,7 +54,7 @@ var UNQUALIFIED_EXTENSION_REFERENCE_PATTERNS = [
|
|
|
54
54
|
var plpgsqlModulePromise = null;
|
|
55
55
|
async function loadPlpgsqlRiskDetectorModule() {
|
|
56
56
|
if (!plpgsqlModulePromise) {
|
|
57
|
-
plpgsqlModulePromise = import('./risk-detector-plpgsql-
|
|
57
|
+
plpgsqlModulePromise = import('./risk-detector-plpgsql-NNUZU3OQ.js').catch((error) => {
|
|
58
58
|
plpgsqlModulePromise = null;
|
|
59
59
|
throw error;
|
|
60
60
|
});
|
|
@@ -71,7 +71,7 @@ var vulnCheckCommand = new Command("vuln-check").description("Run comprehensive
|
|
|
71
71
|
const logger = createCLILogger("vuln-check");
|
|
72
72
|
const isJsonMode = getOutputFormatFromEnv() === "json" || options.format === "json";
|
|
73
73
|
try {
|
|
74
|
-
const { VulnChecker } = await import('./vuln-checker-
|
|
74
|
+
const { VulnChecker } = await import('./vuln-checker-LMHRSMYY.js');
|
|
75
75
|
const categoryMap = {
|
|
76
76
|
code: ["injection", "auth", "crypto"],
|
|
77
77
|
deps: ["dependency"],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
|
-
import { CLI_VERSION } from './chunk-
|
|
3
|
+
import { CLI_VERSION } from './chunk-FZONYKNR.js';
|
|
4
4
|
import { init_esm_shims } from './chunk-VRXHCR5K.js';
|
|
5
5
|
import { glob } from 'glob';
|
|
6
6
|
import { exec } from 'child_process';
|
|
@@ -284,7 +284,7 @@ function validateSqlSchema(content, errors, warnings) {
|
|
|
284
284
|
var riskDetectorLoader = null;
|
|
285
285
|
function loadRiskDetectorModule() {
|
|
286
286
|
if (!riskDetectorLoader) {
|
|
287
|
-
riskDetectorLoader = import('./risk-detector-
|
|
287
|
+
riskDetectorLoader = import('./risk-detector-4D5HRUMY.js').then((module) => ({
|
|
288
288
|
detectSchemaRisks: module.detectSchemaRisks
|
|
289
289
|
})).catch((error) => {
|
|
290
290
|
riskDetectorLoader = null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runa-ai/runa-cli",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "AI-powered DevOps CLI",
|
|
6
6
|
"type": "module",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"typescript": "5.9.3",
|
|
57
57
|
"xstate": "5.28.0",
|
|
58
58
|
"zod": "4.3.6",
|
|
59
|
-
"@runa-ai/runa": "0.10.
|
|
60
|
-
"@runa-ai/runa-xstate-test-plugin": "0.10.
|
|
59
|
+
"@runa-ai/runa": "0.10.5",
|
|
60
|
+
"@runa-ai/runa-xstate-test-plugin": "0.10.5"
|
|
61
61
|
},
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=20.0.0"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
|
-
import { splitPlpgsqlStatementsWithOffsets, parseTopLevelAssignment, extractExecuteExpressions, skipWhitespace, extractStaticSqlFromExpression, mergeStringEnvValue, skipIdentifier } from './chunk-EZ46JIEO.js';
|
|
4
3
|
import { stripSqlCommentsPreserveLines, buildLineStarts, lineNumberFromIndex, stripSqlStringsPreserveLines, detectRisksFromContent, stripSqlForPatternMatching } from './chunk-3FDQW524.js';
|
|
4
|
+
import { splitPlpgsqlStatementsWithOffsets, parseTopLevelAssignment, extractExecuteExpressions, skipWhitespace, extractStaticSqlFromExpression, mergeStringEnvValue, skipIdentifier } from './chunk-EZ46JIEO.js';
|
|
5
5
|
import { init_esm_shims } from './chunk-VRXHCR5K.js';
|
|
6
6
|
|
|
7
7
|
createRequire(import.meta.url);
|