@workglow/storage 0.0.115 → 0.0.116
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/browser.js +224 -1
- package/dist/browser.js.map +9 -4
- package/dist/bun.js +620 -7
- package/dist/bun.js.map +11 -5
- package/dist/common-server.d.ts +1 -0
- package/dist/common-server.d.ts.map +1 -1
- package/dist/common.d.ts +5 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/kv/TelemetryKvStorage.d.ts +36 -0
- package/dist/kv/TelemetryKvStorage.d.ts.map +1 -0
- package/dist/node.js +621 -7
- package/dist/node.js.map +11 -5
- package/dist/queue/TelemetryQueueStorage.d.ts +31 -0
- package/dist/queue/TelemetryQueueStorage.d.ts.map +1 -0
- package/dist/tabular/SqliteTabularStorage.d.ts +2 -0
- package/dist/tabular/SqliteTabularStorage.d.ts.map +1 -1
- package/dist/tabular/TelemetryTabularStorage.d.ts +39 -0
- package/dist/tabular/TelemetryTabularStorage.d.ts.map +1 -0
- package/dist/util/traced.d.ts +10 -0
- package/dist/util/traced.d.ts.map +1 -0
- package/dist/vector/IVectorStorage.d.ts +2 -2
- package/dist/vector/IVectorStorage.d.ts.map +1 -1
- package/dist/vector/SqliteAiVectorStorage.d.ts +106 -0
- package/dist/vector/SqliteAiVectorStorage.d.ts.map +1 -0
- package/dist/vector/TelemetryVectorStorage.d.ts +25 -0
- package/dist/vector/TelemetryVectorStorage.d.ts.map +1 -0
- package/package.json +10 -6
package/dist/browser.js
CHANGED
|
@@ -1138,6 +1138,102 @@ function resolveRepositoryFromRegistry(id, format, registry) {
|
|
|
1138
1138
|
return repo;
|
|
1139
1139
|
}
|
|
1140
1140
|
registerInputResolver("storage:tabular", resolveRepositoryFromRegistry);
|
|
1141
|
+
// src/util/traced.ts
|
|
1142
|
+
import { getTelemetryProvider, SpanStatusCode } from "@workglow/util";
|
|
1143
|
+
async function traced(spanName, storageName, fn) {
|
|
1144
|
+
const telemetry = getTelemetryProvider();
|
|
1145
|
+
if (!telemetry.isEnabled)
|
|
1146
|
+
return fn();
|
|
1147
|
+
const span = telemetry.startSpan(spanName, {
|
|
1148
|
+
attributes: { "workglow.storage.name": storageName }
|
|
1149
|
+
});
|
|
1150
|
+
try {
|
|
1151
|
+
const result = await fn();
|
|
1152
|
+
span.setStatus(SpanStatusCode.OK);
|
|
1153
|
+
return result;
|
|
1154
|
+
} catch (err) {
|
|
1155
|
+
span.setStatus(SpanStatusCode.ERROR, err instanceof Error ? err.message : String(err));
|
|
1156
|
+
throw err;
|
|
1157
|
+
} finally {
|
|
1158
|
+
span.end();
|
|
1159
|
+
}
|
|
1160
|
+
}
|
|
1161
|
+
|
|
1162
|
+
// src/tabular/TelemetryTabularStorage.ts
|
|
1163
|
+
class TelemetryTabularStorage {
|
|
1164
|
+
storageName;
|
|
1165
|
+
inner;
|
|
1166
|
+
constructor(storageName, inner) {
|
|
1167
|
+
this.storageName = storageName;
|
|
1168
|
+
this.inner = inner;
|
|
1169
|
+
}
|
|
1170
|
+
put(value) {
|
|
1171
|
+
return traced("workglow.storage.tabular.put", this.storageName, () => this.inner.put(value));
|
|
1172
|
+
}
|
|
1173
|
+
putBulk(values) {
|
|
1174
|
+
return traced("workglow.storage.tabular.putBulk", this.storageName, () => this.inner.putBulk(values));
|
|
1175
|
+
}
|
|
1176
|
+
get(key) {
|
|
1177
|
+
return traced("workglow.storage.tabular.get", this.storageName, () => this.inner.get(key));
|
|
1178
|
+
}
|
|
1179
|
+
delete(key) {
|
|
1180
|
+
return traced("workglow.storage.tabular.delete", this.storageName, () => this.inner.delete(key));
|
|
1181
|
+
}
|
|
1182
|
+
getAll(options) {
|
|
1183
|
+
return traced("workglow.storage.tabular.getAll", this.storageName, () => this.inner.getAll(options));
|
|
1184
|
+
}
|
|
1185
|
+
deleteAll() {
|
|
1186
|
+
return traced("workglow.storage.tabular.deleteAll", this.storageName, () => this.inner.deleteAll());
|
|
1187
|
+
}
|
|
1188
|
+
size() {
|
|
1189
|
+
return traced("workglow.storage.tabular.size", this.storageName, () => this.inner.size());
|
|
1190
|
+
}
|
|
1191
|
+
deleteSearch(criteria) {
|
|
1192
|
+
return traced("workglow.storage.tabular.deleteSearch", this.storageName, () => this.inner.deleteSearch(criteria));
|
|
1193
|
+
}
|
|
1194
|
+
getBulk(offset, limit) {
|
|
1195
|
+
return traced("workglow.storage.tabular.getBulk", this.storageName, () => this.inner.getBulk(offset, limit));
|
|
1196
|
+
}
|
|
1197
|
+
query(criteria, options) {
|
|
1198
|
+
return traced("workglow.storage.tabular.query", this.storageName, () => this.inner.query(criteria, options));
|
|
1199
|
+
}
|
|
1200
|
+
records(pageSize) {
|
|
1201
|
+
return this.inner.records(pageSize);
|
|
1202
|
+
}
|
|
1203
|
+
pages(pageSize) {
|
|
1204
|
+
return this.inner.pages(pageSize);
|
|
1205
|
+
}
|
|
1206
|
+
subscribeToChanges(callback, options) {
|
|
1207
|
+
return this.inner.subscribeToChanges(callback, options);
|
|
1208
|
+
}
|
|
1209
|
+
setupDatabase() {
|
|
1210
|
+
return this.inner.setupDatabase();
|
|
1211
|
+
}
|
|
1212
|
+
destroy() {
|
|
1213
|
+
return this.inner.destroy();
|
|
1214
|
+
}
|
|
1215
|
+
[Symbol.dispose]() {
|
|
1216
|
+
return this.inner[Symbol.dispose]();
|
|
1217
|
+
}
|
|
1218
|
+
[Symbol.asyncDispose]() {
|
|
1219
|
+
return this.inner[Symbol.asyncDispose]();
|
|
1220
|
+
}
|
|
1221
|
+
on(name, fn) {
|
|
1222
|
+
this.inner.on(name, fn);
|
|
1223
|
+
}
|
|
1224
|
+
off(name, fn) {
|
|
1225
|
+
this.inner.off(name, fn);
|
|
1226
|
+
}
|
|
1227
|
+
emit(name, ...args) {
|
|
1228
|
+
this.inner.emit(name, ...args);
|
|
1229
|
+
}
|
|
1230
|
+
once(name, fn) {
|
|
1231
|
+
this.inner.once(name, fn);
|
|
1232
|
+
}
|
|
1233
|
+
waitOn(name) {
|
|
1234
|
+
return this.inner.waitOn(name);
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1141
1237
|
// src/kv/IKvStorage.ts
|
|
1142
1238
|
var DefaultKeyValueSchema = {
|
|
1143
1239
|
type: "object",
|
|
@@ -1269,6 +1365,54 @@ class InMemoryKvStorage extends KvViaTabularStorage {
|
|
|
1269
1365
|
this.tabularRepository = new InMemoryTabularStorage(DefaultKeyValueSchema, DefaultKeyValueKey);
|
|
1270
1366
|
}
|
|
1271
1367
|
}
|
|
1368
|
+
// src/kv/TelemetryKvStorage.ts
|
|
1369
|
+
class TelemetryKvStorage {
|
|
1370
|
+
storageName;
|
|
1371
|
+
inner;
|
|
1372
|
+
constructor(storageName, inner) {
|
|
1373
|
+
this.storageName = storageName;
|
|
1374
|
+
this.inner = inner;
|
|
1375
|
+
}
|
|
1376
|
+
put(key, value) {
|
|
1377
|
+
return traced("workglow.storage.kv.put", this.storageName, () => this.inner.put(key, value));
|
|
1378
|
+
}
|
|
1379
|
+
putBulk(items) {
|
|
1380
|
+
return traced("workglow.storage.kv.putBulk", this.storageName, () => this.inner.putBulk(items));
|
|
1381
|
+
}
|
|
1382
|
+
get(key) {
|
|
1383
|
+
return traced("workglow.storage.kv.get", this.storageName, () => this.inner.get(key));
|
|
1384
|
+
}
|
|
1385
|
+
delete(key) {
|
|
1386
|
+
return traced("workglow.storage.kv.delete", this.storageName, () => this.inner.delete(key));
|
|
1387
|
+
}
|
|
1388
|
+
getAll() {
|
|
1389
|
+
return traced("workglow.storage.kv.getAll", this.storageName, () => this.inner.getAll());
|
|
1390
|
+
}
|
|
1391
|
+
deleteAll() {
|
|
1392
|
+
return traced("workglow.storage.kv.deleteAll", this.storageName, () => this.inner.deleteAll());
|
|
1393
|
+
}
|
|
1394
|
+
size() {
|
|
1395
|
+
return traced("workglow.storage.kv.size", this.storageName, () => this.inner.size());
|
|
1396
|
+
}
|
|
1397
|
+
getObjectAsIdString(object) {
|
|
1398
|
+
return this.inner.getObjectAsIdString(object);
|
|
1399
|
+
}
|
|
1400
|
+
on(name, fn) {
|
|
1401
|
+
this.inner.on(name, fn);
|
|
1402
|
+
}
|
|
1403
|
+
off(name, fn) {
|
|
1404
|
+
this.inner.off(name, fn);
|
|
1405
|
+
}
|
|
1406
|
+
emit(name, ...args) {
|
|
1407
|
+
this.inner.emit(name, ...args);
|
|
1408
|
+
}
|
|
1409
|
+
once(name, fn) {
|
|
1410
|
+
this.inner.once(name, fn);
|
|
1411
|
+
}
|
|
1412
|
+
waitOn(name) {
|
|
1413
|
+
return this.inner.waitOn(name);
|
|
1414
|
+
}
|
|
1415
|
+
}
|
|
1272
1416
|
// src/queue/InMemoryQueueStorage.ts
|
|
1273
1417
|
import {
|
|
1274
1418
|
createServiceToken as createServiceToken9,
|
|
@@ -1480,6 +1624,60 @@ class InMemoryQueueStorage {
|
|
|
1480
1624
|
return this.events.subscribe("change", filteredCallback);
|
|
1481
1625
|
}
|
|
1482
1626
|
}
|
|
1627
|
+
// src/queue/TelemetryQueueStorage.ts
|
|
1628
|
+
class TelemetryQueueStorage {
|
|
1629
|
+
storageName;
|
|
1630
|
+
inner;
|
|
1631
|
+
constructor(storageName, inner) {
|
|
1632
|
+
this.storageName = storageName;
|
|
1633
|
+
this.inner = inner;
|
|
1634
|
+
}
|
|
1635
|
+
add(job) {
|
|
1636
|
+
return traced("workglow.storage.queue.add", this.storageName, () => this.inner.add(job));
|
|
1637
|
+
}
|
|
1638
|
+
get(id) {
|
|
1639
|
+
return traced("workglow.storage.queue.get", this.storageName, () => this.inner.get(id));
|
|
1640
|
+
}
|
|
1641
|
+
next(workerId) {
|
|
1642
|
+
return traced("workglow.storage.queue.next", this.storageName, () => this.inner.next(workerId));
|
|
1643
|
+
}
|
|
1644
|
+
peek(status, num) {
|
|
1645
|
+
return traced("workglow.storage.queue.peek", this.storageName, () => this.inner.peek(status, num));
|
|
1646
|
+
}
|
|
1647
|
+
size(status) {
|
|
1648
|
+
return traced("workglow.storage.queue.size", this.storageName, () => this.inner.size(status));
|
|
1649
|
+
}
|
|
1650
|
+
complete(job) {
|
|
1651
|
+
return traced("workglow.storage.queue.complete", this.storageName, () => this.inner.complete(job));
|
|
1652
|
+
}
|
|
1653
|
+
deleteAll() {
|
|
1654
|
+
return traced("workglow.storage.queue.deleteAll", this.storageName, () => this.inner.deleteAll());
|
|
1655
|
+
}
|
|
1656
|
+
outputForInput(input) {
|
|
1657
|
+
return traced("workglow.storage.queue.outputForInput", this.storageName, () => this.inner.outputForInput(input));
|
|
1658
|
+
}
|
|
1659
|
+
abort(id) {
|
|
1660
|
+
return traced("workglow.storage.queue.abort", this.storageName, () => this.inner.abort(id));
|
|
1661
|
+
}
|
|
1662
|
+
getByRunId(runId) {
|
|
1663
|
+
return traced("workglow.storage.queue.getByRunId", this.storageName, () => this.inner.getByRunId(runId));
|
|
1664
|
+
}
|
|
1665
|
+
saveProgress(id, progress, message, details) {
|
|
1666
|
+
return traced("workglow.storage.queue.saveProgress", this.storageName, () => this.inner.saveProgress(id, progress, message, details));
|
|
1667
|
+
}
|
|
1668
|
+
delete(id) {
|
|
1669
|
+
return traced("workglow.storage.queue.delete", this.storageName, () => this.inner.delete(id));
|
|
1670
|
+
}
|
|
1671
|
+
deleteJobsByStatusAndAge(status, olderThanMs) {
|
|
1672
|
+
return traced("workglow.storage.queue.deleteJobsByStatusAndAge", this.storageName, () => this.inner.deleteJobsByStatusAndAge(status, olderThanMs));
|
|
1673
|
+
}
|
|
1674
|
+
setupDatabase() {
|
|
1675
|
+
return this.inner.setupDatabase();
|
|
1676
|
+
}
|
|
1677
|
+
subscribeToChanges(callback, options) {
|
|
1678
|
+
return this.inner.subscribeToChanges(callback, options);
|
|
1679
|
+
}
|
|
1680
|
+
}
|
|
1483
1681
|
// src/queue-limiter/InMemoryRateLimiterStorage.ts
|
|
1484
1682
|
import { createServiceToken as createServiceToken10, sleep as sleep2 } from "@workglow/util";
|
|
1485
1683
|
var IN_MEMORY_RATE_LIMITER_STORAGE = createServiceToken10("ratelimiter.storage.inMemory");
|
|
@@ -1933,6 +2131,26 @@ class InMemoryVectorStorage extends InMemoryTabularStorage {
|
|
|
1933
2131
|
return topResults;
|
|
1934
2132
|
}
|
|
1935
2133
|
}
|
|
2134
|
+
// src/vector/TelemetryVectorStorage.ts
|
|
2135
|
+
class TelemetryVectorStorage extends TelemetryTabularStorage {
|
|
2136
|
+
vectorInner;
|
|
2137
|
+
constructor(storageName, inner) {
|
|
2138
|
+
super(storageName, inner);
|
|
2139
|
+
this.vectorInner = inner;
|
|
2140
|
+
}
|
|
2141
|
+
getVectorDimensions() {
|
|
2142
|
+
return this.vectorInner.getVectorDimensions();
|
|
2143
|
+
}
|
|
2144
|
+
similaritySearch(query, options) {
|
|
2145
|
+
return traced("workglow.storage.vector.similaritySearch", this.storageName, () => this.vectorInner.similaritySearch(query, options));
|
|
2146
|
+
}
|
|
2147
|
+
hybridSearch(query, options) {
|
|
2148
|
+
if (!this.vectorInner.hybridSearch) {
|
|
2149
|
+
throw new Error("hybridSearch is not supported by the underlying storage implementation");
|
|
2150
|
+
}
|
|
2151
|
+
return traced("workglow.storage.vector.hybridSearch", this.storageName, () => this.vectorInner.hybridSearch(query, options));
|
|
2152
|
+
}
|
|
2153
|
+
}
|
|
1936
2154
|
// src/credentials/EncryptedKvCredentialStore.ts
|
|
1937
2155
|
import { decrypt, encrypt } from "@workglow/util";
|
|
1938
2156
|
|
|
@@ -5203,6 +5421,7 @@ class IndexedDbVectorStorage extends IndexedDbTabularStorage {
|
|
|
5203
5421
|
}
|
|
5204
5422
|
}
|
|
5205
5423
|
export {
|
|
5424
|
+
traced,
|
|
5206
5425
|
registerTabularRepository,
|
|
5207
5426
|
isSearchCondition,
|
|
5208
5427
|
getVectorProperty,
|
|
@@ -5211,6 +5430,10 @@ export {
|
|
|
5211
5430
|
getGlobalTabularRepositories,
|
|
5212
5431
|
ensureIndexedDbTable,
|
|
5213
5432
|
dropIndexedDbTable,
|
|
5433
|
+
TelemetryVectorStorage,
|
|
5434
|
+
TelemetryTabularStorage,
|
|
5435
|
+
TelemetryQueueStorage,
|
|
5436
|
+
TelemetryKvStorage,
|
|
5214
5437
|
TABULAR_REPOSITORY,
|
|
5215
5438
|
TABULAR_REPOSITORIES,
|
|
5216
5439
|
SupabaseTabularStorage,
|
|
@@ -5266,4 +5489,4 @@ export {
|
|
|
5266
5489
|
BaseTabularStorage
|
|
5267
5490
|
};
|
|
5268
5491
|
|
|
5269
|
-
//# debugId=
|
|
5492
|
+
//# debugId=73D6D962906C686A64756E2164756E21
|