chkit 0.1.0-beta.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.
Files changed (114) hide show
  1. package/README.md +43 -0
  2. package/dist/bin/chkit.d.ts +3 -0
  3. package/dist/bin/chkit.d.ts.map +1 -0
  4. package/dist/bin/chkit.js +337 -0
  5. package/dist/bin/chkit.js.map +1 -0
  6. package/dist/bin/commands/check.d.ts +2 -0
  7. package/dist/bin/commands/check.d.ts.map +1 -0
  8. package/dist/bin/commands/check.js +123 -0
  9. package/dist/bin/commands/check.js.map +1 -0
  10. package/dist/bin/commands/codegen.d.ts +2 -0
  11. package/dist/bin/commands/codegen.d.ts.map +1 -0
  12. package/dist/bin/commands/codegen.js +25 -0
  13. package/dist/bin/commands/codegen.js.map +1 -0
  14. package/dist/bin/commands/drift.d.ts +22 -0
  15. package/dist/bin/commands/drift.d.ts.map +1 -0
  16. package/dist/bin/commands/drift.js +170 -0
  17. package/dist/bin/commands/drift.js.map +1 -0
  18. package/dist/bin/commands/generate/output.d.ts +8 -0
  19. package/dist/bin/commands/generate/output.d.ts.map +1 -0
  20. package/dist/bin/commands/generate/output.js +58 -0
  21. package/dist/bin/commands/generate/output.js.map +1 -0
  22. package/dist/bin/commands/generate/plan-pipeline.d.ts +7 -0
  23. package/dist/bin/commands/generate/plan-pipeline.d.ts.map +1 -0
  24. package/dist/bin/commands/generate/plan-pipeline.js +139 -0
  25. package/dist/bin/commands/generate/plan-pipeline.js.map +1 -0
  26. package/dist/bin/commands/generate/rename-mappings.d.ts +29 -0
  27. package/dist/bin/commands/generate/rename-mappings.d.ts.map +1 -0
  28. package/dist/bin/commands/generate/rename-mappings.js +207 -0
  29. package/dist/bin/commands/generate/rename-mappings.js.map +1 -0
  30. package/dist/bin/commands/generate.d.ts +2 -0
  31. package/dist/bin/commands/generate.d.ts.map +1 -0
  32. package/dist/bin/commands/generate.js +137 -0
  33. package/dist/bin/commands/generate.js.map +1 -0
  34. package/dist/bin/commands/init.d.ts +2 -0
  35. package/dist/bin/commands/init.d.ts.map +1 -0
  36. package/dist/bin/commands/init.js +12 -0
  37. package/dist/bin/commands/init.js.map +1 -0
  38. package/dist/bin/commands/migrate.d.ts +2 -0
  39. package/dist/bin/commands/migrate.d.ts.map +1 -0
  40. package/dist/bin/commands/migrate.js +262 -0
  41. package/dist/bin/commands/migrate.js.map +1 -0
  42. package/dist/bin/commands/plugin-like.d.ts +38 -0
  43. package/dist/bin/commands/plugin-like.d.ts.map +1 -0
  44. package/dist/bin/commands/plugin-like.js +101 -0
  45. package/dist/bin/commands/plugin-like.js.map +1 -0
  46. package/dist/bin/commands/plugin.d.ts +2 -0
  47. package/dist/bin/commands/plugin.d.ts.map +1 -0
  48. package/dist/bin/commands/plugin.js +92 -0
  49. package/dist/bin/commands/plugin.js.map +1 -0
  50. package/dist/bin/commands/pull.d.ts +2 -0
  51. package/dist/bin/commands/pull.d.ts.map +1 -0
  52. package/dist/bin/commands/pull.js +25 -0
  53. package/dist/bin/commands/pull.js.map +1 -0
  54. package/dist/bin/commands/status.d.ts +2 -0
  55. package/dist/bin/commands/status.d.ts.map +1 -0
  56. package/dist/bin/commands/status.js +42 -0
  57. package/dist/bin/commands/status.js.map +1 -0
  58. package/dist/bin/commands/typegen.d.ts +2 -0
  59. package/dist/bin/commands/typegen.d.ts.map +1 -0
  60. package/dist/bin/commands/typegen.js +25 -0
  61. package/dist/bin/commands/typegen.js.map +1 -0
  62. package/dist/bin/config.d.ts +26 -0
  63. package/dist/bin/config.d.ts.map +1 -0
  64. package/dist/bin/config.js +59 -0
  65. package/dist/bin/config.js.map +1 -0
  66. package/dist/bin/json-output.d.ts +8 -0
  67. package/dist/bin/json-output.d.ts.map +1 -0
  68. package/dist/bin/json-output.js +21 -0
  69. package/dist/bin/json-output.js.map +1 -0
  70. package/dist/bin/lib.d.ts +7 -0
  71. package/dist/bin/lib.d.ts.map +1 -0
  72. package/dist/bin/lib.js +7 -0
  73. package/dist/bin/lib.js.map +1 -0
  74. package/dist/bin/migration-store.d.ts +24 -0
  75. package/dist/bin/migration-store.d.ts.map +1 -0
  76. package/dist/bin/migration-store.js +96 -0
  77. package/dist/bin/migration-store.js.map +1 -0
  78. package/dist/bin/plugin-runtime.d.ts +37 -0
  79. package/dist/bin/plugin-runtime.d.ts.map +1 -0
  80. package/dist/bin/plugin-runtime.js +264 -0
  81. package/dist/bin/plugin-runtime.js.map +1 -0
  82. package/dist/bin/safety-markers.d.ts +24 -0
  83. package/dist/bin/safety-markers.d.ts.map +1 -0
  84. package/dist/bin/safety-markers.js +94 -0
  85. package/dist/bin/safety-markers.js.map +1 -0
  86. package/dist/bin/schema-loader.d.ts +3 -0
  87. package/dist/bin/schema-loader.d.ts.map +1 -0
  88. package/dist/bin/schema-loader.js +6 -0
  89. package/dist/bin/schema-loader.js.map +1 -0
  90. package/dist/bin/table-scope.d.ts +39 -0
  91. package/dist/bin/table-scope.d.ts.map +1 -0
  92. package/dist/bin/table-scope.js +167 -0
  93. package/dist/bin/table-scope.js.map +1 -0
  94. package/dist/bin/version.d.ts +2 -0
  95. package/dist/bin/version.d.ts.map +1 -0
  96. package/dist/bin/version.js +2 -0
  97. package/dist/bin/version.js.map +1 -0
  98. package/dist/drift-diff.d.ts +8 -0
  99. package/dist/drift-diff.d.ts.map +1 -0
  100. package/dist/drift-diff.js +46 -0
  101. package/dist/drift-diff.js.map +1 -0
  102. package/dist/drift.d.ts +65 -0
  103. package/dist/drift.d.ts.map +1 -0
  104. package/dist/drift.js +209 -0
  105. package/dist/drift.js.map +1 -0
  106. package/dist/index.d.ts +2 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +2 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/plugins.d.ts +103 -0
  111. package/dist/plugins.d.ts.map +1 -0
  112. package/dist/plugins.js +10 -0
  113. package/dist/plugins.js.map +1 -0
  114. package/package.json +28 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-runtime.js","sourceRoot":"","sources":["../../src/bin/plugin-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export interface DestructiveOperationMarker {
2
+ migration: string;
3
+ type: string;
4
+ key: string;
5
+ risk: string;
6
+ warningCode: string;
7
+ reason: string;
8
+ impact: string;
9
+ recommendation: string;
10
+ summary: string;
11
+ }
12
+ export interface MigrationOperationSummary {
13
+ type: string;
14
+ key: string;
15
+ risk: string;
16
+ summary: string;
17
+ }
18
+ export declare function extractExecutableStatements(sql: string): string[];
19
+ export declare function migrationContainsDangerOperation(sql: string): boolean;
20
+ export declare function extractDestructiveOperationSummaries(sql: string): string[];
21
+ export declare function parseOperationLine(summary: string): MigrationOperationSummary | null;
22
+ export declare function extractMigrationOperationSummaries(sql: string): MigrationOperationSummary[];
23
+ export declare function collectDestructiveOperationMarkers(migration: string, sql: string): DestructiveOperationMarker[];
24
+ //# sourceMappingURL=safety-markers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety-markers.d.ts","sourceRoot":"","sources":["../../src/bin/safety-markers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAWjE;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAM1E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CASpF;AAED,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,EAAE,CAQ3F;AAyCD,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,0BAA0B,EAAE,CAmB9B"}
@@ -0,0 +1,94 @@
1
+ export function extractExecutableStatements(sql) {
2
+ const nonCommentLines = sql
3
+ .split('\n')
4
+ .filter((line) => !line.trim().startsWith('--'))
5
+ .join('\n');
6
+ return nonCommentLines
7
+ .split(';')
8
+ .map((part) => part.trim())
9
+ .filter((part) => part.length > 0)
10
+ .map((part) => `${part};`);
11
+ }
12
+ export function migrationContainsDangerOperation(sql) {
13
+ return extractDestructiveOperationSummaries(sql).length > 0;
14
+ }
15
+ export function extractDestructiveOperationSummaries(sql) {
16
+ return sql
17
+ .split('\n')
18
+ .map((line) => line.trim())
19
+ .filter((line) => line.startsWith('-- operation:') && line.includes('risk=danger'))
20
+ .map((line) => line.replace(/^-- operation:\s*/, ''));
21
+ }
22
+ export function parseOperationLine(summary) {
23
+ const match = summary.match(/^([a-z_]+)\s+key=([^\s]+)\s+risk=([a-z_]+)$/);
24
+ if (!match)
25
+ return null;
26
+ return {
27
+ type: match[1] ?? 'unknown',
28
+ key: match[2] ?? 'unknown',
29
+ risk: match[3] ?? 'unknown',
30
+ summary,
31
+ };
32
+ }
33
+ export function extractMigrationOperationSummaries(sql) {
34
+ return sql
35
+ .split('\n')
36
+ .map((line) => line.trim())
37
+ .filter((line) => line.startsWith('-- operation:'))
38
+ .map((line) => line.replace(/^-- operation:\s*/, ''))
39
+ .map((summary) => parseOperationLine(summary))
40
+ .filter((item) => item !== null);
41
+ }
42
+ function describeDestructiveOperation(type) {
43
+ if (type === 'drop_table') {
44
+ return {
45
+ warningCode: 'drop_table_data_loss',
46
+ reason: 'Dropping a table removes table data and metadata from the target database.',
47
+ impact: 'Queries that depend on this table will fail until it is recreated and repopulated.',
48
+ recommendation: 'Verify backups and downstream dependencies before approving.',
49
+ };
50
+ }
51
+ if (type === 'alter_table_drop_column') {
52
+ return {
53
+ warningCode: 'drop_column_irreversible',
54
+ reason: 'Dropping a column permanently removes stored values for that column.',
55
+ impact: 'Applications or analytics depending on the column will break or return incomplete data.',
56
+ recommendation: 'Confirm the column is deprecated and no readers still require it.',
57
+ };
58
+ }
59
+ if (type === 'drop_view' || type === 'drop_materialized_view') {
60
+ return {
61
+ warningCode: 'drop_view_dependency_break',
62
+ reason: 'Dropping a view removes a query interface used by clients and pipelines.',
63
+ impact: 'Dependent workloads may fail until compatible replacements are in place.',
64
+ recommendation: 'Confirm replacement view rollout and dependency readiness.',
65
+ };
66
+ }
67
+ return {
68
+ warningCode: 'destructive_operation_review_required',
69
+ reason: 'This operation is marked destructive by planner risk classification.',
70
+ impact: 'Execution may cause irreversible schema or data changes.',
71
+ recommendation: 'Review SQL and dependency impact before approving.',
72
+ };
73
+ }
74
+ export function collectDestructiveOperationMarkers(migration, sql) {
75
+ return extractDestructiveOperationSummaries(sql).map((summary) => {
76
+ const parsed = parseOperationLine(summary);
77
+ const type = parsed?.type ?? 'unknown';
78
+ const key = parsed?.key ?? 'unknown';
79
+ const risk = parsed?.risk ?? 'danger';
80
+ const detail = describeDestructiveOperation(type);
81
+ return {
82
+ migration,
83
+ type,
84
+ key,
85
+ risk,
86
+ warningCode: detail.warningCode,
87
+ reason: detail.reason,
88
+ impact: detail.impact,
89
+ recommendation: detail.recommendation,
90
+ summary,
91
+ };
92
+ });
93
+ }
94
+ //# sourceMappingURL=safety-markers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety-markers.js","sourceRoot":"","sources":["../../src/bin/safety-markers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type SchemaDefinition } from '@chkit/core';
2
+ export declare function loadSchemaDefinitions(schemaGlobs: string | string[]): Promise<SchemaDefinition[]>;
3
+ //# sourceMappingURL=schema-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-loader.d.ts","sourceRoot":"","sources":["../../src/bin/schema-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0D,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE3G,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAEvG"}
@@ -0,0 +1,6 @@
1
+ import process from 'node:process';
2
+ import { loadSchemaDefinitions as loadSchemaDefinitionsFromCore } from '@chkit/core';
3
+ export async function loadSchemaDefinitions(schemaGlobs) {
4
+ return loadSchemaDefinitionsFromCore(schemaGlobs, { cwd: process.cwd() });
5
+ }
6
+ //# sourceMappingURL=schema-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-loader.js","sourceRoot":"","sources":["../../src/bin/schema-loader.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,qBAAqB,IAAI,6BAA6B,EAAyB,MAAM,aAAa,CAAA;AAE3G,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAA8B;IACxE,OAAO,6BAA6B,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAC3E,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { MigrationPlan, SchemaDefinition } from '@chkit/core';
2
+ interface ParsedTableSelector {
3
+ database?: string;
4
+ mode: 'exact' | 'prefix';
5
+ value: string;
6
+ }
7
+ export interface TableScope {
8
+ enabled: boolean;
9
+ selector?: string;
10
+ matchedTables: string[];
11
+ matchCount: number;
12
+ }
13
+ export interface TableScopeFilterResult {
14
+ plan: MigrationPlan;
15
+ omittedOperationCount: number;
16
+ }
17
+ interface TableRenameMapping {
18
+ oldDatabase: string;
19
+ oldName: string;
20
+ newDatabase: string;
21
+ newName: string;
22
+ }
23
+ export declare function tableKey(database: string, name: string): string;
24
+ export declare function tableKeysFromDefinitions(definitions: SchemaDefinition[]): string[];
25
+ export declare function parseTableSelector(input: string): ParsedTableSelector;
26
+ export declare function resolveTableScope(selector: string | undefined, availableTables: string[]): TableScope;
27
+ export declare function tableKeyFromOperationKey(operationKey: string): string | null;
28
+ export declare function databaseKeyFromOperationKey(operationKey: string): string | null;
29
+ export declare function filterPlanByTableScope(plan: MigrationPlan, matchedTables: ReadonlySet<string>, options?: {
30
+ renameMappings?: TableRenameMapping[];
31
+ }): TableScopeFilterResult;
32
+ export declare function buildScopedSnapshotDefinitions(input: {
33
+ previousDefinitions: SchemaDefinition[];
34
+ nextDefinitions: SchemaDefinition[];
35
+ matchedTables: ReadonlySet<string>;
36
+ renameMappings?: TableRenameMapping[];
37
+ }): SchemaDefinition[];
38
+ export {};
39
+ //# sourceMappingURL=table-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-scope.d.ts","sourceRoot":"","sources":["../../src/bin/table-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,gBAAgB,EAEjB,MAAM,aAAa,CAAA;AAEpB,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,aAAa,CAAA;IACnB,qBAAqB,EAAE,MAAM,CAAA;CAC9B;AAED,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,MAAM,EAAE,CAElF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAyDrE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,UAAU,CA4BrG;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5E;AAED,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG/E;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,EAClC,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAAO,GACtD,sBAAsB,CAqDxB;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,mBAAmB,EAAE,gBAAgB,EAAE,CAAA;IACvC,eAAe,EAAE,gBAAgB,EAAE,CAAA;IACnC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAClC,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACtC,GAAG,gBAAgB,EAAE,CAqCrB"}
@@ -0,0 +1,167 @@
1
+ export function tableKey(database, name) {
2
+ return `${database}.${name}`;
3
+ }
4
+ export function tableKeysFromDefinitions(definitions) {
5
+ return [...new Set(definitions.filter((def) => def.kind === 'table').map((def) => tableKey(def.database, def.name)))].sort((a, b) => a.localeCompare(b));
6
+ }
7
+ export function parseTableSelector(input) {
8
+ const selector = input.trim();
9
+ if (!selector) {
10
+ throw new Error('Invalid --table selector "". Expected <table>, <table_prefix*>, <database.table>, or <database.table_prefix*>.');
11
+ }
12
+ const dot = selector.indexOf('.');
13
+ const [database, tableToken] = dot === -1
14
+ ? [undefined, selector]
15
+ : [selector.slice(0, dot).trim(), selector.slice(dot + 1).trim()];
16
+ if (database !== undefined && (database.length === 0 || database.includes('*'))) {
17
+ throw new Error(`Invalid --table selector "${selector}". Database qualifier must be non-empty and cannot contain "*".`);
18
+ }
19
+ if (!tableToken || tableToken === '*') {
20
+ throw new Error(`Invalid --table selector "${selector}". A bare "*" is not supported; use an exact table or trailing wildcard prefix.`);
21
+ }
22
+ const wildcardCount = [...tableToken].filter((char) => char === '*').length;
23
+ if (wildcardCount > 1 || (wildcardCount === 1 && !tableToken.endsWith('*'))) {
24
+ throw new Error(`Invalid --table selector "${selector}". "*" is only allowed as a trailing suffix (for example, events_*).`);
25
+ }
26
+ if (tableToken.slice(0, -1).includes('*')) {
27
+ throw new Error(`Invalid --table selector "${selector}". "*" is only allowed as a trailing suffix (for example, events_*).`);
28
+ }
29
+ if (tableToken.endsWith('*')) {
30
+ const value = tableToken.slice(0, -1);
31
+ if (!value) {
32
+ throw new Error(`Invalid --table selector "${selector}". A bare "*" is not supported; use an exact table or trailing wildcard prefix.`);
33
+ }
34
+ return {
35
+ database,
36
+ mode: 'prefix',
37
+ value,
38
+ };
39
+ }
40
+ return {
41
+ database,
42
+ mode: 'exact',
43
+ value: tableToken,
44
+ };
45
+ }
46
+ export function resolveTableScope(selector, availableTables) {
47
+ if (!selector) {
48
+ return {
49
+ enabled: false,
50
+ matchedTables: [],
51
+ matchCount: 0,
52
+ };
53
+ }
54
+ const parsed = parseTableSelector(selector);
55
+ const normalized = [...new Set(availableTables)].sort((a, b) => a.localeCompare(b));
56
+ const matchedTables = normalized.filter((candidate) => {
57
+ const dot = candidate.indexOf('.');
58
+ if (dot <= 0 || dot === candidate.length - 1)
59
+ return false;
60
+ const database = candidate.slice(0, dot);
61
+ const table = candidate.slice(dot + 1);
62
+ if (parsed.database && parsed.database !== database)
63
+ return false;
64
+ if (parsed.mode === 'exact')
65
+ return table === parsed.value;
66
+ return table.startsWith(parsed.value);
67
+ });
68
+ return {
69
+ enabled: true,
70
+ selector,
71
+ matchedTables,
72
+ matchCount: matchedTables.length,
73
+ };
74
+ }
75
+ export function tableKeyFromOperationKey(operationKey) {
76
+ if (!operationKey.startsWith('table:'))
77
+ return null;
78
+ const target = operationKey.slice('table:'.length);
79
+ const nextSegment = target.indexOf(':');
80
+ return nextSegment === -1 ? target : target.slice(0, nextSegment);
81
+ }
82
+ export function databaseKeyFromOperationKey(operationKey) {
83
+ if (!operationKey.startsWith('database:'))
84
+ return null;
85
+ return operationKey.slice('database:'.length);
86
+ }
87
+ export function filterPlanByTableScope(plan, matchedTables, options = {}) {
88
+ if (matchedTables.size === 0) {
89
+ return {
90
+ plan: {
91
+ operations: [],
92
+ renameSuggestions: [],
93
+ riskSummary: { safe: 0, caution: 0, danger: 0 },
94
+ },
95
+ omittedOperationCount: plan.operations.length,
96
+ };
97
+ }
98
+ const selectedTables = new Set(matchedTables);
99
+ for (const mapping of options.renameMappings ?? []) {
100
+ const oldKey = tableKey(mapping.oldDatabase, mapping.oldName);
101
+ const newKey = tableKey(mapping.newDatabase, mapping.newName);
102
+ if (selectedTables.has(oldKey) || selectedTables.has(newKey)) {
103
+ selectedTables.add(oldKey);
104
+ selectedTables.add(newKey);
105
+ }
106
+ }
107
+ const selectedDatabases = new Set([...selectedTables].map((value) => value.split('.')[0] ?? ''));
108
+ const operations = plan.operations.filter((operation) => {
109
+ const targetTable = tableKeyFromOperationKey(operation.key);
110
+ if (targetTable)
111
+ return selectedTables.has(targetTable);
112
+ const targetDatabase = databaseKeyFromOperationKey(operation.key);
113
+ if (targetDatabase)
114
+ return selectedDatabases.has(targetDatabase);
115
+ return false;
116
+ });
117
+ const renameSuggestions = plan.renameSuggestions.filter((suggestion) => selectedTables.has(tableKey(suggestion.database, suggestion.table)));
118
+ const riskSummary = operations.reduce((summary, operation) => {
119
+ summary[operation.risk] += 1;
120
+ return summary;
121
+ }, { safe: 0, caution: 0, danger: 0 });
122
+ return {
123
+ plan: {
124
+ operations,
125
+ renameSuggestions,
126
+ riskSummary,
127
+ },
128
+ omittedOperationCount: plan.operations.length - operations.length,
129
+ };
130
+ }
131
+ export function buildScopedSnapshotDefinitions(input) {
132
+ if (input.matchedTables.size === 0)
133
+ return input.previousDefinitions;
134
+ const selectedTables = new Set(input.matchedTables);
135
+ for (const mapping of input.renameMappings ?? []) {
136
+ const oldKey = tableKey(mapping.oldDatabase, mapping.oldName);
137
+ const newKey = tableKey(mapping.newDatabase, mapping.newName);
138
+ if (selectedTables.has(oldKey) || selectedTables.has(newKey)) {
139
+ selectedTables.add(oldKey);
140
+ selectedTables.add(newKey);
141
+ }
142
+ }
143
+ const result = new Map();
144
+ for (const definition of input.previousDefinitions) {
145
+ result.set(`${definition.kind}:${definition.database}.${definition.name}`, definition);
146
+ }
147
+ for (const [key, definition] of [...result.entries()]) {
148
+ if (definition.kind !== 'table')
149
+ continue;
150
+ const currentTableKey = tableKey(definition.database, definition.name);
151
+ if (!selectedTables.has(currentTableKey))
152
+ continue;
153
+ const stillExists = input.nextDefinitions.some((item) => item.kind === 'table' && tableKey(item.database, item.name) === currentTableKey);
154
+ if (!stillExists)
155
+ result.delete(key);
156
+ }
157
+ for (const definition of input.nextDefinitions) {
158
+ if (definition.kind !== 'table')
159
+ continue;
160
+ const currentTableKey = tableKey(definition.database, definition.name);
161
+ if (!selectedTables.has(currentTableKey))
162
+ continue;
163
+ result.set(`${definition.kind}:${definition.database}.${definition.name}`, definition);
164
+ }
165
+ return [...result.values()];
166
+ }
167
+ //# sourceMappingURL=table-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-scope.js","sourceRoot":"","sources":["../../src/bin/table-scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const CLI_VERSION = "0.1.0";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/bin/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,UAAU,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const CLI_VERSION = '0.1.0';
2
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/bin/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAA"}
@@ -0,0 +1,8 @@
1
+ export declare function diffByName<T>(expectedItems: readonly T[], actualItems: readonly T[], getName: (item: T) => string, getShape: (item: T) => string): {
2
+ missing: string[];
3
+ extra: string[];
4
+ changed: string[];
5
+ };
6
+ export declare function diffSettings(expectedSettings: Record<string, string | number | boolean>, actualSettings: Record<string, string>): string[];
7
+ export declare function diffNamedShapeMaps(expected: ReadonlyMap<string, string>, actual: ReadonlyMap<string, string>): string[];
8
+ //# sourceMappingURL=drift-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drift-diff.d.ts","sourceRoot":"","sources":["../src/drift-diff.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,EAC1B,aAAa,EAAE,SAAS,CAAC,EAAE,EAC3B,WAAW,EAAE,SAAS,CAAC,EAAE,EACzB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAyB3D;AAED,wBAAgB,YAAY,CAC1B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAC3D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,EAAE,CAWV;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,EAAE,CASV"}
@@ -0,0 +1,46 @@
1
+ export function diffByName(expectedItems, actualItems, getName, getShape) {
2
+ const expected = new Map(expectedItems.map((item) => [getName(item), getShape(item)]));
3
+ const actual = new Map(actualItems.map((item) => [getName(item), getShape(item)]));
4
+ const missing = [];
5
+ const extra = [];
6
+ const changed = [];
7
+ for (const [name, expectedShape] of expected.entries()) {
8
+ const actualShape = actual.get(name);
9
+ if (!actualShape) {
10
+ missing.push(name);
11
+ continue;
12
+ }
13
+ if (actualShape !== expectedShape) {
14
+ changed.push(name);
15
+ }
16
+ }
17
+ for (const name of actual.keys()) {
18
+ if (!expected.has(name)) {
19
+ extra.push(name);
20
+ }
21
+ }
22
+ return { missing, extra, changed };
23
+ }
24
+ export function diffSettings(expectedSettings, actualSettings) {
25
+ const settingKeys = Object.keys(expectedSettings).sort();
26
+ const diffs = [];
27
+ for (const key of settingKeys) {
28
+ const left = key in expectedSettings ? String(expectedSettings[key]) : '';
29
+ const right = key in actualSettings ? String(actualSettings[key]) : '';
30
+ if (left !== right) {
31
+ diffs.push(key);
32
+ }
33
+ }
34
+ return diffs;
35
+ }
36
+ export function diffNamedShapeMaps(expected, actual) {
37
+ const keys = [...new Set([...expected.keys(), ...actual.keys()])].sort();
38
+ const diffs = [];
39
+ for (const key of keys) {
40
+ if ((expected.get(key) ?? '') !== (actual.get(key) ?? '')) {
41
+ diffs.push(key);
42
+ }
43
+ }
44
+ return diffs;
45
+ }
46
+ //# sourceMappingURL=drift-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drift-diff.js","sourceRoot":"","sources":["../src/drift-diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { type ColumnDefinition, type ProjectionDefinition, type SkipIndexDefinition, type TableDefinition } from '@chkit/core';
2
+ export type TableDriftReasonCode = 'missing_column' | 'extra_column' | 'changed_column' | 'setting_mismatch' | 'index_mismatch' | 'ttl_mismatch' | 'engine_mismatch' | 'primary_key_mismatch' | 'order_by_mismatch' | 'partition_by_mismatch' | 'unique_key_mismatch' | 'projection_mismatch';
3
+ export type ObjectDriftReasonCode = 'missing_object' | 'extra_object' | 'kind_mismatch';
4
+ export type DriftReasonCode = ObjectDriftReasonCode | TableDriftReasonCode;
5
+ export interface SchemaObjectShape {
6
+ kind: 'table' | 'view' | 'materialized_view';
7
+ database: string;
8
+ name: string;
9
+ }
10
+ export interface ObjectDriftDetail {
11
+ code: ObjectDriftReasonCode;
12
+ object: string;
13
+ expectedKind?: SchemaObjectShape['kind'];
14
+ actualKind?: SchemaObjectShape['kind'];
15
+ }
16
+ export interface ActualTableShape {
17
+ columns: ColumnDefinition[];
18
+ settings: Record<string, string>;
19
+ indexes: SkipIndexDefinition[];
20
+ ttl?: string;
21
+ engine?: string;
22
+ primaryKey?: string;
23
+ orderBy?: string;
24
+ uniqueKey?: string;
25
+ partitionBy?: string;
26
+ projections: ProjectionDefinition[];
27
+ }
28
+ export interface TableDriftDetail {
29
+ table: string;
30
+ reasonCodes: TableDriftReasonCode[];
31
+ missingColumns: string[];
32
+ extraColumns: string[];
33
+ changedColumns: string[];
34
+ settingDiffs: string[];
35
+ indexDiffs: string[];
36
+ ttlMismatch: boolean;
37
+ engineMismatch: boolean;
38
+ primaryKeyMismatch: boolean;
39
+ orderByMismatch: boolean;
40
+ uniqueKeyMismatch: boolean;
41
+ partitionByMismatch: boolean;
42
+ projectionDiffs: string[];
43
+ }
44
+ export interface DriftReasonSummary {
45
+ counts: Partial<Record<DriftReasonCode, number>>;
46
+ total: number;
47
+ object: number;
48
+ table: number;
49
+ }
50
+ export declare function compareSchemaObjects(expectedObjects: SchemaObjectShape[], actualObjects: SchemaObjectShape[]): {
51
+ missing: string[];
52
+ extra: string[];
53
+ kindMismatches: Array<{
54
+ expected: string;
55
+ actual: string;
56
+ object: string;
57
+ }>;
58
+ objectDrift: ObjectDriftDetail[];
59
+ };
60
+ export declare function summarizeDriftReasons(input: {
61
+ objectDrift: ObjectDriftDetail[];
62
+ tableDrift: TableDriftDetail[];
63
+ }): DriftReasonSummary;
64
+ export declare function compareTableShape(expected: TableDefinition, actual: ActualTableShape): TableDriftDetail | null;
65
+ //# sourceMappingURL=drift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../src/drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,sBAAsB,GACtB,mBAAmB,GACnB,uBAAuB,GACvB,qBAAqB,GACrB,qBAAqB,CAAA;AAEzB,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,cAAc,GAAG,eAAe,CAAA;AACvF,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,oBAAoB,CAAA;AAE1E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,mBAAmB,CAAA;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;IACxC,UAAU,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,OAAO,EAAE,mBAAmB,EAAE,CAAA;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,oBAAoB,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,oBAAoB,EAAE,CAAA;IACnC,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAMD,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,iBAAiB,EAAE,EACpC,aAAa,EAAE,iBAAiB,EAAE,GACjC;IACD,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,cAAc,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3E,WAAW,EAAE,iBAAiB,EAAE,CAAA;CACjC,CA6DA;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,WAAW,EAAE,iBAAiB,EAAE,CAAA;IAChC,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B,GAAG,kBAAkB,CAuBrB;AAqDD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,CAgF9G"}