@opendatalabs/personal-server-ts-server 1.3.0 → 1.3.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.
- package/dist/storage/index-manager.d.ts +7 -0
- package/dist/storage/index-manager.d.ts.map +1 -1
- package/dist/storage/index-manager.js +5 -0
- package/dist/storage/index-manager.js.map +1 -1
- package/dist/storage/node-data-storage.d.ts.map +1 -1
- package/dist/storage/node-data-storage.js +8 -0
- package/dist/storage/node-data-storage.js.map +1 -1
- package/dist/ui/ps-lite-debug.js +25 -1
- package/package.json +3 -3
|
@@ -7,6 +7,13 @@ export interface IndexManager {
|
|
|
7
7
|
findLatestByScope(scope: string): IndexEntry | undefined;
|
|
8
8
|
countByScope(scope: string): number;
|
|
9
9
|
deleteByPath(path: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Delete a row by path ONLY if it is still unsynced (`data_point_id IS NULL`).
|
|
12
|
+
* Atomic guard against a TOCTOU: a row that became synced after the caller
|
|
13
|
+
* selected it must keep its metadata (the gateway/on-chain state references
|
|
14
|
+
* it). Returns true only when an unsynced row was actually removed.
|
|
15
|
+
*/
|
|
16
|
+
deleteUnsyncedByPath(path: string): boolean;
|
|
10
17
|
listDistinctScopes(options?: {
|
|
11
18
|
scopePrefix?: string;
|
|
12
19
|
limit?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-manager.d.ts","sourceRoot":"","sources":["../../src/storage/index-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,YAAY,EACb,MAAM,qDAAqD,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAAC;IACzC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACjD,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,EAAE,CAAC;IACrD,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACzD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG;QAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACtE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACrD,sEAAsE;IACtE,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/D;;;;OAIG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,EAAE,CAAC;IACzD;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACpD,uDAAuD;IACvD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9D;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACtD,4EAA4E;IAC5E,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,KAAK,IAAI,IAAI,CAAC;CACf;AA8BD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"index-manager.d.ts","sourceRoot":"","sources":["../../src/storage/index-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,YAAY,EACb,MAAM,qDAAqD,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAAC;IACzC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACjD,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,EAAE,CAAC;IACrD,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACzD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG;QAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACtE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACrD,sEAAsE;IACtE,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/D;;;;OAIG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,EAAE,CAAC;IACzD;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACpD,uDAAuD;IACvD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9D;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACtD,4EAA4E;IAC5E,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,KAAK,IAAI,IAAI,CAAC;CACf;AA8BD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,YAAY,CAkQtE"}
|
|
@@ -20,6 +20,7 @@ export function createIndexManager(db) {
|
|
|
20
20
|
const findLatestByScopeStmt = db.prepare("SELECT * FROM data_files WHERE scope = @scope ORDER BY collected_at DESC LIMIT 1");
|
|
21
21
|
const countByScopeStmt = db.prepare("SELECT COUNT(*) AS cnt FROM data_files WHERE scope = @scope");
|
|
22
22
|
const deleteByPathStmt = db.prepare("DELETE FROM data_files WHERE path = @path");
|
|
23
|
+
const deleteUnsyncedByPathStmt = db.prepare("DELETE FROM data_files WHERE path = @path AND data_point_id IS NULL");
|
|
23
24
|
const findClosestByScopeStmt = db.prepare("SELECT * FROM data_files WHERE scope = @scope AND collected_at <= @at ORDER BY collected_at DESC LIMIT 1");
|
|
24
25
|
const findByFileIdStmt = db.prepare("SELECT * FROM data_files WHERE file_id = @file_id");
|
|
25
26
|
const findByDataPointIdStmt = db.prepare("SELECT * FROM data_files WHERE data_point_id = @data_point_id");
|
|
@@ -87,6 +88,10 @@ export function createIndexManager(db) {
|
|
|
87
88
|
const result = deleteByPathStmt.run({ path });
|
|
88
89
|
return result.changes > 0;
|
|
89
90
|
},
|
|
91
|
+
deleteUnsyncedByPath(path) {
|
|
92
|
+
const result = deleteUnsyncedByPathStmt.run({ path });
|
|
93
|
+
return result.changes > 0;
|
|
94
|
+
},
|
|
90
95
|
listDistinctScopes(options) {
|
|
91
96
|
const hasPrefix = options?.scopePrefix !== undefined && options.scopePrefix !== "";
|
|
92
97
|
const prefix = hasPrefix ? options.scopePrefix + "%" : "%";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-manager.js","sourceRoot":"","sources":["../../src/storage/index-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index-manager.js","sourceRoot":"","sources":["../../src/storage/index-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-data-storage.d.ts","sourceRoot":"","sources":["../../src/storage/node-data-storage.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,6CAA6C,CAAC;AAGrD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,uBAAuB,CAAC;CAC3C;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,mBAAmB,GACxB,eAAe,
|
|
1
|
+
{"version":3,"file":"node-data-storage.d.ts","sourceRoot":"","sources":["../../src/storage/node-data-storage.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,6CAA6C,CAAC;AAGrD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,uBAAuB,CAAC;CAC3C;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,mBAAmB,GACxB,eAAe,CA4GjB"}
|
|
@@ -79,6 +79,14 @@ export function createNodeDataStorage(deps) {
|
|
|
79
79
|
deps.indexManager.deleteByPath(entry.path);
|
|
80
80
|
return true;
|
|
81
81
|
},
|
|
82
|
+
dropUnsyncedEntry(path) {
|
|
83
|
+
// Index row only — the payload file is already gone (that is why the
|
|
84
|
+
// caller is dropping it). No blob delete. Guarded to unsynced rows: if
|
|
85
|
+
// the row raced to synced after selection, its metadata is preserved
|
|
86
|
+
// and this returns false, so the caller surfaces the real error instead
|
|
87
|
+
// of silently discarding registered data.
|
|
88
|
+
return deps.indexManager.deleteUnsyncedByPath(path);
|
|
89
|
+
},
|
|
82
90
|
};
|
|
83
91
|
}
|
|
84
92
|
//# sourceMappingURL=node-data-storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-data-storage.js","sourceRoot":"","sources":["../../src/storage/node-data-storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node-data-storage.js","sourceRoot":"","sources":["../../src/storage/node-data-storage.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/ps-lite-debug.js
CHANGED
|
@@ -125445,9 +125445,30 @@ async function handleMcpRoute(input) {
|
|
|
125445
125445
|
}
|
|
125446
125446
|
|
|
125447
125447
|
// ../core/dist/sync/workers/upload.js
|
|
125448
|
+
var OrphanedEntryError = class extends Error {
|
|
125449
|
+
constructor(path) {
|
|
125450
|
+
super(`Orphaned index entry dropped (payload missing): ${path}`);
|
|
125451
|
+
this.name = "OrphanedEntryError";
|
|
125452
|
+
}
|
|
125453
|
+
};
|
|
125454
|
+
function isMissingPayloadError(err2) {
|
|
125455
|
+
return err2 instanceof Error && err2.code === "ENOENT";
|
|
125456
|
+
}
|
|
125448
125457
|
async function uploadOne(deps, entry) {
|
|
125449
125458
|
const { storage, storageAdapter, gateway, signer, masterKey, serverOwner, logger } = deps;
|
|
125450
|
-
|
|
125459
|
+
let envelope;
|
|
125460
|
+
try {
|
|
125461
|
+
envelope = await storage.readEnvelope(entry.scope, entry.collectedAt);
|
|
125462
|
+
} catch (err2) {
|
|
125463
|
+
if (isMissingPayloadError(err2) && storage.dropUnsyncedEntry) {
|
|
125464
|
+
const dropped = await storage.dropUnsyncedEntry(entry.path);
|
|
125465
|
+
if (dropped) {
|
|
125466
|
+
logger.warn({ path: entry.path, scope: entry.scope }, "Dropped orphaned index entry: local payload file is missing");
|
|
125467
|
+
throw new OrphanedEntryError(entry.path);
|
|
125468
|
+
}
|
|
125469
|
+
}
|
|
125470
|
+
throw err2;
|
|
125471
|
+
}
|
|
125451
125472
|
const scopeKey = deriveScopeKey(masterKey, entry.scope);
|
|
125452
125473
|
const scopeKeyHex = uint8ToHex(scopeKey);
|
|
125453
125474
|
const plaintext = new TextEncoder().encode(JSON.stringify(envelope));
|
|
@@ -125536,6 +125557,9 @@ async function uploadAll(deps, options) {
|
|
|
125536
125557
|
const result = await uploadOne(deps, entry);
|
|
125537
125558
|
results.push(result);
|
|
125538
125559
|
} catch (err2) {
|
|
125560
|
+
if (err2 instanceof OrphanedEntryError) {
|
|
125561
|
+
continue;
|
|
125562
|
+
}
|
|
125539
125563
|
const error51 = err2;
|
|
125540
125564
|
options?.onError?.(entry, error51);
|
|
125541
125565
|
deps.logger.error({ path: entry.path, scope: entry.scope, error: error51.message }, "Failed to upload entry");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendatalabs/personal-server-ts-server",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Hono HTTP server for the Vana Personal Server — routes, middleware, composition root",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@hono/node-server": "^1.19.13",
|
|
47
|
-
"@opendatalabs/personal-server-ts-core": "1.3.
|
|
48
|
-
"@opendatalabs/personal-server-ts-lite": "1.3.
|
|
47
|
+
"@opendatalabs/personal-server-ts-core": "1.3.1",
|
|
48
|
+
"@opendatalabs/personal-server-ts-lite": "1.3.1",
|
|
49
49
|
"@opendatalabs/vana-sdk": "3.13.0",
|
|
50
50
|
"better-sqlite3": "^12.11.1",
|
|
51
51
|
"hono": "^4.12.27",
|