forge-sql-orm 2.1.13 → 2.1.14

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 CHANGED
@@ -33,6 +33,7 @@
33
33
  - ✅ **Ready-to-use Migration Triggers** Built-in web triggers for applying migrations, dropping tables (development-only), and fetching schema (development-only) with proper error handling and security controls
34
34
  - ✅ **Optimistic Locking** Ensures data consistency by preventing conflicts when multiple users update the same record
35
35
  - ✅ **Query Plan Analysis**: Detailed execution plan analysis and optimization insights
36
+ - ✅ **Rovo Integration** Secure pattern for natural-language analytics with comprehensive security validations, Row-Level Security (RLS) support, and dynamic SQL query execution
36
37
 
37
38
  ## Table of Contents
38
39
 
@@ -68,6 +69,7 @@
68
69
  ### 🔒 Advanced Features
69
70
 
70
71
  - [Optimistic Locking](#optimistic-locking)
72
+ - [Rovo Integration](#rovo-integration) - Secure pattern for natural-language analytics with dynamic SQL queries
71
73
  - [Query Analysis and Performance Optimization](#query-analysis-and-performance-optimization)
72
74
  - [Automatic Error Analysis](#automatic-error-analysis) - Automatic timeout and OOM error detection with execution plans
73
75
  - [Slow Query Monitoring](#slow-query-monitoring) - Scheduled monitoring of slow queries with execution plans
@@ -90,6 +92,7 @@
90
92
  - [Organization Tracker Example](examples/forge-sql-orm-example-org-tracker)
91
93
  - [Checklist Example](examples/forge-sql-orm-example-checklist)
92
94
  - [Cache Example](examples/forge-sql-orm-example-cache) - Advanced caching capabilities with performance monitoring
95
+ - [Rovo Integration Example](https://github.com/vzakharchenko/Forge-Secure-Notes-for-Jira) - Real-world Rovo AI agent implementation with secure natural-language analytics
93
96
 
94
97
  ### 📚 Reference
95
98
 
@@ -109,6 +112,7 @@
109
112
  - [Global Cache System (Level 2)](#global-cache-system-level-2) - Cross-invocation persistent caching
110
113
  - [Local Cache System (Level 1)](#local-cache-operations-level-1) - In-memory invocation caching
111
114
  - [Optimistic Locking](#optimistic-locking) - Data consistency
115
+ - [Rovo Integration](#rovo-integration) - Secure natural-language analytics
112
116
  - [Migration Tools](#web-triggers-for-migrations) - Database migrations
113
117
  - [Query Analysis](#query-analysis-and-performance-optimization) - Performance optimization
114
118
 
@@ -119,6 +123,7 @@
119
123
  - [Organization Tracker Example](examples/forge-sql-orm-example-org-tracker) - Complex relationships
120
124
  - [Checklist Example](examples/forge-sql-orm-example-checklist) - Jira integration
121
125
  - [Cache Example](examples/forge-sql-orm-example-cache) - Advanced caching capabilities
126
+ - [Rovo Integration Example](https://github.com/vzakharchenko/Forge-Secure-Notes-for-Jira) - Real-world Rovo AI agent with secure analytics
122
127
 
123
128
  ## Usage Approaches
124
129
 
@@ -351,12 +356,33 @@ resolver.define("fetch", async (req: Request) => {
351
356
  });
352
357
  ```
353
358
 
354
- ### 5. Next Steps
359
+ ### 5. Rovo Integration (Secure Analytics)
360
+
361
+ ```typescript
362
+ // Secure dynamic SQL queries for natural-language analytics
363
+ const rovo = forgeSQL.rovo();
364
+ const settings = await rovo
365
+ .rovoSettingBuilder(usersTable, accountId)
366
+ .addContextParameter(":currentUserId", accountId)
367
+ .useRLS()
368
+ .addRlsColumn(usersTable.id)
369
+ .addRlsWherePart((alias) => `${alias}.${usersTable.id.name} = '${accountId}'`)
370
+ .finish()
371
+ .build();
372
+
373
+ const result = await rovo.dynamicIsolatedQuery(
374
+ "SELECT id, name FROM users WHERE status = 'active' AND userId = :currentUserId",
375
+ settings,
376
+ );
377
+ ```
378
+
379
+ ### 6. Next Steps
355
380
 
356
381
  - [Full Installation Guide](#installation) - Complete setup instructions
357
382
  - [Core Features](#core-features) - Learn about key capabilities
358
383
  - [Global Cache System (Level 2)](#global-cache-system-level-2) - Cross-invocation caching features
359
384
  - [Local Cache System (Level 1)](#local-cache-operations-level-1) - In-memory caching features
385
+ - [Rovo Integration](#rovo-integration) - Secure natural-language analytics
360
386
  - [API Reference](#reference) - Complete API documentation
361
387
 
362
388
  ## Drizzle Usage with forge-sql-orm
@@ -466,6 +492,22 @@ const userStats = await forgeSQL
466
492
  })
467
493
  .from(sql`activeUsers au`)
468
494
  .leftJoin(sql`completedOrders co`, eq(sql`au.id`, sql`co.userId`));
495
+
496
+ // Rovo Integration for secure dynamic SQL queries
497
+ const rovo = forgeSQL.rovo();
498
+ const settings = await rovo
499
+ .rovoSettingBuilder(usersTable, accountId)
500
+ .addContextParameter(":currentUserId", accountId)
501
+ .useRLS()
502
+ .addRlsColumn(usersTable.id)
503
+ .addRlsWherePart((alias) => `${alias}.${usersTable.id.name} = '${accountId}'`)
504
+ .finish()
505
+ .build();
506
+
507
+ const rovoResult = await rovo.dynamicIsolatedQuery(
508
+ "SELECT id, name FROM users WHERE status = 'active' AND userId = :currentUserId",
509
+ settings,
510
+ );
469
511
  ```
470
512
 
471
513
  This approach gives you direct access to all Drizzle ORM features while still using the @forge/sql backend with enhanced caching and versioning capabilities.
@@ -2011,6 +2053,223 @@ await forgeSQL.modifyWithVersioningAndEvictCache().updateById(
2011
2053
  );
2012
2054
  ```
2013
2055
 
2056
+ ## Rovo Integration
2057
+
2058
+ [↑ Back to Top](#table-of-contents)
2059
+
2060
+ Rovo is a secure pattern for natural-language analytics in Forge apps. It enables safe execution of dynamic SQL queries with comprehensive security validations, making it ideal for AI-powered analytics features where users can query data using natural language.
2061
+
2062
+ **📖 Real-World Example**: See [Forge-Secure-Notes-for-Jira](https://github.com/vzakharchenko/Forge-Secure-Notes-for-Jira) for a complete implementation of Rovo AI agent with secure natural-language analytics.
2063
+
2064
+ ### Key Features
2065
+
2066
+ - **Security-First Design**: Multiple layers of security validations to prevent SQL injection and unauthorized data access
2067
+ - **Single Table Isolation**: Queries are restricted to a single table to prevent cross-table data access
2068
+ - **Row-Level Security (RLS)**: Built-in support for data isolation based on user context
2069
+ - **Comprehensive Validation**: Blocks JOINs, subqueries, window functions, and other potentially unsafe operations
2070
+ - **Post-Execution Validation**: Verifies query results to ensure security fields are present and come from the correct table
2071
+ - **Type-Safe Configuration**: Uses Drizzle ORM table objects for type-safe column references
2072
+
2073
+ ### Security Validations
2074
+
2075
+ Rovo performs multiple security checks before and after query execution:
2076
+
2077
+ 1. **Query Type Validation**: Only SELECT queries are allowed
2078
+ 2. **Table Restriction**: Queries must target only the specified table
2079
+ 3. **JOIN Detection**: JOINs are blocked using EXPLAIN analysis
2080
+ 4. **Subquery Detection**: Scalar subqueries in SELECT columns are blocked
2081
+ 5. **Window Function Detection**: Window functions are blocked for security
2082
+ 6. **Execution Plan Validation**: Verifies that only the expected table is accessed
2083
+ 7. **RLS Field Validation**: Ensures required security fields are present in results
2084
+ 8. **Post-Execution Validation**: Verifies all fields come from the correct table
2085
+
2086
+ ### Basic Usage
2087
+
2088
+ ```typescript
2089
+ import ForgeSQL from "forge-sql-orm";
2090
+
2091
+ const forgeSQL = new ForgeSQL();
2092
+
2093
+ // Get Rovo instance
2094
+ const rovo = forgeSQL.rovo();
2095
+
2096
+ // Create settings builder using Drizzle table object
2097
+ const settings = await rovo
2098
+ .rovoSettingBuilder(usersTable, accountId)
2099
+ .addContextParameter(":currentUserId", accountId)
2100
+ .useRLS()
2101
+ .addRlsColumn(usersTable.id)
2102
+ .addRlsWherePart((alias) => `${alias}.${usersTable.id.name} = '${accountId}'`)
2103
+ .finish()
2104
+ .build();
2105
+
2106
+ // Execute dynamic SQL query
2107
+ const result = await rovo.dynamicIsolatedQuery(
2108
+ "SELECT id, name FROM users WHERE status = 'active' AND userId = :currentUserId",
2109
+ settings,
2110
+ );
2111
+
2112
+ console.log(result.rows); // Query results
2113
+ console.log(result.metadata); // Query metadata
2114
+ ```
2115
+
2116
+ ### Row-Level Security (RLS) Configuration
2117
+
2118
+ RLS allows you to filter data based on user context, ensuring users can only access their own data:
2119
+
2120
+ ```typescript
2121
+ const rovo = forgeSQL.rovo();
2122
+
2123
+ // Configure RLS with conditional activation and multiple security fields
2124
+ const settings = await rovo
2125
+ .rovoSettingBuilder(securityNotesTable, accountId)
2126
+ .addContextParameter(":currentUserId", accountId)
2127
+ .addContextParameter(":currentProjectKey", projectKey)
2128
+ .addContextParameter(":currentIssueKey", issueKey)
2129
+ .useRLS()
2130
+ .addRlsCondition(async () => {
2131
+ // Conditionally enable RLS based on user role
2132
+ const userService = getUserService();
2133
+ return !(await userService.isAdmin()); // Only apply RLS for non-admin users
2134
+ })
2135
+ .addRlsColumn(securityNotesTable.createdBy) // Required field for RLS validation
2136
+ .addRlsColumn(securityNotesTable.targetUserId) // Additional security field
2137
+ .addRlsWherePart(
2138
+ (alias) =>
2139
+ `${alias}.${securityNotesTable.createdBy.name} = '${accountId}' OR ${alias}.${securityNotesTable.targetUserId.name} = '${accountId}'`,
2140
+ ) // RLS filter with OR condition
2141
+ .finish()
2142
+ .build();
2143
+
2144
+ // The query will automatically be wrapped with RLS filtering:
2145
+ // SELECT * FROM (original_query) AS t WHERE (t.createdBy = 'accountId' OR t.targetUserId = 'accountId')
2146
+ ```
2147
+
2148
+ ### Context Parameters
2149
+
2150
+ You can use context parameters for query substitution. Parameters use the `:parameterName` format (colon prefix, not double braces):
2151
+
2152
+ ```typescript
2153
+ const rovo = forgeSQL.rovo();
2154
+
2155
+ const settings = await rovo
2156
+ .rovoSettingBuilder(usersTable, accountId)
2157
+ .addContextParameter(":currentUserId", accountId)
2158
+ .addContextParameter(":projectKey", "PROJ-123")
2159
+ .addContextParameter(":status", "active")
2160
+ .useRLS()
2161
+ .addRlsColumn(usersTable.id)
2162
+ .addRlsWherePart((alias) => `${alias}.${usersTable.userId.name} = '${accountId}'`)
2163
+ .finish()
2164
+ .build();
2165
+
2166
+ // In the SQL query, parameters are replaced:
2167
+ const result = await rovo.dynamicIsolatedQuery(
2168
+ "SELECT * FROM users WHERE projectKey = :projectKey AND status = :status AND userId = :currentUserId",
2169
+ settings,
2170
+ );
2171
+ // Becomes: SELECT * FROM users WHERE projectKey = 'PROJ-123' AND status = 'active' AND userId = 'accountId'
2172
+ ```
2173
+
2174
+ ### Using Raw Table Names
2175
+
2176
+ You can use `rovoRawSettingBuilder` with raw table name string:
2177
+
2178
+ ```typescript
2179
+ const rovo = forgeSQL.rovo();
2180
+
2181
+ // Using rovoRawSettingBuilder with raw table name
2182
+ const settings = await rovo
2183
+ .rovoRawSettingBuilder("users", accountId)
2184
+ .addContextParameter(":currentUserId", accountId)
2185
+ .useRLS()
2186
+ .addRlsColumnName("id")
2187
+ .addRlsWherePart((alias) => `${alias}.id = '${accountId}'`)
2188
+ .finish()
2189
+ .build();
2190
+
2191
+ const result = await rovo.dynamicIsolatedQuery(
2192
+ "SELECT id, name FROM users WHERE status = 'active' AND userId = :currentUserId",
2193
+ settings,
2194
+ );
2195
+ ```
2196
+
2197
+ ### Security Restrictions
2198
+
2199
+ Rovo blocks the following operations for security:
2200
+
2201
+ - **Data Modification**: Only SELECT queries are allowed
2202
+ - **JOINs**: JOIN operations are detected and blocked
2203
+ - **Subqueries**: Scalar subqueries in SELECT columns are blocked
2204
+ - **Window Functions**: Window functions (e.g., `COUNT(*) OVER(...)`) are blocked
2205
+ - **Multiple Tables**: Queries referencing multiple tables are blocked
2206
+ - **Table Aliases**: Post-execution validation ensures fields come from the correct table
2207
+
2208
+ ### Error Handling
2209
+
2210
+ Rovo provides detailed error messages when security violations are detected:
2211
+
2212
+ ```typescript
2213
+ try {
2214
+ const result = await rovo.dynamicIsolatedQuery(
2215
+ "SELECT * FROM users u JOIN orders o ON u.id = o.userId",
2216
+ settings,
2217
+ );
2218
+ } catch (error) {
2219
+ // Error: "Security violation: JOIN operations are not allowed..."
2220
+ console.error(error.message);
2221
+ }
2222
+ ```
2223
+
2224
+ ### Example: Real-World Function Implementation
2225
+
2226
+ > **💡 Full Example**: See the complete implementation in [Forge-Secure-Notes-for-Jira](https://github.com/vzakharchenko/Forge-Secure-Notes-for-Jira) repository.
2227
+
2228
+ ```typescript
2229
+ import ForgeSQL from "forge-sql-orm";
2230
+ import { Result } from "@forge/sql";
2231
+
2232
+ const FORGE_SQL_ORM = new ForgeSQL();
2233
+
2234
+ export async function runSecurityNotesQuery(
2235
+ event: {
2236
+ sql: string;
2237
+ context: {
2238
+ jira: {
2239
+ issueKey: string;
2240
+ projectKey: string;
2241
+ };
2242
+ };
2243
+ },
2244
+ context: { principal: { accountId: string } },
2245
+ ): Promise<Result<unknown>> {
2246
+ const rovoIntegration = FORGE_SQL_ORM.rovo();
2247
+ const accountId = context.principal.accountId;
2248
+
2249
+ const settings = await rovoIntegration
2250
+ .rovoSettingBuilder(securityNotesTable, accountId)
2251
+ .addContextParameter(":currentUserId", accountId)
2252
+ .addContextParameter(":currentProjectKey", event.context?.jira?.projectKey ?? "")
2253
+ .addContextParameter(":currentIssueKey", event.context?.jira?.issueKey ?? "")
2254
+ .useRLS()
2255
+ .addRlsCondition(async () => {
2256
+ // Conditionally disable RLS for admin users
2257
+ const userService = getUserService();
2258
+ return !(await userService.isAdmin());
2259
+ })
2260
+ .addRlsColumn(securityNotesTable.createdBy)
2261
+ .addRlsColumn(securityNotesTable.targetUserId)
2262
+ .addRlsWherePart(
2263
+ (alias: string) =>
2264
+ `${alias}.${securityNotesTable.createdBy.name} = '${accountId}' OR ${alias}.${securityNotesTable.targetUserId.name} = '${accountId}'`,
2265
+ )
2266
+ .finish()
2267
+ .build();
2268
+
2269
+ return await rovoIntegration.dynamicIsolatedQuery(event.sql, settings);
2270
+ }
2271
+ ```
2272
+
2014
2273
  ## ForgeSqlOrmOptions
2015
2274
 
2016
2275
  The `ForgeSqlOrmOptions` object allows customization of ORM behavior:
@@ -1,4 +1,4 @@
1
- import { VerioningModificationForgeSQL, ForgeSqlOperation, ForgeSqlOrmOptions, SchemaAnalyzeForgeSql, SchemaSqlForgeSql } from "./ForgeSQLQueryBuilder";
1
+ import { VerioningModificationForgeSQL, ForgeSqlOperation, ForgeSqlOrmOptions, SchemaAnalyzeForgeSql, SchemaSqlForgeSql, RovoIntegration } from "./ForgeSQLQueryBuilder";
2
2
  import { MySqlRemoteDatabase, MySqlRemotePreparedQueryHKT, MySqlRemoteQueryResultHKT } from "drizzle-orm/mysql-proxy";
3
3
  import type { SelectedFields } from "drizzle-orm/mysql-core/query-builders/select.types";
4
4
  import { MySqlSelectBuilder } from "drizzle-orm/mysql-core";
@@ -473,6 +473,34 @@ declare class ForgeSQLORM implements ForgeSqlOperation {
473
473
  update: <TTable extends MySqlTable>(table: TTable) => MySqlUpdateBuilder<TTable, MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT>;
474
474
  delete: <TTable extends MySqlTable>(table: TTable) => MySqlDeleteBase<TTable, MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, false, never>;
475
475
  };
476
+ /**
477
+ * Provides access to Rovo integration - a secure pattern for natural-language analytics.
478
+ *
479
+ * Rovo enables secure execution of dynamic SQL queries with comprehensive security validations:
480
+ * - Only SELECT queries are allowed
481
+ * - Queries are restricted to a single table
482
+ * - JOINs, subqueries, and window functions are blocked
483
+ * - Row-Level Security (RLS) support for data isolation
484
+ *
485
+ * @returns {RovoIntegration} Rovo integration instance for secure dynamic queries
486
+ *
487
+ * @example
488
+ * ```typescript
489
+ * const rovo = forgeSQL.rovo();
490
+ * const settings = await rovo.rovoSettingBuilder(usersTable, accountId)
491
+ * .useRLS()
492
+ * .addRlsColumn(usersTable.id)
493
+ * .addRlsWherePart((alias) => `${alias}.id = '${accountId}'`)
494
+ * .finish()
495
+ * .build();
496
+ *
497
+ * const result = await rovo.dynamicIsolatedQuery(
498
+ * "SELECT id, name FROM users WHERE status = 'active'",
499
+ * settings
500
+ * );
501
+ * ```
502
+ */
503
+ rovo(): RovoIntegration;
476
504
  }
477
505
  export default ForgeSQLORM;
478
506
  //# sourceMappingURL=ForgeSQLORM.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ForgeSQLORM.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLORM.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForgeSQLORM.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLORM.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const cacheContextUtils_1 = require("../utils/cacheContextUtils");
11
11
  const cacheUtils_1 = require("../utils/cacheUtils");
12
12
  const metadataContextUtils_1 = require("../utils/metadataContextUtils");
13
13
  const requestTypeContextUtils_1 = require("../utils/requestTypeContextUtils");
14
+ const Rovo_1 = require("./Rovo");
14
15
  /**
15
16
  * Implementation of ForgeSQLORM that uses Drizzle ORM for query building.
16
17
  * This class provides a bridge between Forge SQL and Drizzle ORM, allowing
@@ -687,6 +688,36 @@ class ForgeSQLORMImpl {
687
688
  with(...queries) {
688
689
  return this.drizzle.with(...queries);
689
690
  }
691
+ /**
692
+ * Provides access to Rovo integration - a secure pattern for natural-language analytics.
693
+ *
694
+ * Rovo enables secure execution of dynamic SQL queries with comprehensive security validations:
695
+ * - Only SELECT queries are allowed
696
+ * - Queries are restricted to a single table
697
+ * - JOINs, subqueries, and window functions are blocked
698
+ * - Row-Level Security (RLS) support for data isolation
699
+ *
700
+ * @returns {RovoIntegration} Rovo integration instance for secure dynamic queries
701
+ *
702
+ * @example
703
+ * ```typescript
704
+ * const rovo = forgeSQL.rovo();
705
+ * const settings = await rovo.rovoSettingBuilder(usersTable, accountId)
706
+ * .useRLS()
707
+ * .addRlsColumn(usersTable.id)
708
+ * .addRlsWherePart((alias) => `${alias}.id = '${accountId}'`)
709
+ * .finish()
710
+ * .build();
711
+ *
712
+ * const result = await rovo.dynamicIsolatedQuery(
713
+ * "SELECT id, name FROM users WHERE status = 'active'",
714
+ * settings
715
+ * );
716
+ * ```
717
+ */
718
+ rovo() {
719
+ return new Rovo_1.Rovo(this, this.options);
720
+ }
690
721
  }
691
722
  /**
692
723
  * Public class that acts as a wrapper around the private ForgeSQLORMImpl.
@@ -1186,6 +1217,36 @@ class ForgeSQLORM {
1186
1217
  with(...queries) {
1187
1218
  return this.ormInstance.getDrizzleQueryBuilder().with(...queries);
1188
1219
  }
1220
+ /**
1221
+ * Provides access to Rovo integration - a secure pattern for natural-language analytics.
1222
+ *
1223
+ * Rovo enables secure execution of dynamic SQL queries with comprehensive security validations:
1224
+ * - Only SELECT queries are allowed
1225
+ * - Queries are restricted to a single table
1226
+ * - JOINs, subqueries, and window functions are blocked
1227
+ * - Row-Level Security (RLS) support for data isolation
1228
+ *
1229
+ * @returns {RovoIntegration} Rovo integration instance for secure dynamic queries
1230
+ *
1231
+ * @example
1232
+ * ```typescript
1233
+ * const rovo = forgeSQL.rovo();
1234
+ * const settings = await rovo.rovoSettingBuilder(usersTable, accountId)
1235
+ * .useRLS()
1236
+ * .addRlsColumn(usersTable.id)
1237
+ * .addRlsWherePart((alias) => `${alias}.id = '${accountId}'`)
1238
+ * .finish()
1239
+ * .build();
1240
+ *
1241
+ * const result = await rovo.dynamicIsolatedQuery(
1242
+ * "SELECT id, name FROM users WHERE status = 'active'",
1243
+ * settings
1244
+ * );
1245
+ * ```
1246
+ */
1247
+ rovo() {
1248
+ return this.ormInstance.rovo();
1249
+ }
1189
1250
  }
1190
1251
  exports.default = ForgeSQLORM;
1191
1252
  //# sourceMappingURL=ForgeSQLORM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ForgeSQLORM.js","sourceRoot":"","sources":["../../src/core/ForgeSQLORM.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForgeSQLORM.js","sourceRoot":"","sources":["../../src/core/ForgeSQLORM.ts"],"names":[],"mappings":"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"}