@hatk/hatk 0.0.1-alpha.11 → 0.0.1-alpha.111

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 (224) hide show
  1. package/dist/adapter.d.ts +19 -0
  2. package/dist/adapter.d.ts.map +1 -0
  3. package/dist/adapter.js +113 -0
  4. package/dist/backfill.d.ts +36 -2
  5. package/dist/backfill.d.ts.map +1 -1
  6. package/dist/backfill.js +153 -37
  7. package/dist/car.js +1 -1
  8. package/dist/classifiers.d.ts +228 -0
  9. package/dist/classifiers.d.ts.map +1 -0
  10. package/dist/classifiers.js +688 -0
  11. package/dist/cli.js +248 -1043
  12. package/dist/config.d.ts +179 -1
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +78 -8
  15. package/dist/database/adapter-factory.d.ts +6 -0
  16. package/dist/database/adapter-factory.d.ts.map +1 -0
  17. package/dist/database/adapter-factory.js +20 -0
  18. package/dist/database/adapters/duckdb-search.d.ts +12 -0
  19. package/dist/database/adapters/duckdb-search.d.ts.map +1 -0
  20. package/dist/database/adapters/duckdb-search.js +27 -0
  21. package/dist/database/adapters/duckdb.d.ts +25 -0
  22. package/dist/database/adapters/duckdb.d.ts.map +1 -0
  23. package/dist/database/adapters/duckdb.js +161 -0
  24. package/dist/database/adapters/sqlite-search.d.ts +16 -0
  25. package/dist/database/adapters/sqlite-search.d.ts.map +1 -0
  26. package/dist/database/adapters/sqlite-search.js +76 -0
  27. package/dist/database/adapters/sqlite.d.ts +18 -0
  28. package/dist/database/adapters/sqlite.d.ts.map +1 -0
  29. package/dist/database/adapters/sqlite.js +88 -0
  30. package/dist/database/db.d.ts +290 -0
  31. package/dist/database/db.d.ts.map +1 -0
  32. package/dist/database/db.js +2073 -0
  33. package/dist/database/dialect.d.ts +45 -0
  34. package/dist/database/dialect.d.ts.map +1 -0
  35. package/dist/database/dialect.js +72 -0
  36. package/dist/{fts.d.ts → database/fts.d.ts} +7 -0
  37. package/dist/database/fts.d.ts.map +1 -0
  38. package/dist/{fts.js → database/fts.js} +122 -34
  39. package/dist/database/index.d.ts +7 -0
  40. package/dist/database/index.d.ts.map +1 -0
  41. package/dist/database/index.js +6 -0
  42. package/dist/database/ports.d.ts +50 -0
  43. package/dist/database/ports.d.ts.map +1 -0
  44. package/dist/database/ports.js +1 -0
  45. package/dist/database/schema.d.ts +91 -0
  46. package/dist/database/schema.d.ts.map +1 -0
  47. package/dist/{schema.js → database/schema.js} +153 -54
  48. package/dist/dev-entry.d.ts +8 -0
  49. package/dist/dev-entry.d.ts.map +1 -0
  50. package/dist/dev-entry.js +131 -0
  51. package/dist/feeds.d.ts +26 -8
  52. package/dist/feeds.d.ts.map +1 -1
  53. package/dist/feeds.js +72 -16
  54. package/dist/hooks.d.ts +102 -0
  55. package/dist/hooks.d.ts.map +1 -0
  56. package/dist/hooks.js +186 -0
  57. package/dist/hydrate.d.ts +55 -6
  58. package/dist/hydrate.d.ts.map +1 -1
  59. package/dist/hydrate.js +21 -20
  60. package/dist/indexer.d.ts +194 -3
  61. package/dist/indexer.d.ts.map +1 -1
  62. package/dist/indexer.js +627 -92
  63. package/dist/jetstream.d.ts +118 -0
  64. package/dist/jetstream.d.ts.map +1 -0
  65. package/dist/jetstream.js +238 -0
  66. package/dist/labels.d.ts +36 -0
  67. package/dist/labels.d.ts.map +1 -1
  68. package/dist/labels.js +71 -6
  69. package/dist/lex-types.d.ts +2 -0
  70. package/dist/lex-types.d.ts.map +1 -1
  71. package/dist/lexicon-resolve.d.ts.map +1 -1
  72. package/dist/lexicon-resolve.js +27 -112
  73. package/dist/lexicons/com/atproto/label/defs.json +75 -0
  74. package/dist/lexicons/com/atproto/moderation/defs.json +30 -0
  75. package/dist/lexicons/com/atproto/repo/strongRef.json +21 -0
  76. package/dist/lexicons/dev/hatk/applyWrites.json +87 -0
  77. package/dist/lexicons/dev/hatk/createRecord.json +40 -0
  78. package/dist/lexicons/dev/hatk/createReport.json +48 -0
  79. package/dist/lexicons/dev/hatk/deleteRecord.json +25 -0
  80. package/dist/lexicons/dev/hatk/describeCollections.json +41 -0
  81. package/dist/lexicons/dev/hatk/describeFeeds.json +29 -0
  82. package/dist/lexicons/dev/hatk/describeLabels.json +45 -0
  83. package/dist/lexicons/dev/hatk/getFeed.json +30 -0
  84. package/dist/lexicons/dev/hatk/getPreferences.json +19 -0
  85. package/dist/lexicons/dev/hatk/getRecord.json +26 -0
  86. package/dist/lexicons/dev/hatk/getRecords.json +32 -0
  87. package/dist/lexicons/dev/hatk/putPreference.json +28 -0
  88. package/dist/lexicons/dev/hatk/putRecord.json +41 -0
  89. package/dist/lexicons/dev/hatk/searchRecords.json +32 -0
  90. package/dist/lexicons/dev/hatk/uploadBlob.json +23 -0
  91. package/dist/logger.d.ts +29 -0
  92. package/dist/logger.d.ts.map +1 -1
  93. package/dist/logger.js +29 -0
  94. package/dist/main.js +212 -75
  95. package/dist/mst.d.ts +15 -0
  96. package/dist/mst.d.ts.map +1 -1
  97. package/dist/mst.js +13 -0
  98. package/dist/oauth/db.d.ts +27 -1
  99. package/dist/oauth/db.d.ts.map +1 -1
  100. package/dist/oauth/db.js +80 -19
  101. package/dist/oauth/discovery.d.ts +10 -0
  102. package/dist/oauth/discovery.d.ts.map +1 -1
  103. package/dist/oauth/discovery.js +54 -2
  104. package/dist/oauth/server.d.ts +131 -1
  105. package/dist/oauth/server.d.ts.map +1 -1
  106. package/dist/oauth/server.js +504 -39
  107. package/dist/oauth/service-describe.d.ts +42 -0
  108. package/dist/oauth/service-describe.d.ts.map +1 -0
  109. package/dist/oauth/service-describe.js +108 -0
  110. package/dist/oauth/session.d.ts +32 -0
  111. package/dist/oauth/session.d.ts.map +1 -0
  112. package/dist/oauth/session.js +131 -0
  113. package/dist/opengraph.d.ts +10 -0
  114. package/dist/opengraph.d.ts.map +1 -1
  115. package/dist/opengraph.js +94 -42
  116. package/dist/pds-proxy.d.ts +92 -0
  117. package/dist/pds-proxy.d.ts.map +1 -0
  118. package/dist/pds-proxy.js +396 -0
  119. package/dist/private-collections.d.ts +13 -0
  120. package/dist/private-collections.d.ts.map +1 -0
  121. package/dist/private-collections.js +27 -0
  122. package/dist/push.d.ts +54 -0
  123. package/dist/push.d.ts.map +1 -0
  124. package/dist/push.js +367 -0
  125. package/dist/renderer.d.ts +27 -0
  126. package/dist/renderer.d.ts.map +1 -0
  127. package/dist/renderer.js +46 -0
  128. package/dist/resolve-hatk.d.ts +6 -0
  129. package/dist/resolve-hatk.d.ts.map +1 -0
  130. package/dist/resolve-hatk.js +20 -0
  131. package/dist/response.d.ts +16 -0
  132. package/dist/response.d.ts.map +1 -0
  133. package/dist/response.js +69 -0
  134. package/dist/scanner.d.ts +22 -0
  135. package/dist/scanner.d.ts.map +1 -0
  136. package/dist/scanner.js +92 -0
  137. package/dist/seed.d.ts +19 -0
  138. package/dist/seed.d.ts.map +1 -1
  139. package/dist/seed.js +43 -4
  140. package/dist/server-init.d.ts +8 -0
  141. package/dist/server-init.d.ts.map +1 -0
  142. package/dist/server-init.js +75 -0
  143. package/dist/server.d.ts +46 -3
  144. package/dist/server.d.ts.map +1 -1
  145. package/dist/server.js +1137 -649
  146. package/dist/setup.d.ts +28 -1
  147. package/dist/setup.d.ts.map +1 -1
  148. package/dist/setup.js +50 -3
  149. package/dist/spaces/blob.d.ts +112 -0
  150. package/dist/spaces/blob.d.ts.map +1 -0
  151. package/dist/spaces/blob.js +460 -0
  152. package/dist/spaces/credential.d.ts +82 -0
  153. package/dist/spaces/credential.d.ts.map +1 -0
  154. package/dist/spaces/credential.js +220 -0
  155. package/dist/spaces/engine.d.ts +97 -0
  156. package/dist/spaces/engine.d.ts.map +1 -0
  157. package/dist/spaces/engine.js +563 -0
  158. package/dist/spaces/guard.d.ts +41 -0
  159. package/dist/spaces/guard.d.ts.map +1 -0
  160. package/dist/spaces/guard.js +79 -0
  161. package/dist/spaces/identity.d.ts +37 -0
  162. package/dist/spaces/identity.d.ts.map +1 -0
  163. package/dist/spaces/identity.js +93 -0
  164. package/dist/spaces/index.d.ts +56 -0
  165. package/dist/spaces/index.d.ts.map +1 -0
  166. package/dist/spaces/index.js +134 -0
  167. package/dist/spaces/notify.d.ts +60 -0
  168. package/dist/spaces/notify.d.ts.map +1 -0
  169. package/dist/spaces/notify.js +128 -0
  170. package/dist/spaces/records.d.ts +37 -0
  171. package/dist/spaces/records.d.ts.map +1 -0
  172. package/dist/spaces/records.js +63 -0
  173. package/dist/spaces/signature.d.ts +36 -0
  174. package/dist/spaces/signature.d.ts.map +1 -0
  175. package/dist/spaces/signature.js +83 -0
  176. package/dist/spaces/store.d.ts +51 -0
  177. package/dist/spaces/store.d.ts.map +1 -0
  178. package/dist/spaces/store.js +99 -0
  179. package/dist/spaces/uri.d.ts +60 -0
  180. package/dist/spaces/uri.d.ts.map +1 -0
  181. package/dist/spaces/uri.js +97 -0
  182. package/dist/spaces/verify.d.ts +46 -0
  183. package/dist/spaces/verify.d.ts.map +1 -0
  184. package/dist/spaces/verify.js +94 -0
  185. package/dist/spaces/viewer.d.ts +51 -0
  186. package/dist/spaces/viewer.d.ts.map +1 -0
  187. package/dist/spaces/viewer.js +167 -0
  188. package/dist/spaces/visibility.d.ts +57 -0
  189. package/dist/spaces/visibility.d.ts.map +1 -0
  190. package/dist/spaces/visibility.js +81 -0
  191. package/dist/templates/feed.tpl +18 -0
  192. package/dist/templates/hook.tpl +5 -0
  193. package/dist/templates/label.tpl +15 -0
  194. package/dist/templates/og.tpl +17 -0
  195. package/dist/templates/seed.tpl +11 -0
  196. package/dist/templates/setup.tpl +5 -0
  197. package/dist/templates/test-feed.tpl +19 -0
  198. package/dist/templates/test-xrpc.tpl +19 -0
  199. package/dist/templates/xrpc.tpl +53 -0
  200. package/dist/test.d.ts +3 -1
  201. package/dist/test.d.ts.map +1 -1
  202. package/dist/test.js +60 -36
  203. package/dist/views.js +1 -1
  204. package/dist/vite-plugin.d.ts +1 -1
  205. package/dist/vite-plugin.d.ts.map +1 -1
  206. package/dist/vite-plugin.js +254 -66
  207. package/dist/xrpc.d.ts +143 -12
  208. package/dist/xrpc.d.ts.map +1 -1
  209. package/dist/xrpc.js +282 -55
  210. package/package.json +29 -9
  211. package/public/admin-auth.js +271 -306
  212. package/public/admin.html +652 -61
  213. package/dist/db.d.ts +0 -135
  214. package/dist/db.d.ts.map +0 -1
  215. package/dist/db.js +0 -1365
  216. package/dist/fts.d.ts.map +0 -1
  217. package/dist/oauth/hooks.d.ts +0 -10
  218. package/dist/oauth/hooks.d.ts.map +0 -1
  219. package/dist/oauth/hooks.js +0 -40
  220. package/dist/schema.d.ts +0 -51
  221. package/dist/schema.d.ts.map +0 -1
  222. package/dist/test-browser.d.ts +0 -14
  223. package/dist/test-browser.d.ts.map +0 -1
  224. package/dist/test-browser.js +0 -26
package/dist/indexer.d.ts CHANGED
@@ -1,15 +1,206 @@
1
+ import type { RepoReference } from './config.ts';
2
+ /** A single normalized repo operation, independent of the wire it arrived on. */
3
+ export interface CommitOp {
4
+ action: 'create' | 'update' | 'delete';
5
+ collection: string;
6
+ rkey: string;
7
+ /** Absent on deletes. */
8
+ cid?: string;
9
+ /** Absent on deletes. */
10
+ record?: Record<string, any>;
11
+ }
12
+ /** Record the latest firehose sequence seen. Source of truth for cursor persistence and reconnect resume. */
13
+ export declare function noteSeq(seq: number): void;
14
+ /** The highest seq this process has seen, or null before the first event. */
15
+ export declare function getLastSeq(): number | null;
16
+ /**
17
+ * Persist the latest firehose sequence when it has advanced past the stored
18
+ * cursor. Runs on a timer independent of the write path: an app whose
19
+ * collections rarely appear on the firehose never flushes a batch, so the
20
+ * flush-path cursor write alone leaves the stored cursor frozen — and a frozen
21
+ * cursor makes the relay replay its whole retention window at line rate
22
+ * (~135 GB/hour observed against bsky.network) on every boot and reconnect.
23
+ */
24
+ export declare function checkpointCursor(): Promise<void>;
25
+ /** Point cursor persistence at a stream's own `_cursor` row. See {@link cursorKey}. */
26
+ export declare function setCursorKey(key: string): void;
27
+ /**
28
+ * The cursor a reconnect should resume from: the latest seq this process has
29
+ * seen, falling back to the boot-time cursor before any message has arrived.
30
+ * Reusing the boot-time cursor on every reconnect would replay everything
31
+ * received since the process started.
32
+ */
33
+ export declare function resumeCursor(liveSeq: number | null, bootCursor: string | null | undefined): string | null | undefined;
34
+ /** Reset module cursor state between tests. */
35
+ export declare function _resetCursorStateForTests(): void;
36
+ /**
37
+ * Forget which repos this process is tracking.
38
+ *
39
+ * The status cache is deliberately process-global — it is what keeps the
40
+ * commit hot path off the database — and it outlives any table a test
41
+ * truncates. A suite that clears `_repos` between cases and does not clear
42
+ * this sees the second case behave as though the first one's repos were
43
+ * still known, which is how the seam between tracking and backfill went
44
+ * untested.
45
+ */
46
+ export declare function _resetRepoTrackingForTests(): void;
47
+ /**
48
+ * Drain the write buffer instead of waiting out FLUSH_INTERVAL_MS. Lets
49
+ * end-to-end tests assert on rows immediately after feeding a frame — deletes
50
+ * included, since they are buffered alongside puts and so are covered by the
51
+ * same await.
52
+ */
53
+ export declare function _flushForTests(): Promise<void>;
54
+ /**
55
+ * Auto-backfill a DID's repo when first seen on the firehose.
56
+ *
57
+ * Fetches the full repo via CAR export, inserts all records, then replays any
58
+ * firehose events that arrived during the backfill. Concurrency is capped at
59
+ * `maxConcurrentBackfills`. Failed backfills retry with exponential delay up
60
+ * to `maxRetries`.
61
+ */
62
+ /** Wait for a DID's backfill to complete if one is in flight. */
63
+ export declare function awaitBackfill(did: string): Promise<void>;
64
+ /**
65
+ * Track every repo a record names, per the configured references.
66
+ *
67
+ * Called wherever a record enters the index — the stream, a backfill, a
68
+ * space sync — so a roster read any of those ways brings its members' repos
69
+ * with it.
70
+ */
71
+ export declare function noteReferencedRepos(collection: string, rkey: string, record: Record<string, unknown>): void;
72
+ /**
73
+ * Apply the references to what is already indexed.
74
+ *
75
+ * A reference fires as a record comes in. Rows indexed before the reference
76
+ * was configured — or before this instance had it — would otherwise never
77
+ * name their repos until the record was written again. Run once at boot;
78
+ * a table of a few thousand rows is a moment, and the roster is what these
79
+ * point at, not the firehose.
80
+ */
81
+ export declare function sweepReferences(): Promise<number>;
82
+ export declare function trackRepo(did: string): void;
1
83
  export declare function triggerAutoBackfill(did: string, attempt?: number): Promise<void>;
2
- interface IndexerOpts {
3
- relayUrl: string;
84
+ /**
85
+ * Indexing behaviour shared by every stream source. Both the relay firehose
86
+ * and the Jetstream live tail feed the same buffers, backfill signalling, and
87
+ * cursor machinery — only the wire differs.
88
+ */
89
+ export interface IndexerCoreOpts {
90
+ /** Records that name repos to track; see {@link RepoReference}. */
91
+ references?: RepoReference[];
92
+ plcUrl: string;
4
93
  collections: Set<string>;
5
94
  signalCollections?: Set<string>;
6
95
  pinnedRepos?: Set<string>;
7
- cursor?: string | null;
8
96
  fetchTimeout: number;
9
97
  maxRetries: number;
10
98
  parallelism?: number;
11
99
  ftsRebuildInterval?: number;
12
100
  }
101
+ /** Configuration for the relay firehose indexer. */
102
+ interface IndexerOpts extends IndexerCoreOpts {
103
+ relayUrl: string;
104
+ cursor?: string | null;
105
+ }
106
+ /**
107
+ * Connect to the AT Protocol relay firehose and begin indexing.
108
+ *
109
+ * Opens a WebSocket to `subscribeRepos`, processes commit messages synchronously
110
+ * on the event loop to minimize backpressure, and batches writes through
111
+ * {@link flushBuffer}. New DIDs trigger auto-backfill via {@link triggerAutoBackfill}.
112
+ * Reconnects automatically on disconnect after a 3s delay.
113
+ *
114
+ * @returns The WebSocket connection (for shutdown coordination)
115
+ */
116
+ export declare function configureIndexer(opts: IndexerCoreOpts): Promise<void>;
13
117
  export declare function startIndexer(opts: IndexerOpts): Promise<WebSocket>;
118
+ /** Configuration for an auxiliary firehose (see {@link startAuxIndexer}). */
119
+ export interface AuxIndexerOpts {
120
+ relayUrl: string;
121
+ collections: Set<string>;
122
+ cursor?: string | null;
123
+ }
124
+ /** The `_cursor` row an auxiliary firehose persists its position to. */
125
+ export declare function auxCursorKey(relayUrl: string): string;
126
+ /**
127
+ * The `_cursor` row a Jetstream instance persists its position to.
128
+ *
129
+ * Named for the instance, because a Jetstream sequence means nothing on
130
+ * another one. Pointed at a second instance — a region swap, an outage
131
+ * worked around — a shared row would hand over a number from somewhere else,
132
+ * and the stream would resume at whatever that happens to address there:
133
+ * no error, no refusal, just a silent jump past whatever fell in between.
134
+ */
135
+ export declare function jetstreamCursorKey(jetstreamUrl: string): string;
136
+ /**
137
+ * Tail a second `subscribeRepos` alongside the primary stream.
138
+ *
139
+ * A relay is one coordinate system; a PDS tailed directly is another. Nothing
140
+ * below the wire cares which socket a frame arrived on — `processMessage`
141
+ * decodes it and `applyCommit` indexes it — so the only state an extra source
142
+ * needs of its own is a seq and a cursor row. Both live in this closure,
143
+ * keyed by URL, so an aux stream never advances (or resumes from) the primary
144
+ * cursor. Use this when a repo's PDS is not behind the relay being tailed —
145
+ * a self-hosted network, a dev stack with more than one PDS — rather than
146
+ * standing up a relay just to merge two streams.
147
+ *
148
+ * Must be called after {@link configureIndexer} (or {@link startIndexer}),
149
+ * which owns the shared indexer configuration.
150
+ */
151
+ export declare function startAuxIndexer(opts: AuxIndexerOpts): WebSocket;
152
+ /**
153
+ * Handle a `#identity` firehose event for a DID. The `handle` field on the
154
+ * event is optional per the lexicon, and some emitters omit it (signalling
155
+ * "re-resolve"). When absent, we re-resolve from the PLC directory so handle
156
+ * renames propagate even when the relay payload is sparse.
157
+ *
158
+ * Only updates DIDs we already track (present in repoStatusCache) to avoid
159
+ * writing rows for the entire network.
160
+ */
161
+ export declare function handleIdentityEvent(did: string, payloadHandle: string | undefined): Promise<void>;
162
+ /**
163
+ * Handle an `#account` event: the network saying an account is active again,
164
+ * or is not — deactivated, suspended, taken down by its host, or deleted.
165
+ *
166
+ * - deleted: every record it holds here is removed, and it is marked
167
+ * `deleted`.
168
+ * - deactivated, suspended, taken down by its host: marked `deactivated`. Its
169
+ * records stay, and no read serves them (see HIDDEN_REPO_STATUSES), so an
170
+ * account that comes back is whole again at once.
171
+ * - active again, after either: marked `pending` and backfilled, since it may
172
+ * have changed while it was gone.
173
+ *
174
+ * An admin's own takedown here wins over all of it: only reverse-takedown
175
+ * lifts that. Statuses that say nothing about the account itself (a relay's
176
+ * `desynchronized` or `throttled`) change nothing. Like identity events, only
177
+ * DIDs already tracked are touched.
178
+ */
179
+ export declare function handleAccountEvent(did: string, active: boolean, status: string | undefined): Promise<void>;
180
+ /**
181
+ * Whether a collection's records may be written from network data.
182
+ *
183
+ * Private collections are AppView-authoritative: nothing on the network may
184
+ * write or delete their rows, so stream ops naming them are spoofed by
185
+ * definition and must be dropped regardless of which source delivered them.
186
+ */
187
+ export declare function isIndexableCollection(collection: string, collections: Set<string>): boolean;
188
+ /**
189
+ * Apply a repo's commit ops to the index.
190
+ *
191
+ * Wire-agnostic: the relay path reaches here after CBOR/CAR decoding, the
192
+ * Jetstream path after parsing JSON. Callers must have already filtered `ops`
193
+ * through {@link isIndexableCollection}.
194
+ *
195
+ * Handles auto-backfill signalling, buffering for DIDs mid-backfill, lexicon
196
+ * validation, and delete/put routing.
197
+ */
198
+ export declare function applyCommit(did: string, ops: CommitOp[]): void;
199
+ /**
200
+ * Process a single firehose message. Decodes the CBOR header/body, filters
201
+ * for relevant collections, validates records against lexicons, and routes
202
+ * writes to the buffer (or pending buffer if the DID is mid-backfill).
203
+ */
204
+ export declare function processMessage(bytes: Uint8Array, collections: Set<string>, onSeq?: (seq: number) => void): void;
14
205
  export {};
15
206
  //# sourceMappingURL=indexer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"AAmIA,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgEjF;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACxB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAyBD,wBAAsB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAmDxE"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}