@wovin/core 0.1.36 → 0.2.2

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.
Files changed (213) hide show
  1. package/README.md +0 -12
  2. package/dist/applog/applog-helpers.d.ts +12 -12
  3. package/dist/applog/applog-helpers.d.ts.map +1 -1
  4. package/dist/applog/applog-utils.d.ts +40 -6
  5. package/dist/applog/applog-utils.d.ts.map +1 -1
  6. package/dist/applog/datom-types.d.ts +67 -12
  7. package/dist/applog/datom-types.d.ts.map +1 -1
  8. package/dist/applog.d.ts +3 -3
  9. package/dist/applog.d.ts.map +1 -1
  10. package/dist/{applog.min.js → applog.js} +12 -7
  11. package/dist/blockstore.d.ts +1 -1
  12. package/dist/blockstore.d.ts.map +1 -1
  13. package/dist/{blockstore.min.js → blockstore.js} +1 -3
  14. package/dist/{blockstore.min.js.map → blockstore.js.map} +1 -1
  15. package/dist/chunk-22WDFLXO.js +138 -0
  16. package/dist/chunk-22WDFLXO.js.map +1 -0
  17. package/dist/chunk-3SUFNJEZ.js +1026 -0
  18. package/dist/chunk-3SUFNJEZ.js.map +1 -0
  19. package/dist/chunk-6ALNRM3J.js +435 -0
  20. package/dist/chunk-6ALNRM3J.js.map +1 -0
  21. package/dist/chunk-7Z5YDQKK.js +1 -0
  22. package/dist/{chunk-KXMTKPF4.min.js → chunk-BLF5MAWU.js} +8 -8
  23. package/dist/chunk-BLF5MAWU.js.map +1 -0
  24. package/dist/chunk-E46VTKTZ.js +1 -0
  25. package/dist/{chunk-H3VQJP56.min.js → chunk-HUIQ54TT.js} +9 -9
  26. package/dist/chunk-HUIQ54TT.js.map +1 -0
  27. package/dist/{chunk-BRC7LSM6.min.js → chunk-OC6Z6CQW.js} +5 -5
  28. package/dist/chunk-OC6Z6CQW.js.map +1 -0
  29. package/dist/chunk-SHUHRHOT.js +1923 -0
  30. package/dist/chunk-SHUHRHOT.js.map +1 -0
  31. package/dist/{chunk-QPGEBDMJ.min.js → chunk-YDAKBU6Q.js} +1 -1
  32. package/dist/chunk-YDAKBU6Q.js.map +1 -0
  33. package/dist/chunk-ZAADLBSB.js +36 -0
  34. package/dist/chunk-ZAADLBSB.js.map +1 -0
  35. package/dist/index.d.ts +7 -7
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/{index.min.js → index.js} +81 -46
  38. package/dist/ipfs/car.d.ts +11 -11
  39. package/dist/ipfs/car.d.ts.map +1 -1
  40. package/dist/ipfs/ipfs-utils.d.ts +2 -2
  41. package/dist/ipfs/ipfs-utils.d.ts.map +1 -1
  42. package/dist/ipfs.d.ts +3 -3
  43. package/dist/ipfs.d.ts.map +1 -1
  44. package/dist/{ipfs.min.js → ipfs.js} +7 -10
  45. package/dist/ipns.d.ts +1 -1
  46. package/dist/ipns.d.ts.map +1 -1
  47. package/dist/ipns.js +64 -0
  48. package/dist/ipns.js.map +1 -0
  49. package/dist/pubsub/pub-pull.d.ts +3 -3
  50. package/dist/pubsub/pub-pull.d.ts.map +1 -1
  51. package/dist/pubsub/pubsub-types.d.ts +3 -3
  52. package/dist/pubsub/pubsub-types.d.ts.map +1 -1
  53. package/dist/pubsub/snap-push.d.ts +4 -4
  54. package/dist/pubsub/snap-push.d.ts.map +1 -1
  55. package/dist/pubsub/ucan.d.ts +1 -1
  56. package/dist/pubsub/ucan.d.ts.map +1 -1
  57. package/dist/pubsub.d.ts +4 -4
  58. package/dist/pubsub.d.ts.map +1 -1
  59. package/dist/{pubsub.min.js → pubsub.js} +7 -10
  60. package/dist/query/attr-helpers.d.ts +5 -0
  61. package/dist/query/attr-helpers.d.ts.map +1 -0
  62. package/dist/query/basic.d.ts +87 -23
  63. package/dist/query/basic.d.ts.map +1 -1
  64. package/dist/query/divergences.d.ts +5 -5
  65. package/dist/query/divergences.d.ts.map +1 -1
  66. package/dist/query/entity-collection.d.ts +19 -0
  67. package/dist/query/entity-collection.d.ts.map +1 -0
  68. package/dist/query/matchers.d.ts +12 -1
  69. package/dist/query/matchers.d.ts.map +1 -1
  70. package/dist/query/memoized.d.ts +66 -0
  71. package/dist/query/memoized.d.ts.map +1 -0
  72. package/dist/query/situations.d.ts +2 -1
  73. package/dist/query/situations.d.ts.map +1 -1
  74. package/dist/query/subscribable.d.ts +111 -0
  75. package/dist/query/subscribable.d.ts.map +1 -0
  76. package/dist/query/types.d.ts +54 -14
  77. package/dist/query/types.d.ts.map +1 -1
  78. package/dist/query.d.ts +9 -5
  79. package/dist/query.d.ts.map +1 -1
  80. package/dist/{query.min.js → query.js} +55 -34
  81. package/dist/retrieve/index.d.ts +1 -1
  82. package/dist/retrieve/index.d.ts.map +1 -1
  83. package/dist/retrieve/update-thread.d.ts +3 -3
  84. package/dist/retrieve/update-thread.d.ts.map +1 -1
  85. package/dist/retrieve.d.ts +1 -1
  86. package/dist/retrieve.d.ts.map +1 -1
  87. package/dist/retrieve.js +14 -0
  88. package/dist/thread/basic.d.ts +15 -19
  89. package/dist/thread/basic.d.ts.map +1 -1
  90. package/dist/thread/filters.d.ts +8 -10
  91. package/dist/thread/filters.d.ts.map +1 -1
  92. package/dist/thread/indexes.d.ts +57 -0
  93. package/dist/thread/indexes.d.ts.map +1 -0
  94. package/dist/thread/mapped.d.ts +40 -11
  95. package/dist/thread/mapped.d.ts.map +1 -1
  96. package/dist/thread/utils.d.ts +5 -5
  97. package/dist/thread/utils.d.ts.map +1 -1
  98. package/dist/thread/writeable.d.ts +2 -2
  99. package/dist/thread/writeable.d.ts.map +1 -1
  100. package/dist/thread.d.ts +6 -5
  101. package/dist/thread.d.ts.map +1 -1
  102. package/dist/{thread.min.js → thread.js} +9 -6
  103. package/dist/types/typescript-utils.d.ts +6 -5
  104. package/dist/types/typescript-utils.d.ts.map +1 -1
  105. package/dist/types.d.ts +1 -1
  106. package/dist/types.d.ts.map +1 -1
  107. package/dist/{types.min.js → types.js} +3 -4
  108. package/dist/utils/debug-name.d.ts +13 -0
  109. package/dist/utils/debug-name.d.ts.map +1 -0
  110. package/dist/utils.d.ts +1 -1
  111. package/dist/utils.d.ts.map +1 -1
  112. package/dist/utils.js +9 -0
  113. package/package.json +32 -23
  114. package/src/applog/applog-helpers.ts +155 -0
  115. package/src/applog/applog-utils.test.ts +108 -0
  116. package/src/applog/applog-utils.ts +551 -0
  117. package/src/applog/datom-types.ts +167 -0
  118. package/src/applog/object-values.test.ts +106 -0
  119. package/src/applog.ts +3 -0
  120. package/src/blockstore/index.ts +36 -0
  121. package/src/blockstore.ts +1 -0
  122. package/src/index.ts +8 -0
  123. package/src/ipfs/car.ts +291 -0
  124. package/src/ipfs/fetch-snapshot-chain.ts +135 -0
  125. package/src/ipfs/ipfs-utils.ts +132 -0
  126. package/src/ipfs.ts +3 -0
  127. package/src/ipns/ipns-record.ts +115 -0
  128. package/src/ipns.ts +1 -0
  129. package/src/pubsub/UCAN Specs Overview.md +217 -0
  130. package/src/pubsub/connector.ts +9 -0
  131. package/src/pubsub/pub-pull.ts +31 -0
  132. package/src/pubsub/pubsub-types.ts +90 -0
  133. package/src/pubsub/snap-push.ts +278 -0
  134. package/src/pubsub/ucan-example.ts +61 -0
  135. package/src/pubsub/ucan.ts +56 -0
  136. package/src/pubsub.ts +4 -0
  137. package/src/query/attr-helpers.ts +5 -0
  138. package/src/query/basic.ts +1245 -0
  139. package/src/query/divergences.ts +50 -0
  140. package/src/query/entity-collection.ts +132 -0
  141. package/src/query/liveFilterAndMap.test.ts +102 -0
  142. package/src/query/matchers.ts +30 -0
  143. package/src/query/memoized.test.ts +151 -0
  144. package/src/query/memoized.ts +180 -0
  145. package/src/query/query-steps.ts +4 -0
  146. package/src/query/query.test.ts +538 -0
  147. package/src/query/situations.ts +261 -0
  148. package/src/query/subscribable.test.ts +245 -0
  149. package/src/query/subscribable.ts +234 -0
  150. package/src/query/types.ts +155 -0
  151. package/src/query/withoutDeleted.test.ts +204 -0
  152. package/src/query.ts +9 -0
  153. package/src/retrieve/index.ts +1 -0
  154. package/src/retrieve/update-thread.ts +248 -0
  155. package/src/retrieve.ts +1 -0
  156. package/src/test/perf/query.1m.perf.test.ts +94 -0
  157. package/src/test/perf/query.perf.test.ts +389 -0
  158. package/src/test/perf/query.realdata.perf.test.ts +182 -0
  159. package/src/thread/basic.ts +209 -0
  160. package/src/thread/filters.ts +227 -0
  161. package/src/thread/indexes.ts +256 -0
  162. package/src/thread/joinThreads.test.ts +304 -0
  163. package/src/thread/mapped.ts +226 -0
  164. package/src/thread/utils.ts +144 -0
  165. package/src/thread/writeable.ts +163 -0
  166. package/src/thread.ts +6 -0
  167. package/src/types/typescript-utils.ts +64 -0
  168. package/src/types.ts +1 -0
  169. package/src/utils/debug-name.ts +54 -0
  170. package/src/utils.ts +4 -0
  171. package/dist/chunk-2Y2PYHGR.min.js +0 -65
  172. package/dist/chunk-2Y2PYHGR.min.js.map +0 -1
  173. package/dist/chunk-5MMGBK2U.min.js +0 -1
  174. package/dist/chunk-7IDQIMQO.min.js +0 -1
  175. package/dist/chunk-BRC7LSM6.min.js.map +0 -1
  176. package/dist/chunk-COXXILXC.min.js +0 -512
  177. package/dist/chunk-COXXILXC.min.js.map +0 -1
  178. package/dist/chunk-GDX2OO7L.min.js +0 -9080
  179. package/dist/chunk-GDX2OO7L.min.js.map +0 -1
  180. package/dist/chunk-H3VQJP56.min.js.map +0 -1
  181. package/dist/chunk-HYMC7W6S.min.js +0 -1549
  182. package/dist/chunk-HYMC7W6S.min.js.map +0 -1
  183. package/dist/chunk-KEHU7HGZ.min.js +0 -5216
  184. package/dist/chunk-KEHU7HGZ.min.js.map +0 -1
  185. package/dist/chunk-KXMTKPF4.min.js.map +0 -1
  186. package/dist/chunk-PHITDXZT.min.js +0 -36
  187. package/dist/chunk-QO2KMGDN.min.js +0 -3771
  188. package/dist/chunk-QO2KMGDN.min.js.map +0 -1
  189. package/dist/chunk-QPGEBDMJ.min.js.map +0 -1
  190. package/dist/chunk-WXLCBTHX.min.js +0 -1606
  191. package/dist/chunk-WXLCBTHX.min.js.map +0 -1
  192. package/dist/ipns.min.js +0 -6419
  193. package/dist/ipns.min.js.map +0 -1
  194. package/dist/mobx/mobx-utils.d.ts +0 -82
  195. package/dist/mobx/mobx-utils.d.ts.map +0 -1
  196. package/dist/mobx.d.ts +0 -2
  197. package/dist/mobx.d.ts.map +0 -1
  198. package/dist/mobx.min.js +0 -141
  199. package/dist/retrieve.min.js +0 -17
  200. package/dist/types.min.js.map +0 -1
  201. package/dist/utils.min.js +0 -10
  202. package/dist/utils.min.js.map +0 -1
  203. /package/dist/{applog.min.js.map → applog.js.map} +0 -0
  204. /package/dist/{chunk-5MMGBK2U.min.js.map → chunk-7Z5YDQKK.js.map} +0 -0
  205. /package/dist/{chunk-7IDQIMQO.min.js.map → chunk-E46VTKTZ.js.map} +0 -0
  206. /package/dist/{chunk-PHITDXZT.min.js.map → index.js.map} +0 -0
  207. /package/dist/{index.min.js.map → ipfs.js.map} +0 -0
  208. /package/dist/{ipfs.min.js.map → pubsub.js.map} +0 -0
  209. /package/dist/{mobx.min.js.map → query.js.map} +0 -0
  210. /package/dist/{pubsub.min.js.map → retrieve.js.map} +0 -0
  211. /package/dist/{query.min.js.map → thread.js.map} +0 -0
  212. /package/dist/{retrieve.min.js.map → types.js.map} +0 -0
  213. /package/dist/{thread.min.js.map → utils.js.map} +0 -0
@@ -1,9 +1,9 @@
1
1
  import {
2
- includedIn,
3
- includes,
2
+ liveEntityCollection,
4
3
  queryDivergencesByPrev
5
- } from "./chunk-2Y2PYHGR.min.js";
4
+ } from "./chunk-22WDFLXO.js";
6
5
  import {
6
+ LiveQueryResult,
7
7
  QueryNode,
8
8
  QueryResult,
9
9
  agentsOfThread,
@@ -13,6 +13,19 @@ import {
13
13
  entityOverlapMap,
14
14
  filterAndMap,
15
15
  lastWriteWins,
16
+ liveEntityAt,
17
+ liveEntityOverlapCount,
18
+ liveFilterAndMap,
19
+ liveQuery,
20
+ liveQueryAndMap,
21
+ liveQueryEntity,
22
+ liveQueryNot,
23
+ liveQuerySingle,
24
+ liveQuerySingleAndMap,
25
+ liveQueryStep,
26
+ makeApplogMapper,
27
+ mapApplogsWith,
28
+ mapAttributes,
16
29
  mapQueryResultWith,
17
30
  mapThreadWith,
18
31
  prefixAt,
@@ -23,42 +36,37 @@ import {
23
36
  queryNot,
24
37
  querySingle,
25
38
  querySingleAndMap,
26
- queryStep,
39
+ queryStepOnce,
40
+ resolveKeyMapper,
27
41
  startsWith,
42
+ stripAtPrefix,
28
43
  threadFromMaybeArray,
29
44
  throwOnTimeout,
30
45
  withTimeout,
31
46
  withoutDeleted
32
- } from "./chunk-COXXILXC.min.js";
47
+ } from "./chunk-3SUFNJEZ.js";
33
48
  import {
34
- applogThreadComparer,
35
- autorunButAlsoImmediately,
36
- compareStructuralButThreadsOnIdentity,
37
- computedFnDeepCompare,
38
- computedStructuralComparer,
49
+ SubscribableArrayImpl,
50
+ SubscribableImpl,
51
+ anyOf,
39
52
  createDebugName,
40
53
  createDebugNameObj,
41
- observableArrayMap,
42
- observableMapMap,
43
- observableMapToObject,
44
- observableSetMap,
54
+ includedIn,
55
+ includes,
56
+ isArrayInitEvent,
57
+ memoizedFn,
45
58
  prettifyThreadName,
46
- queryNodesComparer,
47
- rootsQueries
48
- } from "./chunk-GDX2OO7L.min.js";
49
- import "./chunk-HYMC7W6S.min.js";
50
- import "./chunk-QO2KMGDN.min.js";
51
- import "./chunk-KEHU7HGZ.min.js";
52
- import "./chunk-PHITDXZT.min.js";
59
+ refCountedMemoizedFn
60
+ } from "./chunk-SHUHRHOT.js";
61
+ import "./chunk-ZAADLBSB.js";
53
62
  export {
63
+ LiveQueryResult,
54
64
  QueryNode,
55
65
  QueryResult,
66
+ SubscribableArrayImpl,
67
+ SubscribableImpl,
56
68
  agentsOfThread,
57
- applogThreadComparer,
58
- autorunButAlsoImmediately,
59
- compareStructuralButThreadsOnIdentity,
60
- computedFnDeepCompare,
61
- computedStructuralComparer,
69
+ anyOf,
62
70
  createDebugName,
63
71
  createDebugNameObj,
64
72
  createObjMapper,
@@ -68,13 +76,25 @@ export {
68
76
  filterAndMap,
69
77
  includedIn,
70
78
  includes,
79
+ isArrayInitEvent,
71
80
  lastWriteWins,
81
+ liveEntityAt,
82
+ liveEntityCollection,
83
+ liveEntityOverlapCount,
84
+ liveFilterAndMap,
85
+ liveQuery,
86
+ liveQueryAndMap,
87
+ liveQueryEntity,
88
+ liveQueryNot,
89
+ liveQuerySingle,
90
+ liveQuerySingleAndMap,
91
+ liveQueryStep,
92
+ makeApplogMapper,
93
+ mapApplogsWith,
94
+ mapAttributes,
72
95
  mapQueryResultWith,
73
96
  mapThreadWith,
74
- observableArrayMap,
75
- observableMapMap,
76
- observableMapToObject,
77
- observableSetMap,
97
+ memoizedFn,
78
98
  prefixAt,
79
99
  prefixAttrs,
80
100
  prettifyThreadName,
@@ -82,16 +102,17 @@ export {
82
102
  queryAndMap,
83
103
  queryDivergencesByPrev,
84
104
  queryEntity,
85
- queryNodesComparer,
86
105
  queryNot,
87
106
  querySingle,
88
107
  querySingleAndMap,
89
- queryStep,
90
- rootsQueries,
108
+ queryStepOnce,
109
+ refCountedMemoizedFn,
110
+ resolveKeyMapper,
91
111
  startsWith,
112
+ stripAtPrefix,
92
113
  threadFromMaybeArray,
93
114
  throwOnTimeout,
94
115
  withTimeout,
95
116
  withoutDeleted
96
117
  };
97
- //# sourceMappingURL=query.min.js.map
118
+ //# sourceMappingURL=query.js.map
@@ -1,2 +1,2 @@
1
- export * from './update-thread';
1
+ export * from './update-thread.ts';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retrieve/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retrieve/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { CID } from 'multiformats/cid';
2
- import type { Applog } from '../applog/datom-types';
3
- import type { WriteableThread } from '../thread/writeable';
4
- import type { BlockStore } from '../blockstore/index';
2
+ import type { Applog } from '../applog/datom-types.ts';
3
+ import type { WriteableThread } from '../thread/writeable.ts';
4
+ import type { BlockStore } from '../blockstore/index.ts';
5
5
  /**
6
6
  * Block retrieval abstraction - fetch or get blocks.
7
7
  * Implemented by gateway retriever or local blockstore.
@@ -1 +1 @@
1
- {"version":3,"file":"update-thread.d.ts","sourceRoot":"","sources":["../../src/retrieve/update-thread.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAKnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAIrD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,8BAA8B;IAC9B,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,sEAAsE;IACtE,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC,CAAA;CAChE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,UAAU,GACf,cAAc,CAUhB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,GAAG,CAAA;IACxB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,gCAAgC;IAChC,GAAG,EAAE,GAAG,CAAA;IACR,yCAAyC;IACzC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,YAAY,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CACzD;AA4BD;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAqIvB"}
1
+ {"version":3,"file":"update-thread.d.ts","sourceRoot":"","sources":["../../src/retrieve/update-thread.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAKtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAIxD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,8BAA8B;IAC9B,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,sEAAsE;IACtE,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC,CAAA;CAChE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,UAAU,GACf,cAAc,CAUhB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,GAAG,CAAA;IACxB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,gCAAgC;IAChC,GAAG,EAAE,GAAG,CAAA;IACR,yCAAyC;IACzC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,YAAY,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CACzD;AA4BD;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAqIvB"}
@@ -1,2 +1,2 @@
1
- export * from './retrieve/update-thread';
1
+ export * from './retrieve/update-thread.ts';
2
2
  //# sourceMappingURL=retrieve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../src/retrieve.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../src/retrieve.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA"}
@@ -0,0 +1,14 @@
1
+ import {
2
+ updateThreadFromSnapshot,
3
+ withBlockCache
4
+ } from "./chunk-HUIQ54TT.js";
5
+ import "./chunk-6ALNRM3J.js";
6
+ import "./chunk-YDAKBU6Q.js";
7
+ import "./chunk-3SUFNJEZ.js";
8
+ import "./chunk-SHUHRHOT.js";
9
+ import "./chunk-ZAADLBSB.js";
10
+ export {
11
+ updateThreadFromSnapshot,
12
+ withBlockCache
13
+ };
14
+ //# sourceMappingURL=retrieve.js.map
@@ -1,33 +1,29 @@
1
- import { IObservableArray } from 'mobx';
2
1
  import { CID } from 'multiformats';
3
- import { type Applog, ApplogForInsert, CidString } from '../applog/datom-types';
4
- import { ArrayOrSingle } from '../types/typescript-utils';
5
- export type ThreadEvent = {
6
- added: readonly Applog[];
7
- removed: readonly Applog[] | null;
8
- } | {
9
- init: readonly Applog[];
10
- };
11
- export declare function isInitEvent(event: ThreadEvent): event is {
12
- init: readonly Applog[];
13
- };
2
+ import { type Applog, ApplogForInsert, CidString } from '../applog/datom-types.ts';
3
+ import type { SubscribableArray, ArrayEvent } from '../query/subscribable.ts';
4
+ import { isArrayInitEvent } from '../query/subscribable.ts';
5
+ import { ArrayOrSingle } from '../types/typescript-utils.ts';
6
+ export type ThreadEvent = ArrayEvent<Applog>;
7
+ /** @deprecated Use isArrayInitEvent from @wovin/core/query */
8
+ export declare const isInitEvent: typeof isArrayInitEvent;
14
9
  export type ApplogsOrThread = Thread | readonly Applog[];
15
- export declare abstract class Thread {
10
+ export declare abstract class Thread implements SubscribableArray<Applog> {
16
11
  readonly name: string;
17
12
  protected _applogs: Applog[];
18
13
  readonly filters: readonly string[];
19
- readonly parents: IObservableArray<Thread> | Thread[] | readonly Thread[] | null;
14
+ readonly parents: Thread[] | readonly Thread[] | null;
20
15
  protected _derivedSubscribers: ((event: ThreadEvent) => void)[];
21
16
  protected _subscribers: ((event: ThreadEvent) => void)[];
22
- constructor(name: string, /* = null */ parents: ArrayOrSingle<Thread> | IObservableArray<Thread> | readonly Thread[] | null, filters: readonly string[], _applogs?: Applog[], opts?: {
23
- skipObservable?: boolean;
24
- });
17
+ /** Monotonic counter incremented on every mutation. Used by memoizedFn to invalidate caches. */
18
+ _version: number;
19
+ constructor(name: string, /* = null */ parents: ArrayOrSingle<Thread> | readonly Thread[] | null, filters: readonly string[], _applogs?: Applog[]);
25
20
  get readOnly(): any;
26
21
  insert(appLogsToInsert: ArrayOrSingle<ApplogForInsert>): any;
27
22
  insertRaw(appLogsToInsert: readonly Applog[]): any;
28
23
  subscribe(callback: (event: ThreadEvent) => void, type?: 'derived' | 'reaction'): () => void;
29
- unsubscribe(callback: (event: ThreadEvent) => void): void;
30
24
  protected notifySubscribers(event: ThreadEvent): void;
25
+ get items(): readonly Applog[];
26
+ dispose(): void;
31
27
  get applogs(): readonly Applog[];
32
28
  get applogsCids(): readonly CidString[];
33
29
  get applogsCidSet(): ReadonlySet<CidString>;
@@ -58,7 +54,7 @@ export declare abstract class Thread {
58
54
  export declare const getLogsFromThread: (logsOrThread: ApplogsOrThread) => readonly Applog[];
59
55
  export declare class StaticThread extends Thread {
60
56
  static fromArray(applogs: Applog[], name?: string): StaticThread;
61
- constructor(name: string, /* = null */ parents: ArrayOrSingle<Thread> | IObservableArray<Thread> | readonly Thread[] | null, filters: readonly string[], _applogs: Applog[]);
57
+ constructor(name: string, /* = null */ parents: ArrayOrSingle<Thread> | readonly Thread[] | null, filters: readonly string[], _applogs: Applog[]);
62
58
  get readOnly(): boolean;
63
59
  }
64
60
  //# sourceMappingURL=basic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/thread/basic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/thread/basic.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAGlC,OAAO,EAAE,KAAK,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAiB,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAI3E,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;AAC5C,8DAA8D;AAC9D,eAAO,MAAM,WAAW,yBAAmB,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAA;AAIxD,8BAAsB,MAAO,YAAW,iBAAiB,CAAC,MAAM,CAAC;IAS/D,QAAQ,CAAC,IAAI,EAAE,MAAM;IAGrB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE;IAX7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;IACrD,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAAE,CAAK;IACpE,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAAE,CAAK;IAC7D,gGAAgG;IAChG,QAAQ,SAAI;gBAGF,IAAI,EAAE,MAAM,EAAE,YAAY,CACnC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,EACzD,OAAO,EAAE,SAAS,MAAM,EAAE,EAChB,QAAQ,GAAE,MAAM,EAAO;IASlC,IAAI,QAAQ,QAGX;IAEM,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC;IAMtD,SAAS,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE;IAOnD,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU;IAS/E,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW;IAc9C,IAAI,KAAK,IAAI,SAAS,MAAM,EAAE,CAAyB;IAEvD,OAAO;IAKP,IAAI,OAAO,IAAI,SAAS,MAAM,EAAE,CAG/B;IACD,IAAI,WAAW,IAAI,SAAS,SAAS,EAAE,CAEtC;IACD,IAAI,aAAa,IAAI,WAAW,CAAC,SAAS,CAAC,CAE1C;IAEM,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC;IAIvC,IAAW,QAAQ;;;MAElB;IACD,IAAW,SAAS;;;MAEnB;IAED,IAAI,QAAQ,WAEX;IACD,IAAI,SAAS,WAEZ;IACM,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAgBxC,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS;IAGxC,IAAI,YAAY,2BAEf;IACM,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS;IAO9B,mBAAmB,CAAC,MAAM,EAAE,eAAe;IAkBlD,IAAI,OAAO,YAEV;IACD,IAAI,IAAI,WAEP;IACD,IAAI,MAAM,WAET;IACD,IAAI,aAAa,WAEhB;IACD,IAAI,oBAAoB,WAEvB;IACD,IAAI,UAAU,WAEb;IACD,IAAI,UAAU,YAEb;CACD;AAED,eAAO,MAAM,iBAAiB,GAAI,cAAc,eAAe,sBAAyE,CAAA;AAExI,qBAAa,YAAa,SAAQ,MAAM;IACvC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM;gBAIhD,IAAI,EAAE,MAAM,EAAE,YAAY,CAC1B,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,EACzD,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAAE;IAKnB,IAAI,QAAQ,YAEX;CACD"}
@@ -1,21 +1,19 @@
1
- import { IObservableArray, ObservableMap, ObservableSet } from 'mobx';
2
- import { Applog, ApplogForInsert, ApplogValue, CidString, DatalogQueryPattern } from '../applog/datom-types';
3
- import { Thread, ThreadEvent } from './basic';
4
- import { ApplogEventMapper, MappedThread } from './mapped';
1
+ import { Applog, ApplogForInsert, DatalogQueryPattern } from '../applog/datom-types.ts';
2
+ import type { Subscribable } from '../query/subscribable.ts';
3
+ import { Thread, ThreadEvent } from './basic.ts';
4
+ import { MappedThread, type ThreadDerivation } from './mapped.ts';
5
5
  export declare const rollingFilter: (thread: Thread, pattern: DatalogQueryPattern, opts?: {
6
6
  name?: string;
7
7
  extraFilterName?: string;
8
8
  }) => MappedThread;
9
- export declare const rollingMapper: (thread: Thread, eventMapper: ApplogEventMapper, opts?: {
9
+ export declare const rollingMapper: (thread: Thread, derivation: ThreadDerivation, opts?: {
10
10
  name?: string;
11
11
  extraFilterName?: string;
12
12
  }) => MappedThread;
13
- export declare const rollingAcc: <ACC extends IObservableArray | ObservableMap | ObservableSet>(thread: Thread, acc: ACC, eventMapper: (event: ThreadEvent, acc: ACC) => void, opts?: {
13
+ export declare const rollingAcc: <ACC>(thread: Thread, acc: ACC, eventMapper: (event: ThreadEvent, acc: ACC) => void, opts?: {
14
14
  name?: string;
15
- }) => ACC;
16
- export declare const getUntrackedPattern: (pattern: DatalogQueryPattern) => {
17
- [k: string]: string | number | boolean | import("..").AgentHash | CidString | ReadonlySet<string> | ObservableSet<string> | readonly string[] | ((value: string) => boolean) | ReadonlySet<CidString> | ObservableSet<CidString> | readonly CidString[] | ((value: CidString) => boolean) | ReadonlySet<import("..").AgentHash> | ObservableSet<import("..").AgentHash> | readonly import("..").AgentHash[] | ((value: import("..").AgentHash) => boolean) | ReadonlySet<ApplogValue> | ObservableSet<ApplogValue> | readonly ApplogValue[] | ((value: ApplogValue) => boolean);
18
- };
15
+ }) => Subscribable<ACC>;
16
+ export declare const getUntrackedPattern: (pattern: DatalogQueryPattern) => Partial<import("../applog.ts").WithMatchers<Applog>>;
19
17
  export declare function makeFilter(pattern: DatalogQueryPattern): (logs: readonly Applog[]) => Applog[];
20
18
  /**
21
19
  * // ! think twice before using
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/thread/filters.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,gBAAgB,EAEhB,aAAa,EACb,aAAa,EAKb,MAAM,MAAM,CAAA;AAIb,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAkB,MAAM,uBAAuB,CAAA;AAE5H,OAAO,EAAe,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAI1D,eAAO,MAAM,aAAa,WACjB,MAAM,WACL,mBAAmB,SACtB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,iBAmEhD,CAAA;AAEF,eAAO,MAAM,aAAa,WACjB,MAAM,eACD,iBAAiB,SACxB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,iBAmBhD,CAAA;AAEF,eAAO,MAAM,UAAU,GAEF,GAAG,SAAS,gBAAgB,GAAG,aAAa,GAAG,aAAa,UACvE,MAAM,OACT,GAAG,eACK,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,SAC7C;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,QAYxB,CAAA;AAwBD,eAAO,MAAM,mBAAmB,GAC/B,SAAS,mBAAmB;;CAS5B,CAAA;AACD,wBAAgB,UAAU,CACzB,OAAO,EAAE,mBAAmB,IAED,MAAM,SAAS,MAAM,EAAE,cAclD;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACrC,QAAQ,MAAM,EACd,SAAS,mBAAmB,EAC5B,OAAM;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,aAK5B,CAAA;AAKD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,GAAG;IACzD,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;CACrB,CAAA;AACD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAEpG;AACD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAItB,oBAAoB,CACrC;AACD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM;;;;EAM/C;AACD,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAA;AACjE,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;AAChE,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAA;AAC7F,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,EAAE,CAAA;CAAE,CAAA;AAE3D,gCAAgC;AAChC,eAAO,MAAM,UAAU,gCAA0B,CAAA;AAMjD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,eAAe,CAAA;AACjF,eAAO,MAAM,kBAAkB,GAC9B,QAAQ,MAAM,EACd,WAAW,YAAY,EACvB,OAAM;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,iBAwDtD,CAAA"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/thread/filters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,eAAe,EAA0B,mBAAmB,EAAkB,MAAM,0BAA0B,CAAA;AAI/H,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAe,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAsC,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAIrG,eAAO,MAAM,aAAa,WACjB,MAAM,WACL,mBAAmB,SACtB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,iBAkChD,CAAA;AAEF,eAAO,MAAM,aAAa,WACjB,MAAM,cACF,gBAAgB,SACtB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,iBAUhD,CAAA;AAEF,eAAO,MAAM,UAAU,GAEF,GAAG,UACd,MAAM,OACT,GAAG,eACK,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,SAC7C;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KACrB,YAAY,CAAC,GAAG,CAcnB,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC/B,SAAS,mBAAmB,yDAM5B,CAAA;AACD,wBAAgB,UAAU,CACzB,OAAO,EAAE,mBAAmB,IAED,MAAM,SAAS,MAAM,EAAE,cAclD;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACrC,QAAQ,MAAM,EACd,SAAS,mBAAmB,EAC5B,OAAM;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,aAK5B,CAAA;AAKD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,GAAG;IACzD,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;CACrB,CAAA;AACD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAEpG;AACD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAItB,oBAAoB,CACrC;AACD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM;;;;EAM/C;AACD,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAA;AACjE,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;AAChE,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAA;AAC7F,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,EAAE,CAAA;CAAE,CAAA;AAE3D,gCAAgC;AAChC,eAAO,MAAM,UAAU,gCAA0B,CAAA;AAMjD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,eAAe,CAAA;AACjF,eAAO,MAAM,kBAAkB,GAC9B,QAAQ,MAAM,EACd,WAAW,YAAY,EACvB,OAAM;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,iBAyDtD,CAAA"}
@@ -0,0 +1,57 @@
1
+ import { type ValueKey } from '../applog/applog-utils.ts';
2
+ import { Applog, EntityID } from '../applog/datom-types.ts';
3
+ import { type Subscribable } from '../query/subscribable.ts';
4
+ import { Thread } from './basic.ts';
5
+ /**
6
+ * Live index of applogs grouped by entity ID. Memoized per thread — one subscription
7
+ * per thread regardless of how many consumers call this. Updated incrementally on
8
+ * each parent event (O(event-size)). Lookup is O(1) via `map.get(en)`.
9
+ *
10
+ * Subscriber order: registers a 'derived' subscription on `thread` at first call. By
11
+ * the FIFO subscriber-order convention (`thread/basic.ts:notifySubscribers`),
12
+ * consumers that subscribe to `thread` AFTER calling `applogsByEntity(thread)` will
13
+ * see an up-to-date index when their handler runs.
14
+ */
15
+ export declare const applogsByEntity: (thread: Thread) => ReadonlyMap<EntityID, readonly Applog[]>;
16
+ /**
17
+ * Live index of applogs grouped by value for a given attribute. Value-based counterpart
18
+ * to `applogsByEntity` (which groups by entity ID).
19
+ *
20
+ * Uses `rollingFilter` internally for the attribute filter (memoized, shared with any
21
+ * other code filtering by the same attribute).
22
+ *
23
+ * Returns a `Subscribable` with lazy upstream activation:
24
+ * - Snapshot use: read `.value` — zero subscription overhead
25
+ * - Reactive use: `.subscribe()` activates the chain for incremental updates
26
+ */
27
+ export declare const applogsByAttrValue: (thread: Thread, attr: string) => Subscribable<ReadonlyMap<ValueKey, readonly Applog[]>>;
28
+ export interface LinkEntry {
29
+ /** The link entity's own ID */
30
+ linkId: EntityID;
31
+ /** Value of attrA on this link entity */
32
+ aValue: EntityID;
33
+ /** Value of attrB on this link entity */
34
+ bValue: EntityID;
35
+ }
36
+ export interface EntityLinkIndexValue {
37
+ /** Lookup by attrA value → link entries (each has linkId + bValue) */
38
+ byA: ReadonlyMap<EntityID, readonly LinkEntry[]>;
39
+ /** Lookup by attrB value → link entries (each has linkId + aValue) */
40
+ byB: ReadonlyMap<EntityID, readonly LinkEntry[]>;
41
+ }
42
+ /**
43
+ * Live bidirectional index for entity-link relations: a common wovin pattern where
44
+ * a **link entity** connects two targets via two attributes.
45
+ *
46
+ * Example: note3 relations use a relation entity with `relation/block` (→ child block)
47
+ * and `relation/childOf` (→ parent block).
48
+ *
49
+ * Returns a `Subscribable` with lazy upstream activation:
50
+ * - Snapshot use: read `.value` — zero subscription overhead
51
+ * - Reactive use: `.subscribe()` activates the chain for incremental updates
52
+ *
53
+ * Link entity IDs are included in entries so consumers can look up full link state
54
+ * via `applogsByEntity`.
55
+ */
56
+ export declare const entityLinkIndex: (thread: Thread, attrA: string, attrB: string) => Subscribable<EntityLinkIndexValue>;
57
+ //# sourceMappingURL=indexes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/thread/indexes.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAe,MAAM,EAAE,MAAM,YAAY,CAAA;AAKhD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,WAEM,MAAM,KAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAiCjF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,WAGrB,MAAM,QACR,MAAM,KACV,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC,CA4CxD,CAAA;AAID,MAAM,WAAW,SAAS;IACzB,+BAA+B;IAC/B,MAAM,EAAE,QAAQ,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,sEAAsE;IACtE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,CAAA;IAChD,sEAAsE;IACtE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,CAAA;CAChD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,WAGlB,MAAM,SACP,MAAM,SACN,MAAM,KACX,YAAY,CAAC,oBAAoB,CAiGpC,CAAA"}
@@ -1,27 +1,56 @@
1
- import { Applog, ApplogForInsert } from '../applog/datom-types';
2
- import { Thread, ThreadEvent } from './basic';
3
- export type ApplogEventMapper = (this: MappedThread, event: ThreadEvent, sourceThread: Thread) => ThreadEvent;
1
+ import { Applog, ApplogForInsert } from '../applog/datom-types.ts';
2
+ import { Thread, ThreadEvent } from './basic.ts';
3
+ /** Delta event only incremental changes (no init) */
4
+ export type DeltaEvent = {
5
+ added: readonly Applog[];
6
+ removed: readonly Applog[] | null;
7
+ };
8
+ /** Context passed to mapDelta — explicit deps, no `this` needed */
9
+ export interface DeltaContext {
10
+ /** The parent thread that emitted the delta */
11
+ source: Thread;
12
+ /** All current parent threads */
13
+ parents: readonly Thread[];
14
+ /** The mapped thread's output before this delta is applied */
15
+ state: readonly Applog[];
16
+ }
17
+ /**
18
+ * Derivation for a MappedThread — separates full recomputation from incremental updates.
19
+ *
20
+ * - `compute` produces full state from parents (construction, reset, parent reinit)
21
+ * - `mapDelta` transforms a parent's incremental delta (optional — falls back to compute)
22
+ */
23
+ export interface ThreadDerivation {
24
+ /** Compute full state from parents. Called at construction, triggerRemap, and parent reinit. */
25
+ compute(parents: readonly Thread[]): Applog[];
26
+ /**
27
+ * Transform an incremental delta from a parent.
28
+ * Return null to fall back to full recompute via compute().
29
+ * Optional — if omitted, every parent change triggers compute().
30
+ */
31
+ mapDelta?: (delta: DeltaEvent, ctx: DeltaContext) => DeltaEvent | null;
32
+ }
4
33
  export type ApplogWriteMapper = (this: MappedThread, applogs: Applog[] | ApplogForInsert[]) => Applog[] | ApplogForInsert[] | null;
5
34
  export declare class MappedThread extends Thread {
6
35
  readonly name: string;
7
- readonly _initialLogs: Applog[];
8
- private _eventMapper;
36
+ private _derivation;
9
37
  private _writeMapper;
10
38
  private _readOnly?;
11
39
  static mapWrites(parent: Thread, name: string, mapper: ApplogWriteMapper): MappedThread;
12
40
  static asReadOnly(parent: Thread): Thread;
13
41
  private _parentSubscriptions;
14
- constructor(name: string, parents: Thread | readonly Thread[], filters: readonly string[], _initialLogs: Applog[], _eventMapper: ApplogEventMapper | null, _writeMapper?: ApplogWriteMapper, _readOnly?: boolean);
42
+ constructor(name: string, parents: Thread | readonly Thread[], filters: readonly string[], _derivation: ThreadDerivation | null, _writeMapper?: ApplogWriteMapper, _readOnly?: boolean);
15
43
  insert(appLogsToInsert: ApplogForInsert[]): void;
16
44
  insertRaw(appLogsToInsert: Applog[]): void;
17
45
  private subscribeToParents;
46
+ /** Tear down parent subscriptions and clear internal state */
47
+ dispose(): void;
48
+ /** Swap parents at runtime — re-subscribes and recomputes applogs, notifying downstream */
49
+ setParents(newParents: readonly Thread[]): void;
18
50
  subscribe(callback: (event: ThreadEvent) => void, type?: 'derived' | 'reaction'): () => void;
19
- /**
20
- * // HACK to trigger remap on pattern change in rollingFilter
21
- * should not be used lightly
22
- */
51
+ /** Recompute full state from parents via compute() */
23
52
  triggerRemap(): void;
24
- protected onParentUpdate(thread: Thread, event: ThreadEvent): void;
53
+ protected onParentUpdate(sourceThread: Thread, event: ThreadEvent): void;
25
54
  get readOnly(): boolean;
26
55
  }
27
56
  //# sourceMappingURL=mapped.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapped.d.ts","sourceRoot":"","sources":["../../src/thread/mapped.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAe,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1D,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,KAAK,WAAW,CAAA;AAE7G,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,KAAK,MAAM,EAAE,GAAG,eAAe,EAAE,GAAG,IAAI,CAAA;AAElI,qBAAa,YAAa,SAAQ,MAAM;IA4BtC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAGrB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE;IAC/B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,SAAS,CAAC;IAjCnB,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;IAWxE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;IAahC,OAAO,CAAC,oBAAoB,CAAkC;gBAGpD,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EACnC,OAAO,EAAE,SAAS,MAAM,EAAE,EACjB,YAAY,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,iBAAiB,GAAG,IAAI,EACtC,YAAY,GAAE,iBAAwB,EACtC,SAAS,CAAC,EAAE,OAAO;IAsBrB,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE;IAMzC,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE;IAO1C,OAAO,CAAC,kBAAkB;IA6C1B,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU;IAQ/E;;;OAGG;IACH,YAAY;IAWZ,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW;IAgC3D,IAAI,QAAQ,YAEX;CACD"}
1
+ {"version":3,"file":"mapped.d.ts","sourceRoot":"","sources":["../../src/thread/mapped.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAElE,OAAO,EAAe,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM7D,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;CAAE,CAAA;AAExF,mEAAmE;AACnE,MAAM,WAAW,YAAY;IAC5B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,8DAA8D;IAC9D,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAChC,gGAAgG;IAChG,OAAO,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IAE7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,KAAK,UAAU,GAAG,IAAI,CAAA;CACtE;AAKD,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,KAAK,MAAM,EAAE,GAAG,eAAe,EAAE,GAAG,IAAI,CAAA;AAIlI,qBAAa,YAAa,SAAQ,MAAM;IAwBtC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAGrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,SAAS,CAAC;IA5BnB,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;IASxE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;IAWhC,OAAO,CAAC,oBAAoB,CAAkC;gBAGpD,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EACnC,OAAO,EAAE,SAAS,MAAM,EAAE,EAClB,WAAW,EAAE,gBAAgB,GAAG,IAAI,EACpC,YAAY,GAAE,iBAAwB,EACtC,SAAS,CAAC,EAAE,OAAO;IAwBrB,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE;IAMzC,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE;IAO1C,OAAO,CAAC,kBAAkB;IAe1B,8DAA8D;IAC9D,OAAO;IASP,2FAA2F;IAC3F,UAAU,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE;IAOxC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU;IAO/E,sDAAsD;IACtD,YAAY;IASZ,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW;IA0DjE,IAAI,QAAQ,YAEX;CACD"}
@@ -1,8 +1,8 @@
1
1
  import { CID } from 'multiformats';
2
- import { compareApplogsByEnAt } from '../applog/applog-utils';
3
- import { Applog, ApplogForInsert, CidString } from '../applog/datom-types';
4
- import { Thread } from './basic';
5
- import { MappedThread } from './mapped';
2
+ import { compareApplogsByEnAt } from '../applog/applog-utils.ts';
3
+ import { Applog, ApplogForInsert, CidString } from '../applog/datom-types.ts';
4
+ import { Thread } from './basic.ts';
5
+ import { MappedThread } from './mapped.ts';
6
6
  export declare function entityCount(thread: Thread): number;
7
7
  export declare function allEntityIDs(thread: Thread): Set<string>;
8
8
  export declare function debounceWrites(thread: Thread, wait?: number, removeDuplicatesWith?: (objA: object, objB: object) => boolean): MappedThread;
@@ -14,7 +14,7 @@ export declare function holdTillFirstWrite(thread: Thread, applogsToHold: Applog
14
14
  deduplicateHoldItemsWith?: typeof compareApplogsByEnAt;
15
15
  onFirstWrite: (heldLogsToInsert: Applog[]) => Applog[] | undefined;
16
16
  }): MappedThread;
17
- export declare function getAgents(thread: Thread): import("..").AgentHash[];
17
+ export declare function getAgents(thread: Thread): import("../applog.ts").AgentHash[];
18
18
  /**
19
19
  * Returns applogs NOT contained in the exclusion set.
20
20
  * Uses CID-based comparison (consistent with removeDuplicateAppLogs).
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/thread/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,oBAAoB,EAAsC,MAAM,wBAAwB,CAAA;AACjG,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAY,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAKvC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,eAE1C;AAcD,wBAAgB,cAAc,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,SAAM,EACV,oBAAoB,0CAAuB,gBA4B3C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,eAAe,EAAE,EAChC,IAAI,EAAE;IACL,wBAAwB,CAAC,EAAE,OAAO,oBAAoB,CAAA;IACtD,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAA;CAClE,gBA8CD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,4BAEvC;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACrC,SAAS,SAAS,MAAM,EAAE,EAC1B,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,KACxD,MAAM,EAcR,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/thread/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,oBAAoB,EAAsC,MAAM,2BAA2B,CAAA;AACpG,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAY,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK1C,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,eAE1C;AAcD,wBAAgB,cAAc,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,SAAM,EACV,oBAAoB,0CAAuB,gBA4B3C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,eAAe,EAAE,EAChC,IAAI,EAAE;IACL,wBAAwB,CAAC,EAAE,OAAO,oBAAoB,CAAA;IACtD,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAA;CAClE,gBAyCD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,sCAEvC;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACrC,SAAS,SAAS,MAAM,EAAE,EAC1B,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,KACxD,MAAM,EAcR,CAAA"}
@@ -1,5 +1,5 @@
1
- import { type Applog, ApplogForInsert, CidString } from '../applog/datom-types';
2
- import { Thread } from './basic';
1
+ import { type Applog, ApplogForInsert, CidString } from '../applog/datom-types.ts';
2
+ import { Thread } from './basic.ts';
3
3
  export declare abstract class WriteableThread extends Thread {
4
4
  constructor(name: string, applogs: Applog[], filters: readonly string[]);
5
5
  purge(cidsToPurge: CidString[]): number;
@@ -1 +1 @@
1
- {"version":3,"file":"writeable.d.ts","sourceRoot":"","sources":["../../src/thread/writeable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,eAAe,EAAE,SAAS,EAAiB,MAAM,uBAAuB,CAAA;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAIhC,8BAAsB,eAAgB,SAAQ,MAAM;gBAElD,IAAI,EAAE,MAAM,EAEZ,OAAO,EAAE,MAAM,EAAO,EACtB,OAAO,EAAE,SAAS,MAAM,EAAE;IAWpB,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE;IAM9B,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE;IAWhD;;;;OAIG;IACI,aAAa,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,UAAQ,GAAG,MAAM,EAAE;IASjF;;;;;;;;;;;;;;OAcG;IACI,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE;IA6D1C,IAAI,QAAQ,YAEX;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACzD;AACD,qBAAa,cAAe,SAAQ,eAAe;IAgBjD,QAAQ,CAAC,SAAS,EAAE,OAAO;IAf5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;IAG1B,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ;IAGnE,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM;gBAMjE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,EACjB,SAAS,EAAE,OAAO;IAU5B,IAAI,QAAQ,YAEX;cAEe,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAMtC"}
1
+ {"version":3,"file":"writeable.d.ts","sourceRoot":"","sources":["../../src/thread/writeable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,eAAe,EAAE,SAAS,EAAiB,MAAM,0BAA0B,CAAA;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAInC,8BAAsB,eAAgB,SAAQ,MAAM;gBAElD,IAAI,EAAE,MAAM,EAEZ,OAAO,EAAE,MAAM,EAAO,EACtB,OAAO,EAAE,SAAS,MAAM,EAAE;IAKpB,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE;IAM9B,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE;IAWhD;;;;OAIG;IACI,aAAa,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,UAAQ,GAAG,MAAM,EAAE;IASjF;;;;;;;;;;;;;;OAcG;IACI,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE;IA6D1C,IAAI,QAAQ,YAEX;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACzD;AACD,qBAAa,cAAe,SAAQ,eAAe;IAgBjD,QAAQ,CAAC,SAAS,EAAE,OAAO;IAf5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;IAG1B,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ;IAGnE,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM;gBAMjE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,EACjB,SAAS,EAAE,OAAO;IAK5B,IAAI,QAAQ,YAEX;cAEe,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAMtC"}
package/dist/thread.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- export * from './thread/basic';
2
- export * from './thread/filters';
3
- export * from './thread/mapped';
4
- export * from './thread/writeable';
5
- export * from './thread/utils';
1
+ export * from './thread/basic.ts';
2
+ export * from './thread/filters.ts';
3
+ export * from './thread/indexes.ts';
4
+ export * from './thread/mapped.ts';
5
+ export * from './thread/writeable.ts';
6
+ export * from './thread/utils.ts';
6
7
  //# sourceMappingURL=thread.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../src/thread.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../src/thread.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA"}
@@ -5,11 +5,14 @@ import {
5
5
  ThreadInMemory,
6
6
  WriteableThread,
7
7
  allEntityIDs,
8
+ applogsByAttrValue,
9
+ applogsByEntity,
8
10
  asReadOnly,
9
11
  assertOnlyCurrent,
10
12
  assertRaw,
11
13
  debounceWrites,
12
14
  entityCount,
15
+ entityLinkIndex,
13
16
  excludeApplogsContainedIn,
14
17
  getAgents,
15
18
  getLogsFromThread,
@@ -23,11 +26,8 @@ import {
23
26
  rollingFilter,
24
27
  rollingMapper,
25
28
  simpleApplogMapper
26
- } from "./chunk-GDX2OO7L.min.js";
27
- import "./chunk-HYMC7W6S.min.js";
28
- import "./chunk-QO2KMGDN.min.js";
29
- import "./chunk-KEHU7HGZ.min.js";
30
- import "./chunk-PHITDXZT.min.js";
29
+ } from "./chunk-SHUHRHOT.js";
30
+ import "./chunk-ZAADLBSB.js";
31
31
  export {
32
32
  MappedThread,
33
33
  StaticThread,
@@ -35,11 +35,14 @@ export {
35
35
  ThreadInMemory,
36
36
  WriteableThread,
37
37
  allEntityIDs,
38
+ applogsByAttrValue,
39
+ applogsByEntity,
38
40
  asReadOnly,
39
41
  assertOnlyCurrent,
40
42
  assertRaw,
41
43
  debounceWrites,
42
44
  entityCount,
45
+ entityLinkIndex,
43
46
  excludeApplogsContainedIn,
44
47
  getAgents,
45
48
  getLogsFromThread,
@@ -54,4 +57,4 @@ export {
54
57
  rollingMapper,
55
58
  simpleApplogMapper
56
59
  };
57
- //# sourceMappingURL=thread.min.js.map
60
+ //# sourceMappingURL=thread.js.map
@@ -1,6 +1,10 @@
1
1
  import { Type as T } from '@sinclair/typebox';
2
- import { IObservableArray, ObservableSet } from 'mobx';
3
- declare const StringTB: (options?: import("@sinclair/typebox").StringOptions) => import("@sinclair/typebox").TString, OptionalTB: <T extends import("@sinclair/typebox").TSchema>(schema: T) => import("@sinclair/typebox").TOptional<T>, BooleanTB: (options?: import("@sinclair/typebox").SchemaOptions) => import("@sinclair/typebox").TBoolean, ObjectTB: <T extends import("@sinclair/typebox").TProperties>(properties: T, options?: import("@sinclair/typebox").ObjectOptions) => import("@sinclair/typebox").TObject<T>, NumberTB: (options?: import("@sinclair/typebox").NumericOptions<number>) => import("@sinclair/typebox").TNumber;
2
+ declare const StringTB: (options?: import("@sinclair/typebox").StringOptions) => import("@sinclair/typebox").TString, OptionalTB: {
3
+ <Type extends import("@sinclair/typebox").TMappedResult, Flag extends boolean>(type: Type, enable: Flag): import("@sinclair/typebox").TOptionalFromMappedResult<Type, Flag>;
4
+ <Type extends import("@sinclair/typebox").TSchema, Flag extends boolean>(type: Type, enable: Flag): import("@sinclair/typebox").TOptionalWithFlag<Type, Flag>;
5
+ <Type extends import("@sinclair/typebox").TMappedResult>(type: Type): import("@sinclair/typebox").TOptionalFromMappedResult<Type, true>;
6
+ <Type extends import("@sinclair/typebox").TSchema>(type: Type): import("@sinclair/typebox").TOptionalWithFlag<Type, true>;
7
+ }, BooleanTB: (options?: import("@sinclair/typebox").SchemaOptions) => import("@sinclair/typebox").TBoolean, ObjectTB: <T extends import("@sinclair/typebox").TProperties>(properties: T, options?: import("@sinclair/typebox").ObjectOptions) => import("@sinclair/typebox").TObject<T>, NumberTB: (options?: import("@sinclair/typebox").NumberOptions) => import("@sinclair/typebox").TNumber;
4
8
  export declare const Str: typeof StringTB;
5
9
  export declare const Num: typeof NumberTB;
6
10
  export declare const Obj: typeof ObjectTB;
@@ -28,9 +32,6 @@ export type ArrayOrSingle<T> = T | T[] | readonly T[];
28
32
  export declare function arrayIfSingle<T>(arrOrSingle: ArrayOrSingle<T>): readonly T[];
29
33
  export type ArrayType<T> = T extends (infer U)[] ? U : T;
30
34
  export type ArrayElementType<T> = T extends readonly (infer U)[] ? Extract<U, string> : never;
31
- export type X<T> = ArrayType<IObservableArray<T>>;
32
- export type ReadonlyObservableArray<T> = ReadonlyArray<T>;
33
- export type ReadonlyObservableSet<T> = ObservableSet<T>;
34
35
  export type ConstructorType<T, S = {}> = {
35
36
  new (...args: any[]): T;
36
37
  } & S;
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-utils.d.ts","sourceRoot":"","sources":["../../src/types/typescript-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript-utils.d.ts","sourceRoot":"","sources":["../../src/types/typescript-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,mBAAmB,CAAA;AAO7C,QAAA,MAAgB,QAAQ,gGAAY,UAAU;;;;;GAAW,SAAS,iGAAU,QAAQ,qKAAU,QAAQ,8FAAM,CAAA;AAC5G,eAAO,MAAM,GAAG,EAAE,OAAO,QAA2B,CAAA;AACpD,eAAO,MAAM,GAAG,EAAE,OAAO,QAA2B,CAAA;AACpD,eAAO,MAAM,GAAG,EAAE,OAAO,QAA2B,CAAA;AACpD,eAAO,MAAM,GAAG,EAAE,OAAO,UAA+B,CAAA;AACxD,eAAO,MAAM,IAAI,EAAE,OAAO,SAA6B,CAAA;AAEvD,eAAO,MAAM,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAS,CAAA;AACrD,eAAO,MAAM,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAS,CAAA;AACrD,eAAO,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAU,CAAA;AAExD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC/C,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACrE,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9E,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAExF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,CAAA;AAE5D;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,CAAA;AAU9C,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,SAAS,CAAC,GAAG,OAAO,EAAE,EAAE,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAEtH,wBAAgB,aAAa,SAS5B;AAED,uEAAuE;AACvE,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAA;AAEpD,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAA;AACrD,wBAAgB,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAG5E;AACD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AACxD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAA;AAC7F,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI;IACxC,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CACtB,GAAG,CAAC,CAAA"}
package/dist/types.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './types/typescript-utils';
1
+ export * from './types/typescript-utils.ts';
2
2
  //# sourceMappingURL=types.d.ts.map