@soulbatical/tetra-core 0.1.62 → 0.2.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.

Potentially problematic release.


This version of @soulbatical/tetra-core might be problematic. Click here for more details.

Files changed (48) hide show
  1. package/dist/affiliate.d.ts +11 -0
  2. package/dist/affiliate.d.ts.map +1 -0
  3. package/dist/affiliate.js +10 -0
  4. package/dist/affiliate.js.map +1 -0
  5. package/dist/auth.d.ts +8 -0
  6. package/dist/auth.d.ts.map +1 -0
  7. package/dist/auth.js +7 -0
  8. package/dist/auth.js.map +1 -0
  9. package/dist/billing.d.ts +8 -0
  10. package/dist/billing.d.ts.map +1 -0
  11. package/dist/billing.js +7 -0
  12. package/dist/billing.js.map +1 -0
  13. package/dist/email.d.ts +9 -0
  14. package/dist/email.d.ts.map +1 -0
  15. package/dist/email.js +8 -0
  16. package/dist/email.js.map +1 -0
  17. package/dist/generators.d.ts +15 -0
  18. package/dist/generators.d.ts.map +1 -0
  19. package/dist/generators.js +12 -0
  20. package/dist/generators.js.map +1 -0
  21. package/dist/index.d.ts +2 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/mcp.d.ts +8 -0
  26. package/dist/mcp.d.ts.map +1 -0
  27. package/dist/mcp.js +7 -0
  28. package/dist/mcp.js.map +1 -0
  29. package/dist/planner.d.ts +8 -0
  30. package/dist/planner.d.ts.map +1 -0
  31. package/dist/planner.js +7 -0
  32. package/dist/planner.js.map +1 -0
  33. package/dist/shared/factories/QueryServiceFactory.d.ts +60 -1
  34. package/dist/shared/factories/QueryServiceFactory.d.ts.map +1 -1
  35. package/dist/shared/factories/QueryServiceFactory.js +21 -4
  36. package/dist/shared/factories/QueryServiceFactory.js.map +1 -1
  37. package/dist/shared/services/TableQueryService.d.ts +153 -0
  38. package/dist/shared/services/TableQueryService.d.ts.map +1 -0
  39. package/dist/shared/services/TableQueryService.js +425 -0
  40. package/dist/shared/services/TableQueryService.js.map +1 -0
  41. package/dist/shared/types/feature-config.d.ts +68 -0
  42. package/dist/shared/types/feature-config.d.ts.map +1 -1
  43. package/dist/shared/types/feature-config.js.map +1 -1
  44. package/dist/storage.d.ts +8 -0
  45. package/dist/storage.d.ts.map +1 -0
  46. package/dist/storage.js +7 -0
  47. package/dist/storage.js.map +1 -0
  48. package/package.json +41 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableQueryService.d.ts","sourceRoot":"","sources":["../../../src/shared/services/TableQueryService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,425 @@
1
+ import { createLogger } from '../../utils/logger.js';
2
+ const logger = createLogger('database:query:table');
3
+ /**
4
+ * TableQueryService — Config-driven queries via PostgREST (no RPCs needed!)
5
+ *
6
+ * Instead of generating SQL RPC functions in the database, this service builds
7
+ * Supabase PostgREST queries dynamically from FeatureConfig at runtime.
8
+ *
9
+ * Benefits over RPC approach:
10
+ * - No SQL migrations needed for query logic
11
+ * - No parameter naming mismatches (p_org_id vs p_organizationid)
12
+ * - No duplicate timestamp conflicts in migrations
13
+ * - Instant setup — just define FeatureConfig and go
14
+ * - Easier to debug (PostgREST queries are visible in Supabase logs)
15
+ * - RLS is enforced automatically by Supabase
16
+ *
17
+ * Usage:
18
+ * ```typescript
19
+ * const Service = createTableQueryService(feedbackFeatureConfig);
20
+ * const service = new Service(supabase, organizationId);
21
+ * const { items, count } = await service.getResults({ filters, limit, offset, sortBy });
22
+ * const counts = await service.getCounts(filters);
23
+ * ```
24
+ *
25
+ * Created: March 19, 2026
26
+ */
27
+ export class TableQueryService {
28
+ supabase;
29
+ config;
30
+ organizationId;
31
+ constructor(supabase, config, organizationId) {
32
+ this.supabase = supabase;
33
+ this.config = config;
34
+ this.organizationId = organizationId;
35
+ }
36
+ /**
37
+ * Apply a single filter to a Supabase query builder
38
+ */
39
+ applyFilter(query, filter, value, tableAlias) {
40
+ if (value === null || value === undefined || value === '' || value === 'all') {
41
+ return query;
42
+ }
43
+ const column = filter.column || filter.name;
44
+ switch (filter.type) {
45
+ case 'enum':
46
+ case 'column': {
47
+ // Boolean mapping support (enum workaround for boolean columns)
48
+ if (filter.sqlGeneration?.booleanMapping) {
49
+ const mapped = filter.sqlGeneration.booleanMapping[String(value)];
50
+ if (mapped !== undefined) {
51
+ return query.eq(column, mapped);
52
+ }
53
+ }
54
+ return query.eq(column, value);
55
+ }
56
+ case 'boolean': {
57
+ const boolVal = value === 'true' || value === true;
58
+ return query.eq(column, boolVal);
59
+ }
60
+ case 'search': {
61
+ const searchFields = filter.sqlGeneration?.searchFields || [column];
62
+ const searchTerm = `%${String(value).replace(/[%_]/g, '\\$&')}%`;
63
+ if (searchFields.length === 1) {
64
+ return query.ilike(searchFields[0], searchTerm);
65
+ }
66
+ // Multiple search fields: use OR
67
+ const orConditions = searchFields
68
+ .map(field => `${field}.ilike.${searchTerm}`)
69
+ .join(',');
70
+ return query.or(orConditions);
71
+ }
72
+ case 'time': {
73
+ const now = new Date();
74
+ let startDate = null;
75
+ switch (String(value)) {
76
+ case 'today':
77
+ startDate = new Date(now.getFullYear(), now.getMonth(), now.getDate());
78
+ break;
79
+ case 'this_week':
80
+ case 'this-week':
81
+ case 'week': {
82
+ const dayOfWeek = now.getDay();
83
+ const diff = dayOfWeek === 0 ? 6 : dayOfWeek - 1; // Monday = start
84
+ startDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() - diff);
85
+ break;
86
+ }
87
+ case 'this_month':
88
+ case 'this-month':
89
+ case 'month':
90
+ startDate = new Date(now.getFullYear(), now.getMonth(), 1);
91
+ break;
92
+ case 'this_quarter':
93
+ case 'this-quarter':
94
+ case 'quarter': {
95
+ const quarterMonth = Math.floor(now.getMonth() / 3) * 3;
96
+ startDate = new Date(now.getFullYear(), quarterMonth, 1);
97
+ break;
98
+ }
99
+ case 'this_year':
100
+ case 'this-year':
101
+ case 'year':
102
+ startDate = new Date(now.getFullYear(), 0, 1);
103
+ break;
104
+ default:
105
+ // Try to parse as ISO date
106
+ startDate = new Date(String(value));
107
+ if (isNaN(startDate.getTime()))
108
+ startDate = null;
109
+ }
110
+ if (startDate) {
111
+ return query.gte(column || 'created_at', startDate.toISOString());
112
+ }
113
+ return query;
114
+ }
115
+ case 'related': {
116
+ return query.eq(column, value);
117
+ }
118
+ case 'nullable': {
119
+ if (value === 'with') {
120
+ return query.not(column, 'is', null);
121
+ }
122
+ else if (value === 'without') {
123
+ return query.is(column, null);
124
+ }
125
+ return query;
126
+ }
127
+ case 'multiselect': {
128
+ const values = Array.isArray(value) ? value : String(value).split(',');
129
+ return query.in(column, values);
130
+ }
131
+ case 'array': {
132
+ const values = Array.isArray(value) ? value : [value];
133
+ return query.overlaps(column, values);
134
+ }
135
+ case 'numeric': {
136
+ // Support range: "10-50" or exact: "25"
137
+ const strVal = String(value);
138
+ if (strVal.includes('-')) {
139
+ const [min, max] = strVal.split('-').map(Number);
140
+ if (!isNaN(min))
141
+ query = query.gte(column, min);
142
+ if (!isNaN(max))
143
+ query = query.lte(column, max);
144
+ return query;
145
+ }
146
+ return query.eq(column, Number(value));
147
+ }
148
+ case 'daterange': {
149
+ // Support: "2026-01-01,2026-03-31"
150
+ const [from, to] = String(value).split(',');
151
+ if (from)
152
+ query = query.gte(column, from);
153
+ if (to)
154
+ query = query.lte(column, to);
155
+ return query;
156
+ }
157
+ default:
158
+ logger.warn({ filterType: filter.type, filterName: filter.name }, 'Unknown filter type');
159
+ return query;
160
+ }
161
+ }
162
+ /**
163
+ * Apply all filters from config to a query
164
+ */
165
+ applyFilters(query, filters) {
166
+ if (!this.config.filters)
167
+ return query;
168
+ for (const filterConfig of this.config.filters) {
169
+ const value = filters[filterConfig.name];
170
+ query = this.applyFilter(query, filterConfig, value);
171
+ }
172
+ return query;
173
+ }
174
+ /**
175
+ * Apply org scoping
176
+ */
177
+ applyOrgScope(query) {
178
+ if (this.config.organizationIdField && this.organizationId) {
179
+ // Support legacy feedback pattern: include items where org_id IS NULL
180
+ if (this.config.organizationIdField === 'organization_id') {
181
+ return query.or(`organization_id.eq.${this.organizationId},organization_id.is.null`);
182
+ }
183
+ return query.eq(this.config.organizationIdField, this.organizationId);
184
+ }
185
+ return query;
186
+ }
187
+ /**
188
+ * GET filtered + paginated results
189
+ *
190
+ * Builds: SELECT * FROM table WHERE filters ORDER BY sort LIMIT x OFFSET y
191
+ */
192
+ async getResults(params) {
193
+ const { filters, limit, offset, sortBy, sortOrder = 'desc', include = [] } = params;
194
+ try {
195
+ // Build select query (with includes/joins if configured)
196
+ const selectFields = include.length > 0 ? this.buildSelectQuery(include) : '*';
197
+ // Start query with exact count for pagination
198
+ let query = this.supabase
199
+ .from(this.config.tableName)
200
+ .select(selectFields, { count: 'exact' });
201
+ // Apply org scoping
202
+ query = this.applyOrgScope(query);
203
+ // Apply all filters
204
+ query = this.applyFilters(query, filters);
205
+ // Apply sorting
206
+ const ascending = sortOrder === 'asc';
207
+ query = query.order(sortBy, { ascending });
208
+ // Apply pagination
209
+ query = query.range(offset, offset + limit - 1);
210
+ const { data, error, count: totalCount } = await query;
211
+ if (error) {
212
+ logger.error({
213
+ error: error.message,
214
+ code: error.code,
215
+ feature: this.config.tableName,
216
+ filters,
217
+ }, `getResults failed for ${this.config.tableName}`);
218
+ throw error;
219
+ }
220
+ return {
221
+ items: (data || []),
222
+ count: totalCount || 0,
223
+ };
224
+ }
225
+ catch (error) {
226
+ logger.error({ error, feature: this.config.tableName }, 'getResults error');
227
+ throw error;
228
+ }
229
+ }
230
+ /**
231
+ * GET counts with breakdowns
232
+ *
233
+ * Builds individual count queries per count config entry.
234
+ * For 'total': SELECT count(*) FROM table WHERE filters
235
+ * For 'breakdown': SELECT status, count(*) FROM table WHERE filters GROUP BY status
236
+ */
237
+ async getCounts(filters) {
238
+ try {
239
+ const counts = {};
240
+ if (!this.config.counts) {
241
+ return { total: 0 };
242
+ }
243
+ // Build a base filtered query (reused for each count)
244
+ for (const [key, countConfig] of Object.entries(this.config.counts)) {
245
+ switch (countConfig.type) {
246
+ case 'total': {
247
+ let query = this.supabase
248
+ .from(this.config.tableName)
249
+ .select('*', { count: 'exact', head: true });
250
+ query = this.applyOrgScope(query);
251
+ query = this.applyFilters(query, filters);
252
+ const { count, error } = await query;
253
+ if (error) {
254
+ logger.error({ error: error.message, key }, 'Count total failed');
255
+ counts[key] = 0;
256
+ }
257
+ else {
258
+ counts[key] = count || 0;
259
+ }
260
+ break;
261
+ }
262
+ case 'breakdown': {
263
+ if (!countConfig.column)
264
+ break;
265
+ const column = countConfig.column;
266
+ // Get all distinct values + their counts
267
+ // PostgREST doesn't support GROUP BY natively, so we fetch the column
268
+ // and count in JS. For large tables, RPC is better — but for most SaaS
269
+ // tables (<100k rows), this is fast enough.
270
+ let query = this.supabase
271
+ .from(this.config.tableName)
272
+ .select(column);
273
+ query = this.applyOrgScope(query);
274
+ query = this.applyFilters(query, filters);
275
+ const { data, error } = await query;
276
+ if (error) {
277
+ logger.error({ error: error.message, key, column }, 'Count breakdown failed');
278
+ counts[key] = {};
279
+ }
280
+ else {
281
+ // Count occurrences of each value
282
+ const breakdown = {};
283
+ for (const row of data || []) {
284
+ const val = String(row[column] ?? 'null');
285
+ breakdown[val] = (breakdown[val] || 0) + 1;
286
+ }
287
+ counts[key] = breakdown;
288
+ }
289
+ break;
290
+ }
291
+ case 'nullable': {
292
+ if (!countConfig.column)
293
+ break;
294
+ const col = countConfig.column;
295
+ let withQuery = this.supabase
296
+ .from(this.config.tableName)
297
+ .select('*', { count: 'exact', head: true })
298
+ .not(col, 'is', null);
299
+ withQuery = this.applyOrgScope(withQuery);
300
+ withQuery = this.applyFilters(withQuery, filters);
301
+ let withoutQuery = this.supabase
302
+ .from(this.config.tableName)
303
+ .select('*', { count: 'exact', head: true })
304
+ .is(col, null);
305
+ withoutQuery = this.applyOrgScope(withoutQuery);
306
+ withoutQuery = this.applyFilters(withoutQuery, filters);
307
+ const [withResult, withoutResult] = await Promise.all([
308
+ withQuery, withoutQuery
309
+ ]);
310
+ counts[key] = {
311
+ with: withResult.count || 0,
312
+ without: withoutResult.count || 0,
313
+ };
314
+ break;
315
+ }
316
+ default:
317
+ logger.debug({ key, type: countConfig.type }, 'Skipping unsupported count type');
318
+ }
319
+ }
320
+ return counts;
321
+ }
322
+ catch (error) {
323
+ logger.error({ error, feature: this.config.tableName }, 'getCounts error');
324
+ throw error;
325
+ }
326
+ }
327
+ /**
328
+ * GET single item by ID
329
+ */
330
+ async getSingleItem(id, include = []) {
331
+ try {
332
+ const selectFields = include.length > 0 ? this.buildSelectQuery(include) : '*';
333
+ let query = this.supabase
334
+ .from(this.config.tableName)
335
+ .select(selectFields)
336
+ .eq('id', id);
337
+ query = this.applyOrgScope(query);
338
+ const { data, error } = await query.single();
339
+ if (error) {
340
+ if (error.code === 'PGRST116')
341
+ return null;
342
+ throw error;
343
+ }
344
+ return data;
345
+ }
346
+ catch (error) {
347
+ logger.error({ error, id, feature: this.config.tableName }, 'getSingleItem error');
348
+ throw error;
349
+ }
350
+ }
351
+ /**
352
+ * GET items by IDs
353
+ */
354
+ async getByIds(ids, include = []) {
355
+ if (ids.length === 0)
356
+ return [];
357
+ const selectFields = include.length > 0 ? this.buildSelectQuery(include) : '*';
358
+ let query = this.supabase
359
+ .from(this.config.tableName)
360
+ .select(selectFields)
361
+ .in('id', ids);
362
+ query = this.applyOrgScope(query);
363
+ const { data, error } = await query;
364
+ if (error) {
365
+ logger.error({ error, idsCount: ids.length }, 'getByIds error');
366
+ throw error;
367
+ }
368
+ return (data || []);
369
+ }
370
+ /**
371
+ * Build SELECT with includes (same as SimpleRPCQueryService)
372
+ */
373
+ buildSelectQuery(includes) {
374
+ let selectQuery = '*';
375
+ if (!this.config.includeMapping || includes.length === 0)
376
+ return selectQuery;
377
+ for (const include of includes) {
378
+ if (include.includes('.'))
379
+ continue;
380
+ let includeConfig = this.config.includeMapping[include];
381
+ let resolvedKey = include;
382
+ if (!includeConfig) {
383
+ const pluralKey = include + 's';
384
+ includeConfig = this.config.includeMapping[pluralKey];
385
+ if (includeConfig)
386
+ resolvedKey = pluralKey;
387
+ }
388
+ if (!includeConfig) {
389
+ const publicKey = include + 's_public';
390
+ includeConfig = this.config.includeMapping[publicKey];
391
+ if (includeConfig)
392
+ resolvedKey = publicKey;
393
+ }
394
+ if (!includeConfig)
395
+ continue;
396
+ const fields = includeConfig.fields.join(', ');
397
+ const actualTableName = includeConfig.tableName || resolvedKey;
398
+ selectQuery += `, ${include}:${actualTableName}!${includeConfig.foreignKey} (${fields})`;
399
+ }
400
+ return selectQuery;
401
+ }
402
+ /**
403
+ * Transform items hook (override in subclass for computed fields)
404
+ */
405
+ transformItems(items, _include) {
406
+ return items;
407
+ }
408
+ }
409
+ /**
410
+ * Factory function: create a TableQueryService class from FeatureConfig
411
+ *
412
+ * Usage:
413
+ * ```typescript
414
+ * const FeedbackService = createTableQueryService(feedbackFeatureConfig);
415
+ * const service = new FeedbackService(supabase, organizationId);
416
+ * ```
417
+ */
418
+ export function createTableQueryService(config) {
419
+ return class ConfigDrivenTableQueryService extends TableQueryService {
420
+ constructor(supabase, organizationId) {
421
+ super(supabase, config, organizationId);
422
+ }
423
+ };
424
+ }
425
+ //# sourceMappingURL=TableQueryService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableQueryService.js","sourceRoot":"","sources":["../../../src/shared/services/TableQueryService.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,21 @@ export interface FeatureConfig<TItem = any> extends QueryConfig<TItem> {
91
91
  * Created: February 20, 2026
92
92
  */
93
93
  formFields?: FormFieldConfig[];
94
+ /**
95
+ * E2E Testing configuration (Config-Driven v5.0 - Tetra)
96
+ * Auto-generates CRUD E2E tests via `tetra-generate-crud-tests`
97
+ * Created: March 18, 2026
98
+ *
99
+ * @example
100
+ * testing: {
101
+ * restBasePath: '/api/admin/ad-campaigns',
102
+ * createBody: { name: 'Test Campaign', platform: 'facebook' },
103
+ * updateBody: { name: 'Updated Campaign' },
104
+ * updateMethod: 'PATCH',
105
+ * requiredFields: ['name', 'platform'],
106
+ * }
107
+ */
108
+ testing?: TestingConfig;
94
109
  /**
95
110
  * 🔐 Access level for RPC functions (Security Hardening v2.0)
96
111
  * Controls DATA visibility in SQL Generator
@@ -623,4 +638,57 @@ export interface CardAction {
623
638
  relatedIdField?: string;
624
639
  onClick?: string;
625
640
  }
641
+ /**
642
+ * E2E Testing configuration
643
+ * Drives auto-generated CRUD tests via `tetra-generate-crud-tests`
644
+ *
645
+ * The generator creates tests for: list, create, read, update, delete
646
+ * plus validation tests for required fields.
647
+ */
648
+ export interface TestingConfig {
649
+ /**
650
+ * REST API base path for this resource
651
+ * Falls back to FeatureConfig.restBasePath if not set
652
+ * @example '/api/admin/ad-campaigns'
653
+ */
654
+ restBasePath?: string;
655
+ /**
656
+ * Body for POST (create) request
657
+ * Must include all required fields with valid test values
658
+ * @example { name: 'Test Campaign', platform: 'facebook' }
659
+ */
660
+ createBody: Record<string, unknown>;
661
+ /**
662
+ * Body for PUT/PATCH (update) request
663
+ * Only include fields you want to change
664
+ * @example { name: 'Updated Campaign' }
665
+ */
666
+ updateBody: Record<string, unknown>;
667
+ /**
668
+ * HTTP method for update: 'PUT' or 'PATCH'
669
+ * @default 'PUT'
670
+ */
671
+ updateMethod?: 'PUT' | 'PATCH';
672
+ /**
673
+ * Expected HTTP status code for create
674
+ * @default 200
675
+ */
676
+ createStatus?: number;
677
+ /**
678
+ * Required field names — generates validation tests
679
+ * (POST with each field missing should return 400/422)
680
+ * @example ['name', 'platform']
681
+ */
682
+ requiredFields?: string[];
683
+ /**
684
+ * Skip specific CRUD operations
685
+ * Use for read-only resources or resources without delete
686
+ */
687
+ skip?: {
688
+ create?: boolean;
689
+ read?: boolean;
690
+ update?: boolean;
691
+ delete?: boolean;
692
+ };
693
+ }
626
694
  //# sourceMappingURL=feature-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-config.d.ts","sourceRoot":"","sources":["../../../src/shared/types/feature-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-config.d.ts","sourceRoot":"","sources":["../../../src/shared/types/feature-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature-config.js","sourceRoot":"","sources":["../../../src/shared/types/feature-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-config.js","sourceRoot":"","sources":["../../../src/shared/types/feature-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @soulbatical/tetra-core/storage
3
+ *
4
+ * Storage module (file uploads, image processing). Requires multer + sharp.
5
+ */
6
+ export { addStorageProxyRoutes, addStorageUploadRoutes, StorageProxyService, StorageUploadService, ImageProcessingService, STANDARD_IMAGE_SIZES } from './shared/storage/index.js';
7
+ export type { StorageConfig, StorageProxyOptions, StorageUploadOptions, UploadResult as StorageUploadResult, ImageSize, ProcessedImageResult, ImageProcessingOptions, FileUploadOptions, MultiSizeUploadOptions, PrivateUploadOptions, PrivateUploadResult, MultiSizeUploadResult } from './shared/storage/index.js';
8
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACnL,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,YAAY,IAAI,mBAAmB,EAAE,SAAS,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @soulbatical/tetra-core/storage
3
+ *
4
+ * Storage module (file uploads, image processing). Requires multer + sharp.
5
+ */
6
+ export { addStorageProxyRoutes, addStorageUploadRoutes, StorageProxyService, StorageUploadService, ImageProcessingService, STANDARD_IMAGE_SIZES } from './shared/storage/index.js';
7
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}