@wovin/core 0.3.3 → 0.3.4
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/applog/applog-utils.d.ts +12 -1
- package/dist/applog/applog-utils.d.ts.map +1 -1
- package/dist/applog.js +5 -1
- package/dist/{chunk-N5QPZNKD.js → chunk-523IW54O.js} +3 -3
- package/dist/{chunk-4MKPGQIM.js → chunk-7VHIXHNF.js} +97 -62
- package/dist/chunk-7VHIXHNF.js.map +1 -0
- package/dist/{chunk-H4YVJKB7.js → chunk-ERVSWD63.js} +2 -2
- package/dist/{chunk-N7SEGHU4.js → chunk-GQDLPZEZ.js} +33 -24
- package/dist/chunk-GQDLPZEZ.js.map +1 -0
- package/dist/{chunk-6CSJTSQP.js → chunk-OB7M55WA.js} +3 -3
- package/dist/{chunk-H3JNNTVP.js → chunk-PTZJ7LVV.js} +27 -6
- package/dist/chunk-PTZJ7LVV.js.map +1 -0
- package/dist/{chunk-BIYQEX3N.js → chunk-XEUQDEA4.js} +2 -2
- package/dist/index.js +11 -7
- package/dist/ipfs.js +4 -4
- package/dist/ipns/ipns-record.d.ts.map +1 -1
- package/dist/ipns/ipns-watcher.d.ts.map +1 -1
- package/dist/ipns.js +6 -8
- package/dist/ipns.js.map +1 -1
- package/dist/pubsub/snap-push.d.ts.map +1 -1
- package/dist/pubsub.js +4 -4
- package/dist/query/basic.d.ts.map +1 -1
- package/dist/query.js +3 -3
- package/dist/retrieve.js +4 -4
- package/dist/thread/basic.d.ts.map +1 -1
- package/dist/thread/mapped.d.ts.map +1 -1
- package/dist/thread/utils.d.ts.map +1 -1
- package/dist/thread.js +1 -1
- package/dist/viewmodel/index.js +2 -2
- package/package.json +1 -1
- package/src/applog/applog-utils.ts +33 -1
- package/src/ipns/ipns-record.test.ts +72 -0
- package/src/ipns/ipns-record.ts +23 -8
- package/src/ipns/ipns-watcher.ts +10 -11
- package/src/pubsub/snap-push.ts +25 -3
- package/src/query/basic.ts +124 -81
- package/src/thread/basic.ts +21 -2
- package/src/thread/mapped.ts +12 -4
- package/src/thread/utils.ts +5 -5
- package/dist/chunk-4MKPGQIM.js.map +0 -1
- package/dist/chunk-H3JNNTVP.js.map +0 -1
- package/dist/chunk-N7SEGHU4.js.map +0 -1
- /package/dist/{chunk-N5QPZNKD.js.map → chunk-523IW54O.js.map} +0 -0
- /package/dist/{chunk-H4YVJKB7.js.map → chunk-ERVSWD63.js.map} +0 -0
- /package/dist/{chunk-6CSJTSQP.js.map → chunk-OB7M55WA.js.map} +0 -0
- /package/dist/{chunk-BIYQEX3N.js.map → chunk-XEUQDEA4.js.map} +0 -0
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
import type { Applog, ApplogValue, DatalogQueryPattern, DatalogQueryResultEntry, ResultContext, SearchContext, ValueOrMatcher } from './datom-types.ts';
|
|
1
|
+
import type { Applog, ApplogOfSomeSort, ApplogValue, DatalogQueryPattern, DatalogQueryResultEntry, ResultContext, SearchContext, ValueOrMatcher } from './datom-types.ts';
|
|
2
|
+
/**
|
|
3
|
+
* One-line, bounded summary of a single applog — enough to trace it in logs
|
|
4
|
+
* (`en/at=vl@ts#cid`) without dumping the full object (and, for arrays, the whole thread).
|
|
5
|
+
* Handles encrypted applogs and falsy entries so it's safe on error paths.
|
|
6
|
+
*/
|
|
7
|
+
export declare const applogSummary: (log: ApplogOfSomeSort | null | undefined) => string;
|
|
8
|
+
/**
|
|
9
|
+
* Bounded summary of an applog array: `[count] first, few, summaries …+N`.
|
|
10
|
+
* Keeps enough identity to debug (which logs, how many) while preventing log explosion.
|
|
11
|
+
*/
|
|
12
|
+
export declare const applogsSummary: (logs: readonly (ApplogOfSomeSort | null | undefined)[] | null | undefined, sample?: number) => string;
|
|
2
13
|
export declare const isoDateStrCompare: (strA: string, strB: string, dir?: "asc" | "desc") => number;
|
|
3
14
|
export declare const objEqualByKeys: (keys: string[], objA: object, objB: object) => boolean;
|
|
4
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applog-utils.d.ts","sourceRoot":"","sources":["../../src/applog/applog-utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,MAAM,
|
|
1
|
+
{"version":3,"file":"applog-utils.d.ts","sourceRoot":"","sources":["../../src/applog/applog-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/applog.js
CHANGED
|
@@ -11,6 +11,8 @@ import {
|
|
|
11
11
|
Nullable,
|
|
12
12
|
URL,
|
|
13
13
|
actualize,
|
|
14
|
+
applogSummary,
|
|
15
|
+
applogsSummary,
|
|
14
16
|
areApplogsEqual,
|
|
15
17
|
arrStats,
|
|
16
18
|
arraysContainSameElements,
|
|
@@ -52,7 +54,7 @@ import {
|
|
|
52
54
|
withAg,
|
|
53
55
|
withPvFrom,
|
|
54
56
|
withTs
|
|
55
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-7VHIXHNF.js";
|
|
56
58
|
import "./chunk-ZAADLBSB.js";
|
|
57
59
|
export {
|
|
58
60
|
AppLogNoCidTB,
|
|
@@ -66,6 +68,8 @@ export {
|
|
|
66
68
|
Nullable,
|
|
67
69
|
URL,
|
|
68
70
|
actualize,
|
|
71
|
+
applogSummary,
|
|
72
|
+
applogsSummary,
|
|
69
73
|
areApplogsEqual,
|
|
70
74
|
arrStats,
|
|
71
75
|
arraysContainSameElements,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveKeyMapper
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GQDLPZEZ.js";
|
|
4
4
|
import {
|
|
5
5
|
SubscribableImpl,
|
|
6
6
|
ThreadInMemory,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
makeFilter,
|
|
12
12
|
memoizedFn,
|
|
13
13
|
rollingFilter
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-7VHIXHNF.js";
|
|
15
15
|
|
|
16
16
|
// src/query/divergences.ts
|
|
17
17
|
import { Logger } from "besonders-logger";
|
|
@@ -285,4 +285,4 @@ export {
|
|
|
285
285
|
serializeEpochSnapshot,
|
|
286
286
|
purgeHistory
|
|
287
287
|
};
|
|
288
|
-
//# sourceMappingURL=chunk-
|
|
288
|
+
//# sourceMappingURL=chunk-523IW54O.js.map
|
|
@@ -11,7 +11,76 @@ import { isBefore } from "date-fns";
|
|
|
11
11
|
import { partial, pick } from "lodash-es";
|
|
12
12
|
import { isEqual } from "lodash-es";
|
|
13
13
|
import stringify from "safe-stable-stringify";
|
|
14
|
+
|
|
15
|
+
// src/applog/datom-types.ts
|
|
16
|
+
import { FormatRegistry, Type } from "@sinclair/typebox";
|
|
17
|
+
import { TypeCompiler } from "@sinclair/typebox/compiler";
|
|
18
|
+
var Nullable = (schema) => Type.Union([schema, Type.Null()]);
|
|
19
|
+
var EntityID_LENGTH = 7;
|
|
20
|
+
var isCID = /^(k51qz|baguq)[0-9a-z]{56,57}$/;
|
|
21
|
+
var isShortHash = /^[0-9A-Fa-f]{7,8}$/g;
|
|
22
|
+
FormatRegistry.Set("EntityID", (value) => !!value.match(isShortHash) || !!value.match(isCID));
|
|
23
|
+
var EntityID = Type.String();
|
|
24
|
+
var isEncryptedApplog = (l) => l?.enc instanceof Uint8Array;
|
|
25
|
+
FormatRegistry.Set("CID", (value) => !!value.match(isCID));
|
|
26
|
+
var CIDTB = Type.String({ pattern: isCID.source });
|
|
27
|
+
var isURL = /^http([s]?):\/\/.*\..*/;
|
|
28
|
+
FormatRegistry.Set("URL", (value) => !!value.match(isURL));
|
|
29
|
+
var URL = Type.String({ pattern: isURL.source });
|
|
30
|
+
var JsonValueTB = Type.Recursive(
|
|
31
|
+
(This) => Type.Union([
|
|
32
|
+
Type.String(),
|
|
33
|
+
Type.Number(),
|
|
34
|
+
Type.Boolean(),
|
|
35
|
+
Type.Null(),
|
|
36
|
+
Type.Array(This),
|
|
37
|
+
Type.Record(Type.String(), This)
|
|
38
|
+
])
|
|
39
|
+
);
|
|
40
|
+
var AppLogNoCidTB = Type.Object({
|
|
41
|
+
en: EntityID,
|
|
42
|
+
// EntityID
|
|
43
|
+
at: Type.String(),
|
|
44
|
+
// Attribute
|
|
45
|
+
vl: JsonValueTB,
|
|
46
|
+
// ApplogValue (JSON-serializable: primitives, arrays, objects)
|
|
47
|
+
ts: Type.String(),
|
|
48
|
+
// Timestamp
|
|
49
|
+
ag: Type.String(),
|
|
50
|
+
// AgentHash
|
|
51
|
+
pv: Nullable(CIDTB)
|
|
52
|
+
// CidString
|
|
53
|
+
});
|
|
54
|
+
var AppLogNoCidTBC = TypeCompiler.Compile(AppLogNoCidTB);
|
|
55
|
+
var getApplogNoCidTypeErrors = (obj) => Array.from(AppLogNoCidTBC.Errors(obj));
|
|
56
|
+
var isValidApplogNoCid = AppLogNoCidTBC.Check.bind(AppLogNoCidTBC);
|
|
57
|
+
var AppLogTB = Type.Composite([
|
|
58
|
+
Type.Object({
|
|
59
|
+
cid: CIDTB
|
|
60
|
+
}),
|
|
61
|
+
AppLogNoCidTB
|
|
62
|
+
]);
|
|
63
|
+
var AppLogTBC = TypeCompiler.Compile(AppLogTB);
|
|
64
|
+
var getApplogTypeErrors = (obj) => Array.from(AppLogTBC.Errors(obj));
|
|
65
|
+
var isValidApplog = AppLogTBC.Check.bind(AppLogTBC);
|
|
66
|
+
|
|
67
|
+
// src/applog/applog-utils.ts
|
|
14
68
|
var { WARN, LOG, DEBUG, VERBOSE, ERROR } = Logger.setup(Logger.INFO);
|
|
69
|
+
var applogSummary = (log) => {
|
|
70
|
+
if (!log) return "\u2205";
|
|
71
|
+
const a = log;
|
|
72
|
+
const cid = a.cid ? `#${String(a.cid).slice(-6)}` : "";
|
|
73
|
+
if (isEncryptedApplog(log)) return `enc[${log.enc.length}B]${cid}`;
|
|
74
|
+
const vl = a.vl === void 0 ? "\u2205" : JSON.stringify(a.vl) ?? String(a.vl);
|
|
75
|
+
const vlStr = vl.length > 32 ? `${vl.slice(0, 32)}\u2026` : vl;
|
|
76
|
+
return `${a.en}/${a.at}=${vlStr}${a.ts ? `@${a.ts}` : ""}${cid}`;
|
|
77
|
+
};
|
|
78
|
+
var applogsSummary = (logs, sample = 3) => {
|
|
79
|
+
if (!logs) return "\u2205";
|
|
80
|
+
if (!logs.length) return "[0]";
|
|
81
|
+
const shown = logs.slice(0, sample).map(applogSummary).join(", ");
|
|
82
|
+
return `[${logs.length}] ${shown}${logs.length > sample ? ` \u2026+${logs.length - sample}` : ""}`;
|
|
83
|
+
};
|
|
15
84
|
var isoDateStrCompare = (strA, strB, dir = "asc") => dir === "asc" ? strA.localeCompare(strB, "en-US") : strB.localeCompare(strA, "en-US");
|
|
16
85
|
var objEqualByKeys = (keys, objA, objB) => {
|
|
17
86
|
return isEqual(pick(objA, keys), pick(objB, keys));
|
|
@@ -100,7 +169,9 @@ function topoSortByPv(logs, dir) {
|
|
|
100
169
|
visited.add(log.cid);
|
|
101
170
|
result.push(log);
|
|
102
171
|
const children = childrenByPv.get(log.cid);
|
|
103
|
-
if (children)
|
|
172
|
+
if (children) {
|
|
173
|
+
for (let i = children.length - 1; i >= 0; i--) stack.push(children[i]);
|
|
174
|
+
}
|
|
104
175
|
}
|
|
105
176
|
if (result.length < logs.length) {
|
|
106
177
|
for (const log of logs) if (!visited.has(log.cid)) result.push(log);
|
|
@@ -586,7 +657,10 @@ var Thread = class {
|
|
|
586
657
|
}
|
|
587
658
|
notifySubscribers(event) {
|
|
588
659
|
this._version++;
|
|
589
|
-
DEBUG2(`[thread: ${this.name}] notifying`, this._derivedSubscribers.length, "derived +", this._subscribers.length, "subscribers of", {
|
|
660
|
+
DEBUG2(`[thread: ${this.name}] notifying`, this._derivedSubscribers.length, "derived +", this._subscribers.length, "subscribers of", {
|
|
661
|
+
...event,
|
|
662
|
+
subs: this._subscribers
|
|
663
|
+
});
|
|
590
664
|
const derived = [...this._derivedSubscribers];
|
|
591
665
|
for (const subscriber of derived) {
|
|
592
666
|
subscriber(event);
|
|
@@ -676,6 +750,17 @@ var Thread = class {
|
|
|
676
750
|
get hasParents() {
|
|
677
751
|
return !!this.parents?.length;
|
|
678
752
|
}
|
|
753
|
+
// Compact representation for server-side / plain console logging (Node's util.inspect).
|
|
754
|
+
// ⚠ Only consulted by Node — browser devtools ignore this symbol and keep rendering the
|
|
755
|
+
// live, expandable object, so passing `thread` to a logger stays clickable in devtools
|
|
756
|
+
// while no longer splatting every applog + the whole parent chain + subscribers to stdout.
|
|
757
|
+
[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
|
|
758
|
+
try {
|
|
759
|
+
return `${this.constructor.name}<${this.nameAndSizeUntracked}${this.filters?.length ? ` |${this.filters.join(",")}` : ""}>`;
|
|
760
|
+
} catch {
|
|
761
|
+
return `${this.constructor.name}<${this.name} (size?)>`;
|
|
762
|
+
}
|
|
763
|
+
}
|
|
679
764
|
};
|
|
680
765
|
var getLogsFromThread = (logsOrThread) => logsOrThread instanceof Thread ? logsOrThread.applogs : logsOrThread;
|
|
681
766
|
var StaticThread = class _StaticThread extends Thread {
|
|
@@ -703,60 +788,6 @@ import { sha256 } from "@noble/hashes/sha2.js";
|
|
|
703
788
|
import { Logger as Logger3 } from "besonders-logger";
|
|
704
789
|
import { CID, digest as Digest } from "multiformats";
|
|
705
790
|
import { encode as multiformatsEncode } from "multiformats/block";
|
|
706
|
-
|
|
707
|
-
// src/applog/datom-types.ts
|
|
708
|
-
import { FormatRegistry, Type } from "@sinclair/typebox";
|
|
709
|
-
import { TypeCompiler } from "@sinclair/typebox/compiler";
|
|
710
|
-
var Nullable = (schema) => Type.Union([schema, Type.Null()]);
|
|
711
|
-
var EntityID_LENGTH = 7;
|
|
712
|
-
var isCID = /^(k51qz|baguq)[0-9a-z]{56,57}$/;
|
|
713
|
-
var isShortHash = /^[0-9A-Fa-f]{7,8}$/g;
|
|
714
|
-
FormatRegistry.Set("EntityID", (value) => !!value.match(isShortHash) || !!value.match(isCID));
|
|
715
|
-
var EntityID = Type.String();
|
|
716
|
-
var isEncryptedApplog = (l) => l?.enc instanceof Uint8Array;
|
|
717
|
-
FormatRegistry.Set("CID", (value) => !!value.match(isCID));
|
|
718
|
-
var CIDTB = Type.String({ pattern: isCID.source });
|
|
719
|
-
var isURL = /^http([s]?):\/\/.*\..*/;
|
|
720
|
-
FormatRegistry.Set("URL", (value) => !!value.match(isURL));
|
|
721
|
-
var URL = Type.String({ pattern: isURL.source });
|
|
722
|
-
var JsonValueTB = Type.Recursive(
|
|
723
|
-
(This) => Type.Union([
|
|
724
|
-
Type.String(),
|
|
725
|
-
Type.Number(),
|
|
726
|
-
Type.Boolean(),
|
|
727
|
-
Type.Null(),
|
|
728
|
-
Type.Array(This),
|
|
729
|
-
Type.Record(Type.String(), This)
|
|
730
|
-
])
|
|
731
|
-
);
|
|
732
|
-
var AppLogNoCidTB = Type.Object({
|
|
733
|
-
en: EntityID,
|
|
734
|
-
// EntityID
|
|
735
|
-
at: Type.String(),
|
|
736
|
-
// Attribute
|
|
737
|
-
vl: JsonValueTB,
|
|
738
|
-
// ApplogValue (JSON-serializable: primitives, arrays, objects)
|
|
739
|
-
ts: Type.String(),
|
|
740
|
-
// Timestamp
|
|
741
|
-
ag: Type.String(),
|
|
742
|
-
// AgentHash
|
|
743
|
-
pv: Nullable(CIDTB)
|
|
744
|
-
// CidString
|
|
745
|
-
});
|
|
746
|
-
var AppLogNoCidTBC = TypeCompiler.Compile(AppLogNoCidTB);
|
|
747
|
-
var getApplogNoCidTypeErrors = (obj) => Array.from(AppLogNoCidTBC.Errors(obj));
|
|
748
|
-
var isValidApplogNoCid = AppLogNoCidTBC.Check.bind(AppLogNoCidTBC);
|
|
749
|
-
var AppLogTB = Type.Composite([
|
|
750
|
-
Type.Object({
|
|
751
|
-
cid: CIDTB
|
|
752
|
-
}),
|
|
753
|
-
AppLogNoCidTB
|
|
754
|
-
]);
|
|
755
|
-
var AppLogTBC = TypeCompiler.Compile(AppLogTB);
|
|
756
|
-
var getApplogTypeErrors = (obj) => Array.from(AppLogTBC.Errors(obj));
|
|
757
|
-
var isValidApplog = AppLogTBC.Check.bind(AppLogTBC);
|
|
758
|
-
|
|
759
|
-
// src/ipfs/ipfs-utils.ts
|
|
760
791
|
import { base36 } from "multiformats/bases/base36";
|
|
761
792
|
import { sha256 as sha265Hasher } from "multiformats/hashes/sha2";
|
|
762
793
|
var { WARN: WARN3, LOG: LOG3, DEBUG: DEBUG3, VERBOSE: VERBOSE3, ERROR: ERROR3 } = Logger3.setup(Logger3.INFO);
|
|
@@ -1069,6 +1100,7 @@ function refCountedMemoizedFn(name, fn, opts) {
|
|
|
1069
1100
|
import { Logger as Logger5 } from "besonders-logger";
|
|
1070
1101
|
import { sortedIndexBy } from "lodash-es";
|
|
1071
1102
|
var { WARN: WARN5, LOG: LOG5, DEBUG: DEBUG5, VERBOSE: VERBOSE5, ERROR: ERROR5 } = Logger5.setup(Logger5.INFO);
|
|
1103
|
+
var threadEventSummary = (e) => isInitEvent(e) ? `init ${applogsSummary(e.init)}` : `added ${applogsSummary(e.added)}${e.removed ? ` removed ${applogsSummary(e.removed)}` : ""}`;
|
|
1072
1104
|
var MappedThread = class _MappedThread extends Thread {
|
|
1073
1105
|
// mapped to unsubscribe function
|
|
1074
1106
|
constructor(name, parents, filters, _derivation, _writeMapper = null, _readOnly) {
|
|
@@ -1215,9 +1247,10 @@ var MappedThread = class _MappedThread extends Thread {
|
|
|
1215
1247
|
this._applogs.splice(idx, 1);
|
|
1216
1248
|
} else {
|
|
1217
1249
|
throw ERROR5(`MappedThread{${this.name}} toRemove: log not found`, toRemove, {
|
|
1218
|
-
thread: this,
|
|
1219
|
-
|
|
1220
|
-
|
|
1250
|
+
thread: this.nameAndSizeUntracked,
|
|
1251
|
+
currentLogs: applogsSummary(this._applogs),
|
|
1252
|
+
event: threadEventSummary(event),
|
|
1253
|
+
result: threadEventSummary(result)
|
|
1221
1254
|
});
|
|
1222
1255
|
}
|
|
1223
1256
|
}
|
|
@@ -1736,7 +1769,7 @@ function debounceWrites(thread, wait = 700, removeDuplicatesWith = compareApplog
|
|
|
1736
1769
|
if (thread.readOnly) throw ERROR9(`[debounceWrites] but readOnly thread`, thread.name);
|
|
1737
1770
|
let insertQueue = [];
|
|
1738
1771
|
const debouncedCommit = debounce(() => {
|
|
1739
|
-
|
|
1772
|
+
DEBUG9(`Debounce tail`, { thread: thread.nameAndSizeUntracked, queued: applogsSummary(insertQueue) });
|
|
1740
1773
|
const toInsert = ensureTsPvAndFinalizeApplogs(
|
|
1741
1774
|
// ? uniq, sure - but which one is used? (update: seems the first one, so reverse)
|
|
1742
1775
|
uniqWith(insertQueue.reverse(), removeDuplicatesWith),
|
|
@@ -1746,7 +1779,7 @@ function debounceWrites(thread, wait = 700, removeDuplicatesWith = compareApplog
|
|
|
1746
1779
|
insertQueue.splice(0, insertQueue.length);
|
|
1747
1780
|
}, wait);
|
|
1748
1781
|
const handleInsert = (applogs) => {
|
|
1749
|
-
DEBUG9(`Debounce input:`, applogs, { thread
|
|
1782
|
+
DEBUG9(`Debounce input:`, applogsSummary(applogs), { thread: thread.nameAndSizeUntracked, queued: insertQueue.length });
|
|
1750
1783
|
insertQueue.push(...applogs);
|
|
1751
1784
|
debouncedCommit();
|
|
1752
1785
|
return null;
|
|
@@ -1843,6 +1876,8 @@ export {
|
|
|
1843
1876
|
ensureValidCIDinstance,
|
|
1844
1877
|
areCidsEqual,
|
|
1845
1878
|
containsCid,
|
|
1879
|
+
applogSummary,
|
|
1880
|
+
applogsSummary,
|
|
1846
1881
|
isoDateStrCompare,
|
|
1847
1882
|
objEqualByKeys,
|
|
1848
1883
|
valueEq,
|
|
@@ -1919,4 +1954,4 @@ export {
|
|
|
1919
1954
|
withPvFrom,
|
|
1920
1955
|
joinThreads
|
|
1921
1956
|
};
|
|
1922
|
-
//# sourceMappingURL=chunk-
|
|
1957
|
+
//# sourceMappingURL=chunk-7VHIXHNF.js.map
|