@memberjunction/codegen-lib 5.4.1 → 5.6.0

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 (75) hide show
  1. package/README.md +65 -2
  2. package/dist/Angular/angular-codegen.d.ts.map +1 -1
  3. package/dist/Angular/angular-codegen.js +26 -12
  4. package/dist/Angular/angular-codegen.js.map +1 -1
  5. package/dist/Angular/related-entity-components.js +2 -2
  6. package/dist/Angular/related-entity-components.js.map +1 -1
  7. package/dist/Config/config.d.ts +10 -0
  8. package/dist/Config/config.d.ts.map +1 -1
  9. package/dist/Config/config.js +10 -0
  10. package/dist/Config/config.js.map +1 -1
  11. package/dist/Database/codeGenDatabaseProvider.d.ts +544 -0
  12. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -0
  13. package/dist/Database/codeGenDatabaseProvider.js +29 -0
  14. package/dist/Database/codeGenDatabaseProvider.js.map +1 -0
  15. package/dist/Database/manage-metadata.d.ts +165 -60
  16. package/dist/Database/manage-metadata.d.ts.map +1 -1
  17. package/dist/Database/manage-metadata.js +592 -483
  18. package/dist/Database/manage-metadata.js.map +1 -1
  19. package/dist/Database/providers/postgresql/PostgreSQLCodeGenConnection.d.ts +53 -0
  20. package/dist/Database/providers/postgresql/PostgreSQLCodeGenConnection.d.ts.map +1 -0
  21. package/dist/Database/providers/postgresql/PostgreSQLCodeGenConnection.js +112 -0
  22. package/dist/Database/providers/postgresql/PostgreSQLCodeGenConnection.js.map +1 -0
  23. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +344 -0
  24. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -0
  25. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +1567 -0
  26. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -0
  27. package/dist/Database/providers/sqlserver/SQLServerCodeGenConnection.d.ts +42 -0
  28. package/dist/Database/providers/sqlserver/SQLServerCodeGenConnection.d.ts.map +1 -0
  29. package/dist/Database/providers/sqlserver/SQLServerCodeGenConnection.js +84 -0
  30. package/dist/Database/providers/sqlserver/SQLServerCodeGenConnection.js.map +1 -0
  31. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +372 -0
  32. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -0
  33. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +1483 -0
  34. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -0
  35. package/dist/Database/reorder-columns.d.ts +2 -2
  36. package/dist/Database/reorder-columns.d.ts.map +1 -1
  37. package/dist/Database/reorder-columns.js +9 -9
  38. package/dist/Database/reorder-columns.js.map +1 -1
  39. package/dist/Database/sql.d.ts +10 -5
  40. package/dist/Database/sql.d.ts.map +1 -1
  41. package/dist/Database/sql.js +44 -228
  42. package/dist/Database/sql.js.map +1 -1
  43. package/dist/Database/sql_codegen.d.ts +31 -29
  44. package/dist/Database/sql_codegen.d.ts.map +1 -1
  45. package/dist/Database/sql_codegen.js +209 -842
  46. package/dist/Database/sql_codegen.js.map +1 -1
  47. package/dist/Misc/action_subclasses_codegen.js +3 -2
  48. package/dist/Misc/action_subclasses_codegen.js.map +1 -1
  49. package/dist/Misc/entity_subclasses_codegen.d.ts +4 -4
  50. package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
  51. package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
  52. package/dist/Misc/graphql_server_codegen.d.ts +6 -1
  53. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  54. package/dist/Misc/graphql_server_codegen.js +33 -35
  55. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  56. package/dist/Misc/sql_logging.d.ts +2 -2
  57. package/dist/Misc/sql_logging.d.ts.map +1 -1
  58. package/dist/Misc/sql_logging.js +1 -1
  59. package/dist/Misc/sql_logging.js.map +1 -1
  60. package/dist/Misc/system_integrity.d.ts +6 -6
  61. package/dist/Misc/system_integrity.d.ts.map +1 -1
  62. package/dist/Misc/system_integrity.js +33 -8
  63. package/dist/Misc/system_integrity.js.map +1 -1
  64. package/dist/Misc/temp_batch_file.d.ts.map +1 -1
  65. package/dist/Misc/temp_batch_file.js +4 -1
  66. package/dist/Misc/temp_batch_file.js.map +1 -1
  67. package/dist/index.d.ts +5 -0
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +5 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/runCodeGen.d.ts +30 -75
  72. package/dist/runCodeGen.d.ts.map +1 -1
  73. package/dist/runCodeGen.js +123 -215
  74. package/dist/runCodeGen.js.map +1 -1
  75. package/package.json +18 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgreSQLCodeGenProvider.js","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/PostgreSQLCodeGenProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * SQL Server implementation of the CodeGenConnection interface.
3
+ * Wraps mssql.ConnectionPool to provide a database-agnostic connection
4
+ * for CodeGen orchestration code.
5
+ */
6
+ import sql from 'mssql';
7
+ import { CodeGenConnection, CodeGenQueryResult, CodeGenTransaction } from '../../codeGenDatabaseProvider.js';
8
+ /**
9
+ * SQL Server implementation of CodeGenConnection.
10
+ * Wraps an mssql.ConnectionPool and adapts it to the generic interface.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import sql from 'mssql';
15
+ * const pool = await sql.connect(config);
16
+ * const conn = new SQLServerCodeGenConnection(pool);
17
+ *
18
+ * // Simple query
19
+ * const result = await conn.query("SELECT ID, Name FROM Entities");
20
+ *
21
+ * // Parameterized query
22
+ * const result2 = await conn.queryWithParams(
23
+ * "SELECT ID FROM Entities WHERE Name = @Name",
24
+ * { Name: 'Users' }
25
+ * );
26
+ * ```
27
+ */
28
+ export declare class SQLServerCodeGenConnection implements CodeGenConnection {
29
+ private _pool;
30
+ constructor(pool: sql.ConnectionPool);
31
+ /**
32
+ * Provides access to the underlying mssql.ConnectionPool for cases
33
+ * where SQL Server-specific functionality is needed (e.g., legacy code
34
+ * that has not yet been fully abstracted).
35
+ */
36
+ get Pool(): sql.ConnectionPool;
37
+ query(sqlText: string): Promise<CodeGenQueryResult>;
38
+ queryWithParams(sqlText: string, params: Record<string, unknown>): Promise<CodeGenQueryResult>;
39
+ executeStoredProcedure(name: string, params: Record<string, unknown>): Promise<CodeGenQueryResult>;
40
+ beginTransaction(): Promise<CodeGenTransaction>;
41
+ }
42
+ //# sourceMappingURL=SQLServerCodeGenConnection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLServerCodeGenConnection.d.ts","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenConnection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AA2B1G;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,0BAA2B,YAAW,iBAAiB;IAChE,OAAO,CAAC,KAAK,CAAqB;gBAEtB,IAAI,EAAE,GAAG,CAAC,cAAc;IAIpC;;;;OAIG;IACH,IAAW,IAAI,IAAI,GAAG,CAAC,cAAc,CAEpC;IAEK,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAKnD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAS9F,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASlG,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAKxD"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * SQL Server implementation of the CodeGenConnection interface.
3
+ * Wraps mssql.ConnectionPool to provide a database-agnostic connection
4
+ * for CodeGen orchestration code.
5
+ */
6
+ import sql from 'mssql';
7
+ /**
8
+ * SQL Server transaction implementation wrapping mssql.Transaction.
9
+ */
10
+ class SQLServerCodeGenTransaction {
11
+ constructor(transaction) {
12
+ this._transaction = transaction;
13
+ }
14
+ async query(sqlText) {
15
+ const request = new sql.Request(this._transaction);
16
+ const result = await request.query(sqlText);
17
+ return { recordset: result.recordset };
18
+ }
19
+ async commit() {
20
+ await this._transaction.commit();
21
+ }
22
+ async rollback() {
23
+ await this._transaction.rollback();
24
+ }
25
+ }
26
+ /**
27
+ * SQL Server implementation of CodeGenConnection.
28
+ * Wraps an mssql.ConnectionPool and adapts it to the generic interface.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * import sql from 'mssql';
33
+ * const pool = await sql.connect(config);
34
+ * const conn = new SQLServerCodeGenConnection(pool);
35
+ *
36
+ * // Simple query
37
+ * const result = await conn.query("SELECT ID, Name FROM Entities");
38
+ *
39
+ * // Parameterized query
40
+ * const result2 = await conn.queryWithParams(
41
+ * "SELECT ID FROM Entities WHERE Name = @Name",
42
+ * { Name: 'Users' }
43
+ * );
44
+ * ```
45
+ */
46
+ export class SQLServerCodeGenConnection {
47
+ constructor(pool) {
48
+ this._pool = pool;
49
+ }
50
+ /**
51
+ * Provides access to the underlying mssql.ConnectionPool for cases
52
+ * where SQL Server-specific functionality is needed (e.g., legacy code
53
+ * that has not yet been fully abstracted).
54
+ */
55
+ get Pool() {
56
+ return this._pool;
57
+ }
58
+ async query(sqlText) {
59
+ const result = await this._pool.request().query(sqlText);
60
+ return { recordset: result.recordset };
61
+ }
62
+ async queryWithParams(sqlText, params) {
63
+ const request = this._pool.request();
64
+ for (const [key, value] of Object.entries(params)) {
65
+ request.input(key, value);
66
+ }
67
+ const result = await request.query(sqlText);
68
+ return { recordset: result.recordset };
69
+ }
70
+ async executeStoredProcedure(name, params) {
71
+ const request = this._pool.request();
72
+ for (const [key, value] of Object.entries(params)) {
73
+ request.input(key, value);
74
+ }
75
+ const result = await request.execute(name);
76
+ return { recordset: result.recordset };
77
+ }
78
+ async beginTransaction() {
79
+ const transaction = new sql.Transaction(this._pool);
80
+ await transaction.begin();
81
+ return new SQLServerCodeGenTransaction(transaction);
82
+ }
83
+ }
84
+ //# sourceMappingURL=SQLServerCodeGenConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLServerCodeGenConnection.js","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenConnection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,GAAG,MAAM,OAAO,CAAC;AAGxB;;GAEG;AACH,MAAM,2BAA2B;IAG7B,YAAY,WAA4B;QACpC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAe;QACvB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,0BAA0B;IAGnC,YAAY,IAAwB;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAe;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,MAA+B;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY,EAAE,MAA+B;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,IAAI,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC;CACJ"}
@@ -0,0 +1,372 @@
1
+ import { EntityInfo, EntityFieldInfo } from '@memberjunction/core';
2
+ import { CodeGenDatabaseProvider, CRUDType, BaseViewGenerationContext, CascadeDeleteContext, FullTextSearchResult } from '../../codeGenDatabaseProvider.js';
3
+ import { DatabasePlatform, SQLDialect } from '@memberjunction/sql-dialect';
4
+ /**
5
+ * SQL Server implementation of the CodeGen database provider.
6
+ * Generates SQL Server-native DDL for views, stored procedures, triggers, indexes,
7
+ * full-text search, permissions, and other database objects.
8
+ *
9
+ * This provider extracts the SQL Server-specific generation logic that was previously
10
+ * hardcoded in SQLCodeGenBase, enabling the orchestrator to be database-agnostic.
11
+ */
12
+ export declare class SQLServerCodeGenProvider extends CodeGenDatabaseProvider {
13
+ /** @inheritdoc */
14
+ get Dialect(): SQLDialect;
15
+ /** @inheritdoc */
16
+ get PlatformKey(): DatabasePlatform;
17
+ /**
18
+ * Generates SQL Server-style conditional DROP guards using the `IF OBJECT_ID(...) IS NOT NULL`
19
+ * pattern. Maps each object type to its SQL Server type code: `'V'` for views, `'P'` for
20
+ * procedures, `'IF'` for inline table-valued functions, and `'TR'` for triggers.
21
+ * Each guard is terminated with a `GO` batch separator.
22
+ */
23
+ generateDropGuard(objectType: 'VIEW' | 'PROCEDURE' | 'FUNCTION' | 'TRIGGER', schema: string, name: string): string;
24
+ /**
25
+ * Generates a SQL Server `CREATE VIEW` statement for an entity's base view. The view
26
+ * selects all columns from the base table plus any related, parent, and root ID fields
27
+ * supplied by the orchestrator context. For entities with soft-delete enabled, appends
28
+ * a `WHERE ... IS NULL` clause filtering out soft-deleted rows. Includes the conditional
29
+ * DROP guard and a descriptive comment header.
30
+ */
31
+ generateBaseView(context: BaseViewGenerationContext): string;
32
+ /**
33
+ * Generates the `spCreate` stored procedure for a SQL Server entity. Handles three
34
+ * primary key strategies:
35
+ *
36
+ * 1. **Auto-increment**: Uses `SCOPE_IDENTITY()` to retrieve the generated key.
37
+ * 2. **UNIQUEIDENTIFIER with default** (e.g., `NEWSEQUENTIALID()`): Uses an `OUTPUT`
38
+ * clause into a table variable with a two-branch `IF @PK IS NOT NULL` pattern so
39
+ * callers can optionally supply their own GUID or let the database default apply.
40
+ * 3. **UNIQUEIDENTIFIER without default**: Falls back to `ISNULL(@PK, NEWID())`.
41
+ * 4. **Composite / other PKs**: Constructs a multi-column WHERE clause for retrieval.
42
+ *
43
+ * The procedure always returns the newly created record via the entity's base view.
44
+ * Includes GRANT EXECUTE permissions for authorized roles.
45
+ */
46
+ generateCRUDCreate(entity: EntityInfo): string;
47
+ /**
48
+ * Generates the `spUpdate` stored procedure for a SQL Server entity. Performs a standard
49
+ * `UPDATE ... SET ... WHERE PK = @PK` and uses `@@ROWCOUNT` to detect whether the row
50
+ * was found: if no rows were updated (e.g., stale PK or concurrent delete), returns an
51
+ * empty result set with the base view's column structure (`SELECT TOP 0 ... WHERE 1=0`);
52
+ * otherwise returns the updated record from the base view. Also generates the
53
+ * `__mj_UpdatedAt` timestamp trigger if the entity has that column.
54
+ */
55
+ generateCRUDUpdate(entity: EntityInfo): string;
56
+ /**
57
+ * Generates the `spDelete` stored procedure for a SQL Server entity. Supports both
58
+ * hard delete (`DELETE FROM`) and soft delete (`UPDATE ... SET __mj_DeletedAt = GETUTCDATE()`
59
+ * with a guard against re-deleting already soft-deleted rows). Prepends any cascade
60
+ * delete/update SQL for related entities. Uses `@@ROWCOUNT` to determine success:
61
+ * returns the PK values on success or NULL PK values if no row was affected.
62
+ */
63
+ generateCRUDDelete(entity: EntityInfo, cascadeSQL: string): string;
64
+ /**
65
+ * Generates a SQL Server `AFTER UPDATE` trigger that automatically sets the
66
+ * `__mj_UpdatedAt` column to `GETUTCDATE()` on every update. The trigger joins
67
+ * the base table to the `INSERTED` pseudo-table on all primary key columns to
68
+ * target only the affected rows. Returns an empty string if the entity does not
69
+ * have an `__mj_UpdatedAt` field.
70
+ */
71
+ generateTimestampTrigger(entity: EntityInfo): string;
72
+ /**
73
+ * Generates conditional `CREATE INDEX` statements for all foreign key columns on an entity.
74
+ * Each index uses the naming convention `IDX_AUTO_MJ_FKEY_{Table}_{Column}`, truncated
75
+ * to 128 characters (SQL Server's identifier length limit). Wraps each statement in an
76
+ * `IF NOT EXISTS` check against `sys.indexes` to avoid duplicate index creation.
77
+ */
78
+ generateForeignKeyIndexes(entity: EntityInfo): string[];
79
+ /**
80
+ * Generates SQL Server full-text search infrastructure for an entity, conditionally
81
+ * producing up to three components based on entity metadata flags:
82
+ *
83
+ * 1. **Full-text catalog** (`FullTextCatalogGenerated`): `CREATE FULLTEXT CATALOG` if
84
+ * one doesn't already exist, defaulting to `MJ_FullTextCatalog`.
85
+ * 2. **Full-text index** (`FullTextIndexGenerated`): Drops any existing FT index on the
86
+ * table, then creates a new one covering the specified search fields with English language.
87
+ * 3. **Search function** (`FullTextSearchFunctionGenerated`): An inline table-valued
88
+ * function that wraps `CONTAINS()` to return matching primary key values.
89
+ *
90
+ * @returns The generated SQL and the resolved function name for permission grants.
91
+ */
92
+ generateFullTextSearch(entity: EntityInfo, searchFields: EntityFieldInfo[], primaryKeyIndexName: string): FullTextSearchResult;
93
+ /**
94
+ * Generates a SQL Server inline table-valued function that resolves the root ancestor ID
95
+ * for a self-referencing foreign key hierarchy. Uses a recursive CTE starting from the
96
+ * given record (or its parent if provided), walking up the parent chain until it finds
97
+ * a record with a NULL parent pointer. Enforces a maximum recursion depth of 100 to
98
+ * prevent infinite loops from circular references. The function is named
99
+ * `fn{BaseTable}{FieldName}_GetRootID` and returns a single-column result (`RootID`),
100
+ * designed to be consumed via `OUTER APPLY` in the entity's base view.
101
+ */
102
+ generateRootIDFunction(entity: EntityInfo, field: EntityFieldInfo): string;
103
+ /** @inheritdoc */
104
+ generateRootFieldSelect(_entity: EntityInfo, field: EntityFieldInfo, alias: string): string;
105
+ /**
106
+ * Generates a SQL Server `OUTER APPLY` clause to join the root ID inline table-valued
107
+ * function into the entity's base view. The function is invoked with the record's primary
108
+ * key and the self-referencing FK value as arguments.
109
+ */
110
+ generateRootFieldJoin(entity: EntityInfo, field: EntityFieldInfo, alias: string): string;
111
+ /** @inheritdoc */
112
+ generateViewPermissions(entity: EntityInfo): string;
113
+ /**
114
+ * Generates `GRANT EXECUTE` SQL for a CRUD stored procedure, granting permission only
115
+ * to roles whose `EntityPermission` record allows the specified CRUD operation type.
116
+ * Produces a single comma-separated `GRANT EXECUTE ON ... TO [role1], [role2]` statement.
117
+ */
118
+ generateCRUDPermissions(entity: EntityInfo, routineName: string, type: CRUDType): string;
119
+ /** @inheritdoc */
120
+ generateFullTextSearchPermissions(entity: EntityInfo, functionName: string): string;
121
+ /** @inheritdoc */
122
+ generateSingleCascadeOperation(context: CascadeDeleteContext): string;
123
+ /**
124
+ * Generates cursor-based cascade DELETE SQL for SQL Server.
125
+ * Uses a cursor to iterate related records and call the entity's spDelete for each.
126
+ */
127
+ private generateCascadeCursorDelete;
128
+ /**
129
+ * Generates cursor-based cascade UPDATE SQL for SQL Server.
130
+ * Used for nullable FK fields: iterates related records and calls spUpdate
131
+ * to set the FK to NULL for each.
132
+ */
133
+ private generateCascadeCursorUpdate;
134
+ /**
135
+ * Builds all the cursor parameters needed for a cascade UPDATE operation.
136
+ * Includes primary key fields and all updateable fields, with proper
137
+ * DECLARE statements, SELECT fields, FETCH INTO variables, and SP parameters.
138
+ */
139
+ private buildUpdateCursorParameters;
140
+ /** @inheritdoc */
141
+ generateTimestampColumns(schema: string, tableName: string): string;
142
+ /**
143
+ * Builds the SQL Server parameter declaration list for a CRUD stored procedure.
144
+ * Produces `@ParamName TYPE` entries separated by commas. Filters fields based on
145
+ * update/create context: includes primary keys only on updates (or non-auto-increment
146
+ * creates), excludes virtual and special date fields, and adds `= NULL` default values
147
+ * for optional primary keys on create and for non-nullable fields with database defaults.
148
+ */
149
+ generateCRUDParamString(entityFields: EntityFieldInfo[], isUpdate: boolean): string;
150
+ /**
151
+ * Generates either the column-name list or the value-expression list for an INSERT
152
+ * statement, depending on the `prefix` parameter:
153
+ *
154
+ * - **Empty prefix** (`''`): Produces bracketed column names (e.g., `[Name], [Email]`).
155
+ * - **`'@'` prefix**: Produces parameter references with smart default handling:
156
+ * - Special date fields emit `GETUTCDATE()` for created/updated-at, `NULL` for deleted-at.
157
+ * - UNIQUEIDENTIFIER fields with defaults use a `CASE` expression that detects the
158
+ * empty GUID sentinel (`00000000-...`) and falls back to the database default.
159
+ * - Other non-nullable fields with defaults are wrapped in `ISNULL(@Param, default)`.
160
+ *
161
+ * Skips auto-increment, virtual, and non-updatable fields. Optionally excludes the
162
+ * primary key column (used by the two-branch GUID insert pattern in `generateCRUDCreate`).
163
+ */
164
+ generateInsertFieldString(entity: EntityInfo, entityFields: EntityFieldInfo[], prefix: string, excludePrimaryKey?: boolean): string;
165
+ /** @inheritdoc */
166
+ generateUpdateFieldString(entityFields: EntityFieldInfo[]): string;
167
+ /** @inheritdoc */
168
+ getCRUDRoutineName(entity: EntityInfo, type: CRUDType): string;
169
+ /** @inheritdoc */
170
+ generateSQLFileHeader(entity: EntityInfo, itemName: string): string;
171
+ /** @inheritdoc */
172
+ generateAllEntitiesSQLFileHeader(): string;
173
+ /**
174
+ * Formats a raw default value string for embedding in generated SQL. Recognizes common
175
+ * SQL Server functions (`NEWID()`, `NEWSEQUENTIALID()`, `GETDATE()`, `GETUTCDATE()`,
176
+ * `SYSDATETIME()`, `SYSDATETIMEOFFSET()`, `CURRENT_TIMESTAMP`, `USER_NAME()`,
177
+ * `SUSER_NAME()`, `SYSTEM_USER`) and strips wrapping parentheses from them. For literal
178
+ * values, strips surrounding single quotes and re-applies them only if `needsQuotes`
179
+ * is true. Returns `'NULL'` for empty or whitespace-only inputs.
180
+ */
181
+ formatDefaultValue(defaultValue: string, needsQuotes: boolean): string;
182
+ /**
183
+ * Builds the four SQL fragments needed to work with an entity's primary key columns
184
+ * in cursor-based cascade operations:
185
+ *
186
+ * - `varDeclarations`: `@{prefix}{PK} TYPE` variable declarations for `DECLARE`.
187
+ * - `selectFields`: Bracketed column names for the cursor `SELECT`.
188
+ * - `fetchInto`: `@{prefix}{PK}` variable references for `FETCH INTO`.
189
+ * - `routineParams`: Named parameter assignments (`@PK = @{prefix}{PK}`) for `EXEC`.
190
+ *
191
+ * Supports composite primary keys by iterating all PK fields. The optional `prefix`
192
+ * defaults to `'Related'` to avoid variable name collisions in nested cursor blocks.
193
+ */
194
+ buildPrimaryKeyComponents(entity: EntityInfo, prefix?: string): {
195
+ varDeclarations: string;
196
+ selectFields: string;
197
+ fetchInto: string;
198
+ routineParams: string;
199
+ };
200
+ /** @inheritdoc */
201
+ getViewDefinitionSQL(schema: string, viewName: string): string;
202
+ /**
203
+ * Returns a SQL query that retrieves the primary key index name for a table by joining
204
+ * `sys.indexes`, `sys.objects`, and `sys.key_constraints` and filtering on constraint
205
+ * type `'PK'`. The result column is named `IndexName` as expected by the orchestrator.
206
+ */
207
+ getPrimaryKeyIndexNameSQL(schema: string, tableName: string): string;
208
+ /**
209
+ * Returns a SQL query that checks whether a column participates in a composite (multi-column)
210
+ * unique constraint. Queries `sys.indexes`, `sys.index_columns`, and `sys.columns` to find
211
+ * non-primary-key unique indexes that include the specified column AND have more than one
212
+ * column. Returns rows if the column is part of such a constraint; the orchestrator checks
213
+ * `recordset.length > 0`.
214
+ */
215
+ getCompositeUniqueConstraintCheckSQL(schema: string, tableName: string, columnName: string): string;
216
+ /** @inheritdoc */
217
+ getForeignKeyIndexExistsSQL(schema: string, tableName: string, indexName: string): string;
218
+ /**
219
+ * Builds a SQL Server `EXEC` statement for invoking a stored procedure. When `paramNames`
220
+ * are provided, generates named parameter syntax (`@ParamName=value`); otherwise uses
221
+ * positional parameter values. Returns just `EXEC [schema].[routine]` if no params.
222
+ */
223
+ callRoutineSQL(schema: string, routineName: string, params: string[], paramNames?: string[]): string;
224
+ /** @inheritdoc */
225
+ conditionalInsertSQL(checkQuery: string, insertSQL: string): string;
226
+ /** @inheritdoc */
227
+ wrapInsertWithConflictGuard(conflictCheckSQL: string): {
228
+ prefix: string;
229
+ suffix: string;
230
+ };
231
+ /** @inheritdoc */
232
+ addColumnSQL(schema: string, tableName: string, columnName: string, dataType: string, nullable: boolean, defaultExpression?: string): string;
233
+ /** @inheritdoc */
234
+ alterColumnTypeAndNullabilitySQL(schema: string, tableName: string, columnName: string, dataType: string, nullable: boolean): string;
235
+ /** @inheritdoc */
236
+ addDefaultConstraintSQL(schema: string, tableName: string, columnName: string, defaultExpression: string): string;
237
+ /**
238
+ * Generates SQL to dynamically find and drop the default constraint on a column.
239
+ * Unlike PostgreSQL's simple `ALTER COLUMN DROP DEFAULT`, SQL Server requires looking
240
+ * up the constraint name from `sys.default_constraints` joined through `sys.tables`,
241
+ * `sys.schemas`, and `sys.columns`, then executing a dynamic `ALTER TABLE DROP CONSTRAINT`
242
+ * via `EXEC()`. The generated SQL is safe to run even if no default constraint exists
243
+ * (guarded by `IF @constraintName IS NOT NULL`).
244
+ */
245
+ dropDefaultConstraintSQL(schema: string, tableName: string, columnName: string): string;
246
+ /** @inheritdoc */
247
+ dropObjectSQL(objectType: 'VIEW' | 'PROCEDURE' | 'FUNCTION', schema: string, name: string): string;
248
+ /** @inheritdoc */
249
+ getViewExistsSQL(): string;
250
+ /**
251
+ * Returns a SQL query that retrieves column metadata for a view by joining `sys.columns`,
252
+ * `sys.types`, `sys.views`, and `sys.schemas`. Returns columns named `FieldName`, `Type`,
253
+ * `Length`, `Precision`, `Scale`, and `AllowsNull`, ordered by `column_id` to preserve
254
+ * the original column definition order.
255
+ */
256
+ getViewColumnsSQL(schema: string, viewName: string): string;
257
+ /** @inheritdoc */
258
+ get TimestampType(): string;
259
+ /** @inheritdoc */
260
+ compareDataTypes(reported: string, expected: string): boolean;
261
+ /** @inheritdoc */
262
+ getSystemSchemasToExclude(): string[];
263
+ /** @inheritdoc */
264
+ get NeedsViewRefresh(): boolean;
265
+ /** @inheritdoc */
266
+ generateViewRefreshSQL(schema: string, viewName: string): string;
267
+ /** @inheritdoc */
268
+ generateViewTestQuerySQL(schema: string, viewName: string): string;
269
+ /** @inheritdoc */
270
+ get NeedsVirtualFieldNullabilityFix(): boolean;
271
+ /** @inheritdoc */
272
+ quoteSQLForExecution(sql: string): string;
273
+ /**
274
+ * Parses a raw SQL Server column default value from the system catalog into a clean form.
275
+ * SQL Server wraps defaults in parentheses (e.g., `(getdate())`, `((1))`, `(N'foo')`),
276
+ * so this method applies three successive stripping passes:
277
+ *
278
+ * 1. Strips one layer of wrapping parentheses.
279
+ * 2. Strips the `N'...'` Unicode string prefix.
280
+ * 3. Strips surrounding single quotes from plain string literals.
281
+ *
282
+ * Returns `null` if the input is null or undefined.
283
+ */
284
+ parseColumnDefaultValue(sqlDefaultValue: string): string | null;
285
+ /**
286
+ * Strips wrapping parentheses from a SQL Server default value.
287
+ * Example: `(getdate())` becomes `getdate()`, `((1))` becomes `(1)`.
288
+ */
289
+ private stripWrappingParentheses;
290
+ /**
291
+ * Strips the N'' prefix from a SQL Server Unicode string literal.
292
+ * Example: `N'SomeValue'` becomes `SomeValue`.
293
+ */
294
+ private stripNPrefixQuotes;
295
+ /**
296
+ * Strips surrounding single quotes from a value.
297
+ * Example: `'SomeValue'` becomes `SomeValue`.
298
+ */
299
+ private stripSingleQuotes;
300
+ /**
301
+ * Generates the full SQL query to retrieve entity fields that exist in the database schema
302
+ * but are not yet registered in MJ metadata. The query is assembled from three parts:
303
+ *
304
+ * 1. **Temp table materialization**: Copies `vwForeignKeys`, `vwTablePrimaryKeys`, and
305
+ * `vwTableUniqueKeys` into temp tables so SQL Server can build real statistics instead
306
+ * of expanding nested view-on-view joins with bad cardinality estimates.
307
+ * 2. **Main CTE query**: Uses `MaxSequences` CTE to calculate proper field ordering and
308
+ * `NumberedRows` CTE to deduplicate results, joining against the temp tables for FK,
309
+ * PK, and unique key detection.
310
+ * 3. **Cleanup**: Drops the temp tables.
311
+ */
312
+ getPendingEntityFieldsSQL(mjCoreSchema: string): string;
313
+ /**
314
+ * Builds the temp table materialization statements for the pending entity fields query.
315
+ * Materializes system DMV views into temp tables for optimal SQL Server query plan statistics.
316
+ */
317
+ private buildPendingFieldsTempTables;
318
+ /**
319
+ * Builds the main CTE query for finding pending entity fields.
320
+ * Uses MaxSequences CTE to calculate proper field ordering and NumberedRows
321
+ * CTE to deduplicate results.
322
+ */
323
+ private buildPendingFieldsMainQuery;
324
+ /**
325
+ * Builds the cleanup statements to drop temp tables after the pending fields query.
326
+ */
327
+ private buildPendingFieldsCleanup;
328
+ /** @inheritdoc */
329
+ getCheckConstraintsSchemaFilter(excludeSchemas: string[]): string;
330
+ /** @inheritdoc */
331
+ getEntitiesWithMissingBaseTablesFilter(): string;
332
+ /** @inheritdoc */
333
+ getFixVirtualFieldNullabilitySQL(_mjCoreSchema: string): string;
334
+ /**
335
+ * Executes a SQL file against SQL Server using the `sqlcmd` command-line utility. Reads
336
+ * connection details (server, port, instance, user, password, database) from the shared
337
+ * `sqlConfig` object. On Windows, converts file paths containing spaces to 8.3 short
338
+ * format to avoid quoting issues with `sqlcmd`. Spawns the process with `QUOTED_IDENTIFIER`
339
+ * enabled (`-I`) and severity threshold 17 (`-V 17`). Optionally adds `-C` for
340
+ * `trustServerCertificate`. Returns `true` on successful execution, `false` on failure.
341
+ */
342
+ executeSQLFileViaShell(filePath: string): Promise<boolean>;
343
+ /**
344
+ * Validates that required SQL Server connection configuration is present.
345
+ */
346
+ private validateSqlConfig;
347
+ /**
348
+ * Builds the server specification string for sqlcmd (server[,port][\instance]).
349
+ */
350
+ private buildServerSpec;
351
+ /**
352
+ * Resolves the file path to absolute and converts to 8.3 short path on Windows if needed.
353
+ */
354
+ private resolveAndShortPathConvert;
355
+ /**
356
+ * Attempts to convert a Windows path to 8.3 short format to avoid quoting issues.
357
+ */
358
+ private tryConvertToShortPath;
359
+ /**
360
+ * Builds the argument array for the sqlcmd CLI tool.
361
+ */
362
+ private buildSqlcmdArgs;
363
+ /**
364
+ * Spawns the sqlcmd process and waits for completion.
365
+ */
366
+ private spawnSqlcmd;
367
+ /**
368
+ * Logs a sqlcmd execution error, masking the password in the output.
369
+ */
370
+ private logSqlcmdError;
371
+ }
372
+ //# sourceMappingURL=SQLServerCodeGenProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLServerCodeGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAA4C,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EACH,uBAAuB,EACvB,QAAQ,EACR,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAoB,gBAAgB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAW7F;;;;;;;GAOG;AACH,qBAAa,wBAAyB,SAAQ,uBAAuB;IACjE,kBAAkB;IAClB,IAAI,OAAO,IAAI,UAAU,CAExB;IAED,kBAAkB;IAClB,IAAI,WAAW,IAAI,gBAAgB,CAElC;IAID;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAiBlH;;;;;;OAMG;IACH,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM;IA8B5D;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAoG9C;;;;;;;OAOG;IACH,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAiD9C;;;;;;OAMG;IACH,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IA6DlE;;;;;;OAMG;IACH,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAgCpD;;;;;OAKG;IACH,yBAAyB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE;IAsBvD;;;;;;;;;;;;OAYG;IACH,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,mBAAmB,EAAE,MAAM,GAAG,oBAAoB;IAsE9H;;;;;;;;OAQG;IACH,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM;IA8D1E,kBAAkB;IAClB,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAK3F;;;;OAIG;IACH,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAUxF,kBAAkB;IAClB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAUnD;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM;IAiBxF,kBAAkB;IAClB,iCAAiC,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAcnF,kBAAkB;IAClB,8BAA8B,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM;IASrE;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IA+BnC;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAmCnC;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAqDnC,kBAAkB;IAClB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAQnE;;;;;;OAMG;IACH,uBAAuB,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IA0BnF;;;;;;;;;;;;;OAaG;IACH,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,GAAG,MAAM;IA+C1I,kBAAkB;IAClB,yBAAyB,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM;IAqBlE,kBAAkB;IAClB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM;IAa9D,kBAAkB;IAClB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAYnE,kBAAkB;IAClB,gCAAgC,IAAI,MAAM;IAgB1C;;;;;;;OAOG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM;IAmCtE;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;QAC5D,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACzB;IA2BD,kBAAkB;IAClB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI9D;;;;OAIG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAgBpE;;;;;;OAMG;IACH,oCAAoC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAuBnG,kBAAkB;IAClB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IASzF;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAgBpG,kBAAkB;IAClB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAInE,kBAAkB;IAClB,2BAA2B,CAAC,gBAAgB,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IASzF,kBAAkB;IAClB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM;IAM5I,kBAAkB;IAClB,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAKpI,kBAAkB;IAClB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM;IAKjH;;;;;;;OAOG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAkBvF,kBAAkB;IAClB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAOlG,kBAAkB;IAClB,gBAAgB,IAAI,MAAM;IAI1B;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAyB3D,kBAAkB;IAClB,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,kBAAkB;IAClB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAM7D,kBAAkB;IAClB,yBAAyB,IAAI,MAAM,EAAE;IAIrC,kBAAkB;IAClB,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,kBAAkB;IAClB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIhE,kBAAkB;IAClB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIlE,kBAAkB;IAClB,IAAI,+BAA+B,IAAI,OAAO,CAE7C;IAID,kBAAkB;IAClB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAMzC;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAU/D;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAMvD;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAuBpC;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAmEnC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAQjC,kBAAkB;IAClB,+BAA+B,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM;IAQjE,kBAAkB;IAClB,sCAAsC,IAAI,MAAM;IAIhD,kBAAkB;IAClB,gCAAgC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAM/D;;;;;;;OAOG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAahE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;YACW,WAAW;IAyCzB;;OAEG;IACH,OAAO,CAAC,cAAc;CAgBzB"}