@supalive/core 1.14.0 → 1.15.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/index-Ddr4NiPf.d.ts +2295 -0
- package/dist/index-Ddr4NiPf.d.ts.map +1 -0
- package/dist/mysql-DWj2q3qR.d.ts +114 -0
- package/dist/mysql-DWj2q3qR.d.ts.map +1 -0
- package/dist/postgres-D0M1ri-C.d.ts +118 -0
- package/dist/postgres-D0M1ri-C.d.ts.map +1 -0
- package/dist/router-DP2ThAwh.js +274 -0
- package/dist/router-DP2ThAwh.js.map +1 -0
- package/dist/router-Dfnwka7K.js +337 -0
- package/dist/router-Dfnwka7K.js.map +1 -0
- package/dist/src/client/index.d.ts +1 -1
- package/dist/src/client/index.js +1 -1
- package/dist/src/exports/mysql.d.ts +1 -1
- package/dist/src/exports/postgres.d.ts +1 -1
- package/dist/src/exports/procedure.d.ts +12 -9
- package/dist/src/exports/procedure.d.ts.map +1 -1
- package/dist/src/exports/procedure.js +64 -5
- package/dist/src/exports/procedure.js.map +1 -1
- package/dist/src/exports/schema-sql.d.ts +1 -1
- package/dist/src/exports/server.d.ts +4 -4
- package/dist/src/exports/server.js +1 -1
- package/dist/src/exports/types.d.ts +2 -2
- package/dist/types_server-BSiGxbqb.d.ts +523 -0
- package/dist/types_server-BSiGxbqb.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Ddr4NiPf.d.ts","names":[],"sources":["../src/db/types_db.ts","../src/server/sub-manager-types.ts","../src/db/cache.ts","../src/db/db.ts","../src/db/table-id.ts","../src/db/schema.ts","../src/db/query.ts","../src/db/context.ts","../src/db/query_definition.ts","../src/db/realtime_db.ts","../src/jobs/scheduler.ts","../src/router/procedure.ts","../src/router/router.ts","../src/client/ws_client_manager.ts","../src/db/types_client_rpc.ts","../src/client/client.ts","../src/client/caller_client.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Bn as Database, Gn as PreparedQueries, Hn as DbType, Jn as TxDatabase, Un as LazyCommitTsParam, Vn as DbQueryResult, Wn as PooledClient, Xr as WriteEntry, Yn as CacheLayer, gr as CommitLogEntry, qn as SqlBuilder, qr as ReadEntry, zn as CoreInitLockCtx } from "./index-Ddr4NiPf.js";
|
|
2
|
+
import { Pool, PoolOptions } from "mysql2/promise";
|
|
3
|
+
import { Logger } from "pino";
|
|
4
|
+
|
|
5
|
+
//#region src/db/mysql.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* mysql2's PoolOptions does not have a per-statement timeout field; we
|
|
8
|
+
* carry our own. Set 0 to disable.
|
|
9
|
+
*/
|
|
10
|
+
type MySqlPoolOptions = PoolOptions & {
|
|
11
|
+
queryTimeoutMs?: number;
|
|
12
|
+
};
|
|
13
|
+
declare class MySqlDatabase implements Database {
|
|
14
|
+
constructor(logger: Logger, config: MySqlPoolOptions, pool?: Pool | undefined);
|
|
15
|
+
private logger;
|
|
16
|
+
config: PoolOptions;
|
|
17
|
+
protected queryTimeoutMs: number;
|
|
18
|
+
private pool;
|
|
19
|
+
readonly dbType: DbType;
|
|
20
|
+
readonly sqlBuilder: SqlBuilder;
|
|
21
|
+
columnTypes: Map<string, Map<string, string>>;
|
|
22
|
+
protected sqlCache: Map<string, string>;
|
|
23
|
+
/**
|
|
24
|
+
* Fetches actual column types from MySQL for `table` and returns a
|
|
25
|
+
* map of DB column name → MySQL type string (as produced by `COLUMN_TYPE`,
|
|
26
|
+
* e.g. `bigint`, `integer`, `varchar(32)`, `text`, `json`).
|
|
27
|
+
* No caching here — see {@link getColumnTypes} for the cached path.
|
|
28
|
+
*/
|
|
29
|
+
loadColumnTypesFromMySql(table: string): Promise<Map<string, string>>;
|
|
30
|
+
/**
|
|
31
|
+
* Synchronous column-type lookup. The apply path calls this on every
|
|
32
|
+
* batched write, so it can't await — populate the cache via
|
|
33
|
+
* {@link bootstrapColumnTypes} at server start. Throws if `table` is
|
|
34
|
+
* missing (programmer error / bootstrap skipped).
|
|
35
|
+
*/
|
|
36
|
+
getColumnTypes(table: string): Map<string, string> | null;
|
|
37
|
+
/**
|
|
38
|
+
* Eagerly load column types into the in-memory cache. With a Redis
|
|
39
|
+
* client supplied, attempts the cache key first and falls through to
|
|
40
|
+
* MySQL on miss (writing the result back to Redis). This is the
|
|
41
|
+
* "one server queries MySQL, the rest read from Redis" pattern for cold
|
|
42
|
+
* starts in a multi-instance deploy. Without Redis, always queries MySQL.
|
|
43
|
+
*
|
|
44
|
+
* Pass `tables` to limit the load to a specific list; otherwise every
|
|
45
|
+
* user table in the connected database is loaded.
|
|
46
|
+
*
|
|
47
|
+
* The Redis cache key should encode whatever invalidates types in your
|
|
48
|
+
* environment (typically a schema version / deploy version). The
|
|
49
|
+
* subscriber in supalive-server.ts is expected to publish a reload
|
|
50
|
+
* signal after migrations and invoke {@link invalidateColumnTypes}.
|
|
51
|
+
*/
|
|
52
|
+
bootstrapColumnTypes(opts: {
|
|
53
|
+
redis?: CacheLayer;
|
|
54
|
+
cacheKey: string;
|
|
55
|
+
tables?: string[];
|
|
56
|
+
}): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Invalidate cached types (and dependent SQL) for `table`, or the entire
|
|
59
|
+
* cache if `table` is omitted. The Redis-pubsub reload signal in
|
|
60
|
+
* supalive-server.ts is expected to call this on schema changes.
|
|
61
|
+
*/
|
|
62
|
+
invalidateColumnTypes(table?: string): void;
|
|
63
|
+
/** Replace this instance's caches with shared references from a parent.
|
|
64
|
+
* Used by getTransactionClient so types loaded once at startup are
|
|
65
|
+
* visible inside transactions. */
|
|
66
|
+
adoptCaches(columnTypes: Map<string, Map<string, string>>, sqlCache: Map<string, string>): void;
|
|
67
|
+
/** Enumerate the user-defined tables in the connected database for mysql — used
|
|
68
|
+
* by bootstrapColumnTypes() when no explicit list is provided. */
|
|
69
|
+
private listUserTables;
|
|
70
|
+
getCoreVersion(): Promise<bigint>;
|
|
71
|
+
getAppMigration(): Promise<bigint>;
|
|
72
|
+
coreMigrationStatements(toVersion: bigint): string[];
|
|
73
|
+
withCoreInitLock(fn: (ctx: CoreInitLockCtx) => Promise<void>): Promise<void>;
|
|
74
|
+
query<T = any>(sql: string, params?: unknown[]): Promise<DbQueryResult<T>>;
|
|
75
|
+
getClient(): Promise<PooledClient>;
|
|
76
|
+
getTransactionClient(): Promise<TxDatabase>;
|
|
77
|
+
getLatestSnapshotTimestamp(): Promise<bigint>;
|
|
78
|
+
updateLatestSnapshotTimestamp(commitTs: bigint): Promise<void>;
|
|
79
|
+
getMinSnapshotTimestamp(): Promise<bigint>;
|
|
80
|
+
updateMinSnapshotTimestamp(ts: bigint): Promise<void>;
|
|
81
|
+
getNextTimestamp(): Promise<bigint>;
|
|
82
|
+
attachPrevDataToWriteSet(writeSet: WriteEntry[], readSet: ReadEntry[]): Promise<void>;
|
|
83
|
+
prepareCommitWrites(readSet: ReadEntry[], writeSet: WriteEntry[], commitTs: LazyCommitTsParam): Promise<PreparedQueries>;
|
|
84
|
+
private mysqlPrepareBatchWrites;
|
|
85
|
+
private mysqlPrepareInsertBatch;
|
|
86
|
+
private mysqlPrepareUpdateSingle;
|
|
87
|
+
private mysqlPrepareDeleteBatch;
|
|
88
|
+
private mysqlPrepareCommitLogs;
|
|
89
|
+
/**
|
|
90
|
+
* Point-only OCC check. For each genuine point read, compare the row's
|
|
91
|
+
* current commit_ts against the value captured at read time. A `null`
|
|
92
|
+
* expectedCommitTs means "row didn't exist when we read"; any row found
|
|
93
|
+
* now is a conflict. Reads whose row is being written in this same txn
|
|
94
|
+
* are skipped — the CAS UPDATE/DELETE already validated those.
|
|
95
|
+
*/
|
|
96
|
+
private mysqlPrepareValidatePointReadsByCommitTs;
|
|
97
|
+
commitWrites(beginTs: bigint, queries: PreparedQueries, commitTs: bigint): Promise<{
|
|
98
|
+
success: boolean;
|
|
99
|
+
}>;
|
|
100
|
+
private mysqlApplyWrites;
|
|
101
|
+
private validatePointReadsByCommitTs;
|
|
102
|
+
pruneCommitLogsBefore(ts: bigint): Promise<bigint>;
|
|
103
|
+
getMinCommitLogTs(): Promise<bigint | null>;
|
|
104
|
+
getCommitLogsBetweenTs(beginTs: bigint, endTs: bigint, tableIds: Uint8Array[]): Promise<CommitLogEntry[]>;
|
|
105
|
+
hasCommitForPoints(beginTs: bigint, endTs: bigint, points: {
|
|
106
|
+
tableId: Uint8Array;
|
|
107
|
+
id: Uint8Array;
|
|
108
|
+
}[]): Promise<boolean>;
|
|
109
|
+
getCommitLogsSinceTs(sinceTs: bigint, excludeTs: bigint, tableIds: Uint8Array[]): Promise<CommitLogEntry[]>;
|
|
110
|
+
close(): Promise<void>;
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
113
|
+
export { MySqlDatabase as t };
|
|
114
|
+
//# sourceMappingURL=mysql-DWj2q3qR.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysql-DWj2q3qR.d.ts","names":[],"sources":["../src/db/mysql.ts"],"mappings":";;;;;;;;;KAgEY,gBAAA,GAAmB,WAAW;EAAK,cAAc;AAAA;AAAA,cAEhD,aAAA,YAAyB,QAAA;cAElC,MAAA,EAAQ,MAAA,EACR,MAAA,EAAQ,gBAAA,EACR,IAAA,GAAM,IAAA;EAAA,QAaA,MAAA;EACD,MAAA,EAAQ,WAAA;EAAA,UACL,cAAA;EAAA,QACF,IAAA;EAAA,SACC,MAAA,EAAQ,MAAA;EAAA,SACR,UAAA,EAAY,UAAA;EAMd,WAAA,EAAa,GAAA,SAAY,GAAA;EAAA,UAGtB,QAAA,EAAU,GAAA;EA+IK;;;;;;EAvInB,wBAAA,CAAyB,KAAA,WAAgB,OAAA,CAAQ,GAAA;EAiN5B;;;;;;EAzL3B,cAAA,CAAe,KAAA,WAAgB,GAAA;EAsNe;;;;;;;;;;;;;;;EA9LxC,oBAAA,CAAqB,IAAA;IACzB,KAAA,GAAQ,UAAA;IACR,QAAA;IACA,MAAA;EAAA,IACE,OAAA;EAgtBqE;;;;;EAtqBzE,qBAAA,CAAsB,KAAA;EArIsB;;;EAoJ5C,WAAA,CACE,WAAA,EAAa,GAAA,SAAY,GAAA,mBACzB,QAAA,EAAU,GAAA;EApJV;;EAAA,QA4JY,cAAA;EASR,cAAA,IAAkB,OAAA;EAOlB,eAAA,IAAmB,OAAA;EAYzB,uBAAA,CAAwB,SAAA;EAWlB,gBAAA,CAAiB,EAAA,GAAK,GAAA,EAAK,eAAA,KAAoB,OAAA,SAAgB,OAAA;EAqC/D,KAAA,UAAe,GAAA,UAAa,MAAA,eAAyB,OAAA,CAAQ,aAAA,CAAc,CAAA;EAc3E,SAAA,IAAa,OAAA,CAAQ,YAAA;EAKrB,oBAAA,IAAwB,OAAA,CAAQ,UAAA;EAOhC,0BAAA,IAA8B,OAAA;EAK9B,6BAAA,CAA8B,QAAA,WAAmB,OAAA;EAOjD,uBAAA,IAA2B,OAAA;EAK3B,0BAAA,CAA2B,EAAA,WAAa,OAAA;EAOxC,gBAAA,IAAoB,OAAA;EA0BpB,wBAAA,CAAyB,QAAA,EAAU,UAAA,IAAc,OAAA,EAAS,SAAA,KAAc,OAAA;EA6DxE,mBAAA,CACJ,OAAA,EAAS,SAAA,IACT,QAAA,EAAU,UAAA,IACV,QAAA,EAAU,iBAAA,GACT,OAAA,CAAQ,eAAA;EAAA,QAoBG,uBAAA;EAAA,QAyBA,uBAAA;EAAA,QA2CA,wBAAA;EAAA,QAiCA,uBAAA;EAAA,QA4BA,sBAAA;EAreyC;;;;;;;EAAA,QA+gB/C,wCAAA;EAgDF,YAAA,CACJ,OAAA,UACA,OAAA,EAAS,eAAA,EACT,QAAA,WACC,OAAA;IAAU,OAAA;EAAA;EAAA,QAqCC,gBAAA;EAAA,QAyDA,4BAAA;EAwCR,qBAAA,CAAsB,EAAA,WAAa,OAAA;EAQnC,iBAAA,IAAqB,OAAA;EAQrB,sBAAA,CAAuB,OAAA,UAAiB,KAAA,UAAe,QAAA,EAAU,UAAA,KAAe,OAAA,CAAQ,cAAA;EAmBxF,kBAAA,CACJ,OAAA,UACA,KAAA,UACA,MAAA;IAAU,OAAA,EAAS,UAAA;IAAY,EAAA,EAAI,UAAA;EAAA,MAClC,OAAA;EAoBG,oBAAA,CAAqB,OAAA,UAAiB,SAAA,UAAmB,QAAA,EAAU,UAAA,KAAe,OAAA,CAAQ,cAAA;EAmB1F,KAAA,IAAS,OAAA;AAAA"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Bn as Database, Gn as PreparedQueries, Hn as DbType, Jn as TxDatabase, Un as LazyCommitTsParam, Vn as DbQueryResult, Wn as PooledClient, Xr as WriteEntry, Yn as CacheLayer, gr as CommitLogEntry, qn as SqlBuilder, qr as ReadEntry, zn as CoreInitLockCtx } from "./index-Ddr4NiPf.js";
|
|
2
|
+
import { Pool, PoolConfig } from "pg";
|
|
3
|
+
import { Logger } from "pino";
|
|
4
|
+
|
|
5
|
+
//#region src/db/postgres.d.ts
|
|
6
|
+
declare class PgDatabase implements Database {
|
|
7
|
+
constructor(logger: Logger, config: PoolConfig, pool?: Pool | undefined);
|
|
8
|
+
private logger;
|
|
9
|
+
config: PoolConfig;
|
|
10
|
+
private pool;
|
|
11
|
+
readonly sqlBuilder: SqlBuilder;
|
|
12
|
+
readonly dbType: DbType;
|
|
13
|
+
columnTypes: Map<string, Map<string, string>>;
|
|
14
|
+
protected sqlCache: Map<string, string>;
|
|
15
|
+
/**
|
|
16
|
+
* Fetches actual column types from Postgres for `table` and returns a
|
|
17
|
+
* map of DB column name → PG type string (as produced by `format_type`,
|
|
18
|
+
* e.g. `bigint`, `integer`, `character varying(32)`, `text[]`, `jsonb`).
|
|
19
|
+
* No caching here — see {@link getColumnTypes} for the cached path.
|
|
20
|
+
*/
|
|
21
|
+
loadColumnTypesFromPg(table: string): Promise<Map<string, string>>;
|
|
22
|
+
/**
|
|
23
|
+
* Synchronous column-type lookup. The apply path calls this on every
|
|
24
|
+
* batched write, so it can't await — populate the cache via
|
|
25
|
+
* {@link bootstrapColumnTypes} at server start. Throws if `table` is
|
|
26
|
+
* missing (programmer error / bootstrap skipped).
|
|
27
|
+
*/
|
|
28
|
+
getColumnTypes(table: string): Map<string, string> | null;
|
|
29
|
+
/**
|
|
30
|
+
* Eagerly load column types into the in-memory cache. With a Redis
|
|
31
|
+
* client supplied, attempts the cache key first and falls through to
|
|
32
|
+
* Postgres on miss (writing the result back to Redis). This is the
|
|
33
|
+
* "one server queries PG, the rest read from Redis" pattern for cold
|
|
34
|
+
* starts in a multi-instance deploy. Without Redis, always queries PG.
|
|
35
|
+
*
|
|
36
|
+
* Pass `tables` to limit the load to a specific list; otherwise every
|
|
37
|
+
* user table in the connected database is loaded.
|
|
38
|
+
*
|
|
39
|
+
* The Redis cache key should encode whatever invalidates types in your
|
|
40
|
+
* environment (typically a schema version / deploy version). The
|
|
41
|
+
* subscriber in supalive-server.ts is expected to publish a reload
|
|
42
|
+
* signal after migrations and invoke {@link invalidateColumnTypes}.
|
|
43
|
+
*/
|
|
44
|
+
bootstrapColumnTypes(opts: {
|
|
45
|
+
redis?: CacheLayer;
|
|
46
|
+
cacheKey: string;
|
|
47
|
+
tables?: string[];
|
|
48
|
+
}): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Invalidate cached types (and dependent SQL) for `table`, or the entire
|
|
51
|
+
* cache if `table` is omitted. The Redis-pubsub reload signal in
|
|
52
|
+
* supalive-server.ts is expected to call this on schema changes.
|
|
53
|
+
*/
|
|
54
|
+
private invalidateColumnTypes;
|
|
55
|
+
/** Enumerate the user-defined tables in the connected database — used
|
|
56
|
+
* by bootstrapColumnTypes() when no explicit list is provided. */
|
|
57
|
+
private listUserTables;
|
|
58
|
+
getCoreVersion(): Promise<bigint>;
|
|
59
|
+
getAppMigration(): Promise<bigint>;
|
|
60
|
+
coreMigrationStatements(toVersion: bigint): string[];
|
|
61
|
+
withCoreInitLock(fn: (ctx: CoreInitLockCtx) => Promise<void>): Promise<void>;
|
|
62
|
+
query<T = any>(sql: string, params?: unknown[]): Promise<DbQueryResult<T>>;
|
|
63
|
+
getClient(): Promise<PooledClient>;
|
|
64
|
+
getTransactionClient(): Promise<TxDatabase>;
|
|
65
|
+
/** Internal: replace this instance's caches with shared references from
|
|
66
|
+
* a parent. Used by PgDatabase.getTransactionClient. */
|
|
67
|
+
adoptCaches(columnTypes: Map<string, Map<string, string>>, sqlCache: Map<string, string>): void;
|
|
68
|
+
getLatestSnapshotTimestamp(): Promise<bigint>;
|
|
69
|
+
updateLatestSnapshotTimestamp(commitTs: bigint): Promise<void>;
|
|
70
|
+
getMinSnapshotTimestamp(): Promise<bigint>;
|
|
71
|
+
updateMinSnapshotTimestamp(ts: bigint): Promise<void>;
|
|
72
|
+
getNextTimestamp(): Promise<bigint>;
|
|
73
|
+
attachPrevDataToWriteSet(writeSet: WriteEntry[], readSet: ReadEntry[]): Promise<void>;
|
|
74
|
+
prepareCommitWrites(readSet: ReadEntry[], writeSet: WriteEntry[], commitTs: LazyCommitTsParam): Promise<PreparedQueries>;
|
|
75
|
+
private pgPrepareBatchWrites;
|
|
76
|
+
private pgPrepareInsertSingle;
|
|
77
|
+
private pgPrepareInsertBatch;
|
|
78
|
+
private pgPrepareUpdateSingle;
|
|
79
|
+
private pgPrepareUpdateBatch;
|
|
80
|
+
private pgPrepareDeleteSingle;
|
|
81
|
+
private pgPrepareDeleteBatch;
|
|
82
|
+
private buildOrGetInsertSql;
|
|
83
|
+
private buildOrGetUpdateSql;
|
|
84
|
+
private buildOrGetDeleteSql;
|
|
85
|
+
private pgPrepareCommitLogs;
|
|
86
|
+
/**
|
|
87
|
+
* Point-only OCC check. For each genuine point read, compare the row's
|
|
88
|
+
* current commit_ts against the value captured at read time. A `null`
|
|
89
|
+
* expectedCommitTs means "row didn't exist when we read"; any row found
|
|
90
|
+
* now is a conflict. Reads whose row is being written in this same txn
|
|
91
|
+
* are skipped — the CAS UPDATE/DELETE already validated those.
|
|
92
|
+
*/
|
|
93
|
+
private pgPrepareValidatePointReadsByCommitTs;
|
|
94
|
+
commitWrites(beginTs: bigint, queries: PreparedQueries, commitTs: bigint): Promise<{
|
|
95
|
+
success: boolean;
|
|
96
|
+
}>;
|
|
97
|
+
private pgApplyWrites;
|
|
98
|
+
/**
|
|
99
|
+
* Point-only OCC check. For each genuine point read, compare the row's
|
|
100
|
+
* current commit_ts against the value captured at read time. A `null`
|
|
101
|
+
* expectedCommitTs means "row didn't exist when we read"; any row found
|
|
102
|
+
* now is a conflict. Reads whose row is being written in this same txn
|
|
103
|
+
* are skipped — the CAS UPDATE/DELETE already validated those.
|
|
104
|
+
*/
|
|
105
|
+
private validatePointReadsByCommitTs;
|
|
106
|
+
pruneCommitLogsBefore(ts: bigint): Promise<bigint>;
|
|
107
|
+
getMinCommitLogTs(): Promise<bigint | null>;
|
|
108
|
+
getCommitLogsBetweenTs(beginTs: bigint, endTs: bigint, tableIds: Uint8Array[]): Promise<CommitLogEntry[]>;
|
|
109
|
+
hasCommitForPoints(beginTs: bigint, endTs: bigint, points: {
|
|
110
|
+
tableId: Uint8Array;
|
|
111
|
+
id: Uint8Array;
|
|
112
|
+
}[]): Promise<boolean>;
|
|
113
|
+
getCommitLogsSinceTs(sinceTs: bigint, excludeTs: bigint, tableIds: Uint8Array[]): Promise<CommitLogEntry[]>;
|
|
114
|
+
close(): Promise<void>;
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
export { PgDatabase as t };
|
|
118
|
+
//# sourceMappingURL=postgres-D0M1ri-C.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-D0M1ri-C.d.ts","names":[],"sources":["../src/db/postgres.ts"],"mappings":";;;;;cAiBa,UAAA,YAAsB,QAAA;cAE/B,MAAA,EAAQ,MAAA,EACR,MAAA,EAAQ,UAAA,EACR,IAAA,GAAM,IAAA;EAAA,QAWA,MAAA;EACD,MAAA,EAAQ,UAAA;EAAA,QACP,IAAA;EAAA,SACC,UAAA,EAAY,UAAA;EAAA,SACZ,MAAA,EAAQ,MAAA;EAMV,WAAA,EAAa,GAAA,SAAY,GAAA;EAAA,UAGtB,QAAA,EAAU,GAAA;EAHY;;;;;;EAW1B,qBAAA,CAAsB,KAAA,WAAgB,OAAA,CAAQ,GAAA;EAoDhD;;;;;;EA5BJ,cAAA,CAAe,KAAA,WAAgB,GAAA;EAgKoC;;;;;;;;;;;;;;;EAxI7D,oBAAA,CAAqB,IAAA;IACzB,KAAA,GAAQ,UAAA;IACR,QAAA;IACA,MAAA;EAAA,IACE,OAAA;EAgSO;;;;;EAAA,QAtPH,qBAAA;EAm4B+D;;EAAA,QAr3BzD,cAAA;EAUR,cAAA,IAAkB,OAAA;EAOlB,eAAA,IAAmB,OAAA;EAWzB,uBAAA,CAAwB,SAAA;EAUlB,gBAAA,CAAiB,EAAA,GAAK,GAAA,EAAK,eAAA,KAAoB,OAAA,SAAgB,OAAA;EAsC/D,KAAA,UAAe,GAAA,UAAa,MAAA,eAAyB,OAAA,CAAQ,aAAA,CAAc,CAAA;EAe3E,SAAA,IAAa,OAAA,CAAQ,YAAA;EAIrB,oBAAA,IAAwB,OAAA,CAAQ,UAAA;EA/OL;;EA2PjC,WAAA,CACE,WAAA,EAAa,GAAA,SAAY,GAAA,mBACzB,QAAA,EAAU,GAAA;EAMN,0BAAA,IAA8B,OAAA;EAK9B,6BAAA,CAA8B,QAAA,WAAmB,OAAA;EAOjD,uBAAA,IAA2B,OAAA;EAO3B,0BAAA,CAA2B,EAAA,WAAa,OAAA;EAOxC,gBAAA,IAAoB,OAAA;EAuBpB,wBAAA,CAAyB,QAAA,EAAU,UAAA,IAAc,OAAA,EAAS,SAAA,KAAc,OAAA;EAgExE,mBAAA,CACJ,OAAA,EAAS,SAAA,IACT,QAAA,EAAU,UAAA,IACV,QAAA,EAAU,iBAAA,GACT,OAAA,CAAQ,eAAA;EAAA,QAqBG,oBAAA;EAAA,QA2BN,qBAAA;EAAA,QAkBM,oBAAA;EAAA,QA+DN,qBAAA;EAAA,QAwBM,oBAAA;EAAA,QAsEN,qBAAA;EAAA,QAgBM,oBAAA;EAAA,QAiDN,mBAAA;EAAA,QAqBA,mBAAA;EAAA,QA4BA,mBAAA;EAAA,QAcM,mBAAA;EA9rBkB;;;;;;;EAAA,QA4uBxB,qCAAA;EAkDF,YAAA,CACJ,OAAA,UACA,OAAA,EAAS,eAAA,EACT,QAAA,WACC,OAAA;IAAU,OAAA;EAAA;EAAA,QAqCC,aAAA;EA3wBJ;;;;;;;EAAA,QAs3BI,4BAAA;EA0CR,qBAAA,CAAsB,EAAA,WAAa,OAAA;EAQnC,iBAAA,IAAqB,OAAA;EAQrB,sBAAA,CAAuB,OAAA,UAAiB,KAAA,UAAe,QAAA,EAAU,UAAA,KAAe,OAAA,CAAQ,cAAA;EAmBxF,kBAAA,CACJ,OAAA,UACA,KAAA,UACA,MAAA;IAAU,OAAA,EAAS,UAAA;IAAY,EAAA,EAAI,UAAA;EAAA,MAClC,OAAA;EAsBG,oBAAA,CAAqB,OAAA,UAAiB,SAAA,UAAmB,QAAA,EAAU,UAAA,KAAe,OAAA,CAAQ,cAAA;EAmB1F,KAAA,IAAS,OAAA;AAAA"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
//#region src/router/procedure.ts
|
|
2
|
+
/**
|
|
3
|
+
* No-op connection routing for query paths that genuinely ALWAYS run on the
|
|
4
|
+
* primary — live subscription re-execution and mutation handlers. Spread into
|
|
5
|
+
* the ctx so `ctx.usePrimaryConn()`/`useReplicaConn()` are always callable but
|
|
6
|
+
* inert (there is only ever the primary connection to bind).
|
|
7
|
+
*
|
|
8
|
+
* For a nested `runQuery` that JOINS a parent transaction, use {@link parentConn}
|
|
9
|
+
* instead — there the connection isn't necessarily the primary.
|
|
10
|
+
*/
|
|
11
|
+
const primaryOnlyConn = {
|
|
12
|
+
usePrimaryConn: () => {},
|
|
13
|
+
useReplicaConn: () => {}
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* No-op connection routing for a nested `runQuery` that JOINS a parent
|
|
17
|
+
* transaction (a `runQuery` called with a query/mutation `parentCtx`). The knobs
|
|
18
|
+
* always use the PARENT's connection because the read connection is fixed to the
|
|
19
|
+
* parent transaction's — which may be the PRIMARY or the REPLICA, depending on
|
|
20
|
+
* how the parent query was routed.
|
|
21
|
+
*
|
|
22
|
+
* They MUST be inert: a nested query shares the parent's snapshot + readSet, so
|
|
23
|
+
* calling `useConnection` here would either repoint the parent's connection
|
|
24
|
+
* mid-flight (before its first read) or throw (after it) — either way corrupting
|
|
25
|
+
* the parent transaction. A handler that needs to force primary therefore cannot
|
|
26
|
+
* do so while nested under a replica-routed parent (it inherits the replica,
|
|
27
|
+
* which is already safe w.r.t. the client's `minTs` floor); call it via an
|
|
28
|
+
* action-parent `runQuery` instead, which opens a fresh routed read.
|
|
29
|
+
*/
|
|
30
|
+
const parentConn = {
|
|
31
|
+
usePrimaryConn: () => {},
|
|
32
|
+
useReplicaConn: () => {}
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Create a query builder with a pre-defined context type.
|
|
36
|
+
* This allows you to define the context type once and have it inferred
|
|
37
|
+
* automatically in all your query handlers.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* // Define your server context
|
|
41
|
+
* interface ServerContext {
|
|
42
|
+
* auth: { userId: string };
|
|
43
|
+
* requestId: string;
|
|
44
|
+
* }
|
|
45
|
+
*
|
|
46
|
+
* // Create a typed query builder
|
|
47
|
+
* const query = createQueryBuilder<ServerContext>();
|
|
48
|
+
*
|
|
49
|
+
* // Use it - context type is automatically inferred!
|
|
50
|
+
* const getUser = query({
|
|
51
|
+
* args: z.object({ id: z.string() }),
|
|
52
|
+
* handler: async (ctx, { id }) => {
|
|
53
|
+
* // ctx.db for database queries
|
|
54
|
+
* const user = await ctx.db.query(UsersSchema).find(id);
|
|
55
|
+
* // ctx.context for server context
|
|
56
|
+
* console.log(ctx.context.requestId);
|
|
57
|
+
* return user;
|
|
58
|
+
* }
|
|
59
|
+
* });
|
|
60
|
+
*/
|
|
61
|
+
function createQueryBuilder() {
|
|
62
|
+
return function query(config) {
|
|
63
|
+
return {
|
|
64
|
+
_type: "procedure",
|
|
65
|
+
procedureType: "query",
|
|
66
|
+
inputSchema: config.args,
|
|
67
|
+
outputSchema: config.returns,
|
|
68
|
+
fn: config.handler,
|
|
69
|
+
internal: config.internal ?? false,
|
|
70
|
+
queryIdentity: config.queryIdentity
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Create a mutation builder with a pre-defined context type.
|
|
76
|
+
* This allows you to define the context type once and have it inferred
|
|
77
|
+
* automatically in all your mutation handlers.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* // Define your server context
|
|
81
|
+
* interface ServerContext {
|
|
82
|
+
* auth: { userId: string };
|
|
83
|
+
* requestId: string;
|
|
84
|
+
* }
|
|
85
|
+
*
|
|
86
|
+
* // Create a typed mutation builder
|
|
87
|
+
* const mutation = createMutationBuilder<ServerContext>();
|
|
88
|
+
*
|
|
89
|
+
* // Use it - context type is automatically inferred!
|
|
90
|
+
* const createUser = mutation({
|
|
91
|
+
* args: z.object({ name: z.string() }),
|
|
92
|
+
* handler: async (ctx, { name }) => {
|
|
93
|
+
* // ctx.db for mutations
|
|
94
|
+
* await ctx.db.insert(UsersSchema, id, { name });
|
|
95
|
+
* // ctx.context for server context
|
|
96
|
+
* console.log(ctx.context.requestId);
|
|
97
|
+
* return { success: true };
|
|
98
|
+
* }
|
|
99
|
+
* });
|
|
100
|
+
*/
|
|
101
|
+
function createMutationBuilder() {
|
|
102
|
+
return function mutation(config) {
|
|
103
|
+
return {
|
|
104
|
+
_type: "procedure",
|
|
105
|
+
procedureType: "mutation",
|
|
106
|
+
inputSchema: config.args,
|
|
107
|
+
outputSchema: config.returns,
|
|
108
|
+
fn: config.handler,
|
|
109
|
+
internal: config.internal ?? false
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Create an action builder with a pre-defined context type.
|
|
115
|
+
* Actions have access to the full SupaliveDb for both queries and mutations.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* // Define your server context
|
|
119
|
+
* interface ServerContext {
|
|
120
|
+
* auth: { userId: string };
|
|
121
|
+
* requestId: string;
|
|
122
|
+
* }
|
|
123
|
+
*
|
|
124
|
+
* // Create a typed action builder
|
|
125
|
+
* const action = createActionBuilder<ServerContext>();
|
|
126
|
+
*
|
|
127
|
+
* // Use it - context type is automatically inferred!
|
|
128
|
+
* const processOrder = action({
|
|
129
|
+
* args: z.object({ orderId: z.string() }),
|
|
130
|
+
* handler: async (ctx, { orderId }) => {
|
|
131
|
+
* // ctx.db for full database access
|
|
132
|
+
* const order = await ctx.db.query(async (db) => {
|
|
133
|
+
* return db.query(OrdersSchema).find(orderId);
|
|
134
|
+
* });
|
|
135
|
+
* await ctx.db.mutation(async (db) => {
|
|
136
|
+
* await db.update(OrdersSchema, orderId, { status: "processed" });
|
|
137
|
+
* });
|
|
138
|
+
* // ctx.context for server context
|
|
139
|
+
* console.log(ctx.context.requestId);
|
|
140
|
+
* return { success: true };
|
|
141
|
+
* }
|
|
142
|
+
* });
|
|
143
|
+
*/
|
|
144
|
+
function createActionBuilder() {
|
|
145
|
+
return function action(config) {
|
|
146
|
+
return {
|
|
147
|
+
_type: "procedure",
|
|
148
|
+
procedureType: "action",
|
|
149
|
+
inputSchema: config.args,
|
|
150
|
+
outputSchema: config.returns,
|
|
151
|
+
fn: config.handler,
|
|
152
|
+
internal: config.internal ?? false
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Create a job builder with a pre-defined context type. A job is a
|
|
158
|
+
* server-only procedure invoked by the scheduler over HTTP — either on its
|
|
159
|
+
* declared `cron` schedule or as a precise one-shot enqueued via the
|
|
160
|
+
* server's job API. Jobs run like actions (full db, non-transactional) and
|
|
161
|
+
* are always internal, so they are never reachable from a client.
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* const job = createJobBuilder<ServerContext>();
|
|
165
|
+
*
|
|
166
|
+
* export const cleanupOtps = job({
|
|
167
|
+
* cron: "0 * * * *", // hourly
|
|
168
|
+
* args: z.object({}),
|
|
169
|
+
* handler: async (ctx) => {
|
|
170
|
+
* await ctx.db.mutation(async (db) => { ... });
|
|
171
|
+
* return { ok: true };
|
|
172
|
+
* },
|
|
173
|
+
* });
|
|
174
|
+
*/
|
|
175
|
+
function createJobBuilder() {
|
|
176
|
+
return function job(config) {
|
|
177
|
+
return {
|
|
178
|
+
_type: "procedure",
|
|
179
|
+
procedureType: "job",
|
|
180
|
+
inputSchema: config.args,
|
|
181
|
+
fn: config.handler,
|
|
182
|
+
internal: true,
|
|
183
|
+
cron: config.cron
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
//#endregion
|
|
188
|
+
//#region src/router/router.ts
|
|
189
|
+
/**
|
|
190
|
+
* Create a router from procedure definitions.
|
|
191
|
+
* Procedure names are inferred from the object keys.
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* const appRouter = router({
|
|
195
|
+
* procedures: {
|
|
196
|
+
* getUser,
|
|
197
|
+
* createUser,
|
|
198
|
+
* internalGetAll,
|
|
199
|
+
* },
|
|
200
|
+
* });
|
|
201
|
+
*
|
|
202
|
+
* export type AppRouter = typeof appRouter;
|
|
203
|
+
*/
|
|
204
|
+
function router(config) {
|
|
205
|
+
const registry = getContextRegistry(config.contextName ?? "default");
|
|
206
|
+
for (const [name, proc] of Object.entries(config.procedures)) registry.registerProcedure(name, proc);
|
|
207
|
+
return {
|
|
208
|
+
_type: "router",
|
|
209
|
+
procedures: config.procedures,
|
|
210
|
+
contextName: config.contextName ?? "default"
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
const contextRegistry = /* @__PURE__ */ new Map();
|
|
214
|
+
function getContextRegistry(inContext) {
|
|
215
|
+
let registry = contextRegistry.get(inContext);
|
|
216
|
+
if (!registry) {
|
|
217
|
+
registry = new ContextRegistry();
|
|
218
|
+
contextRegistry.set(inContext, registry);
|
|
219
|
+
}
|
|
220
|
+
return registry;
|
|
221
|
+
}
|
|
222
|
+
var ContextRegistry = class {
|
|
223
|
+
procedureRegistry = /* @__PURE__ */ new Map();
|
|
224
|
+
internalProcedureNames = /* @__PURE__ */ new Set();
|
|
225
|
+
registerProcedure(name, proc) {
|
|
226
|
+
if (this.procedureRegistry.has(name)) throw new Error(`[router] Procedure "${name}" is already registered. Each procedure name must be unique across the application.`);
|
|
227
|
+
if (proc.internal) this.markInternalProcedure(name);
|
|
228
|
+
const queryIdentity = proc.procedureType === "query" ? proc.queryIdentity : void 0;
|
|
229
|
+
const cron = proc.procedureType === "job" ? proc.cron : void 0;
|
|
230
|
+
this.procedureRegistry.set(name, {
|
|
231
|
+
name,
|
|
232
|
+
type: proc.procedureType,
|
|
233
|
+
internal: proc.internal,
|
|
234
|
+
inputSchema: proc.inputSchema,
|
|
235
|
+
fn: proc.fn,
|
|
236
|
+
queryIdentity,
|
|
237
|
+
cron
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
/** Get a registered procedure by name (runtime lookup) */
|
|
241
|
+
getProcedure(name) {
|
|
242
|
+
return this.procedureRegistry.get(name);
|
|
243
|
+
}
|
|
244
|
+
/** Get all registered procedure names */
|
|
245
|
+
getProcedureNames() {
|
|
246
|
+
return [...this.procedureRegistry.keys()];
|
|
247
|
+
}
|
|
248
|
+
/** Get all registered procedures */
|
|
249
|
+
getAllProcedures() {
|
|
250
|
+
return new Map(this.procedureRegistry);
|
|
251
|
+
}
|
|
252
|
+
/** Get all registered job procedures (server-only, scheduler-triggered). */
|
|
253
|
+
getJobProcedures() {
|
|
254
|
+
return [...this.procedureRegistry.values()].filter((p) => p.type === "job");
|
|
255
|
+
}
|
|
256
|
+
/** Clear the registry (for testing only) */
|
|
257
|
+
clearRegistry() {
|
|
258
|
+
this.procedureRegistry.clear();
|
|
259
|
+
this.clearInternalProcedures();
|
|
260
|
+
}
|
|
261
|
+
markInternalProcedure(name) {
|
|
262
|
+
this.internalProcedureNames.add(name);
|
|
263
|
+
}
|
|
264
|
+
isInternalProcedure(name) {
|
|
265
|
+
return this.internalProcedureNames.has(name);
|
|
266
|
+
}
|
|
267
|
+
clearInternalProcedures() {
|
|
268
|
+
this.internalProcedureNames.clear();
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
//#endregion
|
|
272
|
+
export { createJobBuilder as a, parentConn as c, createActionBuilder as i, primaryOnlyConn as l, getContextRegistry as n, createMutationBuilder as o, router as r, createQueryBuilder as s, ContextRegistry as t };
|
|
273
|
+
|
|
274
|
+
//# sourceMappingURL=router-DP2ThAwh.js.map
|