@tinycloud/sdk-services 2.0.1 → 2.0.2-beta.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.
Files changed (139) hide show
  1. package/dist/{types.d.ts → BaseService-D9BFm_rV.d.cts} +179 -27
  2. package/dist/BaseService-D9BFm_rV.d.ts +440 -0
  3. package/dist/index.cjs +3221 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +1843 -0
  6. package/dist/index.d.ts +1826 -41
  7. package/dist/index.js +3136 -58
  8. package/dist/index.js.map +1 -1
  9. package/dist/kv/index.cjs +909 -0
  10. package/dist/kv/index.cjs.map +1 -0
  11. package/dist/kv/index.d.cts +748 -0
  12. package/dist/kv/index.d.ts +745 -7
  13. package/dist/kv/index.js +877 -9
  14. package/dist/kv/index.js.map +1 -1
  15. package/dist/sql/index.cjs +596 -0
  16. package/dist/sql/index.cjs.map +1 -0
  17. package/dist/sql/index.d.cts +228 -0
  18. package/dist/sql/index.d.ts +225 -7
  19. package/dist/sql/index.js +566 -8
  20. package/dist/sql/index.js.map +1 -1
  21. package/package.json +7 -6
  22. package/dist/base/BaseService.d.ts +0 -151
  23. package/dist/base/BaseService.d.ts.map +0 -1
  24. package/dist/base/BaseService.js +0 -221
  25. package/dist/base/BaseService.js.map +0 -1
  26. package/dist/base/index.d.ts +0 -6
  27. package/dist/base/index.d.ts.map +0 -1
  28. package/dist/base/index.js +0 -6
  29. package/dist/base/index.js.map +0 -1
  30. package/dist/base/types.d.ts +0 -36
  31. package/dist/base/types.d.ts.map +0 -1
  32. package/dist/base/types.js +0 -7
  33. package/dist/base/types.js.map +0 -1
  34. package/dist/context.d.ts +0 -142
  35. package/dist/context.d.ts.map +0 -1
  36. package/dist/context.js +0 -218
  37. package/dist/context.js.map +0 -1
  38. package/dist/duckdb/DuckDbDatabaseHandle.d.ts +0 -23
  39. package/dist/duckdb/DuckDbDatabaseHandle.d.ts.map +0 -1
  40. package/dist/duckdb/DuckDbDatabaseHandle.js +0 -36
  41. package/dist/duckdb/DuckDbDatabaseHandle.js.map +0 -1
  42. package/dist/duckdb/DuckDbService.d.ts +0 -50
  43. package/dist/duckdb/DuckDbService.d.ts.map +0 -1
  44. package/dist/duckdb/DuckDbService.js +0 -285
  45. package/dist/duckdb/DuckDbService.js.map +0 -1
  46. package/dist/duckdb/IDuckDbService.d.ts +0 -84
  47. package/dist/duckdb/IDuckDbService.d.ts.map +0 -1
  48. package/dist/duckdb/IDuckDbService.js +0 -7
  49. package/dist/duckdb/IDuckDbService.js.map +0 -1
  50. package/dist/duckdb/index.d.ts +0 -10
  51. package/dist/duckdb/index.d.ts.map +0 -1
  52. package/dist/duckdb/index.js +0 -9
  53. package/dist/duckdb/index.js.map +0 -1
  54. package/dist/duckdb/types.d.ts +0 -148
  55. package/dist/duckdb/types.d.ts.map +0 -1
  56. package/dist/duckdb/types.js +0 -19
  57. package/dist/duckdb/types.js.map +0 -1
  58. package/dist/errors.d.ts +0 -62
  59. package/dist/errors.d.ts.map +0 -1
  60. package/dist/errors.js +0 -149
  61. package/dist/errors.js.map +0 -1
  62. package/dist/index.d.ts.map +0 -1
  63. package/dist/kv/IKVService.d.ts +0 -148
  64. package/dist/kv/IKVService.d.ts.map +0 -1
  65. package/dist/kv/IKVService.js +0 -8
  66. package/dist/kv/IKVService.js.map +0 -1
  67. package/dist/kv/KVService.d.ts +0 -155
  68. package/dist/kv/KVService.d.ts.map +0 -1
  69. package/dist/kv/KVService.js +0 -419
  70. package/dist/kv/KVService.js.map +0 -1
  71. package/dist/kv/PrefixedKVService.d.ts +0 -246
  72. package/dist/kv/PrefixedKVService.d.ts.map +0 -1
  73. package/dist/kv/PrefixedKVService.js +0 -145
  74. package/dist/kv/PrefixedKVService.js.map +0 -1
  75. package/dist/kv/index.d.ts.map +0 -1
  76. package/dist/kv/types.d.ts +0 -204
  77. package/dist/kv/types.d.ts.map +0 -1
  78. package/dist/kv/types.js +0 -16
  79. package/dist/kv/types.js.map +0 -1
  80. package/dist/quota/TinyCloudQuota.d.ts +0 -27
  81. package/dist/quota/TinyCloudQuota.d.ts.map +0 -1
  82. package/dist/quota/TinyCloudQuota.js +0 -31
  83. package/dist/quota/TinyCloudQuota.js.map +0 -1
  84. package/dist/quota/index.d.ts +0 -3
  85. package/dist/quota/index.d.ts.map +0 -1
  86. package/dist/quota/index.js +0 -2
  87. package/dist/quota/index.js.map +0 -1
  88. package/dist/sql/DatabaseHandle.d.ts +0 -20
  89. package/dist/sql/DatabaseHandle.d.ts.map +0 -1
  90. package/dist/sql/DatabaseHandle.js +0 -27
  91. package/dist/sql/DatabaseHandle.js.map +0 -1
  92. package/dist/sql/ISQLService.d.ts +0 -67
  93. package/dist/sql/ISQLService.d.ts.map +0 -1
  94. package/dist/sql/ISQLService.js +0 -7
  95. package/dist/sql/ISQLService.js.map +0 -1
  96. package/dist/sql/SQLService.d.ts +0 -44
  97. package/dist/sql/SQLService.d.ts.map +0 -1
  98. package/dist/sql/SQLService.js +0 -216
  99. package/dist/sql/SQLService.js.map +0 -1
  100. package/dist/sql/index.d.ts.map +0 -1
  101. package/dist/sql/types.d.ts +0 -102
  102. package/dist/sql/types.d.ts.map +0 -1
  103. package/dist/sql/types.js +0 -21
  104. package/dist/sql/types.js.map +0 -1
  105. package/dist/types.d.ts.map +0 -1
  106. package/dist/types.js +0 -94
  107. package/dist/types.js.map +0 -1
  108. package/dist/types.schema.d.ts +0 -712
  109. package/dist/types.schema.d.ts.map +0 -1
  110. package/dist/types.schema.js +0 -342
  111. package/dist/types.schema.js.map +0 -1
  112. package/dist/types.schema.test.d.ts +0 -5
  113. package/dist/types.schema.test.d.ts.map +0 -1
  114. package/dist/types.schema.test.js +0 -677
  115. package/dist/types.schema.test.js.map +0 -1
  116. package/dist/vault/DataVaultService.d.ts +0 -267
  117. package/dist/vault/DataVaultService.d.ts.map +0 -1
  118. package/dist/vault/DataVaultService.js +0 -1040
  119. package/dist/vault/DataVaultService.js.map +0 -1
  120. package/dist/vault/IDataVaultService.d.ts +0 -158
  121. package/dist/vault/IDataVaultService.d.ts.map +0 -1
  122. package/dist/vault/IDataVaultService.js +0 -8
  123. package/dist/vault/IDataVaultService.js.map +0 -1
  124. package/dist/vault/SignatureCache.d.ts +0 -20
  125. package/dist/vault/SignatureCache.d.ts.map +0 -1
  126. package/dist/vault/SignatureCache.js +0 -167
  127. package/dist/vault/SignatureCache.js.map +0 -1
  128. package/dist/vault/createVaultCrypto.d.ts +0 -16
  129. package/dist/vault/createVaultCrypto.d.ts.map +0 -1
  130. package/dist/vault/createVaultCrypto.js +0 -12
  131. package/dist/vault/createVaultCrypto.js.map +0 -1
  132. package/dist/vault/index.d.ts +0 -11
  133. package/dist/vault/index.d.ts.map +0 -1
  134. package/dist/vault/index.js +0 -12
  135. package/dist/vault/index.js.map +0 -1
  136. package/dist/vault/types.d.ts +0 -141
  137. package/dist/vault/types.d.ts.map +0 -1
  138. package/dist/vault/types.js +0 -31
  139. package/dist/vault/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrefixedKVService.d.ts","sourceRoot":"","sources":["../../src/kv/PrefixedKVService.ts"],"names":[],"mappings":"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"}
@@ -1,145 +0,0 @@
1
- /**
2
- * PrefixedKVService - A prefix-scoped view of KVService.
3
- *
4
- * Provides key-value operations scoped to a specific prefix.
5
- * All operations automatically prefix keys, enabling app data isolation
6
- * within a shared space.
7
- *
8
- * @example
9
- * ```typescript
10
- * const space = sdk.space('default');
11
- *
12
- * // Create prefix-scoped views
13
- * const myApp = space.kv.withPrefix('/app.myapp.com');
14
- * const sharedPhotos = space.kv.withPrefix('/photos');
15
- *
16
- * // Operations are automatically prefixed
17
- * await myApp.put('settings.json', { theme: 'dark' });
18
- * // -> Actually writes to: /app.myapp.com/settings.json
19
- *
20
- * await myApp.get('settings.json');
21
- * // -> Actually reads from: /app.myapp.com/settings.json
22
- *
23
- * await sharedPhotos.list();
24
- * // -> Lists: /photos/*
25
- *
26
- * // Nested prefixes
27
- * const settings = myApp.withPrefix('/settings');
28
- * await settings.get('theme.json'); // -> /app.myapp.com/settings/theme.json
29
- * ```
30
- */
31
- /**
32
- * PrefixedKVService - Implementation of prefix-scoped KV operations.
33
- *
34
- * This class wraps a KVService (or another PrefixedKVService) and
35
- * automatically prefixes all key operations with the configured prefix.
36
- *
37
- * ## Prefix Convention
38
- *
39
- * | Pattern | Use Case | Example |
40
- * | -- | -- | -- |
41
- * | `/app.{domain}/` | App-private data | `/app.photos.xyz/settings.json` |
42
- * | `/{type}/` | Shared data type | `/photos/vacation.jpg` |
43
- * | `/.{name}/` | Hidden/system data | `/.cache/thumbnails/` |
44
- * | `/public/` | Explicitly shareable | `/public/profile.json` |
45
- *
46
- * @example
47
- * ```typescript
48
- * // Create from KVService
49
- * const prefixed = new PrefixedKVService(kvService, '/app.myapp.com');
50
- *
51
- * // Or use the withPrefix factory method on KVService
52
- * const prefixed = kvService.withPrefix('/app.myapp.com');
53
- *
54
- * // All operations are automatically prefixed
55
- * await prefixed.put('settings.json', { theme: 'dark' });
56
- * await prefixed.get('settings.json');
57
- *
58
- * // Nested prefixes
59
- * const nested = prefixed.withPrefix('/settings');
60
- * await nested.get('theme.json'); // -> /app.myapp.com/settings/theme.json
61
- * ```
62
- */
63
- export class PrefixedKVService {
64
- /**
65
- * Create a new PrefixedKVService.
66
- *
67
- * @param kv - The underlying KV service to delegate to
68
- * @param prefix - The prefix to apply to all operations
69
- */
70
- constructor(kv, prefix) {
71
- this._kv = kv;
72
- // Normalize prefix: ensure it doesn't end with slash
73
- this._prefix = prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;
74
- }
75
- /**
76
- * The current prefix for this scoped view.
77
- */
78
- get prefix() {
79
- return this._prefix;
80
- }
81
- /**
82
- * Compute the full key path by combining prefix and key.
83
- *
84
- * @param key - The key to prefix
85
- * @returns The full path including prefix
86
- */
87
- getFullKey(key) {
88
- // Handle keys that start with slash
89
- const normalizedKey = key.startsWith('/') ? key : `/${key}`;
90
- return `${this._prefix}${normalizedKey}`;
91
- }
92
- /**
93
- * Get a value by key.
94
- */
95
- async get(key, options) {
96
- const fullKey = this.getFullKey(key);
97
- // Use empty prefix override to use the full key as-is
98
- return this._kv.get(fullKey, { ...options, prefix: '' });
99
- }
100
- /**
101
- * Store a value at a key.
102
- */
103
- async put(key, value, options) {
104
- const fullKey = this.getFullKey(key);
105
- return this._kv.put(fullKey, value, { ...options, prefix: '' });
106
- }
107
- /**
108
- * List keys within this prefix.
109
- */
110
- async list(options) {
111
- // List uses the prefix directly, and by default removes the prefix from results
112
- const removePrefix = options?.removePrefix ?? true;
113
- return this._kv.list({
114
- ...options,
115
- prefix: this._prefix,
116
- removePrefix,
117
- });
118
- }
119
- /**
120
- * Delete a key.
121
- */
122
- async delete(key, options) {
123
- const fullKey = this.getFullKey(key);
124
- return this._kv.delete(fullKey, { ...options, prefix: '' });
125
- }
126
- /**
127
- * Get metadata for a key without retrieving the value.
128
- */
129
- async head(key, options) {
130
- const fullKey = this.getFullKey(key);
131
- return this._kv.head(fullKey, { ...options, prefix: '' });
132
- }
133
- /**
134
- * Create a nested prefix-scoped view.
135
- */
136
- withPrefix(subPrefix) {
137
- // Normalize subPrefix
138
- const normalizedSubPrefix = subPrefix.startsWith('/')
139
- ? subPrefix
140
- : `/${subPrefix}`;
141
- const combinedPrefix = `${this._prefix}${normalizedSubPrefix}`;
142
- return new PrefixedKVService(this._kv, combinedPrefix);
143
- }
144
- }
145
- //# sourceMappingURL=PrefixedKVService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrefixedKVService.js","sourceRoot":"","sources":["../../src/kv/PrefixedKVService.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kv/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,YAAY,GACb,MAAM,SAAS,CAAC"}
@@ -1,204 +0,0 @@
1
- /**
2
- * KV Service Types
3
- *
4
- * Type definitions for the KV (Key-Value) service operations.
5
- */
6
- /**
7
- * Configuration for KVService.
8
- */
9
- export interface KVServiceConfig {
10
- /**
11
- * Default prefix for all keys.
12
- * Useful for namespacing data within a space.
13
- *
14
- * @example
15
- * ```typescript
16
- * const kv = new KVService({ prefix: 'myapp/settings' });
17
- * await kv.put('theme', 'dark'); // Stores at 'myapp/settings/theme'
18
- * ```
19
- */
20
- prefix?: string;
21
- /**
22
- * Default timeout in milliseconds for KV operations.
23
- * Overrides the context-level timeout if set.
24
- */
25
- timeout?: number;
26
- /** Allow additional config properties */
27
- [key: string]: unknown;
28
- }
29
- /**
30
- * Options for KV get operations.
31
- */
32
- export interface KVGetOptions {
33
- /**
34
- * Override the default prefix for this operation.
35
- */
36
- prefix?: string;
37
- /**
38
- * Return raw response instead of parsed JSON.
39
- * When true, data will be the raw response text.
40
- */
41
- raw?: boolean;
42
- /**
43
- * Custom timeout for this operation in milliseconds.
44
- */
45
- timeout?: number;
46
- /**
47
- * Custom abort signal for this operation.
48
- */
49
- signal?: AbortSignal;
50
- }
51
- /**
52
- * Options for KV put operations.
53
- */
54
- export interface KVPutOptions {
55
- /**
56
- * Override the default prefix for this operation.
57
- */
58
- prefix?: string;
59
- /**
60
- * Content type for the value.
61
- * Defaults to 'application/json' for objects.
62
- */
63
- contentType?: string;
64
- /**
65
- * Custom metadata headers to store with the value.
66
- */
67
- metadata?: Record<string, string>;
68
- /**
69
- * Custom timeout for this operation in milliseconds.
70
- */
71
- timeout?: number;
72
- /**
73
- * Custom abort signal for this operation.
74
- */
75
- signal?: AbortSignal;
76
- }
77
- /**
78
- * Options for KV list operations.
79
- */
80
- export interface KVListOptions {
81
- /**
82
- * Override the default prefix for this operation.
83
- */
84
- prefix?: string;
85
- /**
86
- * Additional path to append to the prefix.
87
- */
88
- path?: string;
89
- /**
90
- * Whether to remove the prefix from returned keys.
91
- * When true, keys are returned relative to the prefix.
92
- */
93
- removePrefix?: boolean;
94
- /**
95
- * Return raw response instead of parsed JSON.
96
- */
97
- raw?: boolean;
98
- /**
99
- * Custom timeout for this operation in milliseconds.
100
- */
101
- timeout?: number;
102
- /**
103
- * Custom abort signal for this operation.
104
- */
105
- signal?: AbortSignal;
106
- }
107
- /**
108
- * Options for KV delete operations.
109
- */
110
- export interface KVDeleteOptions {
111
- /**
112
- * Override the default prefix for this operation.
113
- */
114
- prefix?: string;
115
- /**
116
- * Custom timeout for this operation in milliseconds.
117
- */
118
- timeout?: number;
119
- /**
120
- * Custom abort signal for this operation.
121
- */
122
- signal?: AbortSignal;
123
- }
124
- /**
125
- * Options for KV head (metadata) operations.
126
- */
127
- export interface KVHeadOptions {
128
- /**
129
- * Override the default prefix for this operation.
130
- */
131
- prefix?: string;
132
- /**
133
- * Custom timeout for this operation in milliseconds.
134
- */
135
- timeout?: number;
136
- /**
137
- * Custom abort signal for this operation.
138
- */
139
- signal?: AbortSignal;
140
- }
141
- /**
142
- * Response headers from KV operations.
143
- */
144
- export interface KVResponseHeaders {
145
- /**
146
- * ETag for conditional requests.
147
- */
148
- etag?: string;
149
- /**
150
- * Content type of the stored value.
151
- */
152
- contentType?: string;
153
- /**
154
- * Last modification timestamp.
155
- */
156
- lastModified?: string;
157
- /**
158
- * Content length in bytes.
159
- */
160
- contentLength?: number;
161
- /**
162
- * Get a header value by name.
163
- * @param name - Header name (case-insensitive)
164
- */
165
- get(name: string): string | null;
166
- }
167
- /**
168
- * Response from KV get/put operations.
169
- *
170
- * @template T - Type of the data payload
171
- */
172
- export interface KVResponse<T = unknown> {
173
- /**
174
- * The data payload.
175
- * For get: the stored value.
176
- * For put: undefined.
177
- */
178
- data: T;
179
- /**
180
- * Response headers with metadata.
181
- */
182
- headers: KVResponseHeaders;
183
- }
184
- /**
185
- * Response from KV list operations.
186
- */
187
- export interface KVListResponse {
188
- /**
189
- * Array of keys matching the list criteria.
190
- */
191
- keys: string[];
192
- }
193
- /**
194
- * KV service action types.
195
- */
196
- export declare const KVAction: {
197
- readonly GET: "tinycloud.kv/get";
198
- readonly PUT: "tinycloud.kv/put";
199
- readonly LIST: "tinycloud.kv/list";
200
- readonly DELETE: "tinycloud.kv/del";
201
- readonly HEAD: "tinycloud.kv/metadata";
202
- };
203
- export type KVActionType = (typeof KVAction)[keyof typeof KVAction];
204
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kv/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yCAAyC;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC;;;;OAIG;IACH,IAAI,EAAE,CAAC,CAAC;IAER;;OAEG;IACH,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC"}
package/dist/kv/types.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * KV Service Types
3
- *
4
- * Type definitions for the KV (Key-Value) service operations.
5
- */
6
- /**
7
- * KV service action types.
8
- */
9
- export const KVAction = {
10
- GET: "tinycloud.kv/get",
11
- PUT: "tinycloud.kv/put",
12
- LIST: "tinycloud.kv/list",
13
- DELETE: "tinycloud.kv/del",
14
- HEAD: "tinycloud.kv/metadata",
15
- };
16
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/kv/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6NH;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,kBAAkB;IACvB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,uBAAuB;CACrB,CAAC"}
@@ -1,27 +0,0 @@
1
- import type { StorageQuotaInfo } from "../types";
2
- export interface QuotaConfig {
3
- /** Called when a storage quota error is detected (402/413) */
4
- onUpgradeRequired?: (info: StorageQuotaInfo) => void;
5
- }
6
- export interface QuotaStatus {
7
- /** Storage limit in bytes for this space */
8
- limitBytes: number;
9
- /** Storage used in bytes for this space */
10
- usedBytes?: number;
11
- /** Remaining storage in bytes */
12
- remainingBytes?: number;
13
- }
14
- export declare class TinyCloudQuota {
15
- private config;
16
- private quotaUrl;
17
- constructor(config?: QuotaConfig);
18
- /** Set the quota URL discovered from the /info endpoint */
19
- setQuotaUrl(url: string | null): void;
20
- /** Whether a quota service is available */
21
- get available(): boolean;
22
- /** Query quota status for a space from the quota URL */
23
- getQuota(spaceId: string): Promise<QuotaStatus | null>;
24
- /** Trigger the upgrade callback when a quota error is encountered */
25
- handleQuotaError(info: StorageQuotaInfo): void;
26
- }
27
- //# sourceMappingURL=TinyCloudQuota.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TinyCloudQuota.d.ts","sourceRoot":"","sources":["../../src/quota/TinyCloudQuota.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAuB;gBAE3B,MAAM,GAAE,WAAgB;IAIpC,2DAA2D;IAC3D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIrC,2CAA2C;IAC3C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,wDAAwD;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAc5D,qEAAqE;IACrE,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;CAG/C"}
@@ -1,31 +0,0 @@
1
- export class TinyCloudQuota {
2
- constructor(config = {}) {
3
- this.quotaUrl = null;
4
- this.config = config;
5
- }
6
- /** Set the quota URL discovered from the /info endpoint */
7
- setQuotaUrl(url) {
8
- this.quotaUrl = url;
9
- }
10
- /** Whether a quota service is available */
11
- get available() {
12
- return this.quotaUrl !== null;
13
- }
14
- /** Query quota status for a space from the quota URL */
15
- async getQuota(spaceId) {
16
- if (!this.quotaUrl)
17
- return null;
18
- const resp = await fetch(`${this.quotaUrl}/api/quota/${encodeURIComponent(spaceId)}`);
19
- if (!resp.ok)
20
- return null;
21
- const data = (await resp.json());
22
- return {
23
- limitBytes: data.storage_limit_bytes ?? 0,
24
- };
25
- }
26
- /** Trigger the upgrade callback when a quota error is encountered */
27
- handleQuotaError(info) {
28
- this.config.onUpgradeRequired?.(info);
29
- }
30
- }
31
- //# sourceMappingURL=TinyCloudQuota.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TinyCloudQuota.js","sourceRoot":"","sources":["../../src/quota/TinyCloudQuota.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,cAAc;IAIzB,YAAY,SAAsB,EAAE;QAF5B,aAAQ,GAAkB,IAAI,CAAC;QAGrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,2DAA2D;IAC3D,WAAW,CAAC,GAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACtB,CAAC;IAED,2CAA2C;IAC3C,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;IAChC,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,IAAI,GAAG,MAAM,KAAK,CACtB,GAAG,IAAI,CAAC,QAAQ,cAAc,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAC5D,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAqC,CAAC;QACrE,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,mBAAmB,IAAI,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,gBAAgB,CAAC,IAAsB;QACrC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- export { TinyCloudQuota } from "./TinyCloudQuota";
2
- export type { QuotaConfig, QuotaStatus } from "./TinyCloudQuota";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/quota/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { TinyCloudQuota } from "./TinyCloudQuota";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/quota/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * DatabaseHandle - Handle for operations on a specific named database.
3
- *
4
- * Delegates all operations to the parent SQLService with the database name.
5
- */
6
- import type { Result } from "../types";
7
- import type { IDatabaseHandle } from "./ISQLService";
8
- import type { SQLService } from "./SQLService";
9
- import type { SqlValue, SqlStatement, QueryResponse, ExecuteResponse, BatchResponse, QueryOptions, ExecuteOptions, BatchOptions } from "./types";
10
- export declare class DatabaseHandle implements IDatabaseHandle {
11
- private service;
12
- readonly name: string;
13
- constructor(service: SQLService, name: string);
14
- query<T = Record<string, unknown>>(sql: string, params?: SqlValue[], options?: QueryOptions): Promise<Result<QueryResponse<T>>>;
15
- execute(sql: string, params?: SqlValue[], options?: ExecuteOptions): Promise<Result<ExecuteResponse>>;
16
- batch(statements: SqlStatement[], options?: BatchOptions): Promise<Result<BatchResponse>>;
17
- executeStatement(name: string, params?: SqlValue[], options?: QueryOptions): Promise<Result<QueryResponse | ExecuteResponse>>;
18
- export(options?: QueryOptions): Promise<Result<Blob>>;
19
- }
20
- //# sourceMappingURL=DatabaseHandle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabaseHandle.d.ts","sourceRoot":"","sources":["../../src/sql/DatabaseHandle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,OAAO,CAAa;IAC5B,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;IAKvC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,QAAQ,EAAE,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAI9B,OAAO,CACX,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,QAAQ,EAAE,EACnB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAI7B,KAAK,CACT,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAI3B,gBAAgB,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,QAAQ,EAAE,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,eAAe,CAAC,CAAC;IAI7C,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAG5D"}
@@ -1,27 +0,0 @@
1
- /**
2
- * DatabaseHandle - Handle for operations on a specific named database.
3
- *
4
- * Delegates all operations to the parent SQLService with the database name.
5
- */
6
- export class DatabaseHandle {
7
- constructor(service, name) {
8
- this.service = service;
9
- this.name = name;
10
- }
11
- async query(sql, params, options) {
12
- return this.service.queryOnDb(this.name, sql, params, options);
13
- }
14
- async execute(sql, params, options) {
15
- return this.service.executeOnDb(this.name, sql, params, options);
16
- }
17
- async batch(statements, options) {
18
- return this.service.batchOnDb(this.name, statements, options);
19
- }
20
- async executeStatement(name, params, options) {
21
- return this.service.executeStatementOnDb(this.name, name, params, options);
22
- }
23
- async export(options) {
24
- return this.service.exportDb(this.name, options);
25
- }
26
- }
27
- //# sourceMappingURL=DatabaseHandle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabaseHandle.js","sourceRoot":"","sources":["../../src/sql/DatabaseHandle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,MAAM,OAAO,cAAc;IAIzB,YAAY,OAAmB,EAAE,IAAY;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAAW,EACX,MAAmB,EACnB,OAAsB;QAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAI,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,OAAO,CACX,GAAW,EACX,MAAmB,EACnB,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAA0B,EAC1B,OAAsB;QAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAAY,EACZ,MAAmB,EACnB,OAAsB;QAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -1,67 +0,0 @@
1
- /**
2
- * ISQLService - Interface for SQL service.
3
- *
4
- * Platform-agnostic interface for SQL database operations.
5
- */
6
- import type { IService, Result } from "../types";
7
- import type { SQLServiceConfig, QueryOptions, ExecuteOptions, BatchOptions, SqlValue, SqlStatement, QueryResponse, ExecuteResponse, BatchResponse } from "./types";
8
- /**
9
- * Database handle interface for operations on a specific named database.
10
- */
11
- export interface IDatabaseHandle {
12
- /** The database name */
13
- readonly name: string;
14
- /**
15
- * Execute a SQL query and return rows.
16
- */
17
- query<T = Record<string, unknown>>(sql: string, params?: SqlValue[], options?: QueryOptions): Promise<Result<QueryResponse<T>>>;
18
- /**
19
- * Execute a SQL statement and return change count.
20
- */
21
- execute(sql: string, params?: SqlValue[], options?: ExecuteOptions): Promise<Result<ExecuteResponse>>;
22
- /**
23
- * Execute multiple statements in a transaction.
24
- */
25
- batch(statements: SqlStatement[], options?: BatchOptions): Promise<Result<BatchResponse>>;
26
- /**
27
- * Execute a named prepared statement from delegation caveats.
28
- */
29
- executeStatement(name: string, params?: SqlValue[], options?: QueryOptions): Promise<Result<QueryResponse | ExecuteResponse>>;
30
- /**
31
- * Export the raw SQLite database file.
32
- */
33
- export(options?: QueryOptions): Promise<Result<Blob>>;
34
- }
35
- /**
36
- * SQL service interface.
37
- *
38
- * Provides SQL database operations with:
39
- * - Result type pattern (no throwing)
40
- * - Named database handles
41
- * - Configurable timeouts
42
- * - Abort signal support
43
- */
44
- export interface ISQLService extends IService {
45
- /**
46
- * Get a handle to a named database.
47
- * @param name - Database name (defaults to "default")
48
- */
49
- db(name?: string): IDatabaseHandle;
50
- /**
51
- * Shortcut: query the default database.
52
- */
53
- query<T = Record<string, unknown>>(sql: string, params?: SqlValue[], options?: QueryOptions): Promise<Result<QueryResponse<T>>>;
54
- /**
55
- * Shortcut: execute on the default database.
56
- */
57
- execute(sql: string, params?: SqlValue[], options?: ExecuteOptions): Promise<Result<ExecuteResponse>>;
58
- /**
59
- * Shortcut: batch on the default database.
60
- */
61
- batch(statements: SqlStatement[], options?: BatchOptions): Promise<Result<BatchResponse>>;
62
- /**
63
- * Service configuration.
64
- */
65
- readonly config: SQLServiceConfig;
66
- }
67
- //# sourceMappingURL=ISQLService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ISQLService.d.ts","sourceRoot":"","sources":["../../src/sql/ISQLService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,QAAQ,EAAE,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErC;;OAEG;IACH,OAAO,CACL,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,QAAQ,EAAE,EACnB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IAEpC;;OAEG;IACH,KAAK,CACH,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAElC;;OAEG;IACH,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,QAAQ,EAAE,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC;IAEpD;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C;;;OAGG;IACH,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAEnC;;OAEG;IACH,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,QAAQ,EAAE,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErC;;OAEG;IACH,OAAO,CACL,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,QAAQ,EAAE,EACnB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IAEpC;;OAEG;IACH,KAAK,CACH,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * ISQLService - Interface for SQL service.
3
- *
4
- * Platform-agnostic interface for SQL database operations.
5
- */
6
- export {};
7
- //# sourceMappingURL=ISQLService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ISQLService.js","sourceRoot":"","sources":["../../src/sql/ISQLService.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}