@revealui/db 0.3.4 → 0.3.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/client/index.d.ts +10 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +13 -0
- package/dist/client/index.js.map +1 -1
- package/dist/crypto.d.ts +1 -1
- package/dist/crypto.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/queries/boards.d.ts +16 -12
- package/dist/queries/boards.d.ts.map +1 -1
- package/dist/queries/boards.js +4 -0
- package/dist/queries/boards.js.map +1 -1
- package/dist/queries/code-provenance.d.ts +13 -13
- package/dist/queries/code-provenance.d.ts.map +1 -1
- package/dist/queries/code-provenance.js.map +1 -1
- package/dist/queries/conversations.d.ts.map +1 -1
- package/dist/queries/conversations.js +3 -0
- package/dist/queries/conversations.js.map +1 -1
- package/dist/queries/media.d.ts +6 -6
- package/dist/queries/media.d.ts.map +1 -1
- package/dist/queries/media.js.map +1 -1
- package/dist/queries/oauth-accounts.d.ts +9 -0
- package/dist/queries/oauth-accounts.d.ts.map +1 -0
- package/dist/queries/oauth-accounts.js +15 -0
- package/dist/queries/oauth-accounts.js.map +1 -0
- package/dist/queries/orders.d.ts +5 -5
- package/dist/queries/orders.d.ts.map +1 -1
- package/dist/queries/orders.js.map +1 -1
- package/dist/queries/pages.d.ts +7 -7
- package/dist/queries/pages.d.ts.map +1 -1
- package/dist/queries/pages.js.map +1 -1
- package/dist/queries/passkeys.d.ts +21 -0
- package/dist/queries/passkeys.d.ts.map +1 -0
- package/dist/queries/passkeys.js +19 -0
- package/dist/queries/passkeys.js.map +1 -0
- package/dist/queries/posts.d.ts +8 -8
- package/dist/queries/posts.d.ts.map +1 -1
- package/dist/queries/posts.js.map +1 -1
- package/dist/queries/products.d.ts +7 -7
- package/dist/queries/products.d.ts.map +1 -1
- package/dist/queries/products.js.map +1 -1
- package/dist/queries/sessions.d.ts +30 -0
- package/dist/queries/sessions.d.ts.map +1 -0
- package/dist/queries/sessions.js +37 -0
- package/dist/queries/sessions.js.map +1 -0
- package/dist/queries/sites.d.ts +11 -11
- package/dist/queries/sites.d.ts.map +1 -1
- package/dist/queries/sites.js.map +1 -1
- package/dist/queries/ticket-comments.d.ts +8 -8
- package/dist/queries/ticket-comments.d.ts.map +1 -1
- package/dist/queries/ticket-comments.js +7 -0
- package/dist/queries/ticket-comments.js.map +1 -1
- package/dist/queries/ticket-labels.d.ts +9 -9
- package/dist/queries/ticket-labels.d.ts.map +1 -1
- package/dist/queries/ticket-labels.js.map +1 -1
- package/dist/queries/tickets.d.ts +12 -12
- package/dist/queries/tickets.d.ts.map +1 -1
- package/dist/queries/tickets.js.map +1 -1
- package/dist/queries/user-api-keys.d.ts +28 -0
- package/dist/queries/user-api-keys.d.ts.map +1 -0
- package/dist/queries/user-api-keys.js +49 -0
- package/dist/queries/user-api-keys.js.map +1 -0
- package/dist/queries/users.d.ts +52 -10
- package/dist/queries/users.d.ts.map +1 -1
- package/dist/queries/users.js +20 -1
- package/dist/queries/users.js.map +1 -1
- package/dist/saga/crdt-resolver.d.ts +75 -0
- package/dist/saga/crdt-resolver.d.ts.map +1 -0
- package/dist/saga/crdt-resolver.js +168 -0
- package/dist/saga/crdt-resolver.js.map +1 -0
- package/dist/saga/idempotent-operation.d.ts +52 -0
- package/dist/saga/idempotent-operation.d.ts.map +1 -0
- package/dist/saga/idempotent-operation.js +78 -0
- package/dist/saga/idempotent-operation.js.map +1 -0
- package/dist/saga/index.d.ts +29 -0
- package/dist/saga/index.d.ts.map +1 -0
- package/dist/saga/index.js +30 -0
- package/dist/saga/index.js.map +1 -0
- package/dist/saga/neon-saga.d.ts +50 -0
- package/dist/saga/neon-saga.d.ts.map +1 -0
- package/dist/saga/neon-saga.js +234 -0
- package/dist/saga/neon-saga.js.map +1 -0
- package/dist/saga/recovery.d.ts +50 -0
- package/dist/saga/recovery.d.ts.map +1 -0
- package/dist/saga/recovery.js +92 -0
- package/dist/saga/recovery.js.map +1 -0
- package/dist/saga/resilient-step.d.ts +38 -0
- package/dist/saga/resilient-step.d.ts.map +1 -0
- package/dist/saga/resilient-step.js +75 -0
- package/dist/saga/resilient-step.js.map +1 -0
- package/dist/saga/types.d.ts +94 -0
- package/dist/saga/types.d.ts.map +1 -0
- package/dist/saga/types.js +9 -0
- package/dist/saga/types.js.map +1 -0
- package/dist/schema/accounts.d.ts.map +1 -1
- package/dist/schema/accounts.js +9 -1
- package/dist/schema/accounts.js.map +1 -1
- package/dist/schema/agents.d.ts.map +1 -1
- package/dist/schema/agents.js +22 -8
- package/dist/schema/agents.js.map +1 -1
- package/dist/schema/api-keys.d.ts +1 -1
- package/dist/schema/api-keys.js +2 -2
- package/dist/schema/api-keys.js.map +1 -1
- package/dist/schema/audit-log.d.ts +17 -0
- package/dist/schema/audit-log.d.ts.map +1 -1
- package/dist/schema/audit-log.js +2 -0
- package/dist/schema/audit-log.js.map +1 -1
- package/dist/schema/coordination.d.ts.map +1 -1
- package/dist/schema/coordination.js +5 -2
- package/dist/schema/coordination.js.map +1 -1
- package/dist/schema/idempotency.d.ts +104 -0
- package/dist/schema/idempotency.d.ts.map +1 -0
- package/dist/schema/idempotency.js +24 -0
- package/dist/schema/idempotency.js.map +1 -0
- package/dist/schema/index.d.ts +17 -0
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +40 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/licenses.d.ts.map +1 -1
- package/dist/schema/licenses.js +13 -1
- package/dist/schema/licenses.js.map +1 -1
- package/dist/schema/rest.d.ts +2 -0
- package/dist/schema/rest.d.ts.map +1 -1
- package/dist/schema/rest.js +2 -0
- package/dist/schema/rest.js.map +1 -1
- package/dist/schema/revmarket.d.ts +971 -0
- package/dist/schema/revmarket.d.ts.map +1 -0
- package/dist/schema/revmarket.js +160 -0
- package/dist/schema/revmarket.js.map +1 -0
- package/dist/types/database.d.ts +92 -1
- package/dist/types/database.d.ts.map +1 -1
- package/dist/types/database.js +20 -0
- package/dist/types/database.js.map +1 -1
- package/package.json +29 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neon-saga.js","sourceRoot":"","sources":["../../src/saga/neon-saga.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Saga Recovery — Sweep and Recover Stuck Sagas
|
|
3
|
+
*
|
|
4
|
+
* Finds saga jobs stuck in 'active' state (indicating the process crashed
|
|
5
|
+
* mid-execution) and marks them as failed. Compensation is not attempted
|
|
6
|
+
* automatically because the step functions are in code, not serialized
|
|
7
|
+
* in the job data — recovery requires re-invoking the saga definition.
|
|
8
|
+
*
|
|
9
|
+
* Designed to run as a periodic cron job or be called manually.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* // In a cron handler:
|
|
14
|
+
* const recovered = await recoverStaleSagas(db);
|
|
15
|
+
* // recovered.length contains the count of stuck sagas found
|
|
16
|
+
*
|
|
17
|
+
* // With custom threshold:
|
|
18
|
+
* const recovered = await recoverStaleSagas(db, 10 * 60 * 1000); // 10 minutes
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
import type { Database } from '../client/index.js';
|
|
22
|
+
export interface RecoveredSaga {
|
|
23
|
+
sagaId: string;
|
|
24
|
+
sagaName: string;
|
|
25
|
+
sagaKey: string;
|
|
26
|
+
completedSteps: string[];
|
|
27
|
+
startedAt: Date | null;
|
|
28
|
+
recoveredAt: Date;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Find and mark stuck saga jobs as failed.
|
|
32
|
+
*
|
|
33
|
+
* A saga is considered "stuck" if it has been in 'active' state longer
|
|
34
|
+
* than the threshold. This indicates the executing process crashed or
|
|
35
|
+
* timed out without completing or compensating.
|
|
36
|
+
*
|
|
37
|
+
* @param db - Database client
|
|
38
|
+
* @param thresholdMs - How long a saga must be active before it's considered stuck
|
|
39
|
+
* @returns List of recovered saga records
|
|
40
|
+
*/
|
|
41
|
+
export declare function recoverStaleSagas(db: Database, thresholdMs?: number): Promise<RecoveredSaga[]>;
|
|
42
|
+
/**
|
|
43
|
+
* Clean up expired idempotency keys.
|
|
44
|
+
* Should be called periodically to prevent the table from growing unbounded.
|
|
45
|
+
*
|
|
46
|
+
* @param db - Database client
|
|
47
|
+
* @returns Number of expired keys deleted
|
|
48
|
+
*/
|
|
49
|
+
export declare function cleanupExpiredIdempotencyKeys(db: Database): Promise<number>;
|
|
50
|
+
//# sourceMappingURL=recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/saga/recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAOnD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,IAAI,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,QAAQ,EACZ,WAAW,GAAE,MAAmC,GAC/C,OAAO,CAAC,aAAa,EAAE,CAAC,CA+C1B;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAUjF"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Saga Recovery — Sweep and Recover Stuck Sagas
|
|
3
|
+
*
|
|
4
|
+
* Finds saga jobs stuck in 'active' state (indicating the process crashed
|
|
5
|
+
* mid-execution) and marks them as failed. Compensation is not attempted
|
|
6
|
+
* automatically because the step functions are in code, not serialized
|
|
7
|
+
* in the job data — recovery requires re-invoking the saga definition.
|
|
8
|
+
*
|
|
9
|
+
* Designed to run as a periodic cron job or be called manually.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* // In a cron handler:
|
|
14
|
+
* const recovered = await recoverStaleSagas(db);
|
|
15
|
+
* // recovered.length contains the count of stuck sagas found
|
|
16
|
+
*
|
|
17
|
+
* // With custom threshold:
|
|
18
|
+
* const recovered = await recoverStaleSagas(db, 10 * 60 * 1000); // 10 minutes
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
import { and, eq, lt, sql } from 'drizzle-orm';
|
|
22
|
+
import { jobs } from '../schema/jobs.js';
|
|
23
|
+
// Default threshold: 5 minutes (generous for Vercel function timeouts)
|
|
24
|
+
const DEFAULT_STALE_THRESHOLD_MS = 5 * 60 * 1000;
|
|
25
|
+
/**
|
|
26
|
+
* Find and mark stuck saga jobs as failed.
|
|
27
|
+
*
|
|
28
|
+
* A saga is considered "stuck" if it has been in 'active' state longer
|
|
29
|
+
* than the threshold. This indicates the executing process crashed or
|
|
30
|
+
* timed out without completing or compensating.
|
|
31
|
+
*
|
|
32
|
+
* @param db - Database client
|
|
33
|
+
* @param thresholdMs - How long a saga must be active before it's considered stuck
|
|
34
|
+
* @returns List of recovered saga records
|
|
35
|
+
*/
|
|
36
|
+
export async function recoverStaleSagas(db, thresholdMs = DEFAULT_STALE_THRESHOLD_MS) {
|
|
37
|
+
const cutoff = new Date(Date.now() - thresholdMs);
|
|
38
|
+
// Find stuck saga jobs
|
|
39
|
+
const staleJobs = await db
|
|
40
|
+
.select()
|
|
41
|
+
.from(jobs)
|
|
42
|
+
.where(and(eq(jobs.state, 'active'), sql `${jobs.name} LIKE 'saga:%'`, lt(jobs.startedAt, cutoff)));
|
|
43
|
+
if (staleJobs.length === 0)
|
|
44
|
+
return [];
|
|
45
|
+
const recovered = [];
|
|
46
|
+
const now = new Date();
|
|
47
|
+
for (const job of staleJobs) {
|
|
48
|
+
const data = job.data;
|
|
49
|
+
const sagaName = data?.sagaName ?? job.name.replace('saga:', '');
|
|
50
|
+
const sagaKey = data?.sagaKey ?? 'unknown';
|
|
51
|
+
const completedSteps = data?.completedSteps?.map((s) => s.name) ?? [];
|
|
52
|
+
// Mark as failed with recovery metadata
|
|
53
|
+
await db
|
|
54
|
+
.update(jobs)
|
|
55
|
+
.set({
|
|
56
|
+
state: 'failed',
|
|
57
|
+
output: {
|
|
58
|
+
error: 'Saga recovered from stale active state',
|
|
59
|
+
recoveredAt: now.toISOString(),
|
|
60
|
+
completedStepsAtRecovery: completedSteps,
|
|
61
|
+
originalStartedAt: job.startedAt?.toISOString(),
|
|
62
|
+
},
|
|
63
|
+
})
|
|
64
|
+
.where(eq(jobs.id, job.id));
|
|
65
|
+
recovered.push({
|
|
66
|
+
sagaId: job.id,
|
|
67
|
+
sagaName,
|
|
68
|
+
sagaKey,
|
|
69
|
+
completedSteps,
|
|
70
|
+
startedAt: job.startedAt,
|
|
71
|
+
recoveredAt: now,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return recovered;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Clean up expired idempotency keys.
|
|
78
|
+
* Should be called periodically to prevent the table from growing unbounded.
|
|
79
|
+
*
|
|
80
|
+
* @param db - Database client
|
|
81
|
+
* @returns Number of expired keys deleted
|
|
82
|
+
*/
|
|
83
|
+
export async function cleanupExpiredIdempotencyKeys(db) {
|
|
84
|
+
// Dynamic import to avoid circular dependency at module load time
|
|
85
|
+
const { idempotencyKeys } = await import('../schema/idempotency.js');
|
|
86
|
+
const result = await db
|
|
87
|
+
.delete(idempotencyKeys)
|
|
88
|
+
.where(lt(idempotencyKeys.expiresAt, new Date()))
|
|
89
|
+
.returning();
|
|
90
|
+
return result.length;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../src/saga/recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGzC,uEAAuE;AACvE,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAWjD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAY,EACZ,cAAsB,0BAA0B;IAEhD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC;IAElD,uBAAuB;IACvB,MAAM,SAAS,GAAG,MAAM,EAAE;SACvB,MAAM,EAAE;SACR,IAAI,CAAC,IAAI,CAAC;SACV,KAAK,CACJ,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAA,GAAG,IAAI,CAAC,IAAI,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAC3F,CAAC;IAEJ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAA4C,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEtE,wCAAwC;QACxC,MAAM,EAAE;aACL,MAAM,CAAC,IAAI,CAAC;aACZ,GAAG,CAAC;YACH,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE;gBACN,KAAK,EAAE,wCAAwC;gBAC/C,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,wBAAwB,EAAE,cAAc;gBACxC,iBAAiB,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE;aACrB;SAC7B,CAAC;aACD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAE9B,SAAS,CAAC,IAAI,CAAC;YACb,MAAM,EAAE,GAAG,CAAC,EAAE;YACd,QAAQ;YACR,OAAO;YACP,cAAc;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,EAAY;IAC9D,kEAAkE;IAClE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,eAAe,CAAC;SACvB,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;SAChD,SAAS,EAAE,CAAC;IAEf,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resilient Step Wrapper
|
|
3
|
+
*
|
|
4
|
+
* Wraps saga steps with retry (exponential backoff). Transient NeonDB
|
|
5
|
+
* failures (network timeouts, 5xx responses) are retried before triggering
|
|
6
|
+
* compensation.
|
|
7
|
+
*
|
|
8
|
+
* Uses a lightweight built-in retry to avoid a dependency on @revealui/resilience
|
|
9
|
+
* from the db package. For advanced circuit breaker integration, wrap the saga
|
|
10
|
+
* step's execute function with @revealui/resilience directly at the call site.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const steps = [
|
|
15
|
+
* resilientStep({
|
|
16
|
+
* name: 'insert-license',
|
|
17
|
+
* execute: async (ctx) => { ... },
|
|
18
|
+
* compensate: async (ctx, output) => { ... },
|
|
19
|
+
* }, { maxRetries: 5, baseDelay: 200 }),
|
|
20
|
+
* ];
|
|
21
|
+
*
|
|
22
|
+
* await executeSaga(db, 'provision', key, steps);
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import type { SagaRetryOptions, SagaStep } from './types.js';
|
|
26
|
+
/**
|
|
27
|
+
* Wrap a saga step with retry logic.
|
|
28
|
+
*
|
|
29
|
+
* The execute function is retried on transient failures (network errors,
|
|
30
|
+
* 5xx status codes). The compensate function is NOT retried — compensations
|
|
31
|
+
* should be idempotent and infallible by design.
|
|
32
|
+
*
|
|
33
|
+
* @param step - The saga step to wrap
|
|
34
|
+
* @param options - Retry configuration
|
|
35
|
+
* @returns A new SagaStep with retry-wrapped execute
|
|
36
|
+
*/
|
|
37
|
+
export declare function resilientStep<TOutput = unknown>(step: SagaStep<TOutput>, options?: SagaRetryOptions): SagaStep<TOutput>;
|
|
38
|
+
//# sourceMappingURL=resilient-step.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resilient-step.d.ts","sourceRoot":"","sources":["../../src/saga/resilient-step.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAe,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAsC1E;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAG,OAAO,EAC7C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EACvB,OAAO,CAAC,EAAE,gBAAgB,GACzB,QAAQ,CAAC,OAAO,CAAC,CAenB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resilient Step Wrapper
|
|
3
|
+
*
|
|
4
|
+
* Wraps saga steps with retry (exponential backoff). Transient NeonDB
|
|
5
|
+
* failures (network timeouts, 5xx responses) are retried before triggering
|
|
6
|
+
* compensation.
|
|
7
|
+
*
|
|
8
|
+
* Uses a lightweight built-in retry to avoid a dependency on @revealui/resilience
|
|
9
|
+
* from the db package. For advanced circuit breaker integration, wrap the saga
|
|
10
|
+
* step's execute function with @revealui/resilience directly at the call site.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const steps = [
|
|
15
|
+
* resilientStep({
|
|
16
|
+
* name: 'insert-license',
|
|
17
|
+
* execute: async (ctx) => { ... },
|
|
18
|
+
* compensate: async (ctx, output) => { ... },
|
|
19
|
+
* }, { maxRetries: 5, baseDelay: 200 }),
|
|
20
|
+
* ];
|
|
21
|
+
*
|
|
22
|
+
* await executeSaga(db, 'provision', key, steps);
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Simple retry with exponential backoff and jitter.
|
|
27
|
+
* Avoids importing @revealui/resilience to keep the db package dependency-free.
|
|
28
|
+
*/
|
|
29
|
+
async function retryWithBackoff(fn, maxRetries, baseDelay, maxDelay) {
|
|
30
|
+
let lastError = new Error('Retry failed');
|
|
31
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
32
|
+
try {
|
|
33
|
+
return await fn();
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
37
|
+
if (attempt === maxRetries) {
|
|
38
|
+
throw lastError;
|
|
39
|
+
}
|
|
40
|
+
// Exponential backoff with jitter
|
|
41
|
+
const exponentialDelay = baseDelay * 2 ** attempt;
|
|
42
|
+
const jitter = Math.random() * baseDelay;
|
|
43
|
+
const delay = Math.min(exponentialDelay + jitter, maxDelay);
|
|
44
|
+
await new Promise((resolve) => {
|
|
45
|
+
setTimeout(resolve, delay);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
throw lastError;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Wrap a saga step with retry logic.
|
|
53
|
+
*
|
|
54
|
+
* The execute function is retried on transient failures (network errors,
|
|
55
|
+
* 5xx status codes). The compensate function is NOT retried — compensations
|
|
56
|
+
* should be idempotent and infallible by design.
|
|
57
|
+
*
|
|
58
|
+
* @param step - The saga step to wrap
|
|
59
|
+
* @param options - Retry configuration
|
|
60
|
+
* @returns A new SagaStep with retry-wrapped execute
|
|
61
|
+
*/
|
|
62
|
+
export function resilientStep(step, options) {
|
|
63
|
+
const maxRetries = options?.maxRetries ?? 3;
|
|
64
|
+
const baseDelay = options?.baseDelay ?? 500;
|
|
65
|
+
const maxDelay = options?.maxDelay ?? 10_000;
|
|
66
|
+
return {
|
|
67
|
+
name: step.name,
|
|
68
|
+
execute: async (ctx) => {
|
|
69
|
+
return retryWithBackoff(() => step.execute(ctx), maxRetries, baseDelay, maxDelay);
|
|
70
|
+
},
|
|
71
|
+
// Compensations are not retried — they must be idempotent
|
|
72
|
+
compensate: step.compensate,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=resilient-step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resilient-step.js","sourceRoot":"","sources":["../../src/saga/resilient-step.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAC7B,EAAoB,EACpB,UAAkB,EAClB,SAAiB,EACjB,QAAgB;IAEhB,IAAI,SAAS,GAAU,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAEjD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtE,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3B,MAAM,SAAS,CAAC;YAClB,CAAC;YAED,kCAAkC;YAClC,MAAM,gBAAgB,GAAG,SAAS,GAAG,CAAC,IAAI,OAAO,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;YAE5D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC5B,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAuB,EACvB,OAA0B;IAE1B,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,GAAG,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QAEf,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAoB,EAAE;YACpD,OAAO,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpF,CAAC;QAED,0DAA0D;QAC1D,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NeonSaga Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Types for the saga executor that provides transaction-like guarantees
|
|
5
|
+
* over NeonDB's stateless HTTP driver using compensating actions,
|
|
6
|
+
* idempotency, and the jobs table as an outbox.
|
|
7
|
+
*/
|
|
8
|
+
import type { Database } from '../client/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* Context passed to each saga step's execute and compensate functions.
|
|
11
|
+
* Carries the DB client and saga metadata.
|
|
12
|
+
*/
|
|
13
|
+
export interface SagaContext {
|
|
14
|
+
/** Database client for executing queries */
|
|
15
|
+
db: Database;
|
|
16
|
+
/** Unique saga execution ID (matches the job record ID) */
|
|
17
|
+
sagaId: string;
|
|
18
|
+
/** Persist intermediate state to the job's JSONB data field */
|
|
19
|
+
checkpoint: (stepName: string, output: unknown) => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A single step in a saga.
|
|
23
|
+
*
|
|
24
|
+
* Each step has an execute function (forward operation) and a compensate
|
|
25
|
+
* function (undo/rollback). Both must be individually atomic — a single
|
|
26
|
+
* INSERT/UPDATE/DELETE that NeonDB can execute in one HTTP request.
|
|
27
|
+
*/
|
|
28
|
+
export interface SagaStep<TOutput = unknown> {
|
|
29
|
+
/** Human-readable step name for logging and checkpointing */
|
|
30
|
+
name: string;
|
|
31
|
+
/**
|
|
32
|
+
* Execute the forward operation.
|
|
33
|
+
* Must be a single atomic DB write (or read + write if idempotent).
|
|
34
|
+
* Returns output that will be passed to compensate on rollback.
|
|
35
|
+
*/
|
|
36
|
+
execute: (ctx: SagaContext) => Promise<TOutput>;
|
|
37
|
+
/**
|
|
38
|
+
* Undo the forward operation.
|
|
39
|
+
* Receives the output from execute so it knows what to clean up.
|
|
40
|
+
* Must be idempotent — safe to call multiple times (e.g., DELETE WHERE
|
|
41
|
+
* that's a no-op if the row doesn't exist).
|
|
42
|
+
*/
|
|
43
|
+
compensate: (ctx: SagaContext, output: TOutput) => Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export interface SagaRetryOptions {
|
|
46
|
+
/** Maximum retry attempts per step (default: 3) */
|
|
47
|
+
maxRetries?: number;
|
|
48
|
+
/** Base delay in ms for exponential backoff (default: 500) */
|
|
49
|
+
baseDelay?: number;
|
|
50
|
+
/** Maximum delay in ms (default: 10000) */
|
|
51
|
+
maxDelay?: number;
|
|
52
|
+
}
|
|
53
|
+
export interface SagaOptions {
|
|
54
|
+
/** Retry configuration for transient step failures */
|
|
55
|
+
retry?: SagaRetryOptions;
|
|
56
|
+
/** Circuit breaker name from the global registry (optional) */
|
|
57
|
+
circuitBreakerName?: string;
|
|
58
|
+
/** Custom idempotency key (defaults to `${sagaName}:${sagaKey}`) */
|
|
59
|
+
idempotencyKey?: string;
|
|
60
|
+
/** TTL for idempotency key in ms (default: 24 hours) */
|
|
61
|
+
idempotencyTtlMs?: number;
|
|
62
|
+
}
|
|
63
|
+
export type SagaStatus = 'completed' | 'compensated' | 'failed' | 'skipped';
|
|
64
|
+
export interface SagaResult<T = unknown> {
|
|
65
|
+
/** Job record ID */
|
|
66
|
+
sagaId: string;
|
|
67
|
+
/** Final saga status */
|
|
68
|
+
status: SagaStatus;
|
|
69
|
+
/** Output from the last step (on success) */
|
|
70
|
+
result?: T;
|
|
71
|
+
/** Error message (on failure) */
|
|
72
|
+
error?: string;
|
|
73
|
+
/** Names of steps that completed successfully */
|
|
74
|
+
completedSteps: string[];
|
|
75
|
+
/** Whether this execution was skipped due to idempotency */
|
|
76
|
+
alreadyProcessed: boolean;
|
|
77
|
+
}
|
|
78
|
+
export interface SagaCheckpointData {
|
|
79
|
+
/** Saga name for identification */
|
|
80
|
+
sagaName: string;
|
|
81
|
+
/** Original saga key (natural key for idempotency) */
|
|
82
|
+
sagaKey: string;
|
|
83
|
+
/** Step names in order */
|
|
84
|
+
stepNames: string[];
|
|
85
|
+
/** Steps that have completed, with their outputs */
|
|
86
|
+
completedSteps: Array<{
|
|
87
|
+
name: string;
|
|
88
|
+
output: unknown;
|
|
89
|
+
completedAt: string;
|
|
90
|
+
}>;
|
|
91
|
+
/** Idempotency key used for this saga */
|
|
92
|
+
idempotencyKey: string;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/saga/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMnD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,EAAE,EAAE,QAAQ,CAAC;IACb,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ,CAAC,OAAO,GAAG,OAAO;IACzC,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAMD,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5E,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,4DAA4D;IAC5D,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAMD,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,oDAAoD;IACpD,cAAc,EAAE,KAAK,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NeonSaga Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Types for the saga executor that provides transaction-like guarantees
|
|
5
|
+
* over NeonDB's stateless HTTP driver using compensating actions,
|
|
6
|
+
* idempotency, and the jobs table as an outbox.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/saga/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/schema/accounts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/schema/accounts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAepB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB9B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAYb,MAAM;2BACN,MAAM;gCACD,MAAM;;;;;;;;;;;;;;2BAFX,MAAM;2BACN,MAAM;gCACD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB7B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB1B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBvB,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
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* - subscriptions and entitlements attach to accounts
|
|
8
8
|
* - usage meters record billable business activity
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { sql } from 'drizzle-orm';
|
|
11
|
+
import { bigint, boolean, check, index, jsonb, pgTable, text, timestamp, uniqueIndex, } from 'drizzle-orm/pg-core';
|
|
11
12
|
import { users } from './users.js';
|
|
12
13
|
export const accounts = pgTable('accounts', {
|
|
13
14
|
id: text('id').primaryKey(),
|
|
@@ -58,6 +59,8 @@ export const accountSubscriptions = pgTable('account_subscriptions', {
|
|
|
58
59
|
index('account_subscriptions_account_id_idx').on(table.accountId),
|
|
59
60
|
index('account_subscriptions_stripe_customer_idx').on(table.stripeCustomerId),
|
|
60
61
|
index('account_subscriptions_status_idx').on(table.status),
|
|
62
|
+
index('account_subscriptions_account_status_idx').on(table.accountId, table.status),
|
|
63
|
+
check('account_subscriptions_status_check', sql `status IN ('active', 'past_due', 'canceled', 'trialing', 'unpaid', 'expired', 'revoked', 'paused')`),
|
|
61
64
|
]);
|
|
62
65
|
export const accountEntitlements = pgTable('account_entitlements', {
|
|
63
66
|
accountId: text('account_id')
|
|
@@ -77,6 +80,9 @@ export const accountEntitlements = pgTable('account_entitlements', {
|
|
|
77
80
|
}, (table) => [
|
|
78
81
|
index('account_entitlements_tier_idx').on(table.tier),
|
|
79
82
|
index('account_entitlements_status_idx').on(table.status),
|
|
83
|
+
index('account_entitlements_account_status_idx').on(table.accountId, table.status),
|
|
84
|
+
check('account_entitlements_tier_check', sql `tier IN ('free', 'pro', 'max', 'enterprise')`),
|
|
85
|
+
check('account_entitlements_status_check', sql `status IN ('active', 'past_due', 'canceled', 'expired', 'revoked')`),
|
|
80
86
|
]);
|
|
81
87
|
export const billingCatalog = pgTable('billing_catalog', {
|
|
82
88
|
id: text('id').primaryKey(),
|
|
@@ -94,6 +100,8 @@ export const billingCatalog = pgTable('billing_catalog', {
|
|
|
94
100
|
index('billing_catalog_tier_idx').on(table.tier),
|
|
95
101
|
index('billing_catalog_billing_model_idx').on(table.billingModel),
|
|
96
102
|
index('billing_catalog_active_idx').on(table.active),
|
|
103
|
+
check('billing_catalog_tier_check', sql `tier IN ('free', 'pro', 'max', 'enterprise')`),
|
|
104
|
+
check('billing_catalog_billing_model_check', sql `billing_model IN ('subscription', 'perpetual', 'renewal', 'credits')`),
|
|
97
105
|
]);
|
|
98
106
|
export const usageMeters = pgTable('usage_meters', {
|
|
99
107
|
id: text('id').primaryKey(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/schema/accounts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/schema/accounts.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;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/schema/agents.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/agents.js
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Note: Vector columns require pgvector extension to be enabled in PostgreSQL.
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import { sql } from 'drizzle-orm';
|
|
10
|
+
import { boolean, check, customType, index, integer, jsonb, pgTable, primaryKey, real, text, timestamp, } from 'drizzle-orm/pg-core';
|
|
10
11
|
import { sites } from './sites.js';
|
|
11
12
|
import { users } from './users.js';
|
|
12
13
|
// =============================================================================
|
|
@@ -35,8 +36,12 @@ export const agentContexts = pgTable('agent_contexts', {
|
|
|
35
36
|
// Schema versioning
|
|
36
37
|
version: integer('version').notNull().default(1),
|
|
37
38
|
// Relationships
|
|
38
|
-
sessionId: text('session_id')
|
|
39
|
-
|
|
39
|
+
sessionId: text('session_id')
|
|
40
|
+
.notNull()
|
|
41
|
+
.references(() => aiMemorySessions.id, { onDelete: 'cascade' }),
|
|
42
|
+
agentId: text('agent_id')
|
|
43
|
+
.notNull()
|
|
44
|
+
.references(() => registeredAgents.id, { onDelete: 'cascade' }),
|
|
40
45
|
// Context data (JSON blob for working memory, focus, etc.)
|
|
41
46
|
context: jsonb('context').default({}),
|
|
42
47
|
// Priority for context retrieval (0-1)
|
|
@@ -46,7 +51,10 @@ export const agentContexts = pgTable('agent_contexts', {
|
|
|
46
51
|
// Timestamps
|
|
47
52
|
createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
|
|
48
53
|
updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
|
|
49
|
-
})
|
|
54
|
+
}, (table) => [
|
|
55
|
+
index('agent_contexts_session_id_idx').on(table.sessionId),
|
|
56
|
+
index('agent_contexts_agent_id_idx').on(table.agentId),
|
|
57
|
+
]);
|
|
50
58
|
// =============================================================================
|
|
51
59
|
// Agent Memories Table (Long-term memory)
|
|
52
60
|
// =============================================================================
|
|
@@ -132,7 +140,10 @@ export const messages = pgTable('messages', {
|
|
|
132
140
|
content: text('content').notNull(),
|
|
133
141
|
// Timing
|
|
134
142
|
timestamp: timestamp('timestamp', { withTimezone: true }).defaultNow().notNull(),
|
|
135
|
-
}, (table) => [
|
|
143
|
+
}, (table) => [
|
|
144
|
+
index('messages_conversation_id_idx').on(table.conversationId),
|
|
145
|
+
index('messages_role_idx').on(table.role),
|
|
146
|
+
]);
|
|
136
147
|
// =============================================================================
|
|
137
148
|
// User Devices Table (for multi-device sync)
|
|
138
149
|
// =============================================================================
|
|
@@ -181,7 +192,7 @@ export const syncMetadata = pgTable('sync_metadata', {
|
|
|
181
192
|
// Timestamps
|
|
182
193
|
createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
|
|
183
194
|
updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
|
|
184
|
-
});
|
|
195
|
+
}, (table) => [index('sync_metadata_user_id_idx').on(table.userId)]);
|
|
185
196
|
// =============================================================================
|
|
186
197
|
// Agent Actions Table (Audit log of agent actions)
|
|
187
198
|
// =============================================================================
|
|
@@ -239,7 +250,7 @@ export const registeredAgents = pgTable('registered_agents', {
|
|
|
239
250
|
definition: jsonb('definition').$type().notNull(),
|
|
240
251
|
createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
|
|
241
252
|
updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
|
|
242
|
-
});
|
|
253
|
+
}, (table) => [index('registered_agents_updated_at_idx').on(table.updatedAt)]);
|
|
243
254
|
// =============================================================================
|
|
244
255
|
// Type exports for Drizzle
|
|
245
256
|
// =============================================================================
|
|
@@ -280,5 +291,8 @@ export const agentCreditBalance = pgTable('agent_credit_balance', {
|
|
|
280
291
|
/** Lifetime total credits ever purchased (for analytics). */
|
|
281
292
|
totalPurchased: integer('total_purchased').notNull().default(0),
|
|
282
293
|
updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
|
|
283
|
-
})
|
|
294
|
+
}, () => [
|
|
295
|
+
check('agent_credit_balance_non_negative', sql `balance >= 0`),
|
|
296
|
+
check('agent_credit_total_non_negative', sql `total_purchased >= 0`),
|
|
297
|
+
]);
|
|
284
298
|
//# sourceMappingURL=agents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/schema/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,OAAO,EACP,UAAU,EACV,KAAK,EACL,OAAO,EACP,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,SAAS,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAEhF,kEAAkE;AAClE,MAAM,MAAM,GAAG,UAAU,CAAyC;IAChE,QAAQ,CAAC,MAAM;QACb,OAAO,UAAW,MAAiC,EAAE,UAAU,IAAI,IAAI,GAAG,CAAC;IAC7E,CAAC;IACD,QAAQ,CAAC,KAAe;QACtB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,CAAC;IACD,UAAU,CAAC,KAAa;QACtB,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAa,CAAC;QACrF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC,CAAC;AAEH,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE;IACrD,iDAAiD;IACjD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAE3B,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhD,gBAAgB;IAChB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IACvC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IAEnC,2DAA2D;IAC3D,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAErC,uCAAuC;IACvC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAEvC,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAEnD,aAAa;IACb,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,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;CAClF,CAAC,CAAC;AAEH,gFAAgF;AAChF,0CAA0C;AAC1C,gFAAgF;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAClC,gBAAgB,EAChB;IACE,qBAAqB;IACrB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAE3B,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhD,iBAAiB;IACjB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;IAElC,yFAAyF;IACzF,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAE5B,wBAAwB;IACxB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAEjC,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAEnD,0DAA0D;IAC1D,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC;IAE9C,4CAA4C;IAC5C,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAEvC,kBAAkB;IAClB,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAE5D,sBAAsB;IACtB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;QACzD,QAAQ,EAAE,UAAU;KACrB,CAAC;IACF,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAE5D,iDAAiD;IACjD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;SACpB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtD,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;IAEzB,aAAa;IACb,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;CAC3D,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,KAAK,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IACpD,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IACtD,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;IACvD,KAAK,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;IAC1D,KAAK,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;CAChD,CACF,CAAC;AAEF,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAClC,eAAe,EACf;IACE,qBAAqB;IACrB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAE3B,gBAAgB;IAChB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;SACpB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtD,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IAEnC,uBAAuB;IACvB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;IACpB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAElD,2BAA2B;IAC3B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;IAC3B,YAAY,EAAE,SAAS,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAEjE,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhD,aAAa;IACb,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,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;CAClF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IACnD,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;CACnD,CACF,CAAC;AAEF,gFAAgF;AAChF,wDAAwD;AACxD,gFAAgF;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAC7B,UAAU,EACV;IACE,qBAAqB;IACrB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAE3B,gBAAgB;IAChB,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;SACpC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAE9D,kBAAkB;IAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,gCAAgC;IAC9D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;IAElC,SAAS;IACT,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;CACjF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAC5E,CAAC;AAEF,gFAAgF;AAChF,6CAA6C;AAC7C,gFAAgF;AAEhF,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE;IACjD,qBAAqB;IACrB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAE3B,gBAAgB;IAChB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;SACpB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;IAE9C,qBAAqB;IACrB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;IAC/B,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,uCAAuC;IACxE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;IAE7B,8CAA8C;IAC9C,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;IAC7B,cAAc,EAAE,SAAS,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACrE,aAAa,EAAE,SAAS,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAEnE,cAAc;IACd,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE;IACrE,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAE5C,aAAa;IACb,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,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;CAClF,CAAC,CAAC;AAEH,gFAAgF;AAChF,gDAAgD;AAChD,gFAAgF;AAEhF,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE;IACnD,qBAAqB;IACrB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAE3B,gBAAgB;IAChB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;SACpB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAEtD,aAAa;IACb,iBAAiB,EAAE,SAAS,CAAC,qBAAqB,EAAE;QAClD,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC,UAAU,EAAE;IACf,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAE/C,oBAAoB;IACpB,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,cAAc,EAAE,SAAS,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAErE,aAAa;IACb,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,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;CAClF,CAAC,CAAC;AAEH,gFAAgF;AAChF,mDAAmD;AACnD,gFAAgF;AAEhF,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CACjC,eAAe,EACf;IACE,qBAAqB;IACrB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAE3B,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhD,gBAAgB;IAChB,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE;QACzE,QAAQ,EAAE,SAAS;KACpB,CAAC;IACF,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IAEnC,iBAAiB;IACjB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IACvB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IAEvB,yDAAyD;IACzD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;IAEpB,SAAS;IACT,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;IACjF,WAAW,EAAE,SAAS,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC9D,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC;IAElC,uCAAuC;IACvC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;IAC5B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;CAC/B,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,KAAK,CAAC,mCAAmC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;IACnE,KAAK,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IACrD,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;CACnD,CACF,CAAC;AAEF,gFAAgF;AAChF,wEAAwE;AACxE,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAC5D,oDAAoD;IACpD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAE3B,sDAAsD;IACtD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;SACpB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAEtD,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;CAClF,CAAC,CAAC;AAKH,gFAAgF;AAChF,4DAA4D;AAC5D,gFAAgF;AAEhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,EAAE;IAC3D,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,EAAW,CAAC,OAAO,EAAE;IAC1D,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,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;CAClF,CAAC,CAAC;AAEH,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF,gFAAgF;AAChF,qDAAqD;AACrD,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CACnC,kBAAkB,EAClB;IACE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;SACpB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAEtD,mFAAmF;IACnF,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IAEtE,uCAAuC;IACvC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5C,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhD,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;CAClF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CACvE,CAAC;AAKF,gFAAgF;AAChF,0DAA0D;AAC1D,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,EAAE;IAChE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;SACpB,UAAU,EAAE;SACZ,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAEtD,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhD,6DAA6D;IAC7D,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAE/D,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;CAClF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/schema/agents.ts"],"names":[],"mappings":"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"}
|