graphvault-studio 0.1.2 → 0.1.3
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/CHANGELOG.md +14 -0
- package/README.md +38 -2
- package/dist/admin-cli.d.ts +3 -0
- package/dist/admin-cli.js +52 -3
- package/dist/admin-cli.js.map +1 -1
- package/dist/admin-client.d.ts +20 -3
- package/dist/admin-client.js +206 -55
- package/dist/admin-client.js.map +1 -1
- package/dist/admin-compatibility.d.ts +2 -0
- package/dist/admin-compatibility.js +53 -0
- package/dist/admin-compatibility.js.map +1 -0
- package/dist/admin-integrity.d.ts +26 -0
- package/dist/admin-integrity.js +76 -0
- package/dist/admin-integrity.js.map +1 -0
- package/dist/admin-server.d.ts +6 -0
- package/dist/admin-server.js +102 -6
- package/dist/admin-server.js.map +1 -1
- package/dist/admin-storage-io.d.ts +10 -0
- package/dist/admin-storage-io.js +80 -0
- package/dist/admin-storage-io.js.map +1 -0
- package/dist/admin-subtree.d.ts +8 -0
- package/dist/admin-subtree.js +92 -0
- package/dist/admin-subtree.js.map +1 -0
- package/dist/admin-types.d.ts +71 -0
- package/dist/admin-ui.js +100 -12
- package/dist/admin-ui.js.map +1 -1
- package/docs/PUBLISHING.md +5 -2
- package/docs/RELEASE_NOTES_0.1.0.md +2 -0
- package/docs/REMOTE_STORAGE.md +19 -1
- package/package.json +5 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-integrity.js","sourceRoot":"","sources":["../src/admin-integrity.ts"],"names":[],"mappings":"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"}
|
package/dist/admin-server.d.ts
CHANGED
|
@@ -4,8 +4,14 @@ export interface AdminServerOptions extends StorageAdminClientOptions {
|
|
|
4
4
|
host?: string;
|
|
5
5
|
port?: number;
|
|
6
6
|
authToken?: string;
|
|
7
|
+
accessTokens?: AdminAccessToken[];
|
|
7
8
|
mutationConfirmToken?: string;
|
|
8
9
|
}
|
|
10
|
+
export type AdminRole = "viewer" | "operator" | "admin";
|
|
11
|
+
export interface AdminAccessToken {
|
|
12
|
+
token: string;
|
|
13
|
+
role: AdminRole;
|
|
14
|
+
}
|
|
9
15
|
export interface RunningAdminServer {
|
|
10
16
|
server: Server;
|
|
11
17
|
url: string;
|
package/dist/admin-server.js
CHANGED
|
@@ -28,7 +28,7 @@ async function route(client, options, request, response) {
|
|
|
28
28
|
const url = new URL(request.url ?? "/", "http://127.0.0.1");
|
|
29
29
|
if (request.method === "GET" && url.pathname === "/") {
|
|
30
30
|
response.writeHead(200, { "content-type": "text/html; charset=utf-8" });
|
|
31
|
-
response.end(ADMIN_HTML.replace("__CONFIRM_REQUIRED__", options.mutationConfirmToken ? "true" : "false").replace("__AUTH_REQUIRED__", options
|
|
31
|
+
response.end(ADMIN_HTML.replace("__CONFIRM_REQUIRED__", options.mutationConfirmToken ? "true" : "false").replace("__AUTH_REQUIRED__", isAuthRequired(options) ? "true" : "false"));
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
if (request.method === "GET" && (url.pathname === "/assets/graphvault-logo.png" || url.pathname === "/favicon.ico")) {
|
|
@@ -37,12 +37,16 @@ async function route(client, options, request, response) {
|
|
|
37
37
|
response.end(logo);
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
const access = authorize(request, options);
|
|
41
|
+
if (!access.authorized) {
|
|
41
42
|
return sendJson(response, 401, { error: "Unauthorized" });
|
|
42
43
|
}
|
|
43
44
|
if (request.method === "GET" && url.pathname === "/api/summary") {
|
|
44
45
|
return sendJson(response, 200, await client.summary({ verify: url.searchParams.get("verify") !== "false" }));
|
|
45
46
|
}
|
|
47
|
+
if (request.method === "GET" && url.pathname === "/api/operations") {
|
|
48
|
+
return sendJson(response, 200, (await client.summary({ verify: false })).operations);
|
|
49
|
+
}
|
|
46
50
|
if (request.method === "GET" && url.pathname === "/api/root") {
|
|
47
51
|
return sendJson(response, 200, await client.rootReference());
|
|
48
52
|
}
|
|
@@ -52,10 +56,18 @@ async function route(client, options, request, response) {
|
|
|
52
56
|
if (request.method === "GET" && url.pathname === "/api/objects") {
|
|
53
57
|
return sendJson(response, 200, await client.listObjects());
|
|
54
58
|
}
|
|
59
|
+
if (request.method === "GET" && url.pathname === "/api/subtree") {
|
|
60
|
+
const rootObjectId = stringParam(url, "rootObjectId");
|
|
61
|
+
return sendJson(response, 200, await client.subtree({ ...(rootObjectId ? { rootObjectId } : {}), depth: numberParam(url, "depth", 2) }));
|
|
62
|
+
}
|
|
55
63
|
if (request.method === "GET" && url.pathname?.startsWith("/api/objects/") && url.pathname.endsWith("/children")) {
|
|
56
64
|
const objectId = decodeURIComponent(url.pathname.slice("/api/objects/".length, -"/children".length));
|
|
57
65
|
return sendJson(response, 200, await client.listObjectChildren(objectId));
|
|
58
66
|
}
|
|
67
|
+
if (request.method === "GET" && url.pathname?.startsWith("/api/objects/") && url.pathname.endsWith("/subtree")) {
|
|
68
|
+
const objectId = decodeURIComponent(url.pathname.slice("/api/objects/".length, -"/subtree".length));
|
|
69
|
+
return sendJson(response, 200, await client.subtree({ rootObjectId: objectId, depth: numberParam(url, "depth", 2) }));
|
|
70
|
+
}
|
|
59
71
|
if (request.method === "GET" && url.pathname?.startsWith("/api/objects/") && url.pathname.endsWith("/path")) {
|
|
60
72
|
const objectId = decodeURIComponent(url.pathname.slice("/api/objects/".length, -"/path".length));
|
|
61
73
|
return sendJson(response, 200, await client.hierarchyPath(objectId));
|
|
@@ -82,9 +94,15 @@ async function route(client, options, request, response) {
|
|
|
82
94
|
return sendJson(response, 200, await client.verify());
|
|
83
95
|
}
|
|
84
96
|
if (request.method === "POST" && url.pathname === "/api/maintenance") {
|
|
97
|
+
if (!hasRole(access.role, "operator")) {
|
|
98
|
+
return sendJson(response, 403, { error: "Operator role is required for maintenance." });
|
|
99
|
+
}
|
|
85
100
|
return sendJson(response, 200, await client.maintain(await readJson(request)));
|
|
86
101
|
}
|
|
87
102
|
if (request.method === "POST" && url.pathname === "/api/backup") {
|
|
103
|
+
if (!hasRole(access.role, "operator")) {
|
|
104
|
+
return sendJson(response, 403, { error: "Operator role is required for backup." });
|
|
105
|
+
}
|
|
88
106
|
return sendJson(response, 200, await client.backup(await readJson(request)));
|
|
89
107
|
}
|
|
90
108
|
if (request.method === "POST" && url.pathname === "/api/preview-mutation") {
|
|
@@ -92,17 +110,27 @@ async function route(client, options, request, response) {
|
|
|
92
110
|
}
|
|
93
111
|
if (request.method === "POST" && url.pathname === "/api/gvql") {
|
|
94
112
|
const body = await readJson(request);
|
|
113
|
+
if (body?.dryRun !== true && !hasRole(access.role, "admin")) {
|
|
114
|
+
return sendJson(response, 403, { error: "Admin role is required to commit GVQL mutations." });
|
|
115
|
+
}
|
|
95
116
|
if (body?.dryRun !== true && options.mutationConfirmToken && body?.confirmToken !== options.mutationConfirmToken) {
|
|
96
117
|
return sendJson(response, 403, { error: "GVQL mutation confirmation token is missing or invalid." });
|
|
97
118
|
}
|
|
98
|
-
return sendJson(response, 200, await client.gvql(String(body?.query ?? ""), {
|
|
119
|
+
return sendJson(response, 200, await client.gvql(String(body?.query ?? ""), {
|
|
120
|
+
parameters: body?.parameters ?? {},
|
|
121
|
+
dryRun: body?.dryRun === true,
|
|
122
|
+
...(body?.dryRun === true ? {} : { metadata: commitMetadataFromBody(body, request, "gvql") }),
|
|
123
|
+
}));
|
|
99
124
|
}
|
|
100
125
|
if (request.method === "POST" && url.pathname === "/api/mutate") {
|
|
101
126
|
const body = await readJson(request);
|
|
127
|
+
if (!hasRole(access.role, "admin")) {
|
|
128
|
+
return sendJson(response, 403, { error: "Admin role is required to commit mutations." });
|
|
129
|
+
}
|
|
102
130
|
if (options.mutationConfirmToken && body?.confirmToken !== options.mutationConfirmToken) {
|
|
103
131
|
return sendJson(response, 403, { error: "Mutation confirmation token is missing or invalid." });
|
|
104
132
|
}
|
|
105
|
-
return sendJson(response, 200, await client.mutate(body));
|
|
133
|
+
return sendJson(response, 200, await client.mutate({ ...body, metadata: commitMetadataFromBody(body, request, "direct-edit") }));
|
|
106
134
|
}
|
|
107
135
|
sendJson(response, 404, { error: "Not found" });
|
|
108
136
|
}
|
|
@@ -110,8 +138,76 @@ function numberParam(url, name, fallback) {
|
|
|
110
138
|
const value = Number(url.searchParams.get(name));
|
|
111
139
|
return Number.isFinite(value) ? value : fallback;
|
|
112
140
|
}
|
|
113
|
-
function
|
|
114
|
-
|
|
141
|
+
function stringParam(url, name) {
|
|
142
|
+
const value = url.searchParams.get(name)?.trim();
|
|
143
|
+
return value || undefined;
|
|
144
|
+
}
|
|
145
|
+
function isAuthRequired(options) {
|
|
146
|
+
return Boolean(options.authToken || options.accessTokens?.length);
|
|
147
|
+
}
|
|
148
|
+
function authorize(request, options) {
|
|
149
|
+
if (!isAuthRequired(options)) {
|
|
150
|
+
return { authorized: true, role: "admin" };
|
|
151
|
+
}
|
|
152
|
+
const token = bearerToken(request);
|
|
153
|
+
if (token && options.authToken && token === options.authToken) {
|
|
154
|
+
return { authorized: true, role: "admin" };
|
|
155
|
+
}
|
|
156
|
+
const match = options.accessTokens?.find((entry) => entry.token === token);
|
|
157
|
+
if (match) {
|
|
158
|
+
return { authorized: true, role: match.role };
|
|
159
|
+
}
|
|
160
|
+
return { authorized: false, role: "viewer" };
|
|
161
|
+
}
|
|
162
|
+
function bearerToken(request) {
|
|
163
|
+
const header = request.headers.authorization;
|
|
164
|
+
return typeof header === "string" && header.startsWith("Bearer ") ? header.slice("Bearer ".length) : undefined;
|
|
165
|
+
}
|
|
166
|
+
function hasRole(actual, required) {
|
|
167
|
+
return roleRank(actual) >= roleRank(required);
|
|
168
|
+
}
|
|
169
|
+
function roleRank(role) {
|
|
170
|
+
return role === "admin" ? 3 : role === "operator" ? 2 : 1;
|
|
171
|
+
}
|
|
172
|
+
function commitMetadataFromBody(body, request, source) {
|
|
173
|
+
const input = typeof body?.metadata === "object" && body.metadata ? body.metadata : {};
|
|
174
|
+
const metadata = { source: stringOrUndefined(input.source) ?? `graphvault-studio:${source}` };
|
|
175
|
+
const actor = stringOrUndefined(input.actor) ?? stringOrUndefined(request.headers["x-graphvault-actor"]);
|
|
176
|
+
const reason = stringOrUndefined(input.reason);
|
|
177
|
+
const traceId = stringOrUndefined(input.traceId) ?? stringOrUndefined(request.headers["x-request-id"]);
|
|
178
|
+
const tags = Array.isArray(input.tags) ? input.tags.filter((tag) => typeof tag === "string") : undefined;
|
|
179
|
+
const attributes = plainAttributes(input.attributes);
|
|
180
|
+
if (actor) {
|
|
181
|
+
metadata.actor = actor;
|
|
182
|
+
}
|
|
183
|
+
if (reason) {
|
|
184
|
+
metadata.reason = reason;
|
|
185
|
+
}
|
|
186
|
+
if (traceId) {
|
|
187
|
+
metadata.traceId = traceId;
|
|
188
|
+
}
|
|
189
|
+
if (tags?.length) {
|
|
190
|
+
metadata.tags = tags;
|
|
191
|
+
}
|
|
192
|
+
if (attributes) {
|
|
193
|
+
metadata.attributes = attributes;
|
|
194
|
+
}
|
|
195
|
+
return metadata;
|
|
196
|
+
}
|
|
197
|
+
function stringOrUndefined(value) {
|
|
198
|
+
return typeof value === "string" && value.trim() ? value.trim() : undefined;
|
|
199
|
+
}
|
|
200
|
+
function plainAttributes(value) {
|
|
201
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
202
|
+
return undefined;
|
|
203
|
+
}
|
|
204
|
+
const attributes = {};
|
|
205
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
206
|
+
if (typeof entry === "string" || typeof entry === "number" || typeof entry === "boolean" || entry === null) {
|
|
207
|
+
attributes[key] = entry;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return Object.keys(attributes).length ? attributes : undefined;
|
|
115
211
|
}
|
|
116
212
|
function sendJson(response, status, value) {
|
|
117
213
|
response.writeHead(status, { "content-type": "application/json; charset=utf-8" });
|
package/dist/admin-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-server.js","sourceRoot":"","sources":["../src/admin-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin-server.js","sourceRoot":"","sources":["../src/admin-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ObjectRecord, SerializedEnvelope, StorageManifest, StorageTarget } from "@sprengmeister/graphvault/internal/core/types";
|
|
2
|
+
import type { StorageLayout } from "@sprengmeister/graphvault/internal/storage/storage-layout";
|
|
3
|
+
export type VersionedStorageManifest = StorageManifest & {
|
|
4
|
+
objectVersions?: Record<string, number>;
|
|
5
|
+
latestTransactionHash?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function readAdminObjectRecord(target: StorageTarget, layout: StorageLayout, manifest: VersionedStorageManifest, objectId: string): Promise<ObjectRecord>;
|
|
8
|
+
export declare function envelopeFromAdminManifest(target: StorageTarget, layout: StorageLayout, manifest: VersionedStorageManifest): Promise<SerializedEnvelope>;
|
|
9
|
+
export declare function writeAdminObjectRecords(target: StorageTarget, layout: StorageLayout, envelope: SerializedEnvelope, transactionId: number, objectIds: readonly string[]): Promise<void>;
|
|
10
|
+
export declare function writeAdminManifest(target: StorageTarget, layout: StorageLayout, envelope: SerializedEnvelope, transactionId: number, latestTransactionHash?: string): Promise<void>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { dirname, join } from "node:path";
|
|
2
|
+
import { decodeBinaryRecord, encodeBinaryRecord } from "@sprengmeister/graphvault/internal/core/binary-codec";
|
|
3
|
+
export async function readAdminObjectRecord(target, layout, manifest, objectId) {
|
|
4
|
+
const version = manifest.objectVersions?.[objectId] ?? manifest.transactionId;
|
|
5
|
+
return readVersionedObjectRecord(target, layout, objectId, version).catch(() => readUnversionedObjectRecord(target, layout, objectId));
|
|
6
|
+
}
|
|
7
|
+
export async function envelopeFromAdminManifest(target, layout, manifest) {
|
|
8
|
+
const nodes = {};
|
|
9
|
+
for (const objectId of manifest.objectIds) {
|
|
10
|
+
nodes[objectId] = (await readAdminObjectRecord(target, layout, manifest, objectId)).node;
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
format: "graphvault",
|
|
14
|
+
version: 1,
|
|
15
|
+
createdAt: manifest.createdAt,
|
|
16
|
+
root: manifest.root,
|
|
17
|
+
nodes,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export async function writeAdminObjectRecords(target, layout, envelope, transactionId, objectIds) {
|
|
21
|
+
const storedAt = new Date().toISOString();
|
|
22
|
+
await Promise.all(objectIds.map(async (objectId) => {
|
|
23
|
+
const node = envelope.nodes[objectId];
|
|
24
|
+
if (!node) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const record = {
|
|
28
|
+
format: "graphvault-object",
|
|
29
|
+
version: 1,
|
|
30
|
+
objectId,
|
|
31
|
+
transactionId,
|
|
32
|
+
storedAt,
|
|
33
|
+
node,
|
|
34
|
+
};
|
|
35
|
+
await Promise.all([
|
|
36
|
+
target.writeBufferAtomic(versionedBinaryObjectPath(layout, objectId, transactionId), encodeBinaryRecord(record)),
|
|
37
|
+
writeJson(target, versionedJsonObjectPath(layout, objectId, transactionId), record),
|
|
38
|
+
]);
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
export async function writeAdminManifest(target, layout, envelope, transactionId, latestTransactionHash) {
|
|
42
|
+
const objectIds = Object.keys(envelope.nodes).sort((a, b) => Number(a) - Number(b));
|
|
43
|
+
const objectVersions = Object.fromEntries(objectIds.map((objectId) => [objectId, transactionId]));
|
|
44
|
+
await writeJson(target, layout.manifestFile, {
|
|
45
|
+
format: "graphvault-manifest",
|
|
46
|
+
version: 1,
|
|
47
|
+
transactionId,
|
|
48
|
+
createdAt: new Date().toISOString(),
|
|
49
|
+
root: envelope.root,
|
|
50
|
+
objectIds,
|
|
51
|
+
objectVersions,
|
|
52
|
+
...(latestTransactionHash ? { latestTransactionHash } : {}),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
async function readVersionedObjectRecord(target, layout, objectId, transactionId) {
|
|
56
|
+
try {
|
|
57
|
+
return decodeBinaryRecord(await target.readBuffer(versionedBinaryObjectPath(layout, objectId, transactionId)));
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return JSON.parse(await target.readText(versionedJsonObjectPath(layout, objectId, transactionId)));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
async function readUnversionedObjectRecord(target, layout, objectId) {
|
|
64
|
+
try {
|
|
65
|
+
return decodeBinaryRecord(await target.readBuffer(layout.binaryObjectPath(objectId)));
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return JSON.parse(await target.readText(layout.objectRecordPath(objectId)));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function versionedJsonObjectPath(layout, objectId, transactionId) {
|
|
72
|
+
return join(dirname(layout.objectRecordPath(objectId)), `${objectId}.${transactionId}.json`);
|
|
73
|
+
}
|
|
74
|
+
function versionedBinaryObjectPath(layout, objectId, transactionId) {
|
|
75
|
+
return join(dirname(layout.binaryObjectPath(objectId)), `${objectId}.${transactionId}.bin`);
|
|
76
|
+
}
|
|
77
|
+
async function writeJson(target, path, value) {
|
|
78
|
+
await target.writeTextAtomic(path, `${JSON.stringify(value, null, 2)}\n`);
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=admin-storage-io.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-storage-io.js","sourceRoot":"","sources":["../src/admin-storage-io.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { VersionedStorageManifest } from "./admin-storage-io.js";
|
|
2
|
+
import type { AdminSubtree } from "./admin-types.js";
|
|
3
|
+
import type { ObjectRecord } from "@sprengmeister/graphvault/internal/core/types";
|
|
4
|
+
export interface AdminSubtreeOptions {
|
|
5
|
+
rootObjectId?: string;
|
|
6
|
+
depth?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function loadAdminSubtree(manifest: VersionedStorageManifest, readObjectRecord: (objectId: string) => Promise<ObjectRecord>, options?: AdminSubtreeOptions): Promise<AdminSubtree>;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { referencedChildren } from "./admin-inspection.js";
|
|
2
|
+
export async function loadAdminSubtree(manifest, readObjectRecord, options = {}) {
|
|
3
|
+
const depth = normalizeDepth(options.depth ?? 2);
|
|
4
|
+
const rootObjectId = options.rootObjectId ?? objectIdFromRef(manifest.root);
|
|
5
|
+
const root = rootObjectId ? { $ref: rootObjectId } : manifest.root;
|
|
6
|
+
if (!rootObjectId) {
|
|
7
|
+
return {
|
|
8
|
+
root,
|
|
9
|
+
transactionId: manifest.transactionId,
|
|
10
|
+
depth,
|
|
11
|
+
complete: true,
|
|
12
|
+
objectIds: [],
|
|
13
|
+
nodes: [],
|
|
14
|
+
edges: [],
|
|
15
|
+
truncatedReferences: [],
|
|
16
|
+
envelope: emptyEnvelope(manifest.createdAt, root),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const knownObjectIds = new Set(manifest.objectIds);
|
|
20
|
+
if (!knownObjectIds.has(rootObjectId)) {
|
|
21
|
+
throw new Error(`Cannot load subtree: object "${rootObjectId}" is not present in the current manifest.`);
|
|
22
|
+
}
|
|
23
|
+
const encodedNodes = {};
|
|
24
|
+
const graphNodes = [];
|
|
25
|
+
const graphEdges = [];
|
|
26
|
+
const truncatedReferences = [];
|
|
27
|
+
const queue = [{ objectId: rootObjectId, depth: 0 }];
|
|
28
|
+
const queued = new Set([rootObjectId]);
|
|
29
|
+
for (let index = 0; index < queue.length; index++) {
|
|
30
|
+
const current = queue[index];
|
|
31
|
+
if (!current) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const record = await readObjectRecord(current.objectId);
|
|
35
|
+
encodedNodes[record.objectId] = record.node;
|
|
36
|
+
graphNodes.push({
|
|
37
|
+
objectId: record.objectId,
|
|
38
|
+
kind: record.node.kind,
|
|
39
|
+
...(record.node.kind === "object" && record.node.type ? { type: record.node.type } : {}),
|
|
40
|
+
});
|
|
41
|
+
for (const [path, toObjectId] of referencedChildren(record.node)) {
|
|
42
|
+
const reference = { fromObjectId: record.objectId, toObjectId, path, depth: current.depth + 1 };
|
|
43
|
+
if (!knownObjectIds.has(toObjectId) || current.depth >= depth) {
|
|
44
|
+
truncatedReferences.push(reference);
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
graphEdges.push({ from: record.objectId, to: toObjectId, path });
|
|
48
|
+
if (!queued.has(toObjectId)) {
|
|
49
|
+
queued.add(toObjectId);
|
|
50
|
+
queue.push({ objectId: toObjectId, depth: current.depth + 1 });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const objectIds = Object.keys(encodedNodes);
|
|
55
|
+
return {
|
|
56
|
+
root,
|
|
57
|
+
rootObjectId,
|
|
58
|
+
transactionId: manifest.transactionId,
|
|
59
|
+
depth,
|
|
60
|
+
complete: truncatedReferences.length === 0,
|
|
61
|
+
objectIds,
|
|
62
|
+
nodes: graphNodes,
|
|
63
|
+
edges: graphEdges,
|
|
64
|
+
truncatedReferences,
|
|
65
|
+
envelope: {
|
|
66
|
+
format: "graphvault",
|
|
67
|
+
version: 1,
|
|
68
|
+
createdAt: manifest.createdAt,
|
|
69
|
+
root,
|
|
70
|
+
nodes: encodedNodes,
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function emptyEnvelope(createdAt, root) {
|
|
75
|
+
return {
|
|
76
|
+
format: "graphvault",
|
|
77
|
+
version: 1,
|
|
78
|
+
createdAt,
|
|
79
|
+
root,
|
|
80
|
+
nodes: {},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function objectIdFromRef(value) {
|
|
84
|
+
return value && typeof value === "object" && "$ref" in value ? value.$ref : undefined;
|
|
85
|
+
}
|
|
86
|
+
function normalizeDepth(depth) {
|
|
87
|
+
if (!Number.isInteger(depth) || depth < 0) {
|
|
88
|
+
throw new TypeError("Subtree depth must be a non-negative integer.");
|
|
89
|
+
}
|
|
90
|
+
return Math.min(depth, 12);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=admin-subtree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-subtree.js","sourceRoot":"","sources":["../src/admin-subtree.ts"],"names":[],"mappings":"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"}
|
package/dist/admin-types.d.ts
CHANGED
|
@@ -5,17 +5,51 @@ export interface StorageAdminClientOptions {
|
|
|
5
5
|
storageTarget?: StorageTarget;
|
|
6
6
|
channelCount?: number;
|
|
7
7
|
allowMutations?: boolean;
|
|
8
|
+
lockTimeoutMs?: number;
|
|
9
|
+
staleLockTimeoutMs?: number;
|
|
10
|
+
transactionLog?: "full" | "off";
|
|
11
|
+
}
|
|
12
|
+
export interface AdminStorageHardening {
|
|
13
|
+
mutationsAllowed: boolean;
|
|
14
|
+
transactionLog: "full" | "off";
|
|
15
|
+
writerLock: "enabled";
|
|
16
|
+
fencingTokens: "used-when-supported";
|
|
17
|
+
staleLockRecovery: boolean;
|
|
8
18
|
}
|
|
9
19
|
export interface AdminSummary {
|
|
10
20
|
storageDirectory: string;
|
|
11
21
|
transactionId: number;
|
|
12
22
|
currentSnapshot?: string;
|
|
13
23
|
objectCount: number;
|
|
24
|
+
library: AdminLibraryCompatibility;
|
|
14
25
|
latestTransaction?: TransactionRecord;
|
|
15
26
|
typeDictionary?: TypeDictionary;
|
|
27
|
+
hardening: AdminStorageHardening;
|
|
28
|
+
operations: AdminOperationalStatus;
|
|
16
29
|
verification?: VerificationResult;
|
|
17
30
|
verificationSkipped?: boolean;
|
|
18
31
|
}
|
|
32
|
+
export interface AdminOperationalStatus {
|
|
33
|
+
transactionLog: "full" | "off";
|
|
34
|
+
mutationsAllowed: boolean;
|
|
35
|
+
lockTimeoutMs: number;
|
|
36
|
+
staleLockTimeoutMs?: number;
|
|
37
|
+
walPrepareFiles: number;
|
|
38
|
+
walCommitFiles: number;
|
|
39
|
+
latestWalTransactionId: number;
|
|
40
|
+
latestJournalTransactionId: number;
|
|
41
|
+
publishedTransactionId: number;
|
|
42
|
+
pendingWalCommits: number;
|
|
43
|
+
checkedIntegrityHashes?: number;
|
|
44
|
+
status: "healthy" | "recovery-pending";
|
|
45
|
+
}
|
|
46
|
+
export interface AdminLibraryCompatibility {
|
|
47
|
+
packageName: "@sprengmeister/graphvault";
|
|
48
|
+
installedVersion?: string;
|
|
49
|
+
recommendedVersion: string;
|
|
50
|
+
status: "ok" | "warning";
|
|
51
|
+
warnings: string[];
|
|
52
|
+
}
|
|
19
53
|
export interface AdminObjectListItem {
|
|
20
54
|
objectId: string;
|
|
21
55
|
kind: EncodedNode["kind"];
|
|
@@ -70,8 +104,12 @@ export interface AdminSearchResult {
|
|
|
70
104
|
}
|
|
71
105
|
export interface AdminGraph {
|
|
72
106
|
root: EncodedValue;
|
|
107
|
+
depth?: number;
|
|
108
|
+
complete?: boolean;
|
|
109
|
+
rootObjectId?: string;
|
|
73
110
|
nodes: AdminGraphNode[];
|
|
74
111
|
edges: AdminGraphEdge[];
|
|
112
|
+
truncatedReferences?: AdminSubtreeReference[];
|
|
75
113
|
}
|
|
76
114
|
export interface AdminGraphNode {
|
|
77
115
|
objectId: string;
|
|
@@ -83,10 +121,43 @@ export interface AdminGraphEdge {
|
|
|
83
121
|
to: string;
|
|
84
122
|
path: string;
|
|
85
123
|
}
|
|
124
|
+
export interface AdminSubtreeReference {
|
|
125
|
+
fromObjectId: string;
|
|
126
|
+
toObjectId: string;
|
|
127
|
+
path: string;
|
|
128
|
+
depth: number;
|
|
129
|
+
}
|
|
130
|
+
export interface AdminSubtree {
|
|
131
|
+
root: EncodedValue;
|
|
132
|
+
rootObjectId?: string;
|
|
133
|
+
transactionId: number;
|
|
134
|
+
depth: number;
|
|
135
|
+
complete: boolean;
|
|
136
|
+
objectIds: string[];
|
|
137
|
+
nodes: AdminGraphNode[];
|
|
138
|
+
edges: AdminGraphEdge[];
|
|
139
|
+
truncatedReferences: AdminSubtreeReference[];
|
|
140
|
+
envelope: {
|
|
141
|
+
format: "graphvault";
|
|
142
|
+
version: 1;
|
|
143
|
+
createdAt: string;
|
|
144
|
+
root: EncodedValue;
|
|
145
|
+
nodes: Record<string, EncodedNode>;
|
|
146
|
+
};
|
|
147
|
+
}
|
|
86
148
|
export interface AdminMutation {
|
|
87
149
|
objectId: string;
|
|
88
150
|
path: string;
|
|
89
151
|
value: unknown;
|
|
152
|
+
metadata?: AdminTransactionMetadata;
|
|
153
|
+
}
|
|
154
|
+
export interface AdminTransactionMetadata {
|
|
155
|
+
actor?: string;
|
|
156
|
+
reason?: string;
|
|
157
|
+
source?: string;
|
|
158
|
+
traceId?: string;
|
|
159
|
+
tags?: string[];
|
|
160
|
+
attributes?: Record<string, string | number | boolean | null>;
|
|
90
161
|
}
|
|
91
162
|
export interface AdminMutationPreview {
|
|
92
163
|
objectId: string;
|