@soulbatical/tetra-core 0.2.5 → 0.2.6
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/dist/shared/factories/QueryServiceFactory.d.ts +55 -30
- package/dist/shared/factories/QueryServiceFactory.d.ts.map +1 -1
- package/dist/shared/factories/QueryServiceFactory.js +51 -30
- package/dist/shared/factories/QueryServiceFactory.js.map +1 -1
- package/dist/shared/mcp/mcp-routes.d.ts +1 -1
- package/dist/shared/mcp/mcp-routes.js +1 -1
- package/dist/shared/services/TableQueryService.d.ts +4 -0
- package/dist/shared/services/TableQueryService.d.ts.map +1 -1
- package/dist/shared/services/TableQueryService.js +27 -0
- package/dist/shared/services/TableQueryService.js.map +1 -1
- package/package.json +3 -1
- package/scripts/postinstall.js +79 -0
|
@@ -3,63 +3,83 @@ import { FeatureConfig, FilterConfig } from '../types/feature-config.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* QueryService Factory - Eliminates Duplicate Service Code
|
|
5
5
|
*
|
|
6
|
-
* Creates QueryService instances from FeatureConfig
|
|
6
|
+
* Creates QueryService instances from FeatureConfig — no more per-feature services needed!
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
* - OrderQueryService.ts (196 lines)
|
|
10
|
-
* - ProductionQueryService.ts (180 lines)
|
|
11
|
-
* - CreatedBookQueryService.ts (175 lines)
|
|
12
|
-
* - ... 34 more duplicates ...
|
|
13
|
-
* Total: ~6,500 lines of duplicate code!
|
|
8
|
+
* ## Query Modes
|
|
14
9
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
10
|
+
* ### table (RECOMMENDED default — March 2026+)
|
|
11
|
+
* Uses Supabase PostgREST queries (.from().select().eq().order().range()).
|
|
12
|
+
* No SQL migrations needed for query logic. Filters are applied in application code.
|
|
13
|
+
* RLS is enforced automatically. Perfect for new features and tables up to ~50k rows.
|
|
14
|
+
*
|
|
15
|
+
* This is the default when no RPC names are configured in the FeatureConfig.
|
|
16
|
+
*
|
|
17
|
+
* ### rpc (for high-scale tables)
|
|
18
|
+
* Uses Supabase .rpc() calls to stored database functions.
|
|
19
|
+
* Required when: breakdown counts exceed ~10k rows, complex window functions are needed,
|
|
20
|
+
* or query performance is critical on large tables.
|
|
21
|
+
* Downside: RPC functions break on schema changes (column add/remove) and need
|
|
22
|
+
* manual SQL migrations to keep in sync.
|
|
23
|
+
*
|
|
24
|
+
* ## Mode selection
|
|
25
|
+
* - Auto-detect: table mode if no RPC names in config, rpc mode if both are present
|
|
26
|
+
* - Force table: `createQueryService(config, { mode: 'table' })`
|
|
27
|
+
* - Force rpc: `createQueryService(config, { mode: 'rpc' })`
|
|
19
28
|
*
|
|
20
|
-
*
|
|
29
|
+
* Use `service.queryMode` to inspect which mode is active at runtime.
|
|
30
|
+
*
|
|
31
|
+
* ## Usage
|
|
21
32
|
* ```typescript
|
|
22
|
-
* // In controller:
|
|
33
|
+
* // In controller — table mode (recommended):
|
|
23
34
|
* const queryService = createQueryService(ordersFeatureConfig, supabase, organizationId);
|
|
24
35
|
* const counts = await queryService.getCounts(filters);
|
|
25
36
|
* const { items, count } = await queryService.getResults({ filters, limit, offset, sortBy });
|
|
37
|
+
* console.log(queryService.queryMode); // 'table'
|
|
26
38
|
* ```
|
|
27
39
|
*
|
|
28
|
-
*
|
|
29
|
-
* -
|
|
30
|
-
* -
|
|
31
|
-
* -
|
|
32
|
-
*
|
|
40
|
+
* Before (37 duplicate services):
|
|
41
|
+
* - OrderQueryService.ts (196 lines)
|
|
42
|
+
* - ProductionQueryService.ts (180 lines)
|
|
43
|
+
* - ... 35 more duplicates ...
|
|
44
|
+
* Total: ~6,500 lines of duplicate code!
|
|
45
|
+
*
|
|
46
|
+
* After (1 factory):
|
|
47
|
+
* - QueryServiceFactory.ts (~380 lines)
|
|
48
|
+
* - Feature configs define behavior
|
|
33
49
|
*
|
|
34
|
-
* Architecture
|
|
35
|
-
* SimpleRPCQueryService (base helpers)
|
|
50
|
+
* Architecture:
|
|
51
|
+
* SimpleRPCQueryService / TableQueryService (base helpers)
|
|
36
52
|
* ↓
|
|
37
|
-
* QueryServiceFactory (
|
|
53
|
+
* QueryServiceFactory (mode selection + shared methods)
|
|
38
54
|
* ↓
|
|
39
55
|
* 45+ features
|
|
40
56
|
*
|
|
41
57
|
* Created: October 30, 2025
|
|
42
58
|
* Updated: November 21, 2025 - Merged BaseFilterService into factory
|
|
59
|
+
* Updated: March 2026 - table mode promoted to recommended default
|
|
43
60
|
*/
|
|
44
61
|
/**
|
|
45
|
-
* Creates a QueryService class from a FeatureConfig
|
|
62
|
+
* Creates a QueryService class from a FeatureConfig.
|
|
46
63
|
*
|
|
47
64
|
* @param config - Feature configuration (defines all behavior)
|
|
48
|
-
* @param options - Optional: { mode: 'rpc' | 'table' }
|
|
49
|
-
*
|
|
65
|
+
* @param options - Optional: `{ mode: 'rpc' | 'table' }`.
|
|
66
|
+
* Default: 'table' when no RPC names are present in config, 'rpc' when both are present.
|
|
67
|
+
* @returns QueryService class constructor. Instances expose `.queryMode` ('rpc' | 'table').
|
|
50
68
|
*
|
|
51
|
-
* Mode 'table' (
|
|
52
|
-
* Uses Supabase PostgREST queries
|
|
53
|
-
*
|
|
69
|
+
* **Mode 'table' (RECOMMENDED default — March 2026):**
|
|
70
|
+
* Uses Supabase PostgREST queries. No SQL migrations needed.
|
|
71
|
+
* Best for new features and tables up to ~50k rows.
|
|
54
72
|
*
|
|
55
|
-
* Mode 'rpc' (
|
|
56
|
-
* Uses Supabase
|
|
57
|
-
*
|
|
73
|
+
* **Mode 'rpc' (for high-scale tables):**
|
|
74
|
+
* Uses Supabase `.rpc()` calls to stored database functions.
|
|
75
|
+
* Required for tables with breakdown counts >10k rows or complex aggregations.
|
|
76
|
+
* Needs SQL migrations kept in sync with schema.
|
|
58
77
|
*/
|
|
59
78
|
export declare function createQueryService<TFilters extends Record<string, any>, TItem, TCounts>(config: FeatureConfig<TItem>, options?: {
|
|
60
79
|
mode?: 'rpc' | 'table';
|
|
61
80
|
}): {
|
|
62
81
|
new (supabase: SupabaseClient, organizationId?: string): {
|
|
82
|
+
readonly queryMode: "rpc" | "table";
|
|
63
83
|
supabase: SupabaseClient;
|
|
64
84
|
config: FeatureConfig<TItem>;
|
|
65
85
|
organizationId?: string | undefined;
|
|
@@ -87,6 +107,8 @@ export declare function createQueryService<TFilters extends Record<string, any>,
|
|
|
87
107
|
new (supabase: SupabaseClient, organizationId?: string): {
|
|
88
108
|
countsRpcName: string;
|
|
89
109
|
resultsRpcName: string;
|
|
110
|
+
/** Identifies the active query mode — always 'rpc' for this service */
|
|
111
|
+
readonly queryMode: "rpc" | "table";
|
|
90
112
|
/**
|
|
91
113
|
* ⚠️ REMOVED: applyFilters() - Use getResults() instead!
|
|
92
114
|
*
|
|
@@ -196,6 +218,7 @@ export declare function createQueryService<TFilters extends Record<string, any>,
|
|
|
196
218
|
* const counts = await orderService.getCounts(filters);
|
|
197
219
|
*/
|
|
198
220
|
export declare function createQueryServiceInstance<TFilters extends Record<string, any>, TItem, TCounts>(config: FeatureConfig<TItem>, supabase: SupabaseClient, organizationId?: string): {
|
|
221
|
+
readonly queryMode: "rpc" | "table";
|
|
199
222
|
supabase: SupabaseClient;
|
|
200
223
|
config: FeatureConfig<TItem>;
|
|
201
224
|
organizationId?: string | undefined;
|
|
@@ -221,6 +244,8 @@ export declare function createQueryServiceInstance<TFilters extends Record<strin
|
|
|
221
244
|
} | {
|
|
222
245
|
countsRpcName: string;
|
|
223
246
|
resultsRpcName: string;
|
|
247
|
+
/** Identifies the active query mode — always 'rpc' for this service */
|
|
248
|
+
readonly queryMode: "rpc" | "table";
|
|
224
249
|
/**
|
|
225
250
|
* ⚠️ REMOVED: applyFilters() - Use getResults() instead!
|
|
226
251
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryServiceFactory.d.ts","sourceRoot":"","sources":["../../../src/shared/factories/QueryServiceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAOzE
|
|
1
|
+
{"version":3,"file":"QueryServiceFactory.d.ts","sourceRoot":"","sources":["../../../src/shared/factories/QueryServiceFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,58 +7,77 @@ const logger = createLogger('database:query:factory');
|
|
|
7
7
|
/**
|
|
8
8
|
* QueryService Factory - Eliminates Duplicate Service Code
|
|
9
9
|
*
|
|
10
|
-
* Creates QueryService instances from FeatureConfig
|
|
10
|
+
* Creates QueryService instances from FeatureConfig — no more per-feature services needed!
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
* - OrderQueryService.ts (196 lines)
|
|
14
|
-
* - ProductionQueryService.ts (180 lines)
|
|
15
|
-
* - CreatedBookQueryService.ts (175 lines)
|
|
16
|
-
* - ... 34 more duplicates ...
|
|
17
|
-
* Total: ~6,500 lines of duplicate code!
|
|
12
|
+
* ## Query Modes
|
|
18
13
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
14
|
+
* ### table (RECOMMENDED default — March 2026+)
|
|
15
|
+
* Uses Supabase PostgREST queries (.from().select().eq().order().range()).
|
|
16
|
+
* No SQL migrations needed for query logic. Filters are applied in application code.
|
|
17
|
+
* RLS is enforced automatically. Perfect for new features and tables up to ~50k rows.
|
|
18
|
+
*
|
|
19
|
+
* This is the default when no RPC names are configured in the FeatureConfig.
|
|
20
|
+
*
|
|
21
|
+
* ### rpc (for high-scale tables)
|
|
22
|
+
* Uses Supabase .rpc() calls to stored database functions.
|
|
23
|
+
* Required when: breakdown counts exceed ~10k rows, complex window functions are needed,
|
|
24
|
+
* or query performance is critical on large tables.
|
|
25
|
+
* Downside: RPC functions break on schema changes (column add/remove) and need
|
|
26
|
+
* manual SQL migrations to keep in sync.
|
|
27
|
+
*
|
|
28
|
+
* ## Mode selection
|
|
29
|
+
* - Auto-detect: table mode if no RPC names in config, rpc mode if both are present
|
|
30
|
+
* - Force table: `createQueryService(config, { mode: 'table' })`
|
|
31
|
+
* - Force rpc: `createQueryService(config, { mode: 'rpc' })`
|
|
23
32
|
*
|
|
24
|
-
*
|
|
33
|
+
* Use `service.queryMode` to inspect which mode is active at runtime.
|
|
34
|
+
*
|
|
35
|
+
* ## Usage
|
|
25
36
|
* ```typescript
|
|
26
|
-
* // In controller:
|
|
37
|
+
* // In controller — table mode (recommended):
|
|
27
38
|
* const queryService = createQueryService(ordersFeatureConfig, supabase, organizationId);
|
|
28
39
|
* const counts = await queryService.getCounts(filters);
|
|
29
40
|
* const { items, count } = await queryService.getResults({ filters, limit, offset, sortBy });
|
|
41
|
+
* console.log(queryService.queryMode); // 'table'
|
|
30
42
|
* ```
|
|
31
43
|
*
|
|
32
|
-
*
|
|
33
|
-
* -
|
|
34
|
-
* -
|
|
35
|
-
* -
|
|
36
|
-
*
|
|
44
|
+
* Before (37 duplicate services):
|
|
45
|
+
* - OrderQueryService.ts (196 lines)
|
|
46
|
+
* - ProductionQueryService.ts (180 lines)
|
|
47
|
+
* - ... 35 more duplicates ...
|
|
48
|
+
* Total: ~6,500 lines of duplicate code!
|
|
49
|
+
*
|
|
50
|
+
* After (1 factory):
|
|
51
|
+
* - QueryServiceFactory.ts (~380 lines)
|
|
52
|
+
* - Feature configs define behavior
|
|
37
53
|
*
|
|
38
|
-
* Architecture
|
|
39
|
-
* SimpleRPCQueryService (base helpers)
|
|
54
|
+
* Architecture:
|
|
55
|
+
* SimpleRPCQueryService / TableQueryService (base helpers)
|
|
40
56
|
* ↓
|
|
41
|
-
* QueryServiceFactory (
|
|
57
|
+
* QueryServiceFactory (mode selection + shared methods)
|
|
42
58
|
* ↓
|
|
43
59
|
* 45+ features
|
|
44
60
|
*
|
|
45
61
|
* Created: October 30, 2025
|
|
46
62
|
* Updated: November 21, 2025 - Merged BaseFilterService into factory
|
|
63
|
+
* Updated: March 2026 - table mode promoted to recommended default
|
|
47
64
|
*/
|
|
48
65
|
/**
|
|
49
|
-
* Creates a QueryService class from a FeatureConfig
|
|
66
|
+
* Creates a QueryService class from a FeatureConfig.
|
|
50
67
|
*
|
|
51
68
|
* @param config - Feature configuration (defines all behavior)
|
|
52
|
-
* @param options - Optional: { mode: 'rpc' | 'table' }
|
|
53
|
-
*
|
|
69
|
+
* @param options - Optional: `{ mode: 'rpc' | 'table' }`.
|
|
70
|
+
* Default: 'table' when no RPC names are present in config, 'rpc' when both are present.
|
|
71
|
+
* @returns QueryService class constructor. Instances expose `.queryMode` ('rpc' | 'table').
|
|
54
72
|
*
|
|
55
|
-
* Mode 'table' (
|
|
56
|
-
* Uses Supabase PostgREST queries
|
|
57
|
-
*
|
|
73
|
+
* **Mode 'table' (RECOMMENDED default — March 2026):**
|
|
74
|
+
* Uses Supabase PostgREST queries. No SQL migrations needed.
|
|
75
|
+
* Best for new features and tables up to ~50k rows.
|
|
58
76
|
*
|
|
59
|
-
* Mode 'rpc' (
|
|
60
|
-
* Uses Supabase
|
|
61
|
-
*
|
|
77
|
+
* **Mode 'rpc' (for high-scale tables):**
|
|
78
|
+
* Uses Supabase `.rpc()` calls to stored database functions.
|
|
79
|
+
* Required for tables with breakdown counts >10k rows or complex aggregations.
|
|
80
|
+
* Needs SQL migrations kept in sync with schema.
|
|
62
81
|
*/
|
|
63
82
|
export function createQueryService(config, options) {
|
|
64
83
|
// Auto-detect mode: use 'table' if no RPC names configured
|
|
@@ -81,6 +100,8 @@ export function createQueryService(config, options) {
|
|
|
81
100
|
// RPC names from config (v3.0 - clean naming, no _simple)
|
|
82
101
|
countsRpcName = config.countsRpcName;
|
|
83
102
|
resultsRpcName = config.resultsRpcName;
|
|
103
|
+
/** Identifies the active query mode — always 'rpc' for this service */
|
|
104
|
+
queryMode = 'rpc';
|
|
84
105
|
constructor(supabase, organizationId) {
|
|
85
106
|
super(supabase, config, organizationId);
|
|
86
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryServiceFactory.js","sourceRoot":"","sources":["../../../src/shared/factories/QueryServiceFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AAEtD
|
|
1
|
+
{"version":3,"file":"QueryServiceFactory.js","sourceRoot":"","sources":["../../../src/shared/factories/QueryServiceFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* handlers: myToolHandlers,
|
|
15
15
|
* tokenPrefix: 'vincifox_',
|
|
16
16
|
* });
|
|
17
|
-
* app.use('/api/mcp',
|
|
17
|
+
* app.use('/', mcpRouter); // or app.use('/api/mcp', ...) if behind a backend proxy
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
import { createLogger } from '../../utils/logger.js';
|
|
@@ -28,6 +28,8 @@ export declare class TableQueryService<TFilters extends Record<string, any> = Re
|
|
|
28
28
|
supabase: SupabaseClient;
|
|
29
29
|
config: FeatureConfig<TItem>;
|
|
30
30
|
organizationId?: string | undefined;
|
|
31
|
+
/** Identifies the active query mode — always 'table' for this service */
|
|
32
|
+
readonly queryMode: 'rpc' | 'table';
|
|
31
33
|
constructor(supabase: SupabaseClient, config: FeatureConfig<TItem>, organizationId?: string | undefined);
|
|
32
34
|
/**
|
|
33
35
|
* Apply a single filter to a Supabase query builder
|
|
@@ -93,6 +95,8 @@ export declare class TableQueryService<TFilters extends Record<string, any> = Re
|
|
|
93
95
|
*/
|
|
94
96
|
export declare function createTableQueryService<TFilters extends Record<string, any> = Record<string, any>, TItem = Record<string, any>>(config: FeatureConfig<TItem>): {
|
|
95
97
|
new (supabase: SupabaseClient, organizationId?: string): {
|
|
98
|
+
/** Identifies the active query mode — always 'table' for this service */
|
|
99
|
+
readonly queryMode: "rpc" | "table";
|
|
96
100
|
supabase: SupabaseClient;
|
|
97
101
|
config: FeatureConfig<TItem>;
|
|
98
102
|
organizationId?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableQueryService.d.ts","sourceRoot":"","sources":["../../../src/shared/services/TableQueryService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAKzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAiB,CAC5B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"TableQueryService.d.ts","sourceRoot":"","sources":["../../../src/shared/services/TableQueryService.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,8 @@ export class TableQueryService {
|
|
|
28
28
|
supabase;
|
|
29
29
|
config;
|
|
30
30
|
organizationId;
|
|
31
|
+
/** Identifies the active query mode — always 'table' for this service */
|
|
32
|
+
queryMode = 'table';
|
|
31
33
|
constructor(supabase, config, organizationId) {
|
|
32
34
|
this.supabase = supabase;
|
|
33
35
|
this.config = config;
|
|
@@ -191,6 +193,7 @@ export class TableQueryService {
|
|
|
191
193
|
*/
|
|
192
194
|
async getResults(params) {
|
|
193
195
|
const { filters, limit, offset, sortBy, sortOrder = 'desc', include = [] } = params;
|
|
196
|
+
const startMs = Date.now();
|
|
194
197
|
try {
|
|
195
198
|
// Build select query (with includes/joins if configured)
|
|
196
199
|
const selectFields = include.length > 0 ? this.buildSelectQuery(include) : '*';
|
|
@@ -208,6 +211,15 @@ export class TableQueryService {
|
|
|
208
211
|
// Apply pagination
|
|
209
212
|
query = query.range(offset, offset + limit - 1);
|
|
210
213
|
const { data, error, count: totalCount } = await query;
|
|
214
|
+
const durationMs = Date.now() - startMs;
|
|
215
|
+
logger.debug({
|
|
216
|
+
feature: this.config.tableName,
|
|
217
|
+
durationMs,
|
|
218
|
+
resultCount: data?.length ?? 0,
|
|
219
|
+
totalCount: totalCount ?? 0,
|
|
220
|
+
limit,
|
|
221
|
+
offset,
|
|
222
|
+
}, `table:getResults completed in ${durationMs}ms`);
|
|
211
223
|
if (error) {
|
|
212
224
|
logger.error({
|
|
213
225
|
error: error.message,
|
|
@@ -235,6 +247,7 @@ export class TableQueryService {
|
|
|
235
247
|
* For 'breakdown': SELECT status, count(*) FROM table WHERE filters GROUP BY status
|
|
236
248
|
*/
|
|
237
249
|
async getCounts(filters) {
|
|
250
|
+
const startMs = Date.now();
|
|
238
251
|
try {
|
|
239
252
|
const counts = {};
|
|
240
253
|
if (!this.config.counts) {
|
|
@@ -278,6 +291,14 @@ export class TableQueryService {
|
|
|
278
291
|
counts[key] = {};
|
|
279
292
|
}
|
|
280
293
|
else {
|
|
294
|
+
// Warn when breakdown fetches very large result sets — RPC would be more efficient
|
|
295
|
+
if (data && data.length > 10000) {
|
|
296
|
+
logger.warn({
|
|
297
|
+
feature: this.config.tableName,
|
|
298
|
+
rowCount: data.length,
|
|
299
|
+
countKey: key,
|
|
300
|
+
}, 'Table mode breakdown count fetched >10k rows. Consider adding RPC functions for this feature.');
|
|
301
|
+
}
|
|
281
302
|
// Count occurrences of each value
|
|
282
303
|
const breakdown = {};
|
|
283
304
|
for (const row of data || []) {
|
|
@@ -317,6 +338,12 @@ export class TableQueryService {
|
|
|
317
338
|
logger.debug({ key, type: countConfig.type }, 'Skipping unsupported count type');
|
|
318
339
|
}
|
|
319
340
|
}
|
|
341
|
+
const durationMs = Date.now() - startMs;
|
|
342
|
+
logger.debug({
|
|
343
|
+
feature: this.config.tableName,
|
|
344
|
+
durationMs,
|
|
345
|
+
countKeys: Object.keys(counts),
|
|
346
|
+
}, `table:getCounts completed in ${durationMs}ms`);
|
|
320
347
|
return counts;
|
|
321
348
|
}
|
|
322
349
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableQueryService.js","sourceRoot":"","sources":["../../../src/shared/services/TableQueryService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableQueryService.js","sourceRoot":"","sources":["../../../src/shared/services/TableQueryService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soulbatical/tetra-core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "restricted"
|
|
6
6
|
},
|
|
@@ -76,6 +76,7 @@
|
|
|
76
76
|
],
|
|
77
77
|
"scripts": {
|
|
78
78
|
"build": "tsc",
|
|
79
|
+
"postinstall": "node scripts/postinstall.js || true",
|
|
79
80
|
"prepublishOnly": "npm run build && npm run typecheck && npx tetra-check-peers",
|
|
80
81
|
"check:peers": "npx tetra-check-peers",
|
|
81
82
|
"typecheck": "tsc --noEmit",
|
|
@@ -84,6 +85,7 @@
|
|
|
84
85
|
"enforce:api": "./scripts/enforce-api-standards.sh"
|
|
85
86
|
},
|
|
86
87
|
"dependencies": {
|
|
88
|
+
"@soulbatical/tetra-dev-toolkit": "^1.20.11",
|
|
87
89
|
"express-rate-limit": "^8.2.1",
|
|
88
90
|
"handlebars": "^4.7.8",
|
|
89
91
|
"helmet": "^8.1.0",
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Tetra Core — Postinstall
|
|
5
|
+
*
|
|
6
|
+
* Automatically sets up quality infrastructure when tetra-core is installed
|
|
7
|
+
* in a consumer project. Runs tetra-setup (hooks, ci, config) so every
|
|
8
|
+
* Tetra project gets the full quality gate from day one.
|
|
9
|
+
*
|
|
10
|
+
* Skips in:
|
|
11
|
+
* - CI environments (CI=true, GITHUB_ACTIONS, etc.)
|
|
12
|
+
* - Docker builds (/.dockerenv)
|
|
13
|
+
* - The tetra monorepo itself
|
|
14
|
+
* - npm pack / npm publish
|
|
15
|
+
* - Non-interactive environments without a project
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { existsSync } from 'fs'
|
|
19
|
+
import { execSync } from 'child_process'
|
|
20
|
+
import { join, dirname } from 'path'
|
|
21
|
+
import { fileURLToPath } from 'url'
|
|
22
|
+
|
|
23
|
+
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
24
|
+
|
|
25
|
+
// ── Skip conditions ──
|
|
26
|
+
|
|
27
|
+
// CI environment
|
|
28
|
+
if (process.env.CI || process.env.GITHUB_ACTIONS || process.env.GITLAB_CI ||
|
|
29
|
+
process.env.JENKINS_HOME || process.env.CODEBUILD_BUILD_ID) {
|
|
30
|
+
process.exit(0)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Docker
|
|
34
|
+
if (existsSync('/.dockerenv')) {
|
|
35
|
+
process.exit(0)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// npm pack / publish (no project context)
|
|
39
|
+
if (process.env.npm_command === 'pack' || process.env.npm_command === 'publish') {
|
|
40
|
+
process.exit(0)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Inside the tetra monorepo itself
|
|
44
|
+
const projectRoot = process.env.INIT_CWD || process.cwd()
|
|
45
|
+
if (projectRoot.includes('/tetra/packages/') || projectRoot.endsWith('/tetra')) {
|
|
46
|
+
process.exit(0)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// No package.json = not a real project
|
|
50
|
+
if (!existsSync(join(projectRoot, 'package.json'))) {
|
|
51
|
+
process.exit(0)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// ── Run tetra-setup ──
|
|
55
|
+
|
|
56
|
+
// Check if tetra-setup is available
|
|
57
|
+
try {
|
|
58
|
+
const tetraSetupPath = join(projectRoot, 'node_modules', '.bin', 'tetra-setup')
|
|
59
|
+
if (!existsSync(tetraSetupPath)) {
|
|
60
|
+
// dev-toolkit not installed yet — will run on next install
|
|
61
|
+
process.exit(0)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
console.log('')
|
|
65
|
+
console.log('🔧 Tetra Core — setting up quality infrastructure...')
|
|
66
|
+
console.log('')
|
|
67
|
+
|
|
68
|
+
// Run tetra-setup (hooks + ci + config), non-interactive
|
|
69
|
+
// Don't use --force to preserve existing customizations
|
|
70
|
+
execSync(`node "${tetraSetupPath}"`, {
|
|
71
|
+
cwd: projectRoot,
|
|
72
|
+
stdio: 'inherit',
|
|
73
|
+
timeout: 30000,
|
|
74
|
+
})
|
|
75
|
+
} catch (err) {
|
|
76
|
+
// Non-blocking — setup failure shouldn't break npm install
|
|
77
|
+
console.log('⚠️ Tetra setup encountered an issue (non-blocking)')
|
|
78
|
+
console.log(` Run 'npx tetra-setup' manually to complete setup`)
|
|
79
|
+
}
|