@mathrunet/masamune_cloudflare_turso 3.2.10 → 3.2.12
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/CHANGELOG.md
CHANGED
package/dist/functions/turso.js
CHANGED
|
@@ -21,22 +21,28 @@ module.exports = (hono, options, data) => {
|
|
|
21
21
|
return hono;
|
|
22
22
|
};
|
|
23
23
|
async function handleCrud(context, options, method) {
|
|
24
|
+
let request;
|
|
25
|
+
let resolvedOptions;
|
|
26
|
+
let phase = "parse";
|
|
24
27
|
try {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
+
resolvedOptions = (0, env_1.resolveTursoWorkersOptionsFromEnv)(context, options);
|
|
29
|
+
request = await (0, request_1.parseCrudRequest)(context);
|
|
30
|
+
const crudRequest = request;
|
|
31
|
+
phase = "connect";
|
|
32
|
+
const connection = await (0, turso_client_1.resolveDatabaseConnection)(crudRequest.database, resolvedOptions);
|
|
28
33
|
const client = (0, turso_client_1.createTursoClient)(connection);
|
|
29
34
|
const engine = (0, rules_1.createTursoRulesEngine)(resolvedOptions.rules);
|
|
30
35
|
const authentication = context.get("authentication");
|
|
36
|
+
phase = "rules";
|
|
31
37
|
const result = await engine.evaluate({
|
|
32
38
|
path: (0, rules_1.buildRulesPath)({
|
|
33
|
-
database:
|
|
34
|
-
table:
|
|
35
|
-
indexKey:
|
|
39
|
+
database: crudRequest.database,
|
|
40
|
+
table: crudRequest.table,
|
|
41
|
+
indexKey: crudRequest.indexKey ?? "*",
|
|
36
42
|
}),
|
|
37
|
-
operation: resolveCrudRulesOperation(method,
|
|
43
|
+
operation: resolveCrudRulesOperation(method, crudRequest),
|
|
38
44
|
authentication,
|
|
39
|
-
fetchDocument: async () => (0, crud_1.fetchDocumentForRules)(client,
|
|
45
|
+
fetchDocument: async () => (0, crud_1.fetchDocumentForRules)(client, crudRequest),
|
|
40
46
|
server: true,
|
|
41
47
|
});
|
|
42
48
|
if (!result.allowed) {
|
|
@@ -45,16 +51,31 @@ async function handleCrud(context, options, method) {
|
|
|
45
51
|
rule: result.rulePath,
|
|
46
52
|
}, 403);
|
|
47
53
|
}
|
|
54
|
+
if (connection.created) {
|
|
55
|
+
phase = "database-ready";
|
|
56
|
+
await (0, turso_client_1.waitForDatabaseReady)(client);
|
|
57
|
+
(0, turso_client_1.cacheDatabaseConnection)(crudRequest.database, resolvedOptions, connection);
|
|
58
|
+
}
|
|
59
|
+
phase = method === "POST" ? "create-table-or-insert" : "execute";
|
|
48
60
|
const response = await (0, crud_1.executeCrud)({
|
|
49
61
|
client,
|
|
50
62
|
method,
|
|
51
|
-
request,
|
|
63
|
+
request: crudRequest,
|
|
52
64
|
autoCreateTable: resolvedOptions.autoCreateTable !== false,
|
|
53
65
|
autoMigrateAddColumns: resolvedOptions.autoMigrateAddColumns !== false,
|
|
54
66
|
});
|
|
55
67
|
return context.json({ data: response });
|
|
56
68
|
}
|
|
57
69
|
catch (error) {
|
|
70
|
+
if (request && resolvedOptions && (0, turso_client_1.isTransientTursoError)(error)) {
|
|
71
|
+
(0, turso_client_1.clearDatabaseConnectionCache)(request.database, resolvedOptions);
|
|
72
|
+
return context.json({
|
|
73
|
+
error: error instanceof Error ? error.message : String(error),
|
|
74
|
+
phase,
|
|
75
|
+
database: request.database,
|
|
76
|
+
table: request.table,
|
|
77
|
+
}, 503);
|
|
78
|
+
}
|
|
58
79
|
return (0, request_1.jsonError)(context, error);
|
|
59
80
|
}
|
|
60
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turso.js","sourceRoot":"","sources":["../../src/functions/turso.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"turso.js","sourceRoot":"","sources":["../../src/functions/turso.ts"],"names":[],"mappings":";;AAQA,sCAAiE;AACjE,4CAA6D;AAC7D,wCAIsB;AACtB,sDAO6B;AAC7B,oCAA+D;AAE/D,MAAM,CAAC,OAAO,GAAG,CACf,IAAU,EACV,OAA4B,EAC5B,IAAgC,EAChC,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACzG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACjG,IAAI,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3G,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACzG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrG,IAAI,CAAC,MAAM,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/G,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,KAAK,UAAU,UAAU,CACvB,OAAgB,EAChB,OAA4B,EAC5B,MAAuB;IAEvB,IAAI,OAGS,CAAC;IACd,IAAI,eAAgD,CAAC;IACrD,IAAI,KAAK,GAAG,OAAO,CAAC;IACpB,IAAI,CAAC;QACH,eAAe,GAAG,IAAA,uCAAiC,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,GAAG,MAAM,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,OAAO,CAAC;QAC5B,KAAK,GAAG,SAAS,CAAC;QAClB,MAAM,UAAU,GAAG,MAAM,IAAA,wCAAyB,EAAC,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAA,gCAAiB,EAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAsC,CAAC;QAC1F,KAAK,GAAG,OAAO,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACnC,IAAI,EAAE,IAAA,sBAAc,EAAC;gBACnB,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,GAAG;aACtC,CAAC;YACF,SAAS,EAAE,yBAAyB,CAAC,MAAM,EAAE,WAAW,CAAC;YACzD,cAAc;YACd,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,4BAAqB,EAAC,MAAM,EAAE,WAAW,CAAC;YACrE,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,MAAM,CAAC,QAAQ;aACtB,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;QACD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,GAAG,gBAAgB,CAAC;YACzB,MAAM,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;YACnC,IAAA,sCAAuB,EAAC,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QAC7E,CAAC;QACD,KAAK,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAW,EAAC;YACjC,MAAM;YACN,MAAM;YACN,OAAO,EAAE,WAAW;YACpB,eAAe,EAAE,eAAe,CAAC,eAAe,KAAK,KAAK;YAC1D,qBAAqB,EAAE,eAAe,CAAC,qBAAqB,KAAK,KAAK;SACvE,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,IAAI,eAAe,IAAI,IAAA,oCAAqB,EAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,IAAA,2CAA4B,EAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK;gBACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;QACD,OAAO,IAAA,mBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAuB,EACvB,OAA0C;IAE1C,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAA,2CAAmC,EAAC,MAAM,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -16,3 +16,7 @@ export interface TursoClient {
|
|
|
16
16
|
export type SqlValue = null | string | number | bigint | ArrayBuffer | boolean | Uint8Array | Date;
|
|
17
17
|
export declare function createTursoClient(connection: TursoDatabaseConnection): TursoClient;
|
|
18
18
|
export declare function resolveDatabaseConnection(database: string, options: TursoWorkersOptions): Promise<TursoDatabaseConnection>;
|
|
19
|
+
export declare function cacheDatabaseConnection(database: string, options: TursoWorkersOptions, connection: TursoDatabaseConnection): void;
|
|
20
|
+
export declare function clearDatabaseConnectionCache(database: string, options: TursoWorkersOptions): void;
|
|
21
|
+
export declare function waitForDatabaseReady(client: TursoClient): Promise<void>;
|
|
22
|
+
export declare function isTransientTursoError(error: unknown): boolean;
|
package/dist/lib/turso_client.js
CHANGED
|
@@ -2,8 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createTursoClient = createTursoClient;
|
|
4
4
|
exports.resolveDatabaseConnection = resolveDatabaseConnection;
|
|
5
|
+
exports.cacheDatabaseConnection = cacheDatabaseConnection;
|
|
6
|
+
exports.clearDatabaseConnectionCache = clearDatabaseConnectionCache;
|
|
7
|
+
exports.waitForDatabaseReady = waitForDatabaseReady;
|
|
8
|
+
exports.isTransientTursoError = isTransientTursoError;
|
|
5
9
|
const request_1 = require("./request");
|
|
6
10
|
const connectionCache = new Map();
|
|
11
|
+
const readyRetryDelaysMs = [250, 500, 1000, 2000, 4000];
|
|
7
12
|
function createTursoClient(connection) {
|
|
8
13
|
const { createClient } = require("@tursodatabase/serverless/compat");
|
|
9
14
|
return createClient({
|
|
@@ -16,12 +21,49 @@ async function resolveDatabaseConnection(database, options) {
|
|
|
16
21
|
const databaseName = `${options.databasePrefix ?? ""}${normalizedDatabase}`;
|
|
17
22
|
const cached = connectionCache.get(databaseName);
|
|
18
23
|
if (cached) {
|
|
19
|
-
return
|
|
24
|
+
return {
|
|
25
|
+
...cached,
|
|
26
|
+
created: false,
|
|
27
|
+
};
|
|
20
28
|
}
|
|
21
29
|
const created = await ensurePlatformDatabase(databaseName, options);
|
|
22
|
-
|
|
30
|
+
if (!created.created) {
|
|
31
|
+
cacheDatabaseConnection(database, options, created);
|
|
32
|
+
}
|
|
23
33
|
return created;
|
|
24
34
|
}
|
|
35
|
+
function cacheDatabaseConnection(database, options, connection) {
|
|
36
|
+
const normalizedDatabase = (0, request_1.validateLogicalName)(database, "database");
|
|
37
|
+
const databaseName = `${options.databasePrefix ?? ""}${normalizedDatabase}`;
|
|
38
|
+
connectionCache.set(databaseName, {
|
|
39
|
+
url: connection.url,
|
|
40
|
+
authToken: connection.authToken,
|
|
41
|
+
created: false,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function clearDatabaseConnectionCache(database, options) {
|
|
45
|
+
const normalizedDatabase = (0, request_1.validateLogicalName)(database, "database");
|
|
46
|
+
const databaseName = `${options.databasePrefix ?? ""}${normalizedDatabase}`;
|
|
47
|
+
connectionCache.delete(databaseName);
|
|
48
|
+
}
|
|
49
|
+
async function waitForDatabaseReady(client) {
|
|
50
|
+
let lastError;
|
|
51
|
+
for (let attempt = 0; attempt <= readyRetryDelaysMs.length; attempt++) {
|
|
52
|
+
try {
|
|
53
|
+
await client.execute("SELECT 1");
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
lastError = error;
|
|
58
|
+
if (!isTransientTursoError(error) ||
|
|
59
|
+
attempt === readyRetryDelaysMs.length) {
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
await sleep(readyRetryDelaysMs[attempt]);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
throw lastError;
|
|
66
|
+
}
|
|
25
67
|
async function ensurePlatformDatabase(databaseName, options) {
|
|
26
68
|
const organizationName = options.organization;
|
|
27
69
|
const platformApiToken = options.platformApiToken;
|
|
@@ -34,6 +76,7 @@ async function ensurePlatformDatabase(databaseName, options) {
|
|
|
34
76
|
Authorization: `Bearer ${platformApiToken}`,
|
|
35
77
|
"Content-Type": "application/json",
|
|
36
78
|
};
|
|
79
|
+
let created = false;
|
|
37
80
|
const existing = await fetch(`${baseUrl}/databases/${encodeURIComponent(databaseName)}`, {
|
|
38
81
|
headers,
|
|
39
82
|
});
|
|
@@ -52,6 +95,7 @@ async function ensurePlatformDatabase(databaseName, options) {
|
|
|
52
95
|
if (!response.ok) {
|
|
53
96
|
throw new request_1.HttpError(500, `Failed to create Turso database: ${response.status}`);
|
|
54
97
|
}
|
|
98
|
+
created = true;
|
|
55
99
|
}
|
|
56
100
|
else if (!existing.ok) {
|
|
57
101
|
throw new request_1.HttpError(500, `Failed to get Turso database: ${existing.status}`);
|
|
@@ -68,9 +112,13 @@ async function ensurePlatformDatabase(databaseName, options) {
|
|
|
68
112
|
throw new request_1.HttpError(500, "Turso database URL was not found in Platform API response.");
|
|
69
113
|
}
|
|
70
114
|
const authToken = await createDatabaseToken(baseUrl, databaseName, headers);
|
|
115
|
+
if (!authToken) {
|
|
116
|
+
throw new request_1.HttpError(500, "Turso database auth token was not found in Platform API response.");
|
|
117
|
+
}
|
|
71
118
|
return {
|
|
72
119
|
url,
|
|
73
120
|
authToken,
|
|
121
|
+
created,
|
|
74
122
|
};
|
|
75
123
|
}
|
|
76
124
|
async function createDatabaseToken(baseUrl, databaseName, headers) {
|
|
@@ -80,7 +128,7 @@ async function createDatabaseToken(baseUrl, databaseName, headers) {
|
|
|
80
128
|
body: JSON.stringify({}),
|
|
81
129
|
});
|
|
82
130
|
if (!response.ok) {
|
|
83
|
-
|
|
131
|
+
throw new request_1.HttpError(500, `Failed to create Turso database token: ${response.status}`);
|
|
84
132
|
}
|
|
85
133
|
const body = (await response.json());
|
|
86
134
|
const token = body.jwt ?? body.token;
|
|
@@ -102,6 +150,13 @@ function firstNonEmpty(...values) {
|
|
|
102
150
|
}
|
|
103
151
|
return undefined;
|
|
104
152
|
}
|
|
153
|
+
function isTransientTursoError(error) {
|
|
154
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
155
|
+
return /(?:HTTP error! status|Turso database|Turso database token|Turso database:): (404|409|425|429|500|502|503|504)/.test(message);
|
|
156
|
+
}
|
|
157
|
+
function sleep(milliseconds) {
|
|
158
|
+
return new Promise((resolve) => setTimeout(resolve, milliseconds));
|
|
159
|
+
}
|
|
105
160
|
function findDatabaseUrl(value) {
|
|
106
161
|
if (typeof value === "string" && /^libsql:\/\//.test(value)) {
|
|
107
162
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turso_client.js","sourceRoot":"","sources":["../../src/lib/turso_client.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"turso_client.js","sourceRoot":"","sources":["../../src/lib/turso_client.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type { RulesAccessRule, RulesConfig, RulesEntry, RulesOperation, RulesOpe
|
|
|
4
4
|
export interface TursoDatabaseConnection {
|
|
5
5
|
url: string;
|
|
6
6
|
authToken?: string | undefined;
|
|
7
|
+
created?: boolean | undefined;
|
|
7
8
|
}
|
|
8
9
|
export interface TursoWorkersOptions extends WorkersOptions {
|
|
9
10
|
databasePrefix?: string | undefined;
|
package/package.json
CHANGED