@tinycloud/cli 1.2.0-beta.7 → 1.2.0-beta.9
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/legacy-entry.js +49 -4
- package/dist/legacy-entry.js.map +1 -1
- package/package.json +5 -5
package/dist/legacy-entry.js
CHANGED
|
@@ -6877,8 +6877,39 @@ function parseStorageQuotaBytes(responseText) {
|
|
|
6877
6877
|
limitBytes: parseInt(match[2], 10)
|
|
6878
6878
|
};
|
|
6879
6879
|
}
|
|
6880
|
+
function isByteCount2(value) {
|
|
6881
|
+
return typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
|
|
6882
|
+
}
|
|
6883
|
+
function byteCountsOf(value) {
|
|
6884
|
+
if (typeof value !== "object" || value === null) return void 0;
|
|
6885
|
+
const { usedBytes, limitBytes } = value;
|
|
6886
|
+
return isByteCount2(usedBytes) && isByteCount2(limitBytes) ? { usedBytes, limitBytes } : void 0;
|
|
6887
|
+
}
|
|
6888
|
+
function parseStorageRejection(responseText) {
|
|
6889
|
+
let body;
|
|
6890
|
+
try {
|
|
6891
|
+
body = JSON.parse(responseText);
|
|
6892
|
+
} catch {
|
|
6893
|
+
return parseStorageQuotaBytes(responseText);
|
|
6894
|
+
}
|
|
6895
|
+
if (typeof body !== "object" || body === null) return void 0;
|
|
6896
|
+
const record2 = body;
|
|
6897
|
+
const message = typeof record2.message === "string" ? record2.message : "";
|
|
6898
|
+
const space = byteCountsOf(record2.space) ?? parseStorageQuotaBytes(message);
|
|
6899
|
+
const isStorageBody = typeof record2.error === "string" && STORAGE_REJECTION_BODY_ERRORS[record2.error] === true;
|
|
6900
|
+
if (!space && !isStorageBody) {
|
|
6901
|
+
return void 0;
|
|
6902
|
+
}
|
|
6903
|
+
const details = { ...space };
|
|
6904
|
+
const account = byteCountsOf(record2.account);
|
|
6905
|
+
if (account) {
|
|
6906
|
+
const plan = record2.account.plan;
|
|
6907
|
+
details.account = typeof plan === "string" && plan !== "" ? { ...account, plan } : account;
|
|
6908
|
+
}
|
|
6909
|
+
return details;
|
|
6910
|
+
}
|
|
6880
6911
|
function storageRejectionError(service, status, meta, responseText) {
|
|
6881
|
-
const quotaMeta = { ...meta, ...
|
|
6912
|
+
const quotaMeta = { ...meta, ...parseStorageRejection(responseText) };
|
|
6882
6913
|
return status === 402 ? storageQuotaExceededError(service, STORAGE_FULL_MESSAGE, quotaMeta) : storageLimitReachedError(service, STORAGE_WRITE_TOO_LARGE_MESSAGE, quotaMeta);
|
|
6883
6914
|
}
|
|
6884
6915
|
function wrapError2(service, error, defaultCode = ErrorCodes.NETWORK_ERROR) {
|
|
@@ -8438,7 +8469,7 @@ function encOk(data) {
|
|
|
8438
8469
|
function encErr(error) {
|
|
8439
8470
|
return { ok: false, error };
|
|
8440
8471
|
}
|
|
8441
|
-
var import_decrypt_transport_response_error, ErrorCodes, defaultRetryPolicy, TelemetryEvents, REDACTED, SAFE_NUMBER_FIELDS, SAFE_BOOLEAN_FIELDS, SAFE_REPLICATION_FIELDS, DEBUG_FLAG, MAX_EVENTS, TinyCloudDebugLogger, tinyCloudDebugLogger, ServiceErrorSchema, GenericResultSchema, KVResponseHeadersSchema, GenericKVResponseSchema, KVListResponseSchema, KVListResultSchema, ServiceRequestEventSchema, ServiceResponseEventSchema, ServiceErrorEventSchema, ServiceRetryEventSchema, TelemetrySpanEventSchema, RetryPolicySchema, ServiceSessionSchema, URN_PREFIX, NETWORK_NAME_RE, PKH_EIP155_DID_RE, NetworkIdError, RequestTimeoutError, grantableActions, capabilityServices, MAX_CAUSE_DEPTH2, STORAGE_FULL_MESSAGE, STORAGE_WRITE_TOO_LARGE_MESSAGE, MAX_TIMER_DELAY_MS, BaseService, PrefixedKVService, DEFAULT_SIGNED_READ_URL_EXPIRY_MS, KVAction, MAX_KV_BATCH_READ_ITEMS, pathByteEncoder, REVOKED_BODY, KVService, SQLMigrations, DatabaseHandle, SQLAction, DDL_TOKENS, MIGRATIONS_TABLE, MIGRATIONS_SCHEMA, MIGRATIONS_META_NAMESPACE, MIGRATIONS_META_ID, SQLService, DuckDbDatabaseHandle, DuckDbAction, DuckDbService, AsyncQueue, HOOK_STREAM_RETRY_BASE_DELAY_MS, HOOK_STREAM_RETRY_MAX_DELAY_MS, HOOK_STREAM_HEALTHY_MS, HooksService, SUPERSEDED, STREAM_ERROR_NAMES, STREAM_ERROR_CODES, VaultVersionConfig, CURRENT_VAULT_VERSION, VaultHeaders, DB_NAME, DB_VERSION, STORE_NAME, WRAP_KEY_ID, DataVaultService, SECRET_NAME_RE, SECRET_PREFIX, SCOPED_SECRET_PREFIX, RESERVED_SECRET_SCOPES, TC832_RESERVED_SCOPES, HEX, DEFAULT_ENCRYPTION_ALG, ENVELOPE_VERSION, DEFAULT_KEY_VERSION, DECRYPT_FACT_TYPE, DECRYPT_RESULT_TYPE, EncryptionService;
|
|
8472
|
+
var import_decrypt_transport_response_error, ErrorCodes, defaultRetryPolicy, TelemetryEvents, REDACTED, SAFE_NUMBER_FIELDS, SAFE_BOOLEAN_FIELDS, SAFE_REPLICATION_FIELDS, DEBUG_FLAG, MAX_EVENTS, TinyCloudDebugLogger, tinyCloudDebugLogger, ServiceErrorSchema, GenericResultSchema, KVResponseHeadersSchema, GenericKVResponseSchema, KVListResponseSchema, KVListResultSchema, ServiceRequestEventSchema, ServiceResponseEventSchema, ServiceErrorEventSchema, ServiceRetryEventSchema, TelemetrySpanEventSchema, RetryPolicySchema, ServiceSessionSchema, URN_PREFIX, NETWORK_NAME_RE, PKH_EIP155_DID_RE, NetworkIdError, RequestTimeoutError, grantableActions, capabilityServices, MAX_CAUSE_DEPTH2, STORAGE_FULL_MESSAGE, STORAGE_WRITE_TOO_LARGE_MESSAGE, STORAGE_REJECTION_BODY_ERRORS, MAX_TIMER_DELAY_MS, BaseService, PrefixedKVService, DEFAULT_SIGNED_READ_URL_EXPIRY_MS, KVAction, MAX_KV_BATCH_READ_ITEMS, pathByteEncoder, REVOKED_BODY, KVService, SQLMigrations, DatabaseHandle, SQLAction, DDL_TOKENS, MIGRATIONS_TABLE, MIGRATIONS_SCHEMA, MIGRATIONS_META_NAMESPACE, MIGRATIONS_META_ID, SQLService, DuckDbDatabaseHandle, DuckDbAction, DuckDbService, AsyncQueue, HOOK_STREAM_RETRY_BASE_DELAY_MS, HOOK_STREAM_RETRY_MAX_DELAY_MS, HOOK_STREAM_HEALTHY_MS, HooksService, SUPERSEDED, STREAM_ERROR_NAMES, STREAM_ERROR_CODES, VaultVersionConfig, CURRENT_VAULT_VERSION, VaultHeaders, DB_NAME, DB_VERSION, STORE_NAME, WRAP_KEY_ID, DataVaultService, SECRET_NAME_RE, SECRET_PREFIX, SCOPED_SECRET_PREFIX, RESERVED_SECRET_SCOPES, TC832_RESERVED_SCOPES, HEX, DEFAULT_ENCRYPTION_ALG, ENVELOPE_VERSION, DEFAULT_KEY_VERSION, DECRYPT_FACT_TYPE, DECRYPT_RESULT_TYPE, EncryptionService;
|
|
8442
8473
|
var init_dist2 = __esm({
|
|
8443
8474
|
"../sdk-services/dist/index.js"() {
|
|
8444
8475
|
"use strict";
|
|
@@ -8484,6 +8515,8 @@ var init_dist2 = __esm({
|
|
|
8484
8515
|
// Storage quota errors
|
|
8485
8516
|
STORAGE_QUOTA_EXCEEDED: "STORAGE_QUOTA_EXCEEDED",
|
|
8486
8517
|
STORAGE_LIMIT_REACHED: "STORAGE_LIMIT_REACHED",
|
|
8518
|
+
/** The node answered the usage read without usage numbers (it predates the read). */
|
|
8519
|
+
STORAGE_STATUS_UNAVAILABLE: "STORAGE_STATUS_UNAVAILABLE",
|
|
8487
8520
|
// DuckDB-specific errors
|
|
8488
8521
|
DUCKDB_ERROR: "DUCKDB_ERROR",
|
|
8489
8522
|
DUCKDB_PERMISSION_DENIED: "DUCKDB_PERMISSION_DENIED",
|
|
@@ -8513,7 +8546,9 @@ var init_dist2 = __esm({
|
|
|
8513
8546
|
REPLICATION_WRITE: "replication.write",
|
|
8514
8547
|
REPLICATION_SYNC: "replication.sync",
|
|
8515
8548
|
REPLICATION_STATE: "replication.state",
|
|
8516
|
-
REPLICATION_DIVERGENCE: "replication.divergence"
|
|
8549
|
+
REPLICATION_DIVERGENCE: "replication.divergence",
|
|
8550
|
+
/** Emitted once, on the first write rejected because storage is full. */
|
|
8551
|
+
STORAGE_FULL: "storage.full"
|
|
8517
8552
|
};
|
|
8518
8553
|
REDACTED = "[REDACTED]";
|
|
8519
8554
|
SAFE_NUMBER_FIELDS = /* @__PURE__ */ new Set([
|
|
@@ -8785,6 +8820,10 @@ var init_dist2 = __esm({
|
|
|
8785
8820
|
MAX_CAUSE_DEPTH2 = 8;
|
|
8786
8821
|
STORAGE_FULL_MESSAGE = "TinyCloud storage is full, so this change was not saved. Reading still works. Free up space or upgrade your plan to save again.";
|
|
8787
8822
|
STORAGE_WRITE_TOO_LARGE_MESSAGE = "This change is larger than the TinyCloud storage you have left, so it was not saved. Reading still works. Free up space or upgrade your plan to save it.";
|
|
8823
|
+
STORAGE_REJECTION_BODY_ERRORS = {
|
|
8824
|
+
storage_quota_exceeded: true,
|
|
8825
|
+
storage_limit_reached: true
|
|
8826
|
+
};
|
|
8788
8827
|
MAX_TIMER_DELAY_MS = 2147483647;
|
|
8789
8828
|
BaseService = class {
|
|
8790
8829
|
constructor() {
|
|
@@ -9241,7 +9280,7 @@ var init_dist2 = __esm({
|
|
|
9241
9280
|
if (response.status !== 402 && response.status !== 413) {
|
|
9242
9281
|
return void 0;
|
|
9243
9282
|
}
|
|
9244
|
-
if (response.status === 413 && !
|
|
9283
|
+
if (response.status === 413 && !parseStorageRejection(errorText)) {
|
|
9245
9284
|
return void 0;
|
|
9246
9285
|
}
|
|
9247
9286
|
return err(
|
|
@@ -11057,6 +11096,9 @@ var init_dist2 = __esm({
|
|
|
11057
11096
|
if (response.status === 402) {
|
|
11058
11097
|
return err(storageRejectionError("sql", 402, meta, errorText));
|
|
11059
11098
|
}
|
|
11099
|
+
if (response.status === 413 && parseStorageRejection(errorText)) {
|
|
11100
|
+
return err(storageRejectionError("sql", 413, meta, errorText));
|
|
11101
|
+
}
|
|
11060
11102
|
const errorBody = parseServiceErrorBody(errorText);
|
|
11061
11103
|
const errorCode2 = this.mapHttpStatusToErrorCode(
|
|
11062
11104
|
response.status,
|
|
@@ -11434,6 +11476,9 @@ var init_dist2 = __esm({
|
|
|
11434
11476
|
if (response.status === 402) {
|
|
11435
11477
|
return err(storageRejectionError("duckdb", 402, meta, errorText));
|
|
11436
11478
|
}
|
|
11479
|
+
if (response.status === 413 && parseStorageRejection(errorText)) {
|
|
11480
|
+
return err(storageRejectionError("duckdb", 413, meta, errorText));
|
|
11481
|
+
}
|
|
11437
11482
|
const errorBody = parseServiceErrorBody(errorText);
|
|
11438
11483
|
const errorCode2 = this.mapHttpStatusToErrorCode(
|
|
11439
11484
|
response.status,
|