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 +260 -1
- package/dist/core/ForgeSQLORM.d.ts +29 -1
- package/dist/core/ForgeSQLORM.d.ts.map +1 -1
- package/dist/core/ForgeSQLORM.js +61 -0
- package/dist/core/ForgeSQLORM.js.map +1 -1
- package/dist/core/ForgeSQLQueryBuilder.d.ts +179 -1
- package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
- package/dist/core/ForgeSQLQueryBuilder.js.map +1 -1
- package/dist/core/Rovo.d.ts +116 -0
- package/dist/core/Rovo.d.ts.map +1 -0
- package/dist/core/Rovo.js +647 -0
- package/dist/core/Rovo.js.map +1 -0
- package/dist/utils/metadataContextUtils.d.ts.map +1 -1
- package/dist/utils/metadataContextUtils.js +1 -3
- package/dist/utils/metadataContextUtils.js.map +1 -1
- package/package.json +7 -6
- package/src/core/ForgeSQLORM.ts +64 -0
- package/src/core/ForgeSQLQueryBuilder.ts +200 -1
- package/src/core/Rovo.ts +765 -0
- package/src/utils/metadataContextUtils.ts +1 -3
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.
|
|
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":"AACA,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ForgeSQLORM.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLORM.ts"],"names":[],"mappings":"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"}
|
package/dist/core/ForgeSQLORM.js
CHANGED
|
@@ -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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"}
|