@workglow/storage 0.1.2 → 0.2.1

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 (31) hide show
  1. package/README.md +1 -16
  2. package/dist/browser.js +80 -19
  3. package/dist/browser.js.map +11 -10
  4. package/dist/bun.js +52 -15
  5. package/dist/bun.js.map +14 -13
  6. package/dist/common.d.ts +1 -0
  7. package/dist/common.d.ts.map +1 -1
  8. package/dist/credentials/LazyEncryptedCredentialStore.d.ts +63 -0
  9. package/dist/credentials/LazyEncryptedCredentialStore.d.ts.map +1 -0
  10. package/dist/node.js +52 -15
  11. package/dist/node.js.map +14 -13
  12. package/dist/queue/InMemoryQueueStorage.d.ts.map +1 -1
  13. package/dist/tabular/BaseTabularStorage.d.ts +2 -2
  14. package/dist/tabular/BaseTabularStorage.d.ts.map +1 -1
  15. package/dist/tabular/PostgresTabularStorage.d.ts.map +1 -1
  16. package/dist/tabular/SharedInMemoryTabularStorage.d.ts +2 -0
  17. package/dist/tabular/SharedInMemoryTabularStorage.d.ts.map +1 -1
  18. package/dist/tabular/StorageError.d.ts +0 -2
  19. package/dist/tabular/StorageError.d.ts.map +1 -1
  20. package/dist/tabular/TabularStorageRegistry.d.ts.map +1 -1
  21. package/dist/vector/InMemoryVectorStorage.d.ts +1 -1
  22. package/dist/vector/InMemoryVectorStorage.d.ts.map +1 -1
  23. package/dist/vector/IndexedDbVectorStorage.d.ts +1 -1
  24. package/dist/vector/IndexedDbVectorStorage.d.ts.map +1 -1
  25. package/dist/vector/PostgresVectorStorage.d.ts +1 -1
  26. package/dist/vector/PostgresVectorStorage.d.ts.map +1 -1
  27. package/dist/vector/SqliteAiVectorStorage.d.ts +1 -1
  28. package/dist/vector/SqliteAiVectorStorage.d.ts.map +1 -1
  29. package/dist/vector/SqliteVectorStorage.d.ts +1 -1
  30. package/dist/vector/SqliteVectorStorage.d.ts.map +1 -1
  31. package/package.json +14 -17
package/dist/bun.js CHANGED
@@ -14,16 +14,10 @@ import { BaseError } from "@workglow/util";
14
14
 
15
15
  class StorageError extends BaseError {
16
16
  static type = "StorageError";
17
- constructor(message) {
18
- super(message);
19
- }
20
17
  }
21
18
 
22
19
  class StorageValidationError extends StorageError {
23
20
  static type = "StorageValidationError";
24
- constructor(message) {
25
- super(message);
26
- }
27
21
  }
28
22
 
29
23
  class StorageEmptyCriteriaError extends StorageValidationError {
@@ -124,14 +118,10 @@ class BaseTabularStorage {
124
118
  }
125
119
  }
126
120
  if (autoGeneratedKeys.length > 1) {
127
- throw new Error(`Multiple auto-generated keys detected: ${autoGeneratedKeys.join(", ")}. ` + `Only the first primary key column can be auto-generated.`);
121
+ throw new Error(`Multiple auto-generated keys detected: ${autoGeneratedKeys.join(", ")}. ` + `At most one primary key column can be auto-generated.`);
128
122
  }
129
123
  if (autoGeneratedKeys.length > 0) {
130
124
  const autoGenKeyName = autoGeneratedKeys[0];
131
- const firstPrimaryKey = String(primaryKeyNames[0]);
132
- if (autoGenKeyName !== firstPrimaryKey) {
133
- throw new Error(`Auto-generated key "${autoGenKeyName}" must be the first primary key column. ` + `Current first primary key is "${firstPrimaryKey}".`);
134
- }
135
125
  this.autoGeneratedKeyName = autoGenKeyName;
136
126
  this.autoGeneratedKeyStrategy = this.determineGenerationStrategy(autoGenKeyName, schema.properties[autoGenKeyName]);
137
127
  }
@@ -1117,9 +1107,7 @@ import {
1117
1107
  registerInputResolver
1118
1108
  } from "@workglow/util";
1119
1109
  var TABULAR_REPOSITORIES = createServiceToken5("storage.tabular.repositories");
1120
- if (!globalServiceRegistry.has(TABULAR_REPOSITORIES)) {
1121
- globalServiceRegistry.register(TABULAR_REPOSITORIES, () => new Map, true);
1122
- }
1110
+ globalServiceRegistry.registerIfAbsent(TABULAR_REPOSITORIES, () => new Map, true);
1123
1111
  function getGlobalTabularRepositories() {
1124
1112
  return globalServiceRegistry.get(TABULAR_REPOSITORIES);
1125
1113
  }
@@ -2246,6 +2234,54 @@ class EncryptedKvCredentialStore {
2246
2234
  await this.kv.deleteAll();
2247
2235
  }
2248
2236
  }
2237
+ // src/credentials/LazyEncryptedCredentialStore.ts
2238
+ class LazyEncryptedCredentialStore {
2239
+ kv;
2240
+ inner;
2241
+ constructor(kv) {
2242
+ this.kv = kv;
2243
+ }
2244
+ get isUnlocked() {
2245
+ return this.inner !== undefined;
2246
+ }
2247
+ unlock(passphrase) {
2248
+ this.inner = new EncryptedKvCredentialStore(this.kv, passphrase);
2249
+ }
2250
+ lock() {
2251
+ this.inner = undefined;
2252
+ }
2253
+ async get(key) {
2254
+ if (!this.inner)
2255
+ return;
2256
+ return this.inner.get(key);
2257
+ }
2258
+ async put(key, value, options) {
2259
+ if (!this.inner) {
2260
+ throw new Error("Credential store is locked. Call unlock() before storing credentials.");
2261
+ }
2262
+ return this.inner.put(key, value, options);
2263
+ }
2264
+ async delete(key) {
2265
+ if (!this.inner)
2266
+ return false;
2267
+ return this.inner.delete(key);
2268
+ }
2269
+ async has(key) {
2270
+ if (!this.inner)
2271
+ return false;
2272
+ return this.inner.has(key);
2273
+ }
2274
+ async keys() {
2275
+ if (!this.inner)
2276
+ return [];
2277
+ return this.inner.keys();
2278
+ }
2279
+ async deleteAll() {
2280
+ if (!this.inner)
2281
+ return;
2282
+ return this.inner.deleteAll();
2283
+ }
2284
+ }
2249
2285
  // src/tabular/FsFolderTabularStorage.ts
2250
2286
  import { createServiceToken as createServiceToken12, getLogger as getLogger3, makeFingerprint as makeFingerprint5, sleep as sleep3, uuid4 as uuid43 } from "@workglow/util";
2251
2287
  import { mkdir, readdir, readFile, rm, writeFile } from "fs/promises";
@@ -8291,6 +8327,7 @@ export {
8291
8327
  POSTGRES_KV_REPOSITORY,
8292
8328
  MEMORY_TABULAR_REPOSITORY,
8293
8329
  MEMORY_KV_REPOSITORY,
8330
+ LazyEncryptedCredentialStore,
8294
8331
  KvViaTabularStorage,
8295
8332
  KvStorage,
8296
8333
  KV_REPOSITORY,
@@ -8329,4 +8366,4 @@ export {
8329
8366
  BaseTabularStorage
8330
8367
  };
8331
8368
 
8332
- //# debugId=56FE5AB03F368A1564756E2164756E21
8369
+ //# debugId=58A5C10FFC88774F64756E2164756E21