@memberjunction/cli 6.1.4 → 6.2.0-edge.1
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/README.md +18 -7
- package/dist/baseline/cli-helpers.d.ts +4 -0
- package/dist/baseline/cli-helpers.d.ts.map +1 -1
- package/dist/baseline/cli-helpers.js +18 -10
- package/dist/baseline/cli-helpers.js.map +1 -1
- package/dist/baseline/comparator.d.ts +5 -3
- package/dist/baseline/comparator.d.ts.map +1 -1
- package/dist/baseline/comparator.js +142 -138
- package/dist/baseline/comparator.js.map +1 -1
- package/dist/baseline/connection.d.ts +8 -6
- package/dist/baseline/connection.d.ts.map +1 -1
- package/dist/baseline/connection.js +16 -12
- package/dist/baseline/connection.js.map +1 -1
- package/dist/baseline/data-dumper.d.ts +7 -3
- package/dist/baseline/data-dumper.d.ts.map +1 -1
- package/dist/baseline/data-dumper.js +33 -25
- package/dist/baseline/data-dumper.js.map +1 -1
- package/dist/baseline/emitter.d.ts +5 -3
- package/dist/baseline/emitter.d.ts.map +1 -1
- package/dist/baseline/emitter.js +114 -110
- package/dist/baseline/emitter.js.map +1 -1
- package/dist/baseline/index.d.ts +7 -7
- package/dist/baseline/index.d.ts.map +1 -1
- package/dist/baseline/index.js +7 -7
- package/dist/baseline/index.js.map +1 -1
- package/dist/baseline/introspector-mssql.d.ts +2 -0
- package/dist/baseline/introspector-mssql.d.ts.map +1 -1
- package/dist/baseline/introspector-mssql.js +68 -64
- package/dist/baseline/introspector-mssql.js.map +1 -1
- package/dist/baseline/introspector-postgres.d.ts +2 -0
- package/dist/baseline/introspector-postgres.d.ts.map +1 -1
- package/dist/baseline/introspector-postgres.js +34 -30
- package/dist/baseline/introspector-postgres.js.map +1 -1
- package/dist/baseline/report.d.ts +4 -0
- package/dist/baseline/report.d.ts.map +1 -1
- package/dist/baseline/report.js +25 -17
- package/dist/baseline/report.js.map +1 -1
- package/dist/baseline/types.d.ts +71 -71
- package/dist/baseline/util.d.ts +54 -6
- package/dist/baseline/util.d.ts.map +1 -1
- package/dist/baseline/util.js +112 -36
- package/dist/baseline/util.js.map +1 -1
- package/dist/commands/agent/init.d.ts +23 -0
- package/dist/commands/agent/init.d.ts.map +1 -0
- package/dist/commands/agent/init.js +222 -0
- package/dist/commands/agent/init.js.map +1 -0
- package/dist/commands/ai/actions/list.js +7 -7
- package/dist/commands/ai/actions/run.js +7 -7
- package/dist/commands/ai/agents/list.js +7 -7
- package/dist/commands/ai/agents/run.js +9 -9
- package/dist/commands/ai/audit/agent-run.js +7 -7
- package/dist/commands/ai/prompts/run.js +7 -7
- package/dist/commands/app/check-updates.js +5 -5
- package/dist/commands/app/disable.js +2 -2
- package/dist/commands/app/enable.js +2 -2
- package/dist/commands/app/info.js +2 -2
- package/dist/commands/app/install.js +2 -2
- package/dist/commands/app/list.js +2 -2
- package/dist/commands/app/remove.js +4 -4
- package/dist/commands/app/upgrade.js +2 -2
- package/dist/commands/artifacts/reclassify.js +2 -2
- package/dist/commands/baseline/build.js +31 -31
- package/dist/commands/baseline/build.js.map +1 -1
- package/dist/commands/baseline/compare.js +36 -36
- package/dist/commands/baseline/roundtrip.js +56 -54
- package/dist/commands/baseline/roundtrip.js.map +1 -1
- package/dist/commands/bundle/index.js +4 -4
- package/dist/commands/clean/index.js +3 -3
- package/dist/commands/codegen/manifest.d.ts +2 -0
- package/dist/commands/codegen/manifest.d.ts.map +1 -1
- package/dist/commands/codegen/manifest.js +8 -4
- package/dist/commands/codegen/manifest.js.map +1 -1
- package/dist/commands/dev/workspace/index.d.ts +2 -0
- package/dist/commands/dev/workspace/index.d.ts.map +1 -1
- package/dist/commands/dev/workspace/index.js +8 -4
- package/dist/commands/dev/workspace/index.js.map +1 -1
- package/dist/commands/doctor/index.d.ts +6 -4
- package/dist/commands/doctor/index.d.ts.map +1 -1
- package/dist/commands/doctor/index.js +43 -18
- package/dist/commands/doctor/index.js.map +1 -1
- package/dist/commands/install/claude.d.ts +2 -0
- package/dist/commands/install/claude.d.ts.map +1 -1
- package/dist/commands/install/claude.js +11 -7
- package/dist/commands/install/claude.js.map +1 -1
- package/dist/commands/install/index.js +3 -3
- package/dist/commands/migrate/convert.d.ts +21 -0
- package/dist/commands/migrate/convert.d.ts.map +1 -1
- package/dist/commands/migrate/convert.js +22 -6
- package/dist/commands/migrate/convert.js.map +1 -1
- package/dist/commands/migrate/create.js +2 -2
- package/dist/commands/migrate/index.js +16 -16
- package/dist/commands/sync/file-reset.js +2 -2
- package/dist/commands/sync/init.js +3 -3
- package/dist/commands/test/compare.js +6 -6
- package/dist/commands/test/history.js +6 -6
- package/dist/commands/test/list.js +6 -6
- package/dist/commands/test/regression/build.js +5 -5
- package/dist/commands/test/regression/compare.js +3 -3
- package/dist/commands/test/regression/down.js +4 -4
- package/dist/commands/test/regression/export.js +4 -4
- package/dist/commands/test/regression/gen-forms.js +3 -3
- package/dist/commands/test/regression/remote.js +10 -10
- package/dist/commands/test/regression/up.js +6 -6
- package/dist/commands/test/run.js +6 -6
- package/dist/commands/test/scripts.d.ts +13 -0
- package/dist/commands/test/scripts.d.ts.map +1 -0
- package/dist/commands/test/scripts.js +50 -0
- package/dist/commands/test/scripts.js.map +1 -0
- package/dist/commands/test/suite.js +6 -6
- package/dist/commands/test/validate.js +6 -6
- package/dist/commands/translate-sql/index.js +25 -25
- package/dist/commands/update/claude.js +7 -7
- package/dist/commands/usage.js +4 -4
- package/dist/config.d.ts +175 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -9
- package/dist/config.js.map +1 -1
- package/dist/hooks/postrun.js +2 -2
- package/dist/hooks/prerun.js +2 -2
- package/dist/hooks/prerun.js.map +1 -1
- package/dist/init-templates/citizen-builder/.agents/skills/new-agent/SKILL.md +66 -0
- package/dist/init-templates/citizen-builder/.agents/skills/package-agent/SKILL.md +69 -0
- package/dist/init-templates/citizen-builder/.agents/skills/test-agent/SKILL.md +61 -0
- package/dist/init-templates/citizen-builder/.claude/skills/new-agent/SKILL.md +66 -0
- package/dist/init-templates/citizen-builder/.claude/skills/package-agent/SKILL.md +69 -0
- package/dist/init-templates/citizen-builder/.claude/skills/test-agent/SKILL.md +61 -0
- package/dist/init-templates/citizen-builder/.env.example +30 -0
- package/dist/init-templates/citizen-builder/AGENTS.md +331 -0
- package/dist/init-templates/citizen-builder/README.md +259 -0
- package/dist/init-templates/citizen-builder/docker/Dockerfile +16 -0
- package/dist/init-templates/citizen-builder/docker-compose.yml +59 -0
- package/dist/init-templates/citizen-builder/docs/ENTERPRISE_ORG_SETUP.md +73 -0
- package/dist/init-templates/citizen-builder/docs/PROMOTION_GUIDE.md +70 -0
- package/dist/init-templates/citizen-builder/metadata/.mj-sync.json +7 -0
- package/dist/init-templates/citizen-builder/metadata/agents/.customer-insight-agent.json +55 -0
- package/dist/init-templates/citizen-builder/metadata/agents/.mj-sync.json +45 -0
- package/dist/init-templates/citizen-builder/metadata/prompts/.customer-insight-prompt.json +15 -0
- package/dist/init-templates/citizen-builder/metadata/prompts/.mj-sync.json +45 -0
- package/dist/init-templates/citizen-builder/metadata/prompts/templates/customer-insight.template.md +18 -0
- package/dist/init-templates/citizen-builder/scripts/bootstrap.sh +47 -0
- package/dist/init-templates/citizen-builder/scripts/docker-entrypoint.sh +184 -0
- package/dist/init-templates/citizen-builder/scripts/generate-capabilities.sh +74 -0
- package/dist/init-templates/citizen-builder/scripts/query-run-history.sh +34 -0
- package/dist/init-templates/citizen-builder/scripts/sync-metadata.sh +14 -0
- package/dist/init-templates/remote-mj/README.md +4 -4
- package/dist/lib/claude-pack/ManagedBlockEditor.d.ts +6 -0
- package/dist/lib/claude-pack/ManagedBlockEditor.d.ts.map +1 -1
- package/dist/lib/claude-pack/ManagedBlockEditor.js +18 -6
- package/dist/lib/claude-pack/ManagedBlockEditor.js.map +1 -1
- package/dist/lib/claude-pack/PackFetcher.d.ts +8 -3
- package/dist/lib/claude-pack/PackFetcher.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackFetcher.js +26 -18
- package/dist/lib/claude-pack/PackFetcher.js.map +1 -1
- package/dist/lib/claude-pack/PackInstaller.d.ts +6 -2
- package/dist/lib/claude-pack/PackInstaller.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackInstaller.js +19 -13
- package/dist/lib/claude-pack/PackInstaller.js.map +1 -1
- package/dist/lib/claude-pack/PackMerger.d.ts +8 -0
- package/dist/lib/claude-pack/PackMerger.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackMerger.js +63 -57
- package/dist/lib/claude-pack/PackMerger.js.map +1 -1
- package/dist/lib/claude-pack/PackOutputFormatter.d.ts +4 -0
- package/dist/lib/claude-pack/PackOutputFormatter.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackOutputFormatter.js +10 -2
- package/dist/lib/claude-pack/PackOutputFormatter.js.map +1 -1
- package/dist/lib/claude-pack/PackPaths.d.ts +12 -0
- package/dist/lib/claude-pack/PackPaths.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackPaths.js +31 -7
- package/dist/lib/claude-pack/PackPaths.js.map +1 -1
- package/dist/lib/claude-pack/PackTypes.d.ts +18 -14
- package/dist/lib/claude-pack/PackTypes.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackTypes.js +11 -3
- package/dist/lib/claude-pack/PackTypes.js.map +1 -1
- package/dist/lib/claude-pack/SettingsMerger.d.ts +10 -0
- package/dist/lib/claude-pack/SettingsMerger.d.ts.map +1 -1
- package/dist/lib/claude-pack/SettingsMerger.js +36 -16
- package/dist/lib/claude-pack/SettingsMerger.js.map +1 -1
- package/dist/lib/cli-plugins.d.ts +2 -0
- package/dist/lib/cli-plugins.d.ts.map +1 -1
- package/dist/lib/cli-plugins.js +8 -4
- package/dist/lib/cli-plugins.js.map +1 -1
- package/dist/lib/db-preflight.d.ts +2 -0
- package/dist/lib/db-preflight.d.ts.map +1 -1
- package/dist/lib/db-preflight.js +12 -8
- package/dist/lib/db-preflight.js.map +1 -1
- package/dist/lib/db-version.d.ts +2 -0
- package/dist/lib/db-version.d.ts.map +1 -1
- package/dist/lib/db-version.js +5 -1
- package/dist/lib/db-version.js.map +1 -1
- package/dist/lib/derived-usage.d.ts +14 -8
- package/dist/lib/derived-usage.d.ts.map +1 -1
- package/dist/lib/derived-usage.js +30 -18
- package/dist/lib/derived-usage.js.map +1 -1
- package/dist/lib/domain-profiles.d.ts +4 -2
- package/dist/lib/domain-profiles.d.ts.map +1 -1
- package/dist/lib/domain-profiles.js +53 -49
- package/dist/lib/domain-profiles.js.map +1 -1
- package/dist/lib/domain-usage-command.js +4 -4
- package/dist/lib/dynamic-packages.d.ts +4 -2
- package/dist/lib/dynamic-packages.d.ts.map +1 -1
- package/dist/lib/dynamic-packages.js +9 -5
- package/dist/lib/dynamic-packages.js.map +1 -1
- package/dist/lib/format-compat.d.ts +9 -7
- package/dist/lib/format-compat.d.ts.map +1 -1
- package/dist/lib/format-compat.js +12 -8
- package/dist/lib/format-compat.js.map +1 -1
- package/dist/lib/interactive-guard.d.ts +16 -0
- package/dist/lib/interactive-guard.d.ts.map +1 -1
- package/dist/lib/interactive-guard.js +18 -6
- package/dist/lib/interactive-guard.js.map +1 -1
- package/dist/lib/migration-fetch.d.ts +16 -4
- package/dist/lib/migration-fetch.d.ts.map +1 -1
- package/dist/lib/migration-fetch.js +30 -18
- package/dist/lib/migration-fetch.js.map +1 -1
- package/dist/lib/regression/docker-helpers.d.ts +24 -0
- package/dist/lib/regression/docker-helpers.d.ts.map +1 -1
- package/dist/lib/regression/docker-helpers.js +46 -10
- package/dist/lib/regression/docker-helpers.js.map +1 -1
- package/dist/lib/usage-render.d.ts +6 -0
- package/dist/lib/usage-render.d.ts.map +1 -1
- package/dist/lib/usage-render.js +15 -3
- package/dist/lib/usage-render.js.map +1 -1
- package/dist/translate-sql/groundTruth.d.ts +3 -3
- package/dist/translate-sql/groundTruth.js +40 -40
- package/dist/translate-sql/reportGenerator.d.ts +7 -7
- package/dist/translate-sql/reportGenerator.js +18 -18
- package/dist/translate-sql/ruleTranslator.d.ts +3 -3
- package/dist/translate-sql/ruleTranslator.js +8 -8
- package/dist/translate-sql/ruleTranslator.js.map +1 -1
- package/dist/utils/open-app-context.d.ts +21 -0
- package/dist/utils/open-app-context.d.ts.map +1 -1
- package/dist/utils/open-app-context.js +26 -10
- package/dist/utils/open-app-context.js.map +1 -1
- package/oclif.manifest.json +1216 -1058
- package/package.json +22 -22
package/dist/baseline/types.d.ts
CHANGED
|
@@ -9,38 +9,38 @@
|
|
|
9
9
|
export type Dialect = 'mssql' | 'postgres';
|
|
10
10
|
/** Top-level snapshot of an introspected database. */
|
|
11
11
|
export interface SchemaSnapshot {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
Dialect: Dialect;
|
|
13
|
+
Schemas: SchemaDef[];
|
|
14
|
+
Tables: TableDef[];
|
|
15
|
+
Views: ViewDef[];
|
|
16
|
+
Procedures: RoutineDef[];
|
|
17
|
+
Functions: RoutineDef[];
|
|
18
|
+
Triggers: TriggerDef[];
|
|
19
|
+
Sequences: SequenceDef[];
|
|
20
20
|
/** User-defined types (table types primarily; scalar/CLR are future work). */
|
|
21
|
-
|
|
21
|
+
UserDefinedTypes: UserDefinedTypeDef[];
|
|
22
22
|
/** sp_addextendedproperty entries (descriptions etc.) on schemas/tables/columns/views/routines. */
|
|
23
|
-
|
|
23
|
+
ExtendedProperties: ExtendedPropertyDef[];
|
|
24
24
|
/** Non-system database principals (users + custom roles). */
|
|
25
|
-
|
|
25
|
+
Principals: DatabasePrincipalDef[];
|
|
26
26
|
/** Non-system role memberships (ALTER ROLE ... ADD MEMBER). */
|
|
27
|
-
|
|
27
|
+
RoleMemberships: RoleMembershipDef[];
|
|
28
28
|
/** Object/schema/database/type permission grants (no DENY/REVOKE captured by default). */
|
|
29
|
-
|
|
29
|
+
Permissions: PermissionDef[];
|
|
30
30
|
}
|
|
31
31
|
export interface SchemaDef {
|
|
32
32
|
name: string;
|
|
33
33
|
}
|
|
34
34
|
export interface TableDef {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
Schema: string;
|
|
36
|
+
Name: string;
|
|
37
|
+
Columns: ColumnDef[];
|
|
38
|
+
PrimaryKey?: PrimaryKeyDef;
|
|
39
|
+
UniqueConstraints: UniqueConstraintDef[];
|
|
40
|
+
Indexes: IndexDef[];
|
|
41
|
+
ForeignKeys: ForeignKeyDef[];
|
|
42
|
+
Checks: CheckConstraintDef[];
|
|
43
|
+
HasIdentity: boolean;
|
|
44
44
|
}
|
|
45
45
|
export interface ColumnDef {
|
|
46
46
|
name: string;
|
|
@@ -60,9 +60,9 @@ export interface ColumnDef {
|
|
|
60
60
|
collation?: string;
|
|
61
61
|
}
|
|
62
62
|
export interface PrimaryKeyDef {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
Name: string;
|
|
64
|
+
Columns: string[];
|
|
65
|
+
Clustered: boolean;
|
|
66
66
|
}
|
|
67
67
|
export interface UniqueConstraintDef {
|
|
68
68
|
name: string;
|
|
@@ -119,13 +119,13 @@ export interface SequenceDef {
|
|
|
119
119
|
}
|
|
120
120
|
/** A user-defined TYPE (currently only table types; scalar/CLR are future work). */
|
|
121
121
|
export interface UserDefinedTypeDef {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
122
|
+
Schema: string;
|
|
123
|
+
Name: string;
|
|
124
|
+
Kind: 'table';
|
|
125
|
+
IsMemoryOptimized: boolean;
|
|
126
|
+
Columns: UserDefinedTypeColumnDef[];
|
|
127
127
|
/** Inline primary key, if any. CREATE TYPE AS TABLE supports a PK clause. */
|
|
128
|
-
|
|
128
|
+
PrimaryKey?: PrimaryKeyDef;
|
|
129
129
|
}
|
|
130
130
|
/** Columns inside a CREATE TYPE AS TABLE definition. Subset of ColumnDef (no identity/computed/FK). */
|
|
131
131
|
export interface UserDefinedTypeColumnDef {
|
|
@@ -142,12 +142,12 @@ export interface UserDefinedTypeColumnDef {
|
|
|
142
142
|
* time; the baseline never re-creates those.
|
|
143
143
|
*/
|
|
144
144
|
export interface DatabasePrincipalDef {
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
Name: string;
|
|
146
|
+
Kind: 'sql_user' | 'database_role' | 'windows_user' | 'application_role' | 'aad_user' | 'aad_group';
|
|
147
147
|
/** Owner principal name (e.g. `db_securityadmin` for MJ's cdp_* roles). Undefined falls back to the current user (typically `dbo`). */
|
|
148
|
-
|
|
148
|
+
Owner?: string;
|
|
149
149
|
/** Default schema for users. Roles don't have one. */
|
|
150
|
-
|
|
150
|
+
DefaultSchema?: string;
|
|
151
151
|
}
|
|
152
152
|
/** A row in `sys.database_role_members`. Both names refer to principals (user or role). */
|
|
153
153
|
export interface RoleMembershipDef {
|
|
@@ -179,29 +179,29 @@ export interface PermissionDef {
|
|
|
179
179
|
*/
|
|
180
180
|
export interface ExtendedPropertyDef {
|
|
181
181
|
/** Property name, e.g. 'MS_Description'. Case is preserved as stored. */
|
|
182
|
-
|
|
182
|
+
Name: string;
|
|
183
183
|
/** Property value, always serialized as NVARCHAR. */
|
|
184
|
-
|
|
184
|
+
Value: string;
|
|
185
185
|
/** level0 is always SCHEMA in MJ. Stored separately so we can emit the canonical 3-tier call. */
|
|
186
|
-
|
|
186
|
+
SchemaName: string;
|
|
187
187
|
/** TABLE | VIEW | PROCEDURE | FUNCTION | TYPE | SEQUENCE | TRIGGER | null (for schema-level properties). */
|
|
188
|
-
|
|
189
|
-
|
|
188
|
+
Level1Type?: string;
|
|
189
|
+
Level1Name?: string;
|
|
190
190
|
/** COLUMN | PARAMETER | TRIGGER | INDEX | null. */
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
Level2Type?: string;
|
|
192
|
+
Level2Name?: string;
|
|
193
193
|
}
|
|
194
194
|
/** Per-table data dump (every row, ordered deterministically). */
|
|
195
195
|
export interface TableDataDump {
|
|
196
|
-
|
|
197
|
-
|
|
196
|
+
Schema: string;
|
|
197
|
+
Table: string;
|
|
198
198
|
/** Column order matches the INSERT column list. */
|
|
199
|
-
|
|
199
|
+
Columns: string[];
|
|
200
200
|
/** Each row is an array of values matching `columns`. Null = JS null. */
|
|
201
|
-
|
|
201
|
+
Rows: unknown[][];
|
|
202
202
|
/** Set when the dump was truncated due to a hard limit. */
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
Truncated?: boolean;
|
|
204
|
+
RowCount: number;
|
|
205
205
|
}
|
|
206
206
|
/** Output of a full diff between two snapshots (and optional row data). */
|
|
207
207
|
export interface DiffReport {
|
|
@@ -236,37 +236,37 @@ export type RowHashAlgo = 'sha256' | 'md5' | 'checksum_agg';
|
|
|
236
236
|
export type ObjectKind = 'schema' | 'table' | 'column' | 'primaryKey' | 'uniqueConstraint' | 'index' | 'foreignKey' | 'check' | 'view' | 'procedure' | 'function' | 'trigger' | 'sequence' | 'userDefinedType' | 'extendedProperty' | 'principal' | 'roleMembership' | 'permission';
|
|
237
237
|
export type DiffKind = 'missing-on-left' | 'missing-on-right' | 'changed';
|
|
238
238
|
export interface ObjectDiff {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
Kind: ObjectKind;
|
|
240
|
+
DiffKind: DiffKind;
|
|
241
|
+
QualifiedName: string;
|
|
242
242
|
/** Free-form details: which fields differ, with left/right values. */
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
243
|
+
Details?: string;
|
|
244
|
+
LeftValue?: unknown;
|
|
245
|
+
RightValue?: unknown;
|
|
246
246
|
}
|
|
247
247
|
export interface TableRowDiff {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
248
|
+
Schema: string;
|
|
249
|
+
Table: string;
|
|
250
|
+
LeftRowCount: number;
|
|
251
|
+
RightRowCount: number;
|
|
252
252
|
/** First N (default 100) row mismatches captured during full mode. */
|
|
253
|
-
|
|
253
|
+
SampleDiffs: RowDiff[];
|
|
254
254
|
/** True if there are more diffs than `sampleDiffs` shows. */
|
|
255
|
-
|
|
255
|
+
Truncated: boolean;
|
|
256
256
|
/** Total mismatches counted (may exceed sampleDiffs.length). */
|
|
257
|
-
|
|
257
|
+
DiffCount: number;
|
|
258
258
|
}
|
|
259
259
|
export interface RowDiff {
|
|
260
|
-
|
|
260
|
+
DiffKind: DiffKind;
|
|
261
261
|
/** Stringified key (PK or whole-row hash) used for matching. */
|
|
262
|
-
|
|
262
|
+
Key: string;
|
|
263
263
|
/** Per-column diffs in 'changed' rows only. */
|
|
264
|
-
|
|
264
|
+
ColumnDiffs?: ColumnValueDiff[];
|
|
265
265
|
}
|
|
266
266
|
export interface ColumnValueDiff {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
267
|
+
Column: string;
|
|
268
|
+
LeftValue: unknown;
|
|
269
|
+
RightValue: unknown;
|
|
270
270
|
}
|
|
271
271
|
/** Build options passed to the emitter. */
|
|
272
272
|
export interface BaselineEmitOptions {
|
|
@@ -278,9 +278,9 @@ export interface BaselineEmitOptions {
|
|
|
278
278
|
batchSize: number;
|
|
279
279
|
}
|
|
280
280
|
export interface BaselineCompareOptions {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
281
|
+
RowCompareMode: RowCompareMode;
|
|
282
|
+
RowHashAlgo: RowHashAlgo;
|
|
283
|
+
IgnorePattern?: RegExp;
|
|
284
|
+
RowDiffSampleLimit: number;
|
|
285
285
|
}
|
|
286
286
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/baseline/util.d.ts
CHANGED
|
@@ -5,12 +5,20 @@
|
|
|
5
5
|
* output, regardless of host OS, locale, or run order.
|
|
6
6
|
*/
|
|
7
7
|
/** Lower-case schema-qualified name used for sort keys and sets. */
|
|
8
|
+
export declare function Qname(schema: string, name: string): string;
|
|
9
|
+
/** @deprecated Use {@link Qname}. */
|
|
8
10
|
export declare function qname(schema: string, name: string): string;
|
|
9
11
|
/** Quote a T-SQL identifier with brackets, escaping any embedded `]`. */
|
|
12
|
+
export declare function QuoteIdent(name: string): string;
|
|
13
|
+
/** @deprecated Use {@link QuoteIdent}. */
|
|
10
14
|
export declare function quoteIdent(name: string): string;
|
|
11
15
|
/** Quote a T-SQL string literal, escaping single quotes. */
|
|
16
|
+
export declare function QuoteString(value: string): string;
|
|
17
|
+
/** @deprecated Use {@link QuoteString}. */
|
|
12
18
|
export declare function quoteString(value: string): string;
|
|
13
19
|
/** Stable sort by a key extractor; preserves input order for ties. */
|
|
20
|
+
export declare function StableSortBy<T>(items: readonly T[], key: (item: T) => string): T[];
|
|
21
|
+
/** @deprecated Use {@link StableSortBy}. */
|
|
14
22
|
export declare function stableSortBy<T>(items: readonly T[], key: (item: T) => string): T[];
|
|
15
23
|
/** Cross-platform line endings: emit LF only. Caller normalizes if needed. */
|
|
16
24
|
export declare const NL = "\n";
|
|
@@ -22,19 +30,34 @@ export declare const NL = "\n";
|
|
|
22
30
|
*/
|
|
23
31
|
export declare const EXCLUDED_TABLE_NAMES: ReadonlySet<string>;
|
|
24
32
|
/** Returns true if a table (by bare name) is one we never emit in a baseline. */
|
|
33
|
+
export declare function IsExcludedTable(name: string): boolean;
|
|
34
|
+
/** @deprecated Use {@link IsExcludedTable}. */
|
|
25
35
|
export declare function isExcludedTable(name: string): boolean;
|
|
26
36
|
/** Canonical ISO-8601 UTC stamp without milliseconds: 2026-05-02T19:47:00Z. */
|
|
37
|
+
export declare function IsoUtcSeconds(date: Date): string;
|
|
38
|
+
/** @deprecated Use {@link IsoUtcSeconds}. */
|
|
27
39
|
export declare function isoUtcSeconds(date: Date): string;
|
|
28
40
|
/** Filename timestamp: YYYYMMDDHHMM in UTC. */
|
|
41
|
+
export declare function FileStamp(date: Date): string;
|
|
42
|
+
/** @deprecated Use {@link FileStamp}. */
|
|
29
43
|
export declare function fileStamp(date: Date): string;
|
|
30
44
|
/** Build the canonical filename for a baseline migration. */
|
|
45
|
+
export declare function BaselineFilename(opts: {
|
|
46
|
+
generatedAtUtc: Date;
|
|
47
|
+
baselineVersion: string;
|
|
48
|
+
}): string;
|
|
49
|
+
/** @deprecated Use {@link BaselineFilename}. */
|
|
31
50
|
export declare function baselineFilename(opts: {
|
|
32
51
|
generatedAtUtc: Date;
|
|
33
52
|
baselineVersion: string;
|
|
34
53
|
}): string;
|
|
35
54
|
/** Inverse of {@link fileStamp}: parses a YYYYMMDDHHMM string into a UTC Date. */
|
|
55
|
+
export declare function ParseFileStamp(stamp: string): Date;
|
|
56
|
+
/** @deprecated Use {@link ParseFileStamp}. */
|
|
36
57
|
export declare function parseFileStamp(stamp: string): Date;
|
|
37
58
|
/** Return a new Date offset by N minutes (negative for past). */
|
|
59
|
+
export declare function AddMinutes(date: Date, minutes: number): Date;
|
|
60
|
+
/** @deprecated Use {@link AddMinutes}. */
|
|
38
61
|
export declare function addMinutes(date: Date, minutes: number): Date;
|
|
39
62
|
/**
|
|
40
63
|
* Parse a Skyway/Flyway migration filename into its parts. Returns null if the
|
|
@@ -46,13 +69,15 @@ export declare function addMinutes(date: Date, minutes: number): Date;
|
|
|
46
69
|
* - `B202602151200__v5.0__Baseline.sql` (baseline marker)
|
|
47
70
|
*/
|
|
48
71
|
export interface ParsedMigrationFilename {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
72
|
+
Kind: 'V' | 'B';
|
|
73
|
+
Timestamp: string;
|
|
74
|
+
Major: number;
|
|
75
|
+
Minor: number;
|
|
76
|
+
MajorMinor: string;
|
|
77
|
+
Filename: string;
|
|
55
78
|
}
|
|
79
|
+
export declare function ParseMigrationFilename(filename: string): ParsedMigrationFilename | null;
|
|
80
|
+
/** @deprecated Use {@link ParseMigrationFilename}. */
|
|
56
81
|
export declare function parseMigrationFilename(filename: string): ParsedMigrationFilename | null;
|
|
57
82
|
/**
|
|
58
83
|
* Scan a migrations source directory and return the latest V-file by timestamp.
|
|
@@ -61,8 +86,12 @@ export declare function parseMigrationFilename(filename: string): ParsedMigratio
|
|
|
61
86
|
* Used by within-major rebaseline to derive the new baseline's version + timestamp
|
|
62
87
|
* from the head of the existing V-stack.
|
|
63
88
|
*/
|
|
89
|
+
export declare function FindLatestVersionedMigration(sourceDir: string): ParsedMigrationFilename | null;
|
|
90
|
+
/** @deprecated Use {@link FindLatestVersionedMigration}. */
|
|
64
91
|
export declare function findLatestVersionedMigration(sourceDir: string): ParsedMigrationFilename | null;
|
|
65
92
|
/** Same as {@link findLatestVersionedMigration} but for `B`-prefixed baseline files. */
|
|
93
|
+
export declare function FindLatestBaselineMigration(sourceDir: string): ParsedMigrationFilename | null;
|
|
94
|
+
/** @deprecated Use {@link FindLatestBaselineMigration}. */
|
|
66
95
|
export declare function findLatestBaselineMigration(sourceDir: string): ParsedMigrationFilename | null;
|
|
67
96
|
/**
|
|
68
97
|
* Walk up from `cwd` looking for a `migrations/` directory, then return the path
|
|
@@ -72,6 +101,8 @@ export declare function findLatestBaselineMigration(sourceDir: string): ParsedMi
|
|
|
72
101
|
* Stops walking at the filesystem root. Used so the CLI can auto-locate the
|
|
73
102
|
* source dir for within-major rebaseline without forcing the caller to pass `--source-dir`.
|
|
74
103
|
*/
|
|
104
|
+
export declare function DiscoverMigrationsSourceDir(cwd: string): string | null;
|
|
105
|
+
/** @deprecated Use {@link DiscoverMigrationsSourceDir}. */
|
|
75
106
|
export declare function discoverMigrationsSourceDir(cwd: string): string | null;
|
|
76
107
|
/**
|
|
77
108
|
* Compute the canonical generated-at timestamp for a within-major rebaseline.
|
|
@@ -79,6 +110,11 @@ export declare function discoverMigrationsSourceDir(cwd: string): string | null;
|
|
|
79
110
|
* V-file's timestamp — guaranteeing the new B-file sorts after the V-stack it
|
|
80
111
|
* succeeds, while remaining deterministic across re-runs against the same input.
|
|
81
112
|
*/
|
|
113
|
+
export declare function ComputeAutoBaselineStamp(latestVTimestamp: string): {
|
|
114
|
+
generatedAtUtc: Date;
|
|
115
|
+
fileStamp: string;
|
|
116
|
+
};
|
|
117
|
+
/** @deprecated Use {@link ComputeAutoBaselineStamp}. */
|
|
82
118
|
export declare function computeAutoBaselineStamp(latestVTimestamp: string): {
|
|
83
119
|
generatedAtUtc: Date;
|
|
84
120
|
fileStamp: string;
|
|
@@ -87,10 +123,16 @@ export declare function computeAutoBaselineStamp(latestVTimestamp: string): {
|
|
|
87
123
|
* Format a JS value as a T-SQL literal. Used by the data dumper.
|
|
88
124
|
* Returns `NULL` for null/undefined, otherwise a typed literal.
|
|
89
125
|
*/
|
|
126
|
+
export declare function FormatTsqlValue(value: unknown): string;
|
|
127
|
+
/** @deprecated Use {@link FormatTsqlValue}. */
|
|
90
128
|
export declare function formatTsqlValue(value: unknown): string;
|
|
91
129
|
/** Strict equality used by the comparator for column values. */
|
|
130
|
+
export declare function DeepValueEqual(a: unknown, b: unknown): boolean;
|
|
131
|
+
/** @deprecated Use {@link DeepValueEqual}. */
|
|
92
132
|
export declare function deepValueEqual(a: unknown, b: unknown): boolean;
|
|
93
133
|
/** Truncate a string with an ellipsis for diff output. */
|
|
134
|
+
export declare function Ellipsize(value: string, max?: number): string;
|
|
135
|
+
/** @deprecated Use {@link Ellipsize}. */
|
|
94
136
|
export declare function ellipsize(value: string, max?: number): string;
|
|
95
137
|
/**
|
|
96
138
|
* Topologically sort a list of SQL routines (views/functions/procs/triggers)
|
|
@@ -104,6 +146,12 @@ export declare function ellipsize(value: string, max?: number): string;
|
|
|
104
146
|
* MSSQL `CREATE VIEW`/`CREATE FUNCTION` reject forward references at create
|
|
105
147
|
* time, so without this sort we hit `Invalid object name` errors on apply.
|
|
106
148
|
*/
|
|
149
|
+
export declare function TopoSortRoutinesByDefinition<T extends {
|
|
150
|
+
name: string;
|
|
151
|
+
schema: string;
|
|
152
|
+
definition: string;
|
|
153
|
+
}>(items: readonly T[]): T[];
|
|
154
|
+
/** @deprecated Use {@link TopoSortRoutinesByDefinition}. */
|
|
107
155
|
export declare function topoSortRoutinesByDefinition<T extends {
|
|
108
156
|
name: string;
|
|
109
157
|
schema: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/baseline/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/baseline/util.ts"],"names":[],"mappings":"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"}
|