@revealui/db 0.3.7 → 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.
- package/dist/crypto.d.ts +22 -0
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +64 -0
- package/dist/crypto.js.map +1 -1
- package/dist/pool.d.ts +0 -5
- package/dist/pool.d.ts.map +1 -1
- package/dist/pool.js +15 -24
- package/dist/pool.js.map +1 -1
- package/dist/queries/users.d.ts +22 -0
- package/dist/queries/users.d.ts.map +1 -1
- package/dist/queries/users.js +39 -0
- package/dist/queries/users.js.map +1 -1
- package/dist/schema/accounts.d.ts.map +1 -1
- package/dist/schema/accounts.js +5 -0
- package/dist/schema/accounts.js.map +1 -1
- package/dist/schema/admin.d.ts.map +1 -1
- package/dist/schema/admin.js +3 -1
- package/dist/schema/admin.js.map +1 -1
- package/dist/schema/agents.d.ts.map +1 -1
- package/dist/schema/agents.js +7 -1
- package/dist/schema/agents.js.map +1 -1
- package/dist/schema/api-keys.d.ts.map +1 -1
- package/dist/schema/api-keys.js +3 -1
- package/dist/schema/api-keys.js.map +1 -1
- package/dist/schema/app-logs.d.ts.map +1 -1
- package/dist/schema/app-logs.js +4 -1
- package/dist/schema/app-logs.js.map +1 -1
- package/dist/schema/audit-log.d.ts.map +1 -1
- package/dist/schema/audit-log.js +3 -1
- package/dist/schema/audit-log.js.map +1 -1
- package/dist/schema/circuit-breaker.d.ts.map +1 -1
- package/dist/schema/circuit-breaker.js +6 -2
- package/dist/schema/circuit-breaker.js.map +1 -1
- package/dist/schema/code-provenance.d.ts.map +1 -1
- package/dist/schema/code-provenance.js +10 -3
- package/dist/schema/code-provenance.js.map +1 -1
- package/dist/schema/coordination.d.ts.map +1 -1
- package/dist/schema/coordination.js +8 -2
- package/dist/schema/coordination.js.map +1 -1
- package/dist/schema/crdt-operations.d.ts.map +1 -1
- package/dist/schema/crdt-operations.js +4 -1
- package/dist/schema/crdt-operations.js.map +1 -1
- package/dist/schema/error-events.d.ts.map +1 -1
- package/dist/schema/error-events.js +5 -1
- package/dist/schema/error-events.js.map +1 -1
- package/dist/schema/gdpr.d.ts.map +1 -1
- package/dist/schema/gdpr.js +6 -1
- package/dist/schema/gdpr.js.map +1 -1
- package/dist/schema/jobs.d.ts.map +1 -1
- package/dist/schema/jobs.js +3 -1
- package/dist/schema/jobs.js.map +1 -1
- package/dist/schema/marketplace.d.ts.map +1 -1
- package/dist/schema/marketplace.js +6 -2
- package/dist/schema/marketplace.js.map +1 -1
- package/dist/schema/node-ids.d.ts.map +1 -1
- package/dist/schema/node-ids.js +3 -2
- package/dist/schema/node-ids.js.map +1 -1
- package/dist/schema/pages.d.ts.map +1 -1
- package/dist/schema/pages.js +3 -1
- package/dist/schema/pages.js.map +1 -1
- package/dist/schema/rag.d.ts.map +1 -1
- package/dist/schema/rag.js +8 -4
- package/dist/schema/rag.js.map +1 -1
- package/dist/schema/revealcoin.d.ts.map +1 -1
- package/dist/schema/revealcoin.js +6 -2
- package/dist/schema/revealcoin.js.map +1 -1
- package/dist/schema/revmarket.d.ts.map +1 -1
- package/dist/schema/revmarket.js +6 -1
- package/dist/schema/revmarket.js.map +1 -1
- package/dist/schema/sites.d.ts.map +1 -1
- package/dist/schema/sites.js +6 -2
- package/dist/schema/sites.js.map +1 -1
- package/dist/schema/tickets.d.ts.map +1 -1
- package/dist/schema/tickets.js +5 -1
- package/dist/schema/tickets.js.map +1 -1
- package/dist/schema/users.js +1 -1
- package/dist/schema/users.js.map +1 -1
- package/package.json +34 -2
package/dist/crypto.d.ts
CHANGED
|
@@ -19,6 +19,28 @@ export declare function encryptApiKey(plaintext: string): string;
|
|
|
19
19
|
* Throws if tampered (GCM auth tag mismatch) or if KEK is wrong.
|
|
20
20
|
*/
|
|
21
21
|
export declare function decryptApiKey(encrypted: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Encrypt an arbitrary string field using AES-256-GCM.
|
|
24
|
+
* Same algorithm as `encryptApiKey`; use for TOTP secrets, tokens, etc.
|
|
25
|
+
*/
|
|
26
|
+
export declare function encryptField(plaintext: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Decrypt a field encrypted by `encryptField`.
|
|
29
|
+
* Throws on tamper (GCM auth tag mismatch) or wrong KEK.
|
|
30
|
+
*/
|
|
31
|
+
export declare function decryptField(encrypted: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Detect whether a stored value is in the encrypted envelope format.
|
|
34
|
+
* Returns true for `<base64url>.<base64url>.<base64url>` with correct lengths.
|
|
35
|
+
* Useful for rolling migration: read plaintext or encrypted transparently.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isEncryptedField(value: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Decrypt a field that may be plaintext (legacy) or encrypted (new).
|
|
40
|
+
* If the value looks like an encrypted envelope, decrypts it.
|
|
41
|
+
* Otherwise returns the plaintext as-is (for rolling migration).
|
|
42
|
+
*/
|
|
43
|
+
export declare function decryptFieldOrPassthrough(value: string): string;
|
|
22
44
|
/**
|
|
23
45
|
* Return a redacted hint showing only the last 4 characters of an API key.
|
|
24
46
|
* Safe to store in plaintext and display in the UI.
|
package/dist/crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkBH;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAmBvD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGtD"}
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkBH;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAmBvD;AAMD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWtD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAmBtD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGtD"}
|
package/dist/crypto.js
CHANGED
|
@@ -62,6 +62,70 @@ export function decryptApiKey(encrypted) {
|
|
|
62
62
|
decipher.setAuthTag(authTag);
|
|
63
63
|
return Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString('utf8');
|
|
64
64
|
}
|
|
65
|
+
// =============================================================================
|
|
66
|
+
// Generic Field Encryption (reusable for any sensitive column)
|
|
67
|
+
// =============================================================================
|
|
68
|
+
/**
|
|
69
|
+
* Encrypt an arbitrary string field using AES-256-GCM.
|
|
70
|
+
* Same algorithm as `encryptApiKey`; use for TOTP secrets, tokens, etc.
|
|
71
|
+
*/
|
|
72
|
+
export function encryptField(plaintext) {
|
|
73
|
+
const kek = getKek();
|
|
74
|
+
const iv = randomBytes(IV_LENGTH);
|
|
75
|
+
const cipher = createCipheriv(ALGORITHM, kek, iv);
|
|
76
|
+
const ciphertext = Buffer.concat([cipher.update(plaintext, 'utf8'), cipher.final()]);
|
|
77
|
+
const authTag = cipher.getAuthTag();
|
|
78
|
+
return [
|
|
79
|
+
iv.toString('base64url'),
|
|
80
|
+
authTag.toString('base64url'),
|
|
81
|
+
ciphertext.toString('base64url'),
|
|
82
|
+
].join('.');
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Decrypt a field encrypted by `encryptField`.
|
|
86
|
+
* Throws on tamper (GCM auth tag mismatch) or wrong KEK.
|
|
87
|
+
*/
|
|
88
|
+
export function decryptField(encrypted) {
|
|
89
|
+
const kek = getKek();
|
|
90
|
+
const parts = encrypted.split('.');
|
|
91
|
+
if (parts.length !== 3) {
|
|
92
|
+
throw new Error('Invalid encrypted field format — expected <iv>.<authTag>.<ciphertext>');
|
|
93
|
+
}
|
|
94
|
+
const [ivB64, authTagB64, ciphertextB64] = parts;
|
|
95
|
+
const iv = Buffer.from(ivB64, 'base64url');
|
|
96
|
+
const authTag = Buffer.from(authTagB64, 'base64url');
|
|
97
|
+
const ciphertext = Buffer.from(ciphertextB64, 'base64url');
|
|
98
|
+
if (iv.length !== IV_LENGTH) {
|
|
99
|
+
throw new Error(`Invalid IV length: expected ${IV_LENGTH} bytes, got ${iv.length}`);
|
|
100
|
+
}
|
|
101
|
+
if (authTag.length !== 16) {
|
|
102
|
+
throw new Error(`Invalid auth tag length: expected 16 bytes, got ${authTag.length}`);
|
|
103
|
+
}
|
|
104
|
+
const decipher = createDecipheriv(ALGORITHM, kek, iv);
|
|
105
|
+
decipher.setAuthTag(authTag);
|
|
106
|
+
return Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString('utf8');
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Detect whether a stored value is in the encrypted envelope format.
|
|
110
|
+
* Returns true for `<base64url>.<base64url>.<base64url>` with correct lengths.
|
|
111
|
+
* Useful for rolling migration: read plaintext or encrypted transparently.
|
|
112
|
+
*/
|
|
113
|
+
export function isEncryptedField(value) {
|
|
114
|
+
const parts = value.split('.');
|
|
115
|
+
if (parts.length !== 3)
|
|
116
|
+
return false;
|
|
117
|
+
// Validate that each part is valid base64url (non-empty, correct chars)
|
|
118
|
+
const b64urlPattern = /^[A-Za-z0-9_-]+$/;
|
|
119
|
+
return parts.every((p) => p !== undefined && p.length > 0 && b64urlPattern.test(p));
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Decrypt a field that may be plaintext (legacy) or encrypted (new).
|
|
123
|
+
* If the value looks like an encrypted envelope, decrypts it.
|
|
124
|
+
* Otherwise returns the plaintext as-is (for rolling migration).
|
|
125
|
+
*/
|
|
126
|
+
export function decryptFieldOrPassthrough(value) {
|
|
127
|
+
return isEncryptedField(value) ? decryptField(value) : value;
|
|
128
|
+
}
|
|
65
129
|
/**
|
|
66
130
|
* Return a redacted hint showing only the last 4 characters of an API key.
|
|
67
131
|
* Safe to store in plaintext and display in the UI.
|
package/dist/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
|
package/dist/pool.d.ts
CHANGED
|
@@ -5,10 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Pool } from 'pg';
|
|
7
7
|
export declare function getPool(): Pool;
|
|
8
|
-
/**
|
|
9
|
-
* @deprecated Use getPool() instead. Eager pool creation risks crashes at module parse time.
|
|
10
|
-
*/
|
|
11
|
-
export declare const pool: Pool;
|
|
12
8
|
export declare function checkDatabaseHealth(): Promise<{
|
|
13
9
|
healthy: boolean;
|
|
14
10
|
stats: {
|
|
@@ -33,5 +29,4 @@ export declare function startPoolMonitoring(intervalMs?: number): ReturnType<typ
|
|
|
33
29
|
* Pre-warm the connection pool
|
|
34
30
|
*/
|
|
35
31
|
export declare function warmupPool(): Promise<void>;
|
|
36
|
-
export default pool;
|
|
37
32
|
//# sourceMappingURL=pool.d.ts.map
|
package/dist/pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,IAAI,EAAoC,MAAM,IAAI,CAAC;AAoG5D,wBAAgB,OAAO,IAAI,IAAI,CAW9B;
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,IAAI,EAAoC,MAAM,IAAI,CAAC;AAoG5D,wBAAgB,OAAO,IAAI,IAAI,CAW9B;AA6ED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC,CAiCD;AAMD,wBAAgB,YAAY,IAAI;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB,CAUA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,GAAE,MAAc,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAqB9F;AAMD;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAiChD"}
|
package/dist/pool.js
CHANGED
|
@@ -92,14 +92,6 @@ export function getPool() {
|
|
|
92
92
|
}
|
|
93
93
|
return _pool;
|
|
94
94
|
}
|
|
95
|
-
/**
|
|
96
|
-
* @deprecated Use getPool() instead. Eager pool creation risks crashes at module parse time.
|
|
97
|
-
*/
|
|
98
|
-
export const pool = new Proxy({}, {
|
|
99
|
-
get(_target, prop, receiver) {
|
|
100
|
-
return Reflect.get(getPool(), prop, receiver);
|
|
101
|
-
},
|
|
102
|
-
});
|
|
103
95
|
// ===========================================================================
|
|
104
96
|
// ERROR HANDLING
|
|
105
97
|
// ===========================================================================
|
|
@@ -158,16 +150,17 @@ function registerShutdown() {
|
|
|
158
150
|
// HEALTH CHECK
|
|
159
151
|
// ===========================================================================
|
|
160
152
|
export async function checkDatabaseHealth() {
|
|
153
|
+
const p = getPool();
|
|
161
154
|
try {
|
|
162
155
|
// Test connection
|
|
163
|
-
const client = await
|
|
156
|
+
const client = await p.connect();
|
|
164
157
|
await client.query('SELECT 1');
|
|
165
158
|
client.release();
|
|
166
159
|
// Get pool stats
|
|
167
160
|
const stats = {
|
|
168
|
-
totalCount:
|
|
169
|
-
idleCount:
|
|
170
|
-
waitingCount:
|
|
161
|
+
totalCount: p.totalCount,
|
|
162
|
+
idleCount: p.idleCount,
|
|
163
|
+
waitingCount: p.waitingCount,
|
|
171
164
|
};
|
|
172
165
|
return {
|
|
173
166
|
healthy: true,
|
|
@@ -179,9 +172,9 @@ export async function checkDatabaseHealth() {
|
|
|
179
172
|
return {
|
|
180
173
|
healthy: false,
|
|
181
174
|
stats: {
|
|
182
|
-
totalCount:
|
|
183
|
-
idleCount:
|
|
184
|
-
waitingCount:
|
|
175
|
+
totalCount: p.totalCount,
|
|
176
|
+
idleCount: p.idleCount,
|
|
177
|
+
waitingCount: p.waitingCount,
|
|
185
178
|
},
|
|
186
179
|
};
|
|
187
180
|
}
|
|
@@ -190,13 +183,14 @@ export async function checkDatabaseHealth() {
|
|
|
190
183
|
// POOL MONITORING
|
|
191
184
|
// ===========================================================================
|
|
192
185
|
export function getPoolStats() {
|
|
186
|
+
const p = getPool();
|
|
193
187
|
return {
|
|
194
|
-
totalCount:
|
|
195
|
-
idleCount:
|
|
196
|
-
waitingCount:
|
|
188
|
+
totalCount: p.totalCount, // Total clients
|
|
189
|
+
idleCount: p.idleCount, // Idle clients
|
|
190
|
+
waitingCount: p.waitingCount, // Waiting requests
|
|
197
191
|
maxConnections: poolConfig.max,
|
|
198
192
|
minConnections: poolConfig.min,
|
|
199
|
-
utilization: ((
|
|
193
|
+
utilization: ((p.totalCount - p.idleCount) / (poolConfig.max || 20)) * 100,
|
|
200
194
|
};
|
|
201
195
|
}
|
|
202
196
|
/**
|
|
@@ -232,10 +226,11 @@ export async function warmupPool() {
|
|
|
232
226
|
logger.info('Warming up database pool');
|
|
233
227
|
const warmupConnections = Math.min(poolConfig.min || 5, poolConfig.max || 20);
|
|
234
228
|
const clients = [];
|
|
229
|
+
const p = getPool();
|
|
235
230
|
try {
|
|
236
231
|
// Acquire minimum connections
|
|
237
232
|
for (let i = 0; i < warmupConnections; i++) {
|
|
238
|
-
const client = await
|
|
233
|
+
const client = await p.connect();
|
|
239
234
|
clients.push(client);
|
|
240
235
|
}
|
|
241
236
|
logger.info(`Warmed up ${warmupConnections} database connections`);
|
|
@@ -253,8 +248,4 @@ export async function warmupPool() {
|
|
|
253
248
|
throw error;
|
|
254
249
|
}
|
|
255
250
|
}
|
|
256
|
-
// ===========================================================================
|
|
257
|
-
// EXPORTS
|
|
258
|
-
// ===========================================================================
|
|
259
|
-
export default pool;
|
|
260
251
|
//# sourceMappingURL=pool.js.map
|
package/dist/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAoC,MAAM,IAAI,CAAC;AAO5D;;GAEG;AACH,SAAS,gBAAgB;IACvB,+DAA+D;IAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACzE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,uDAAuD;IACvD,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACpF,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB;IAC7B,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACrC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa;QAC1B,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY;QACzB,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EACzB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAe;IAC7B,qBAAqB;IACrB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW;IAC9C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,EAAE,EAAE,CAAC;IACvD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IACnC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IAC/B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IAEvC,wEAAwE;IACxE,GAAG,EAAE,gBAAgB,EAAE;IAEvB,8EAA8E;IAC9E,2BAA2B;IAC3B,8EAA8E;IAE9E,wCAAwC;IACxC,uCAAuC;IACvC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,EAAE,EAAE,CAAC;IAExD,wCAAwC;IACxC,yBAAyB;IACzB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,GAAG,EAAE,EAAE,CAAC;IAEvD,6DAA6D;IAC7D,wCAAwC;IACxC,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,aAAa;IAE5F,6CAA6C;IAC7C,iCAAiC;IACjC,uBAAuB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY;IAEtG,8EAA8E;IAC9E,iBAAiB;IACjB,8EAA8E;IAE9E,0DAA0D;IAC1D,8CAA8C;IAC9C,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,aAAa;IAEjG,uDAAuD;IACvD,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,aAAa;IAEzF,8EAA8E;IAC9E,uBAAuB;IACvB,8EAA8E;IAE9E,oDAAoD;IACpD,0CAA0C;IAC1C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IAEtD,+CAA+C;IAC/C,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,UAAU;CACrD,CAAC;AAEF;;;;;GAKG;AACH,IAAI,KAAK,GAAgB,IAAI,CAAC;AAE9B,MAAM,UAAU,OAAO;IACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,sBAAsB,EAAE,CAAC;QACzB,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/B,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACjC,gBAAgB,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,SAAS,WAAW,CAAC,GAAU;IAC7B,MAAM,CAAC,KAAK,CACV,0CAA0C,EAC1C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAkB;IACvC,MAAM,GAAG,GAAI,MAA4B,CAAC,SAAS,CAAC;IACpD,MAAM,CAAC,IAAI,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC;IAE7D,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,eAAe;YACf,MAAM,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAE5C,6DAA6D;YAC7D,MAAM,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,UAAU,CAAC,iBAAiB,IAAI,KAAK,CAAC,CAAC,CAAC;YAE3F,0BAA0B;YAC1B,MAAM,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,oCAAoC,EACpC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED,SAAS,aAAa,CAAC,MAAkB;IACvC,MAAM,GAAG,GAAI,MAA4B,CAAC,SAAS,CAAC;IACpD,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,MAAkB;IACtC,MAAM,GAAG,GAAI,MAA4B,CAAC,SAAS,CAAC;IACpD,MAAM,CAAC,IAAI,CAAC,iCAAiC,GAAG,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,KAAK,UAAU,gBAAgB,CAAC,MAAc;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,6BAA6B,EAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,SAAS,gBAAgB;IACvB,IAAI,mBAAmB;QAAE,OAAO;IAChC,mBAAmB,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,mBAAmB;IAQvC,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,kBAAkB;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,iBAAiB;QACjB,MAAM,KAAK,GAAG;YACZ,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,YAAY,EAAE,CAAC,CAAC,YAAY;SAC7B,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK;SACN,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,8BAA8B,EAC9B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;QACF,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,YAAY,EAAE,CAAC,CAAC,YAAY;aAC7B;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,UAAU,YAAY;IAQ1B,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,gBAAgB;QAC1C,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,eAAe;QACvC,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,mBAAmB;QACjD,cAAc,EAAE,UAAU,CAAC,GAAG;QAC9B,cAAc,EAAE,UAAU,CAAC,GAAG;QAC9B,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG;KAC3E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAqB,KAAK;IAC5D,OAAO,WAAW,CAAC,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACjC,GAAG,KAAK;YACR,kBAAkB,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YACtD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,gCAAgC;QAChC,IAAI,KAAK,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,oCAAoC;QACpC,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;gBAC3D,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,UAAU,CAAC,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAExC,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IAEpB,IAAI,CAAC;QACH,8BAA8B;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,aAAa,iBAAiB,uBAAuB,CAAC,CAAC;QAEnE,sBAAsB;QACtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,uBAAuB,EACvB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;QAEF,+BAA+B;QAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/queries/users.d.ts
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { Database } from '../client/index.js';
|
|
5
5
|
import { users } from '../schema/users.js';
|
|
6
|
+
/**
|
|
7
|
+
* Soft cap on the number of users with `role: 'owner'`. App-layer only — not a
|
|
8
|
+
* DB constraint — so the cap can be lifted without a migration. Sized for a
|
|
9
|
+
* small founding team: primary + break-glass + one successor/co-founder slot.
|
|
10
|
+
*/
|
|
11
|
+
export declare const OWNER_SOFT_CAP = 3;
|
|
12
|
+
/** Error thrown when the owner soft cap would be exceeded. */
|
|
13
|
+
export declare class OwnerSlotError extends Error {
|
|
14
|
+
readonly code = "OWNER_SLOT_EXHAUSTED";
|
|
15
|
+
readonly currentCount: number;
|
|
16
|
+
readonly max: number;
|
|
17
|
+
constructor(currentCount: number, max: number);
|
|
18
|
+
}
|
|
19
|
+
/** Count non-deleted users with `role: 'owner'`. */
|
|
20
|
+
export declare function countOwners(db: Database): Promise<number>;
|
|
21
|
+
/**
|
|
22
|
+
* Throws `OwnerSlotError` if promoting another user to `owner` would exceed
|
|
23
|
+
* the soft cap. Call *before* writing `role: 'owner'` on an update. Safe to
|
|
24
|
+
* skip during bootstrap: bootstrap only runs when no users exist, so the
|
|
25
|
+
* count is always zero there.
|
|
26
|
+
*/
|
|
27
|
+
export declare function assertOwnerSlotAvailable(db: Database, max?: number): Promise<void>;
|
|
6
28
|
export interface ListUsersOptions {
|
|
7
29
|
status?: string;
|
|
8
30
|
role?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/queries/users.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAK3C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,sDAAsD;AACtD,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAe7E;AAED,oDAAoD;AACpD,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAqB,mBAa5E;AAED,6BAA6B;AAC7B,wBAAsB,UAAU,CAC9B,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAQzC;AAED,uEAAuE;AACvE,wBAAsB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAM9D;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOzD;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAO/D;AAED,wEAAwE;AACxE,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,iBAKxD;AAED,kCAAkC;AAClC,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOzD;AAED,oDAAoD;AACpD,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAG7E;AAED,oFAAoF;AACpF,wBAAsB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAwB3D;AAED,+EAA+E;AAC/E,wBAAsB,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,iBAEvD;AAED,wDAAwD;AACxD,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpE;AAED,+EAA+E;AAC/E,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM;;;UAe/E"}
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/queries/users.ts"],"names":[],"mappings":"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"}
|
package/dist/queries/users.js
CHANGED
|
@@ -5,6 +5,45 @@ import { and, count, desc, eq, gt, ilike, inArray, isNull, or } from 'drizzle-or
|
|
|
5
5
|
import { users } from '../schema/users.js';
|
|
6
6
|
/** Condition that excludes soft-deleted users */
|
|
7
7
|
const notDeleted = isNull(users.deletedAt);
|
|
8
|
+
/**
|
|
9
|
+
* Soft cap on the number of users with `role: 'owner'`. App-layer only — not a
|
|
10
|
+
* DB constraint — so the cap can be lifted without a migration. Sized for a
|
|
11
|
+
* small founding team: primary + break-glass + one successor/co-founder slot.
|
|
12
|
+
*/
|
|
13
|
+
export const OWNER_SOFT_CAP = 3;
|
|
14
|
+
/** Error thrown when the owner soft cap would be exceeded. */
|
|
15
|
+
export class OwnerSlotError extends Error {
|
|
16
|
+
code = 'OWNER_SLOT_EXHAUSTED';
|
|
17
|
+
currentCount;
|
|
18
|
+
max;
|
|
19
|
+
constructor(currentCount, max) {
|
|
20
|
+
super(`Owner soft cap reached: ${currentCount}/${max} owners exist. ` +
|
|
21
|
+
`Demote an existing owner before promoting another.`);
|
|
22
|
+
this.name = 'OwnerSlotError';
|
|
23
|
+
this.currentCount = currentCount;
|
|
24
|
+
this.max = max;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** Count non-deleted users with `role: 'owner'`. */
|
|
28
|
+
export async function countOwners(db) {
|
|
29
|
+
const result = await db
|
|
30
|
+
.select({ total: count() })
|
|
31
|
+
.from(users)
|
|
32
|
+
.where(and(eq(users.role, 'owner'), notDeleted));
|
|
33
|
+
return result[0]?.total ?? 0;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Throws `OwnerSlotError` if promoting another user to `owner` would exceed
|
|
37
|
+
* the soft cap. Call *before* writing `role: 'owner'` on an update. Safe to
|
|
38
|
+
* skip during bootstrap: bootstrap only runs when no users exist, so the
|
|
39
|
+
* count is always zero there.
|
|
40
|
+
*/
|
|
41
|
+
export async function assertOwnerSlotAvailable(db, max = OWNER_SOFT_CAP) {
|
|
42
|
+
const current = await countOwners(db);
|
|
43
|
+
if (current >= max) {
|
|
44
|
+
throw new OwnerSlotError(current, max);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
8
47
|
/** List users with optional filters and pagination */
|
|
9
48
|
export async function getAllUsers(db, options = {}) {
|
|
10
49
|
const { status, role, search, limit = 20, offset = 0 } = options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/queries/users.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,iDAAiD;AACjD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/queries/users.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/schema/accounts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/schema/accounts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBpB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B9B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAYb,MAAM;2BACN,MAAM;gCACD,MAAM;;;;;;;;;;;;;;2BAFX,MAAM;2BACN,MAAM;gCACD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB7B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4B1B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBvB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACtD,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC,YAAY,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,OAAO,kBAAkB,CAAC,YAAY,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,OAAO,oBAAoB,CAAC,YAAY,CAAC;AAC3E,MAAM,MAAM,sBAAsB,GAAG,OAAO,oBAAoB,CAAC,YAAY,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,OAAO,mBAAmB,CAAC,YAAY,CAAC;AACzE,MAAM,MAAM,qBAAqB,GAAG,OAAO,mBAAmB,CAAC,YAAY,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,OAAO,cAAc,CAAC,YAAY,CAAC;AACrE,MAAM,MAAM,sBAAsB,GAAG,OAAO,cAAc,CAAC,YAAY,CAAC;AACxE,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC"}
|
package/dist/schema/accounts.js
CHANGED
|
@@ -24,6 +24,7 @@ export const accounts = pgTable('accounts', {
|
|
|
24
24
|
uniqueIndex('accounts_slug_idx').on(table.slug),
|
|
25
25
|
index('accounts_status_idx').on(table.status),
|
|
26
26
|
index('accounts_status_created_at_idx').on(table.status, table.createdAt),
|
|
27
|
+
check('accounts_status_check', sql `status IN ('active', 'suspended', 'closed')`),
|
|
27
28
|
]);
|
|
28
29
|
export const accountMemberships = pgTable('account_memberships', {
|
|
29
30
|
id: text('id').primaryKey(),
|
|
@@ -45,6 +46,8 @@ export const accountMemberships = pgTable('account_memberships', {
|
|
|
45
46
|
index('account_memberships_user_id_idx').on(table.userId),
|
|
46
47
|
index('account_memberships_account_id_idx').on(table.accountId),
|
|
47
48
|
index('account_memberships_status_idx').on(table.status),
|
|
49
|
+
check('account_memberships_role_check', sql `role IN ('owner', 'admin', 'member')`),
|
|
50
|
+
check('account_memberships_status_check', sql `status IN ('active', 'invited', 'revoked')`),
|
|
48
51
|
]);
|
|
49
52
|
export const accountSubscriptions = pgTable('account_subscriptions', {
|
|
50
53
|
id: text('id').primaryKey(),
|
|
@@ -95,6 +98,7 @@ export const accountEntitlements = pgTable('account_entitlements', {
|
|
|
95
98
|
index('account_entitlements_account_status_idx').on(table.accountId, table.status),
|
|
96
99
|
check('account_entitlements_tier_check', sql `tier IN ('free', 'pro', 'max', 'enterprise')`),
|
|
97
100
|
check('account_entitlements_status_check', sql `status IN ('active', 'past_due', 'canceled', 'expired', 'revoked')`),
|
|
101
|
+
check('account_entitlements_metering_status_check', sql `metering_status IN ('active', 'paused', 'exceeded')`),
|
|
98
102
|
]);
|
|
99
103
|
export const billingCatalog = pgTable('billing_catalog', {
|
|
100
104
|
id: text('id').primaryKey(),
|
|
@@ -136,5 +140,6 @@ export const usageMeters = pgTable('usage_meters', {
|
|
|
136
140
|
index('usage_meters_meter_name_idx').on(table.meterName),
|
|
137
141
|
index('usage_meters_period_start_idx').on(table.periodStart),
|
|
138
142
|
index('usage_meters_account_period_idx').on(table.accountId, table.periodStart),
|
|
143
|
+
check('usage_meters_source_check', sql `source IN ('system', 'user', 'agent', 'api')`),
|
|
139
144
|
]);
|
|
140
145
|
//# sourceMappingURL=accounts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/schema/accounts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,MAAM,EACN,OAAO,EACP,KAAK,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,IAAI,EACJ,SAAS,EACT,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAC7B,UAAU,EACV;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAClD,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;IACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACvD,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;SAC7B,UAAU,EAAE;SACZ,OAAO,EAAE;CACb,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,WAAW,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAC/C,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7C,KAAK,CAAC,gCAAgC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/schema/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/schema/admin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/schema/admin.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/admin.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* These tables provide content management functionality for the admin app.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { sql } from 'drizzle-orm';
|
|
7
|
+
import { boolean, check, index, integer, jsonb, pgTable, text, timestamp, } from 'drizzle-orm/pg-core';
|
|
7
8
|
import { users } from './users.js';
|
|
8
9
|
// =============================================================================
|
|
9
10
|
// Posts Table
|
|
@@ -49,6 +50,7 @@ export const posts = pgTable('posts', {
|
|
|
49
50
|
index('posts_author_id_idx').on(table.authorId),
|
|
50
51
|
index('posts_featured_image_id_idx').on(table.featuredImageId),
|
|
51
52
|
index('posts_deleted_at_idx').on(table.deletedAt),
|
|
53
|
+
check('posts_status_check', sql `status IN ('draft', 'published', 'archived')`),
|
|
52
54
|
]);
|
|
53
55
|
// =============================================================================
|
|
54
56
|
// Media Table
|
package/dist/schema/admin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/schema/admin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/schema/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/schema/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyCH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCzB,CAAC;AAMF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/schema/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyCH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCzB,CAAC;AAMF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2DzB,CAAC;AAMF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCzB,CAAC;AAMF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBpB,CAAC;AAMF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCvB,CAAC;AAMF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BxB,CAAC;AAMF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CxB,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAC;AAMtE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY5B,CAAC;AAUF;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,YAAY,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,OAAO,cAAc,CAAC,YAAY,CAAC;AAMnE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,YAAY,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,OAAO,kBAAkB,CAAC,YAAY,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAChE,MAAM,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAC"}
|
package/dist/schema/agents.js
CHANGED
|
@@ -100,6 +100,7 @@ export const agentMemories = pgTable('agent_memories', {
|
|
|
100
100
|
index('agent_memories_verified_idx').on(table.verified),
|
|
101
101
|
index('agent_memories_expires_at_idx').on(table.expiresAt),
|
|
102
102
|
index('agent_memories_type_idx').on(table.type),
|
|
103
|
+
check('agent_memories_type_check', sql `type IN ('fact', 'preference', 'decision', 'feedback', 'example', 'correction', 'skill', 'warning')`),
|
|
103
104
|
]);
|
|
104
105
|
// =============================================================================
|
|
105
106
|
// Conversations Table
|
|
@@ -129,6 +130,7 @@ export const conversations = pgTable('conversations', {
|
|
|
129
130
|
}, (table) => [
|
|
130
131
|
index('conversations_user_id_idx').on(table.userId),
|
|
131
132
|
index('conversations_status_idx').on(table.status),
|
|
133
|
+
check('conversations_status_check', sql `status IN ('active', 'archived', 'ended')`),
|
|
132
134
|
]);
|
|
133
135
|
// =============================================================================
|
|
134
136
|
// Messages Table (separate from conversations for sync)
|
|
@@ -148,6 +150,7 @@ export const messages = pgTable('messages', {
|
|
|
148
150
|
}, (table) => [
|
|
149
151
|
index('messages_conversation_id_idx').on(table.conversationId),
|
|
150
152
|
index('messages_role_idx').on(table.role),
|
|
153
|
+
check('messages_role_check', sql `role IN ('user', 'assistant', 'system')`),
|
|
151
154
|
]);
|
|
152
155
|
// =============================================================================
|
|
153
156
|
// User Devices Table (for multi-device sync)
|
|
@@ -177,7 +180,9 @@ export const userDevices = pgTable('user_devices', {
|
|
|
177
180
|
.$onUpdateFn(() => new Date())
|
|
178
181
|
.defaultNow()
|
|
179
182
|
.notNull(),
|
|
180
|
-
})
|
|
183
|
+
}, () => [
|
|
184
|
+
check('user_devices_device_type_check', sql `device_type IS NULL OR device_type IN ('desktop', 'mobile', 'tablet', 'cli')`),
|
|
185
|
+
]);
|
|
181
186
|
// =============================================================================
|
|
182
187
|
// Sync Metadata Table (for tracking sync state)
|
|
183
188
|
// =============================================================================
|
|
@@ -235,6 +240,7 @@ export const agentActions = pgTable('agent_actions', {
|
|
|
235
240
|
index('agent_actions_conversation_id_idx').on(table.conversationId),
|
|
236
241
|
index('agent_actions_agent_id_idx').on(table.agentId),
|
|
237
242
|
index('agent_actions_status_idx').on(table.status),
|
|
243
|
+
check('agent_actions_status_check', sql `status IN ('pending', 'running', 'completed', 'failed', 'cancelled')`),
|
|
238
244
|
]);
|
|
239
245
|
// =============================================================================
|
|
240
246
|
// AI Memory Sessions Table (Ownership binding for CRDT memory sessions)
|