@push.rocks/smartdb 2.0.0 → 2.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/.smartconfig.json +11 -0
- package/dist_rust/rustdb_linux_amd64 +0 -0
- package/dist_rust/rustdb_linux_arm64 +0 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/index.d.ts +2 -0
- package/dist_ts/index.js +3 -1
- package/dist_ts/ts_local/classes.localsmartdb.js +7 -4
- package/dist_ts/ts_migration/classes.storagemigrator.d.ts +24 -0
- package/dist_ts/ts_migration/classes.storagemigrator.js +75 -0
- package/dist_ts/ts_migration/index.d.ts +1 -0
- package/dist_ts/ts_migration/index.js +2 -0
- package/dist_ts/ts_migration/migrators/v0_to_v1.d.ts +9 -0
- package/dist_ts/ts_migration/migrators/v0_to_v1.js +225 -0
- package/dist_ts/ts_smartdb/index.d.ts +1 -0
- package/dist_ts/ts_smartdb/rust-db-bridge.d.ts +80 -1
- package/dist_ts/ts_smartdb/rust-db-bridge.js +17 -2
- package/dist_ts/ts_smartdb/server/SmartdbServer.d.ts +31 -0
- package/dist_ts/ts_smartdb/server/SmartdbServer.js +47 -5
- package/dist_ts_debugserver/bundled.d.ts +4 -0
- package/dist_ts_debugserver/bundled.js +12 -0
- package/dist_ts_debugserver/classes.debugserver.d.ts +36 -0
- package/dist_ts_debugserver/classes.debugserver.js +95 -0
- package/dist_ts_debugserver/index.d.ts +2 -0
- package/dist_ts_debugserver/index.js +2 -0
- package/dist_ts_debugserver/plugins.d.ts +2 -0
- package/dist_ts_debugserver/plugins.js +3 -0
- package/dist_ts_debugui/index.d.ts +2 -0
- package/dist_ts_debugui/index.js +2 -0
- package/dist_ts_debugui/plugins.d.ts +1 -0
- package/dist_ts_debugui/plugins.js +2 -0
- package/dist_ts_debugui/smartdb-debugui.d.ts +62 -0
- package/dist_ts_debugui/smartdb-debugui.js +1132 -0
- package/package.json +9 -4
- package/readme.md +161 -42
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/index.ts +14 -0
- package/ts/ts_local/classes.localsmartdb.ts +5 -0
- package/ts/ts_migration/classes.storagemigrator.ts +93 -0
- package/ts/ts_migration/index.ts +1 -0
- package/ts/ts_migration/migrators/v0_to_v1.ts +253 -0
- package/ts/ts_smartdb/index.ts +11 -0
- package/ts/ts_smartdb/rust-db-bridge.ts +127 -3
- package/ts/ts_smartdb/server/SmartdbServer.ts +71 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { SmartdbServer } from '../dist_ts/index.js';
|
|
2
|
+
export interface IDebugServerOptions {
|
|
3
|
+
/** Port to listen on (default: 4000). */
|
|
4
|
+
port?: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Serves the SmartDB debug UI as a web application with API proxy endpoints.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { SmartdbServer } from '@push.rocks/smartdb';
|
|
12
|
+
* import { SmartdbDebugServer } from '@push.rocks/smartdb/debugserver';
|
|
13
|
+
*
|
|
14
|
+
* const db = new SmartdbServer({ storage: 'memory' });
|
|
15
|
+
* await db.start();
|
|
16
|
+
*
|
|
17
|
+
* const debugServer = new SmartdbDebugServer(db, { port: 4000 });
|
|
18
|
+
* await debugServer.start();
|
|
19
|
+
* // Open http://localhost:4000
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class SmartdbDebugServer {
|
|
23
|
+
private server;
|
|
24
|
+
private smartdbServer;
|
|
25
|
+
private port;
|
|
26
|
+
constructor(smartdbServer: SmartdbServer, options?: IDebugServerOptions);
|
|
27
|
+
private setupApiRoutes;
|
|
28
|
+
/**
|
|
29
|
+
* Start the debug server.
|
|
30
|
+
*/
|
|
31
|
+
start(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Stop the debug server.
|
|
34
|
+
*/
|
|
35
|
+
stop(): Promise<void>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import { files as bundledFiles } from './bundled.js';
|
|
3
|
+
/**
|
|
4
|
+
* Serves the SmartDB debug UI as a web application with API proxy endpoints.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { SmartdbServer } from '@push.rocks/smartdb';
|
|
9
|
+
* import { SmartdbDebugServer } from '@push.rocks/smartdb/debugserver';
|
|
10
|
+
*
|
|
11
|
+
* const db = new SmartdbServer({ storage: 'memory' });
|
|
12
|
+
* await db.start();
|
|
13
|
+
*
|
|
14
|
+
* const debugServer = new SmartdbDebugServer(db, { port: 4000 });
|
|
15
|
+
* await debugServer.start();
|
|
16
|
+
* // Open http://localhost:4000
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export class SmartdbDebugServer {
|
|
20
|
+
constructor(smartdbServer, options = {}) {
|
|
21
|
+
this.smartdbServer = smartdbServer;
|
|
22
|
+
this.port = options.port ?? 4000;
|
|
23
|
+
this.server = new plugins.typedserver.TypedServer({
|
|
24
|
+
cors: true,
|
|
25
|
+
port: this.port,
|
|
26
|
+
bundledContent: bundledFiles,
|
|
27
|
+
spaFallback: true,
|
|
28
|
+
noCache: true,
|
|
29
|
+
});
|
|
30
|
+
this.setupApiRoutes();
|
|
31
|
+
}
|
|
32
|
+
setupApiRoutes() {
|
|
33
|
+
const jsonResponse = (data, status = 200) => new Response(JSON.stringify(data), {
|
|
34
|
+
status,
|
|
35
|
+
headers: { 'Content-Type': 'application/json' },
|
|
36
|
+
});
|
|
37
|
+
// Metrics
|
|
38
|
+
this.server.addRoute('/api/smartdb/metrics', 'GET', async () => {
|
|
39
|
+
return jsonResponse(await this.smartdbServer.getMetrics());
|
|
40
|
+
});
|
|
41
|
+
// OpLog stats
|
|
42
|
+
this.server.addRoute('/api/smartdb/oplog/stats', 'GET', async () => {
|
|
43
|
+
return jsonResponse(await this.smartdbServer.getOpLogStats());
|
|
44
|
+
});
|
|
45
|
+
// OpLog entries
|
|
46
|
+
this.server.addRoute('/api/smartdb/oplog', 'GET', async (ctx) => {
|
|
47
|
+
const result = await this.smartdbServer.getOpLog({
|
|
48
|
+
sinceSeq: ctx.query.sinceSeq ? parseInt(ctx.query.sinceSeq) : undefined,
|
|
49
|
+
limit: ctx.query.limit ? parseInt(ctx.query.limit) : undefined,
|
|
50
|
+
db: ctx.query.db || undefined,
|
|
51
|
+
collection: ctx.query.collection || undefined,
|
|
52
|
+
});
|
|
53
|
+
return jsonResponse(result);
|
|
54
|
+
});
|
|
55
|
+
// Collections
|
|
56
|
+
this.server.addRoute('/api/smartdb/collections', 'GET', async (ctx) => {
|
|
57
|
+
const collections = await this.smartdbServer.getCollections(ctx.query.db || undefined);
|
|
58
|
+
return jsonResponse({ collections });
|
|
59
|
+
});
|
|
60
|
+
// Documents
|
|
61
|
+
this.server.addRoute('/api/smartdb/documents', 'GET', async (ctx) => {
|
|
62
|
+
const { db, collection } = ctx.query;
|
|
63
|
+
if (!db || !collection) {
|
|
64
|
+
return jsonResponse({ error: 'db and collection required' }, 400);
|
|
65
|
+
}
|
|
66
|
+
const limit = parseInt(ctx.query.limit ?? '50');
|
|
67
|
+
const skip = parseInt(ctx.query.skip ?? '0');
|
|
68
|
+
const result = await this.smartdbServer.getDocuments(db, collection, limit, skip);
|
|
69
|
+
return jsonResponse(result);
|
|
70
|
+
});
|
|
71
|
+
// Revert
|
|
72
|
+
this.server.addRoute('/api/smartdb/revert', 'GET', async (ctx) => {
|
|
73
|
+
const { seq, dryRun } = ctx.query;
|
|
74
|
+
if (!seq) {
|
|
75
|
+
return jsonResponse({ error: 'seq required' }, 400);
|
|
76
|
+
}
|
|
77
|
+
const result = await this.smartdbServer.revertToSeq(parseInt(seq), dryRun === 'true');
|
|
78
|
+
return jsonResponse(result);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Start the debug server.
|
|
83
|
+
*/
|
|
84
|
+
async start() {
|
|
85
|
+
await this.server.start();
|
|
86
|
+
console.log(`SmartDB Debug UI available at http://localhost:${this.port}`);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Stop the debug server.
|
|
90
|
+
*/
|
|
91
|
+
async stop() {
|
|
92
|
+
await this.server.stop();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5kZWJ1Z3NlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2RlYnVnc2VydmVyL2NsYXNzZXMuZGVidWdzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssSUFBSSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFRckQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QixZQUFZLGFBQTRCLEVBQUUsVUFBK0IsRUFBRTtRQUN6RSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO1FBRWpDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztZQUNoRCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLGNBQWMsRUFBRSxZQUFZO1lBQzVCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBUyxFQUFFLE1BQU0sR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUMvQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pDLE1BQU07WUFDTixPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7U0FDaEQsQ0FBQyxDQUFDO1FBRUwsVUFBVTtRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEtBQUssRUFBRSxLQUFLLElB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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { SmartdbDebugServer } from './classes.debugserver.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19kZWJ1Z3NlcnZlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import * as typedserver from '@api.global/typedserver';
|
|
2
|
+
export { typedserver };
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2RlYnVnc2VydmVyL3BsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFdBQVcsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMifQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { SmartdbDebugUi } from './smartdb-debugui.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19kZWJ1Z3VpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DeesElement, customElement, html, css, property, state, cssManager, type TemplateResult, type CSSResult, } from '@design.estate/dees-element';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { DeesElement, customElement, html, css, property, state, cssManager, } from '@design.estate/dees-element';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2RlYnVndWkvcGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFFBQVEsRUFDUixLQUFLLEVBQ0wsVUFBVSxHQUdYLE1BQU0sNkJBQTZCLENBQUMifQ==
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { DeesElement, type CSSResult, type TemplateResult } from './plugins.js';
|
|
2
|
+
import type { SmartdbServer, IOpLogEntry, IOpLogStats, ICollectionInfo, ISmartDbMetrics } from '../dist_ts/index.js';
|
|
3
|
+
type TTab = 'dashboard' | 'collections' | 'oplog' | 'revert';
|
|
4
|
+
export declare class SmartdbDebugUi extends DeesElement {
|
|
5
|
+
/** Direct server reference (Node-side usage). */
|
|
6
|
+
accessor server: SmartdbServer | null;
|
|
7
|
+
/** Base URL for HTTP API (browser usage, e.g. "" for same origin). When set, uses fetch instead of direct server calls. */
|
|
8
|
+
accessor apiBaseUrl: string | null;
|
|
9
|
+
accessor refreshInterval: number;
|
|
10
|
+
accessor activeTab: TTab;
|
|
11
|
+
accessor metrics: ISmartDbMetrics | null;
|
|
12
|
+
accessor oplogStats: IOpLogStats | null;
|
|
13
|
+
accessor oplogEntries: IOpLogEntry[];
|
|
14
|
+
accessor collections: ICollectionInfo[];
|
|
15
|
+
accessor selectedCollection: {
|
|
16
|
+
db: string;
|
|
17
|
+
name: string;
|
|
18
|
+
} | null;
|
|
19
|
+
accessor documents: Record<string, any>[];
|
|
20
|
+
accessor documentsTotal: number;
|
|
21
|
+
accessor expandedOplogSeqs: Set<number>;
|
|
22
|
+
accessor revertTargetSeq: number;
|
|
23
|
+
accessor revertPreview: {
|
|
24
|
+
reverted: number;
|
|
25
|
+
entries?: any[];
|
|
26
|
+
} | null;
|
|
27
|
+
accessor revertInProgress: boolean;
|
|
28
|
+
accessor oplogFilter: {
|
|
29
|
+
op?: string;
|
|
30
|
+
collection?: string;
|
|
31
|
+
};
|
|
32
|
+
private refreshTimer;
|
|
33
|
+
static styles: CSSResult[];
|
|
34
|
+
connectedCallback(): Promise<void>;
|
|
35
|
+
disconnectedCallback(): Promise<void>;
|
|
36
|
+
private startRefreshing;
|
|
37
|
+
private stopRefreshing;
|
|
38
|
+
private get useHttp();
|
|
39
|
+
private apiFetch;
|
|
40
|
+
private refresh;
|
|
41
|
+
private loadOplog;
|
|
42
|
+
private loadCollections;
|
|
43
|
+
private selectCollection;
|
|
44
|
+
private toggleOplogEntry;
|
|
45
|
+
private handlePreviewRevert;
|
|
46
|
+
private handleExecuteRevert;
|
|
47
|
+
private switchTab;
|
|
48
|
+
private computeDiff;
|
|
49
|
+
private diffRecursive;
|
|
50
|
+
private formatValue;
|
|
51
|
+
private formatTime;
|
|
52
|
+
render(): TemplateResult;
|
|
53
|
+
private renderDashboard;
|
|
54
|
+
private formatUptime;
|
|
55
|
+
private renderCollections;
|
|
56
|
+
private renderOplog;
|
|
57
|
+
private getFilteredOplog;
|
|
58
|
+
private renderOplogEntry;
|
|
59
|
+
private renderDiffRow;
|
|
60
|
+
private renderRevert;
|
|
61
|
+
}
|
|
62
|
+
export {};
|