@hashtree/nostr 0.1.5 → 0.1.6
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/README.md +18 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/treeEventSnapshotPermalinks.d.ts +12 -0
- package/dist/treeEventSnapshotPermalinks.d.ts.map +1 -0
- package/dist/treeEventSnapshotPermalinks.js +120 -0
- package/dist/treeEventSnapshotPermalinks.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -123,6 +123,24 @@ stop();
|
|
|
123
123
|
|
|
124
124
|
The library does not keep a global snapshot cache for you. It provides stateless helpers plus a live watcher; route caching and reuse policy stay with the app. Pass a `HashTree` when you already have one controlling write policy, or a raw `Store` when the default wrapper is enough.
|
|
125
125
|
|
|
126
|
+
Snapshot routes use the signed snapshot blob `nhash` plus a path and optional link key:
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
import {
|
|
130
|
+
buildTreeEventSnapshotPermalink,
|
|
131
|
+
parseTreeEventSnapshotPermalink,
|
|
132
|
+
} from '@hashtree/nostr';
|
|
133
|
+
|
|
134
|
+
const href = buildTreeEventSnapshotPermalink({
|
|
135
|
+
snapshotNhash: snapshot.snapshotNhash,
|
|
136
|
+
path: ['index.html'],
|
|
137
|
+
linkKey: 'abcd...optional 64-hex link key',
|
|
138
|
+
});
|
|
139
|
+
// nhash1.../index.html?snapshot=1&k=...
|
|
140
|
+
|
|
141
|
+
const parsed = parseTreeEventSnapshotPermalink(`htree://${href}`);
|
|
142
|
+
```
|
|
143
|
+
|
|
126
144
|
## License
|
|
127
145
|
|
|
128
146
|
MIT
|
package/dist/index.d.ts
CHANGED
|
@@ -8,4 +8,5 @@ export { createNostrRefResolver, createNostrRefResolver as createNostrRootResolv
|
|
|
8
8
|
export { NostrEventStore, type StoredNostrEvent, type NostrEventManifest, type ListEventsOptions, } from './events.js';
|
|
9
9
|
export { encodeSignedNostrEventJson, decodeSignedNostrEventJson, storeSignedNostrEventSnapshot, readSignedNostrEventSnapshot, parseHashtreeRootEvent, type ParsedHashtreeRootEvent, type SnapshotTreeLike, type SnapshotTarget, } from './snapshot.js';
|
|
10
10
|
export { storeTreeEventSnapshot, readTreeEventSnapshot, fetchLatestTreeEventSnapshot, watchLatestTreeEventSnapshot, compareTreeEventSnapshots, isNewerTreeEventSnapshot, snapshotMatchesRootCid, resolveSnapshotRootCid, type TreeEventSnapshotInfo, type TreeEventSnapshotQuery, type FetchLatestTreeEventSnapshotConfig, type WatchTreeEventSnapshotsConfig, } from './treeEventSnapshots.js';
|
|
11
|
+
export { buildTreeEventSnapshotPermalink, parseTreeEventSnapshotPermalink, normalizeTreeEventSnapshotLinkKey, type TreeEventSnapshotPermalink, type BuildTreeEventSnapshotPermalinkOptions, } from './treeEventSnapshotPermalinks.js';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EACX,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EAEb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,sBAAsB,EAEtB,sBAAsB,IAAI,uBAAuB,EACjD,KAAK,sBAAsB,EAE3B,KAAK,sBAAsB,IAAI,uBAAuB,EACtD,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,6BAA6B,GACnC,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EACX,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EAEb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,sBAAsB,EAEtB,sBAAsB,IAAI,uBAAuB,EACjD,KAAK,sBAAsB,EAE3B,KAAK,sBAAsB,IAAI,uBAAuB,EACtD,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,6BAA6B,GACnC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,EACjC,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,GAC5C,MAAM,kCAAkC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -15,4 +15,5 @@ createNostrRefResolver as createNostrRootResolver, } from './resolver/index.js';
|
|
|
15
15
|
export { NostrEventStore, } from './events.js';
|
|
16
16
|
export { encodeSignedNostrEventJson, decodeSignedNostrEventJson, storeSignedNostrEventSnapshot, readSignedNostrEventSnapshot, parseHashtreeRootEvent, } from './snapshot.js';
|
|
17
17
|
export { storeTreeEventSnapshot, readTreeEventSnapshot, fetchLatestTreeEventSnapshot, watchLatestTreeEventSnapshot, compareTreeEventSnapshots, isNewerTreeEventSnapshot, snapshotMatchesRootCid, resolveSnapshotRootCid, } from './treeEventSnapshots.js';
|
|
18
|
+
export { buildTreeEventSnapshotPermalink, parseTreeEventSnapshotPermalink, normalizeTreeEventSnapshotLinkKey, } from './treeEventSnapshotPermalinks.js';
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,aAAa;AACb,qBAAqB;AACrB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,GA0Bd,MAAM,mBAAmB,CAAC;AAE3B,gBAAgB;AAChB,OAAO,EACL,sBAAsB;AACtB,eAAe;AACf,sBAAsB,IAAI,uBAAuB,GASlD,MAAM,qBAAqB,CAAC;AAE7B,6BAA6B;AAC7B,OAAO,EACL,eAAe,GAIhB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,GAIvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GAKvB,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,aAAa;AACb,qBAAqB;AACrB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,GA0Bd,MAAM,mBAAmB,CAAC;AAE3B,gBAAgB;AAChB,OAAO,EACL,sBAAsB;AACtB,eAAe;AACf,sBAAsB,IAAI,uBAAuB,GASlD,MAAM,qBAAqB,CAAC;AAE7B,6BAA6B;AAC7B,OAAO,EACL,eAAe,GAIhB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,GAIvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GAKvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,GAGlC,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface TreeEventSnapshotPermalink {
|
|
2
|
+
snapshotNhash: string;
|
|
3
|
+
path: string[];
|
|
4
|
+
linkKey?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface BuildTreeEventSnapshotPermalinkOptions {
|
|
7
|
+
prefix?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function normalizeTreeEventSnapshotLinkKey(value?: string | null): string | null;
|
|
10
|
+
export declare function buildTreeEventSnapshotPermalink(value: TreeEventSnapshotPermalink, options?: BuildTreeEventSnapshotPermalinkOptions): string;
|
|
11
|
+
export declare function parseTreeEventSnapshotPermalink(input: string | URL): TreeEventSnapshotPermalink | null;
|
|
12
|
+
//# sourceMappingURL=treeEventSnapshotPermalinks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeEventSnapshotPermalinks.d.ts","sourceRoot":"","sources":["../src/treeEventSnapshotPermalinks.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sCAAsC;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA+CD,wBAAgB,iCAAiC,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAStF;AAsBD,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,0BAA0B,EACjC,OAAO,GAAE,sCAA2C,GACnD,MAAM,CAUR;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,0BAA0B,GAAG,IAAI,CA2CtG"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { nhashDecode } from '@hashtree/core';
|
|
2
|
+
const NHASH_PATTERN = /^nhash1[a-z0-9]+$/;
|
|
3
|
+
const LINK_KEY_PATTERN = /^[a-f0-9]{64}$/i;
|
|
4
|
+
function safeDecode(value) {
|
|
5
|
+
try {
|
|
6
|
+
return decodeURIComponent(value);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function extractPermalinkCandidate(input) {
|
|
13
|
+
const raw = `${input instanceof URL ? input.toString() : input}`.trim();
|
|
14
|
+
if (!raw) {
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const parsed = input instanceof URL ? input : new URL(raw);
|
|
19
|
+
if (parsed.hash.startsWith('#/')) {
|
|
20
|
+
return parsed.hash.slice(1);
|
|
21
|
+
}
|
|
22
|
+
return `/${parsed.host}${parsed.pathname}${parsed.search}`;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
if (raw.startsWith('#/')) {
|
|
26
|
+
return raw.slice(1);
|
|
27
|
+
}
|
|
28
|
+
return raw;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function normalizeSnapshotNhash(value) {
|
|
32
|
+
const trimmed = value.trim();
|
|
33
|
+
if (!NHASH_PATTERN.test(trimmed)) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
const decoded = nhashDecode(trimmed);
|
|
38
|
+
if (decoded.key) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return trimmed;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export function normalizeTreeEventSnapshotLinkKey(value) {
|
|
48
|
+
const trimmed = value?.trim();
|
|
49
|
+
if (!trimmed) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
if (!LINK_KEY_PATTERN.test(trimmed)) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
return trimmed.toLowerCase();
|
|
56
|
+
}
|
|
57
|
+
function normalizeTreeEventSnapshotPermalink(value) {
|
|
58
|
+
const snapshotNhash = normalizeSnapshotNhash(value.snapshotNhash);
|
|
59
|
+
if (!snapshotNhash) {
|
|
60
|
+
throw new Error(`Invalid tree event snapshot nhash: ${value.snapshotNhash}`);
|
|
61
|
+
}
|
|
62
|
+
const linkKey = normalizeTreeEventSnapshotLinkKey(value.linkKey);
|
|
63
|
+
if (value.linkKey?.trim() && !linkKey) {
|
|
64
|
+
throw new Error(`Invalid tree event snapshot link key: ${value.linkKey}`);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
snapshotNhash,
|
|
68
|
+
path: value.path.filter(Boolean),
|
|
69
|
+
...(linkKey ? { linkKey } : {}),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export function buildTreeEventSnapshotPermalink(value, options = {}) {
|
|
73
|
+
const normalized = normalizeTreeEventSnapshotPermalink(value);
|
|
74
|
+
const encodedPath = normalized.path.map((part) => encodeURIComponent(part)).join('/');
|
|
75
|
+
const query = new URLSearchParams();
|
|
76
|
+
query.set('snapshot', '1');
|
|
77
|
+
if (normalized.linkKey) {
|
|
78
|
+
query.set('k', normalized.linkKey);
|
|
79
|
+
}
|
|
80
|
+
const prefix = options.prefix ?? '';
|
|
81
|
+
return `${prefix}${normalized.snapshotNhash}${encodedPath ? `/${encodedPath}` : ''}?${query.toString()}`;
|
|
82
|
+
}
|
|
83
|
+
export function parseTreeEventSnapshotPermalink(input) {
|
|
84
|
+
const candidate = extractPermalinkCandidate(input);
|
|
85
|
+
if (!candidate) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
const [pathPart, queryPart = ''] = candidate.split('?', 2);
|
|
89
|
+
const parts = pathPart
|
|
90
|
+
.replace(/^\/+/, '')
|
|
91
|
+
.split('/')
|
|
92
|
+
.filter(Boolean)
|
|
93
|
+
.map(safeDecode);
|
|
94
|
+
if (parts[0] === 'nhash') {
|
|
95
|
+
parts.shift();
|
|
96
|
+
}
|
|
97
|
+
const snapshotNhash = parts.shift();
|
|
98
|
+
if (!snapshotNhash) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
const normalizedSnapshotNhash = normalizeSnapshotNhash(snapshotNhash);
|
|
102
|
+
if (!normalizedSnapshotNhash) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
const params = new URLSearchParams(queryPart);
|
|
106
|
+
if (params.get('snapshot')?.trim() !== '1') {
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
const rawLinkKey = params.get('k');
|
|
110
|
+
const linkKey = normalizeTreeEventSnapshotLinkKey(rawLinkKey);
|
|
111
|
+
if (rawLinkKey?.trim() && !linkKey) {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
snapshotNhash: normalizedSnapshotNhash,
|
|
116
|
+
path: parts,
|
|
117
|
+
...(linkKey ? { linkKey } : {}),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=treeEventSnapshotPermalinks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeEventSnapshotPermalinks.js","sourceRoot":"","sources":["../src/treeEventSnapshotPermalinks.ts"],"names":[],"mappings":"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"}
|