turbine-orm 0.3.1 → 0.4.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.
@@ -92,7 +92,7 @@ export function configTemplate(connectionString) {
92
92
 
93
93
  /**
94
94
  * Turbine configuration
95
- * @see https://batadata.com/docs/turbine/config
95
+ * @see https://github.com/zvndev/turbine-orm
96
96
  */
97
97
  const config: TurbineCliConfig = {
98
98
  /** Postgres connection string */
package/dist/cli/index.js CHANGED
@@ -231,7 +231,7 @@ async function cmdInit(args, config) {
231
231
  * Define your database schema in TypeScript.
232
232
  * Use \`npx turbine push\` to sync it to your database.
233
233
  *
234
- * @see https://batadata.com/docs/turbine/schema
234
+ * @see https://github.com/zvndev/turbine-orm
235
235
  */
236
236
 
237
237
  import { defineSchema } from 'turbine-orm';
@@ -768,7 +768,7 @@ async function cmdStudio(_args, _config) {
768
768
  'A local web UI for browsing your database,',
769
769
  'exploring relations, and managing data.',
770
770
  '',
771
- `Follow ${cyan('@batadata')} for updates.`,
771
+ `Follow ${cyan('@zvndev')} for updates.`,
772
772
  ].join('\n'), { title: bold(cyan('Studio')), padding: 2 }));
773
773
  newline();
774
774
  }
package/dist/cli/ui.js CHANGED
@@ -191,7 +191,7 @@ export function divider() {
191
191
  // ---------------------------------------------------------------------------
192
192
  export function banner() {
193
193
  console.log('');
194
- console.log(` ${bold(cyan('turbine'))} ${dim('by')} ${bold('BataData')}`);
194
+ console.log(` ${bold(cyan('Turbine ORM'))}`);
195
195
  console.log(` ${dim('TypeScript ORM with json_agg nested queries')}`);
196
196
  console.log('');
197
197
  }
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — TurbineClient
2
+ * turbine-orm — TurbineClient
3
3
  *
4
4
  * The main entry point for the Turbine TypeScript SDK.
5
5
  * Manages connection pooling and provides typed table accessors.
@@ -16,7 +16,7 @@
16
16
  * const user = await db.users.findUnique({ where: { id: 1 } });
17
17
  *
18
18
  * // With base client (dynamic):
19
- * import { TurbineClient } from '@batadata/turbine';
19
+ * import { TurbineClient } from 'turbine-orm';
20
20
  * const db = new TurbineClient({ connectionString: '...' }, schema);
21
21
  * const users = db.table<User>('users');
22
22
  * ```
package/dist/client.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — TurbineClient
2
+ * turbine-orm — TurbineClient
3
3
  *
4
4
  * The main entry point for the Turbine TypeScript SDK.
5
5
  * Manages connection pooling and provides typed table accessors.
@@ -16,7 +16,7 @@
16
16
  * const user = await db.users.findUnique({ where: { id: 1 } });
17
17
  *
18
18
  * // With base client (dynamic):
19
- * import { TurbineClient } from '@batadata/turbine';
19
+ * import { TurbineClient } from 'turbine-orm';
20
20
  * const db = new TurbineClient({ connectionString: '...' }, schema);
21
21
  * const users = db.table<User>('users');
22
22
  * ```
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Code generator
2
+ * turbine-orm — Code generator
3
3
  *
4
4
  * Takes an IntrospectedSchema and emits TypeScript files:
5
5
  * - types.ts — Entity interfaces, Create/Update input types
package/dist/generate.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Code generator
2
+ * turbine-orm — Code generator
3
3
  *
4
4
  * Takes an IntrospectedSchema and emits TypeScript files:
5
5
  * - types.ts — Entity interfaces, Create/Update input types
@@ -46,10 +46,10 @@ export function generate(options) {
46
46
  function generatedFileHeader() {
47
47
  return [
48
48
  '/**',
49
- ' * Auto-generated by @batadata/turbine — DO NOT EDIT',
49
+ ' * Auto-generated by turbine-orm — DO NOT EDIT',
50
50
  ' *',
51
51
  ` * Generated at: ${new Date().toISOString()}`,
52
- ' * @see https://batadata.com/docs/turbine',
52
+ ' * @see https://github.com/zvndev/turbine-orm',
53
53
  ' */',
54
54
  '',
55
55
  ];
@@ -136,7 +136,7 @@ function generateTypes(schema) {
136
136
  function generateMetadata(schema) {
137
137
  const lines = [
138
138
  ...generatedFileHeader(),
139
- "import type { SchemaMetadata } from '@batadata/turbine';",
139
+ "import type { SchemaMetadata } from 'turbine-orm';",
140
140
  '',
141
141
  'export const SCHEMA: SchemaMetadata = {',
142
142
  ' tables: {',
@@ -209,8 +209,8 @@ function generateIndex(schema) {
209
209
  const tableEntries = Object.values(schema.tables);
210
210
  const lines = [
211
211
  ...generatedFileHeader(),
212
- "import { TurbineClient as BaseTurbineClient, QueryInterface } from '@batadata/turbine';",
213
- "import type { TurbineConfig } from '@batadata/turbine';",
212
+ "import { TurbineClient as BaseTurbineClient, QueryInterface } from 'turbine-orm';",
213
+ "import type { TurbineConfig } from 'turbine-orm';",
214
214
  "import { SCHEMA } from './metadata.js';",
215
215
  ];
216
216
  // Import all entity types
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine
2
+ * turbine-orm
3
3
  *
4
4
  * Turbine TypeScript SDK — type-safe Postgres queries with nested relations
5
5
  * and pipeline batching. Feels like Prisma, runs at raw-SQL speed.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine
2
+ * turbine-orm
3
3
  *
4
4
  * Turbine TypeScript SDK — type-safe Postgres queries with nested relations
5
5
  * and pipeline batching. Feels like Prisma, runs at raw-SQL speed.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Schema introspection
2
+ * turbine-orm — Schema introspection
3
3
  *
4
4
  * Connects to a live Postgres database, reads information_schema + pg_catalog,
5
5
  * and produces a SchemaMetadata object describing every table, column, relation,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Schema introspection
2
+ * turbine-orm — Schema introspection
3
3
  *
4
4
  * Connects to a live Postgres database, reads information_schema + pg_catalog,
5
5
  * and produces a SchemaMetadata object describing every table, column, relation,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Pipeline execution
2
+ * turbine-orm — Pipeline execution
3
3
  *
4
4
  * Pipelines batch multiple independent queries into a single database round-trip.
5
5
  * Instead of N sequential awaits (N round-trips), you get 1 round-trip for all N queries.
package/dist/pipeline.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Pipeline execution
2
+ * turbine-orm — Pipeline execution
3
3
  *
4
4
  * Pipelines batch multiple independent queries into a single database round-trip.
5
5
  * Instead of N sequential awaits (N round-trips), you get 1 round-trip for all N queries.
package/dist/query.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Query builder
2
+ * turbine-orm — Query builder
3
3
  *
4
4
  * Each table accessor (db.users, db.posts, etc.) returns a QueryInterface<T>
5
5
  * that builds parameterized SQL and executes it through the connection pool.
@@ -219,6 +219,7 @@ export declare class QueryInterface<T extends object> {
219
219
  /** SQL template cache: cacheKey → sql string (params are always positional $1,$2,...) */
220
220
  private readonly sqlCache;
221
221
  private readonly middlewares;
222
+ private readonly hasNoDateColumns;
222
223
  constructor(pool: pg.Pool, table: string, schema: SchemaMetadata, middlewares?: MiddlewareFn[]);
223
224
  /**
224
225
  * Execute a query through the middleware chain.
@@ -304,6 +305,13 @@ export declare class QueryInterface<T extends object> {
304
305
  private buildOrderBy;
305
306
  /** Parse a flat row: convert snake_case to camelCase + Date coercion */
306
307
  private parseRow;
308
+ /**
309
+ * Fast path: parse a flat row when the table has NO date columns.
310
+ * Only renames snake_case -> camelCase via the pre-computed reverseMap.
311
+ * Skips all date coercion checks — avoids Set.has() per field per row.
312
+ * Used by findUnique/findMany fast paths when hasNoDateColumns is true.
313
+ */
314
+ private parseRowFast;
307
315
  /** Parse a row that may contain JSON nested relation columns */
308
316
  private parseNestedRow;
309
317
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
package/dist/query.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Query builder
2
+ * turbine-orm — Query builder
3
3
  *
4
4
  * Each table accessor (db.users, db.posts, etc.) returns a QueryInterface<T>
5
5
  * that builds parameterized SQL and executes it through the connection pool.
@@ -74,6 +74,9 @@ export class QueryInterface {
74
74
  /** SQL template cache: cacheKey → sql string (params are always positional $1,$2,...) */
75
75
  sqlCache = new Map();
76
76
  middlewares;
77
+ // Fast path: pre-computed flag — true when this table has zero date/timestamp columns.
78
+ // When true, parseRow can skip the per-field dateCols.has() check entirely.
79
+ hasNoDateColumns;
77
80
  constructor(pool, table, schema, middlewares) {
78
81
  this.pool = pool;
79
82
  this.table = table;
@@ -84,6 +87,7 @@ export class QueryInterface {
84
87
  }
85
88
  this.tableMeta = meta;
86
89
  this.middlewares = middlewares ?? [];
90
+ this.hasNoDateColumns = meta.dateColumns.size === 0;
87
91
  }
88
92
  /**
89
93
  * Execute a query through the middleware chain.
@@ -133,11 +137,15 @@ export class QueryInterface {
133
137
  const whereObj = args.where;
134
138
  // Check if all where values are simple (plain equality, no operators/null/OR)
135
139
  const whereKeys = Object.keys(whereObj).filter((k) => whereObj[k] !== undefined);
136
- const isSimpleWhere = !whereObj['OR'] && whereKeys.every((k) => {
140
+ const isSimpleWhere = !whereObj['OR'] && !whereObj['AND'] && !whereObj['NOT'] && whereKeys.every((k) => {
137
141
  const v = whereObj[k];
138
- return v !== null && !isWhereOperator(v);
142
+ return v !== null && !isWhereOperator(v) && !isJsonFilter(v) && !isArrayFilter(v);
139
143
  });
140
- // For simple queries (no nested with, no operators), use cached SQL template
144
+ // -----------------------------------------------------------------------
145
+ // Fast path: no relations, simple equality where — cache SQL template.
146
+ // Generates: SELECT col1, col2 FROM "table" WHERE "id" = $1 LIMIT 1
147
+ // No json_build_object, no subqueries, no COALESCE wrappers.
148
+ // -----------------------------------------------------------------------
141
149
  if (!args.with && isSimpleWhere) {
142
150
  const colKey = columnsList ? columnsList.join(',') : '*';
143
151
  const ck = `fu:${whereKeys.sort().join(',')}:c=${colKey}`;
@@ -153,18 +161,23 @@ export class QueryInterface {
153
161
  sql = `SELECT ${selectExpr} FROM ${qt}${whereSql} LIMIT 1`;
154
162
  this.sqlCache.set(ck, sql);
155
163
  }
164
+ // Fast path: skip date coercion when table has no date columns
165
+ const transformRow = this.hasNoDateColumns
166
+ ? (row) => this.parseRowFast(row)
167
+ : (row) => this.parseRow(row, this.table);
156
168
  return {
157
169
  sql,
158
170
  params,
159
171
  transform: (result) => {
160
172
  const row = result.rows[0];
161
- return row ? this.parseRow(row, this.table) : null;
173
+ return row ? transformRow(row) : null;
162
174
  },
163
175
  tag: `${this.table}.findUnique`,
164
176
  };
165
177
  }
166
178
  // General path: supports operators, null, OR, nested with
167
179
  const { sql: whereSql, params } = this.buildWhere(args.where);
180
+ // Fast path: no relations, skip json_agg (but where has operators/null/OR)
168
181
  if (!args.with) {
169
182
  const qt = quoteIdent(this.table);
170
183
  const selectExpr = columnsList
@@ -205,11 +218,78 @@ export class QueryInterface {
205
218
  });
206
219
  }
207
220
  buildFindMany(args) {
221
+ const columnsList = this.resolveColumns(args?.select, args?.omit);
222
+ const qt = quoteIdent(this.table);
223
+ const hasWith = !!(args?.with);
224
+ // -----------------------------------------------------------------------
225
+ // Fast path: no relations, no cursor, no distinct — cache SQL template
226
+ // Skip json_agg subquery machinery entirely for simple table scans.
227
+ // -----------------------------------------------------------------------
228
+ if (!hasWith && !args?.cursor && !args?.distinct) {
229
+ const whereObj = args?.where;
230
+ const whereKeys = whereObj
231
+ ? Object.keys(whereObj).filter((k) => whereObj[k] !== undefined)
232
+ : [];
233
+ // Check if all where values are simple equality (no operators, null, OR/AND/NOT)
234
+ const isSimpleWhere = !whereObj || (!whereObj['OR'] && !whereObj['AND'] && !whereObj['NOT'] && whereKeys.every((k) => {
235
+ const v = whereObj[k];
236
+ return v !== null && !isWhereOperator(v) && !isJsonFilter(v) && !isArrayFilter(v);
237
+ }));
238
+ if (isSimpleWhere) {
239
+ // Build cache key: operation + where keys + columns + orderBy + hasLimit + hasOffset
240
+ const colKey = columnsList ? columnsList.join(',') : '*';
241
+ const orderKey = args?.orderBy ? Object.entries(args.orderBy).map(([k, d]) => `${k}:${d}`).join(',') : '';
242
+ const hasLimit = args?.limit !== undefined || args?.take !== undefined;
243
+ const hasOffset = args?.offset !== undefined;
244
+ const ck = `fm:${whereKeys.sort().join(',')}:c=${colKey}:o=${orderKey}:l=${hasLimit ? '1' : '0'}:off=${hasOffset ? '1' : '0'}`;
245
+ let sql = this.sqlCache.get(ck);
246
+ const params = whereKeys.map((k) => whereObj[k]);
247
+ if (!sql) {
248
+ // Build SQL template once and cache it
249
+ const selectExpr = columnsList
250
+ ? columnsList.map((c) => `${qt}.${quoteIdent(c)}`).join(', ')
251
+ : `${qt}.*`;
252
+ const whereClauses = whereKeys.map((k, i) => `${this.toSqlColumn(k)} = $${i + 1}`);
253
+ const whereSql = whereClauses.length > 0 ? ` WHERE ${whereClauses.join(' AND ')}` : '';
254
+ sql = `SELECT ${selectExpr} FROM ${qt}${whereSql}`;
255
+ if (args?.orderBy) {
256
+ sql += ` ORDER BY ${this.buildOrderBy(args.orderBy)}`;
257
+ }
258
+ // Placeholders for LIMIT/OFFSET — positions are stable since where params come first
259
+ if (hasLimit) {
260
+ sql += ` LIMIT $${params.length + 1}`;
261
+ }
262
+ if (hasOffset) {
263
+ sql += ` OFFSET $${params.length + (hasLimit ? 2 : 1)}`;
264
+ }
265
+ this.sqlCache.set(ck, sql);
266
+ }
267
+ // Append runtime param values for LIMIT and OFFSET
268
+ const effectiveLimit = args?.take ?? args?.limit;
269
+ if (effectiveLimit !== undefined) {
270
+ params.push(Number(effectiveLimit));
271
+ }
272
+ if (args?.offset !== undefined) {
273
+ params.push(Number(args.offset));
274
+ }
275
+ // Fast path: no relations, use parseRow (or parseRowFast when no date columns)
276
+ const parseRow = this.hasNoDateColumns
277
+ ? (row) => this.parseRowFast(row)
278
+ : (row) => this.parseRow(row, this.table);
279
+ return {
280
+ sql,
281
+ params,
282
+ transform: (result) => result.rows.map(parseRow),
283
+ tag: `${this.table}.findMany`,
284
+ };
285
+ }
286
+ }
287
+ // -----------------------------------------------------------------------
288
+ // General path: supports operators, null, OR, cursor, distinct, nested with
289
+ // -----------------------------------------------------------------------
208
290
  const { sql: whereSql, params } = args?.where
209
291
  ? this.buildWhere(args.where)
210
292
  : { sql: '', params: [] };
211
- const columnsList = this.resolveColumns(args?.select, args?.omit);
212
- const qt = quoteIdent(this.table);
213
293
  // Distinct support
214
294
  let distinctPrefix = '';
215
295
  if (args?.distinct && args.distinct.length > 0) {
@@ -217,7 +297,7 @@ export class QueryInterface {
217
297
  distinctPrefix = `DISTINCT ON (${distinctCols.join(', ')}) `;
218
298
  }
219
299
  let selectClause;
220
- if (args?.with) {
300
+ if (hasWith) {
221
301
  selectClause = this.buildSelectWithRelations(this.table, args.with, params, columnsList);
222
302
  }
223
303
  else if (columnsList) {
@@ -264,7 +344,7 @@ export class QueryInterface {
264
344
  return {
265
345
  sql,
266
346
  params,
267
- transform: (result) => result.rows.map((row) => args?.with
347
+ transform: (result) => result.rows.map((row) => hasWith
268
348
  ? this.parseNestedRow(row, this.table)
269
349
  : this.parseRow(row, this.table)),
270
350
  tag: `${this.table}.findMany`,
@@ -1169,6 +1249,22 @@ export class QueryInterface {
1169
1249
  }
1170
1250
  return parsed;
1171
1251
  }
1252
+ /**
1253
+ * Fast path: parse a flat row when the table has NO date columns.
1254
+ * Only renames snake_case -> camelCase via the pre-computed reverseMap.
1255
+ * Skips all date coercion checks — avoids Set.has() per field per row.
1256
+ * Used by findUnique/findMany fast paths when hasNoDateColumns is true.
1257
+ */
1258
+ parseRowFast(row) {
1259
+ const parsed = {};
1260
+ const reverseMap = this.tableMeta.reverseColumnMap;
1261
+ const keys = Object.keys(row);
1262
+ for (let i = 0; i < keys.length; i++) {
1263
+ const col = keys[i];
1264
+ parsed[reverseMap[col] ?? col] = row[col];
1265
+ }
1266
+ return parsed;
1267
+ }
1172
1268
  /** Parse a row that may contain JSON nested relation columns */
1173
1269
  parseNestedRow(row, table) {
1174
1270
  const parsed = this.parseRow(row, table);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Schema Builder
2
+ * turbine-orm — Schema Builder
3
3
  *
4
4
  * TypeScript-first schema definition API. Define your database schema
5
5
  * as plain objects — no method chaining, no DSL. Fully type-checked,
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * @example
9
9
  * ```ts
10
- * import { defineSchema } from '@batadata/turbine';
10
+ * import { defineSchema } from 'turbine-orm';
11
11
  *
12
12
  * export default defineSchema({
13
13
  * users: {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Schema Builder
2
+ * turbine-orm — Schema Builder
3
3
  *
4
4
  * TypeScript-first schema definition API. Define your database schema
5
5
  * as plain objects — no method chaining, no DSL. Fully type-checked,
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * @example
9
9
  * ```ts
10
- * import { defineSchema } from '@batadata/turbine';
10
+ * import { defineSchema } from 'turbine-orm';
11
11
  *
12
12
  * export default defineSchema({
13
13
  * users: {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Schema SQL Generator
2
+ * turbine-orm — Schema SQL Generator
3
3
  *
4
4
  * Converts a SchemaDef (from defineSchema) into executable DDL statements.
5
5
  * Also provides diff and push commands for syncing schema to a live database.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Schema SQL Generator
2
+ * turbine-orm — Schema SQL Generator
3
3
  *
4
4
  * Converts a SchemaDef (from defineSchema) into executable DDL statements.
5
5
  * Also provides diff and push commands for syncing schema to a live database.
package/dist/schema.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Schema metadata types
2
+ * turbine-orm — Schema metadata types
3
3
  *
4
4
  * These types represent the introspected database schema at runtime.
5
5
  * They're used by the query builder, code generator, and CLI.
package/dist/schema.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Schema metadata types
2
+ * turbine-orm — Schema metadata types
3
3
  *
4
4
  * These types represent the introspected database schema at runtime.
5
5
  * They're used by the query builder, code generator, and CLI.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine/serverless — HTTP-based query driver for edge functions
2
+ * turbine-orm/serverless — HTTP-based query driver for edge functions
3
3
  *
4
4
  * Use this driver when you cannot establish a direct TCP connection to Postgres
5
5
  * (e.g., Vercel Edge Functions, Cloudflare Workers, Deno Deploy).
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * @example
15
15
  * ```ts
16
- * import { createServerlessClient } from '@batadata/turbine/serverless';
16
+ * import { createServerlessClient } from 'turbine-orm/serverless';
17
17
  *
18
18
  * const db = createServerlessClient({
19
19
  * endpoint: 'https://your-turbine-proxy.fly.dev/query',
@@ -148,7 +148,7 @@ export declare class ServerlessClient {
148
148
  *
149
149
  * @example
150
150
  * ```ts
151
- * import { createServerlessClient } from '@batadata/turbine/serverless';
151
+ * import { createServerlessClient } from 'turbine-orm/serverless';
152
152
  *
153
153
  * const db = createServerlessClient({
154
154
  * endpoint: process.env.TURBINE_ENDPOINT!,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine/serverless — HTTP-based query driver for edge functions
2
+ * turbine-orm/serverless — HTTP-based query driver for edge functions
3
3
  *
4
4
  * Use this driver when you cannot establish a direct TCP connection to Postgres
5
5
  * (e.g., Vercel Edge Functions, Cloudflare Workers, Deno Deploy).
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * @example
15
15
  * ```ts
16
- * import { createServerlessClient } from '@batadata/turbine/serverless';
16
+ * import { createServerlessClient } from 'turbine-orm/serverless';
17
17
  *
18
18
  * const db = createServerlessClient({
19
19
  * endpoint: 'https://your-turbine-proxy.fly.dev/query',
@@ -134,7 +134,7 @@ export class ServerlessClient {
134
134
  headers: {
135
135
  'Content-Type': 'application/json',
136
136
  'Authorization': `Bearer ${this.config.authToken}`,
137
- 'User-Agent': '@batadata/turbine-serverless',
137
+ 'User-Agent': 'turbine-orm-serverless',
138
138
  ...this.config.headers,
139
139
  },
140
140
  body: JSON.stringify(body),
@@ -179,7 +179,7 @@ export class ServerlessClient {
179
179
  *
180
180
  * @example
181
181
  * ```ts
182
- * import { createServerlessClient } from '@batadata/turbine/serverless';
182
+ * import { createServerlessClient } from 'turbine-orm/serverless';
183
183
  *
184
184
  * const db = createServerlessClient({
185
185
  * endpoint: process.env.TURBINE_ENDPOINT!,
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Generated entity types
2
+ * turbine-orm — Generated entity types
3
3
  *
4
4
  * These types mirror the Postgres schema and would normally be auto-generated
5
5
  * by `npx turbine generate` from your database schema or Rust entity definitions.
package/dist/types.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @batadata/turbine — Generated entity types
2
+ * turbine-orm — Generated entity types
3
3
  *
4
4
  * These types mirror the Postgres schema and would normally be auto-generated
5
5
  * by `npx turbine generate` from your database schema or Rust entity definitions.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "turbine-orm",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "TypeScript ORM with json_agg nested queries — 2-3x faster than Prisma, 1.5x faster than Drizzle",
5
5
  "type": "module",
6
6
  "exports": {
@@ -62,15 +62,14 @@
62
62
  "database",
63
63
  "sql",
64
64
  "turbine",
65
- "batadata",
65
+ "turbine-orm",
66
66
  "nested-queries"
67
67
  ],
68
68
  "author": "ZVN DEV <dev@zvndev.com>",
69
69
  "license": "MIT",
70
- "homepage": "https://turbine.batadata.com",
70
+ "homepage": "https://github.com/zvndev/turbine-orm",
71
71
  "repository": {
72
72
  "type": "git",
73
- "url": "https://github.com/zvndev/nexus-postgres",
74
- "directory": "turbine/turbine-ts"
73
+ "url": "https://github.com/zvndev/turbine-orm"
75
74
  }
76
75
  }