@the-situation/indexer 0.17.1 → 0.18.1

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 (122) hide show
  1. package/dist/aggregator/cohort.d.ts +30 -0
  2. package/dist/aggregator/cohort.d.ts.map +1 -0
  3. package/dist/aggregator/cohort.js +153 -0
  4. package/dist/aggregator/cohort.js.map +1 -0
  5. package/dist/aggregator/daily.d.ts +71 -0
  6. package/dist/aggregator/daily.d.ts.map +1 -0
  7. package/dist/aggregator/daily.js +249 -0
  8. package/dist/aggregator/daily.js.map +1 -0
  9. package/dist/aggregator/domains.d.ts +20 -0
  10. package/dist/aggregator/domains.d.ts.map +1 -0
  11. package/dist/aggregator/domains.js +38 -0
  12. package/dist/aggregator/domains.js.map +1 -0
  13. package/dist/aggregator/index.d.ts +31 -0
  14. package/dist/aggregator/index.d.ts.map +1 -0
  15. package/dist/aggregator/index.js +100 -0
  16. package/dist/aggregator/index.js.map +1 -0
  17. package/dist/aggregator/lifetime.d.ts +52 -0
  18. package/dist/aggregator/lifetime.d.ts.map +1 -0
  19. package/dist/aggregator/lifetime.js +222 -0
  20. package/dist/aggregator/lifetime.js.map +1 -0
  21. package/dist/aggregator/roi.d.ts +42 -0
  22. package/dist/aggregator/roi.d.ts.map +1 -0
  23. package/dist/aggregator/roi.js +153 -0
  24. package/dist/aggregator/roi.js.map +1 -0
  25. package/dist/aggregator/sources.d.ts +59 -0
  26. package/dist/aggregator/sources.d.ts.map +1 -0
  27. package/dist/aggregator/sources.js +53 -0
  28. package/dist/aggregator/sources.js.map +1 -0
  29. package/dist/aggregator/writers.d.ts +22 -0
  30. package/dist/aggregator/writers.d.ts.map +1 -0
  31. package/dist/aggregator/writers.js +147 -0
  32. package/dist/aggregator/writers.js.map +1 -0
  33. package/dist/api/app.d.ts +177 -13
  34. package/dist/api/app.d.ts.map +1 -1
  35. package/dist/api/app.js +4 -3
  36. package/dist/api/app.js.map +1 -1
  37. package/dist/api/routes/admin-subscriptions.d.ts +10 -10
  38. package/dist/api/routes/analytics.d.ts +205 -0
  39. package/dist/api/routes/analytics.d.ts.map +1 -0
  40. package/dist/api/routes/analytics.js +122 -0
  41. package/dist/api/routes/analytics.js.map +1 -0
  42. package/dist/api/routes/index.d.ts +1 -0
  43. package/dist/api/routes/index.d.ts.map +1 -1
  44. package/dist/api/routes/index.js +1 -0
  45. package/dist/api/routes/index.js.map +1 -1
  46. package/dist/api/routes/lp-history.d.ts +1 -1
  47. package/dist/api/routes/rankings.d.ts +17 -3
  48. package/dist/api/routes/rankings.d.ts.map +1 -1
  49. package/dist/api/routes/rankings.js +44 -5
  50. package/dist/api/routes/rankings.js.map +1 -1
  51. package/dist/api/routes/trader-stats.d.ts +11 -2
  52. package/dist/api/routes/trader-stats.d.ts.map +1 -1
  53. package/dist/api/routes/trader-stats.js +72 -2
  54. package/dist/api/routes/trader-stats.js.map +1 -1
  55. package/dist/client/IndexerClient.d.ts +30 -1
  56. package/dist/client/IndexerClient.d.ts.map +1 -1
  57. package/dist/client/IndexerClient.js.map +1 -1
  58. package/dist/client/IndexerClientLive.d.ts.map +1 -1
  59. package/dist/client/IndexerClientLive.js +50 -1
  60. package/dist/client/IndexerClientLive.js.map +1 -1
  61. package/dist/client/convenience.d.ts +9 -2
  62. package/dist/client/convenience.d.ts.map +1 -1
  63. package/dist/client/convenience.js +9 -1
  64. package/dist/client/convenience.js.map +1 -1
  65. package/dist/client/index.d.ts +3 -2
  66. package/dist/client/index.d.ts.map +1 -1
  67. package/dist/client/index.js +1 -1
  68. package/dist/client/index.js.map +1 -1
  69. package/dist/config.d.ts +9 -0
  70. package/dist/config.d.ts.map +1 -1
  71. package/dist/config.js +2 -0
  72. package/dist/config.js.map +1 -1
  73. package/dist/etl/event-indexer.d.ts +1 -1
  74. package/dist/etl/lp-position-refresher.d.ts +2 -1
  75. package/dist/etl/lp-position-refresher.d.ts.map +1 -1
  76. package/dist/etl/lp-position-refresher.js +24 -11
  77. package/dist/etl/lp-position-refresher.js.map +1 -1
  78. package/dist/etl/position-refresher.d.ts +1 -1
  79. package/dist/etl/state-refresher.d.ts +1 -1
  80. package/dist/index.js +54 -5
  81. package/dist/index.js.map +1 -1
  82. package/dist/layers/ChainReaderLive.d.ts.map +1 -1
  83. package/dist/layers/ChainReaderLive.js +15 -0
  84. package/dist/layers/ChainReaderLive.js.map +1 -1
  85. package/dist/services/ChainReader.d.ts +10 -0
  86. package/dist/services/ChainReader.d.ts.map +1 -1
  87. package/dist/services/ChainReader.js.map +1 -1
  88. package/dist/types/analytics.d.ts +194 -0
  89. package/dist/types/analytics.d.ts.map +1 -0
  90. package/dist/types/analytics.js +10 -0
  91. package/dist/types/analytics.js.map +1 -0
  92. package/dist/types/index.d.ts +1 -0
  93. package/dist/types/index.d.ts.map +1 -1
  94. package/dist/warehouse/analytics-helpers.d.ts +36 -0
  95. package/dist/warehouse/analytics-helpers.d.ts.map +1 -0
  96. package/dist/warehouse/analytics-helpers.js +142 -0
  97. package/dist/warehouse/analytics-helpers.js.map +1 -0
  98. package/dist/warehouse/backfill.d.ts +26 -0
  99. package/dist/warehouse/backfill.d.ts.map +1 -0
  100. package/dist/warehouse/backfill.js +77 -0
  101. package/dist/warehouse/backfill.js.map +1 -0
  102. package/dist/warehouse/connection.d.ts +24 -0
  103. package/dist/warehouse/connection.d.ts.map +1 -0
  104. package/dist/warehouse/connection.js +30 -0
  105. package/dist/warehouse/connection.js.map +1 -0
  106. package/dist/warehouse/index.d.ts +14 -0
  107. package/dist/warehouse/index.d.ts.map +1 -0
  108. package/dist/warehouse/index.js +14 -0
  109. package/dist/warehouse/index.js.map +1 -0
  110. package/dist/warehouse/repositories/analytics.d.ts +61 -0
  111. package/dist/warehouse/repositories/analytics.d.ts.map +1 -0
  112. package/dist/warehouse/repositories/analytics.js +418 -0
  113. package/dist/warehouse/repositories/analytics.js.map +1 -0
  114. package/dist/warehouse/schema.d.ts +9 -0
  115. package/dist/warehouse/schema.d.ts.map +1 -0
  116. package/dist/warehouse/schema.js +219 -0
  117. package/dist/warehouse/schema.js.map +1 -0
  118. package/dist/warehouse/seed-domains.d.ts +29 -0
  119. package/dist/warehouse/seed-domains.d.ts.map +1 -0
  120. package/dist/warehouse/seed-domains.js +223 -0
  121. package/dist/warehouse/seed-domains.js.map +1 -0
  122. package/package.json +1 -1
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Canonical domain taxonomy seed.
3
+ *
4
+ * The slugs below are the only values analytics queries should group by.
5
+ * `markets.category` and `markets.topics` (the existing free-form fields in
6
+ * SQLite) are mapped into these slugs by `backfillMarketDomains`.
7
+ *
8
+ * To add a new domain: append to CANONICAL_DOMAINS, run the indexer once.
9
+ * To remap topics → domain: edit TOPIC_TO_DOMAIN and re-run the backfill.
10
+ */
11
+ import type { SQL } from 'bun';
12
+ export interface CanonicalDomain {
13
+ readonly slug: string;
14
+ readonly name: string;
15
+ readonly description: string;
16
+ readonly sortOrder: number;
17
+ }
18
+ export declare const CANONICAL_DOMAINS: readonly CanonicalDomain[];
19
+ /**
20
+ * Map a free-form topic or category string to a canonical domain slug.
21
+ * Returns 'other' if no rule matches.
22
+ */
23
+ export declare function classifyTopic(raw: string): string;
24
+ /**
25
+ * Insert canonical domains, idempotent. Updates name/description/sort_order
26
+ * if a slug already exists.
27
+ */
28
+ export declare function seedCanonicalDomains(sql: SQL): Promise<void>;
29
+ //# sourceMappingURL=seed-domains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-domains.d.ts","sourceRoot":"","sources":["../../src/warehouse/seed-domains.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAmE9C,CAAC;AAqHX;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkBjD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAYlE"}
@@ -0,0 +1,223 @@
1
+ export const CANONICAL_DOMAINS = [
2
+ {
3
+ slug: 'politics',
4
+ name: 'Politics',
5
+ description: 'Elections, legislation, polls, and policy outcomes.',
6
+ sortOrder: 10,
7
+ },
8
+ {
9
+ slug: 'economics',
10
+ name: 'Economics',
11
+ description: 'Macroeconomic indicators, inflation, GDP, employment, rates.',
12
+ sortOrder: 20,
13
+ },
14
+ {
15
+ slug: 'crypto',
16
+ name: 'Crypto',
17
+ description: 'On-chain metrics, token prices, protocol-level outcomes.',
18
+ sortOrder: 30,
19
+ },
20
+ {
21
+ slug: 'weather',
22
+ name: 'Weather & Climate',
23
+ description: 'Temperature, precipitation, storm tracks, climate indicators.',
24
+ sortOrder: 40,
25
+ },
26
+ {
27
+ slug: 'sports',
28
+ name: 'Sports',
29
+ description: 'Match outcomes, season standings, performance metrics.',
30
+ sortOrder: 50,
31
+ },
32
+ {
33
+ slug: 'geopolitics',
34
+ name: 'Geopolitics',
35
+ description: 'International relations, conflicts, treaties, diplomatic outcomes.',
36
+ sortOrder: 60,
37
+ },
38
+ {
39
+ slug: 'science',
40
+ name: 'Science & Tech Research',
41
+ description: 'Scientific results, peer-reviewed claims, technology breakthroughs.',
42
+ sortOrder: 70,
43
+ },
44
+ {
45
+ slug: 'technology',
46
+ name: 'Technology & Industry',
47
+ description: 'Product launches, company outcomes, industry events.',
48
+ sortOrder: 80,
49
+ },
50
+ {
51
+ slug: 'culture',
52
+ name: 'Culture',
53
+ description: 'Awards, entertainment, social trends, cultural events.',
54
+ sortOrder: 90,
55
+ },
56
+ {
57
+ slug: 'entertainment',
58
+ name: 'Entertainment & Media',
59
+ description: 'Box office, streaming, music charts, media releases.',
60
+ sortOrder: 100,
61
+ },
62
+ {
63
+ slug: 'other',
64
+ name: 'Other',
65
+ description: 'Markets that have not been mapped to a specific domain yet.',
66
+ sortOrder: 9999,
67
+ },
68
+ ];
69
+ /**
70
+ * Lowercase substring → canonical slug. The first match wins. Order matters:
71
+ * put more specific matches first.
72
+ *
73
+ * Applied to (a) `markets.category` (lowercased) and (b) each entry in
74
+ * `markets.topics` (lowercased) — see `backfillMarketDomains`.
75
+ */
76
+ const TOPIC_TO_DOMAIN = [
77
+ // ── politics ──
78
+ ['election', 'politics'],
79
+ ['president', 'politics'],
80
+ ['senate', 'politics'],
81
+ ['congress', 'politics'],
82
+ ['parliament', 'politics'],
83
+ ['vote', 'politics'],
84
+ ['poll', 'politics'],
85
+ ['republican', 'politics'],
86
+ ['democrat', 'politics'],
87
+ ['politic', 'politics'],
88
+ // ── economics ──
89
+ ['inflation', 'economics'],
90
+ ['cpi', 'economics'],
91
+ ['ppi', 'economics'],
92
+ ['gdp', 'economics'],
93
+ ['unemployment', 'economics'],
94
+ ['jobs', 'economics'],
95
+ ['payroll', 'economics'],
96
+ ['fed', 'economics'],
97
+ ['interest rate', 'economics'],
98
+ ['fomc', 'economics'],
99
+ ['recession', 'economics'],
100
+ ['economic', 'economics'],
101
+ ['econ', 'economics'],
102
+ // ── crypto ──
103
+ ['bitcoin', 'crypto'],
104
+ ['ethereum', 'crypto'],
105
+ ['btc', 'crypto'],
106
+ ['eth', 'crypto'],
107
+ ['solana', 'crypto'],
108
+ ['starknet', 'crypto'],
109
+ ['stablecoin', 'crypto'],
110
+ ['defi', 'crypto'],
111
+ ['token', 'crypto'],
112
+ ['crypto', 'crypto'],
113
+ // ── weather ──
114
+ ['hurricane', 'weather'],
115
+ ['typhoon', 'weather'],
116
+ ['storm', 'weather'],
117
+ ['temperature', 'weather'],
118
+ ['snowfall', 'weather'],
119
+ ['rainfall', 'weather'],
120
+ ['climate', 'weather'],
121
+ ['weather', 'weather'],
122
+ // ── sports ──
123
+ ['nba', 'sports'],
124
+ ['nfl', 'sports'],
125
+ ['mlb', 'sports'],
126
+ ['nhl', 'sports'],
127
+ ['soccer', 'sports'],
128
+ ['football', 'sports'],
129
+ ['premier league', 'sports'],
130
+ ['champions league', 'sports'],
131
+ ['world cup', 'sports'],
132
+ ['olympic', 'sports'],
133
+ ['tennis', 'sports'],
134
+ ['ufc', 'sports'],
135
+ ['mma', 'sports'],
136
+ ['sport', 'sports'],
137
+ // ── geopolitics ──
138
+ ['ukraine', 'geopolitics'],
139
+ ['russia', 'geopolitics'],
140
+ ['china', 'geopolitics'],
141
+ ['nato', 'geopolitics'],
142
+ ['un security', 'geopolitics'],
143
+ ['ceasefire', 'geopolitics'],
144
+ ['sanction', 'geopolitics'],
145
+ ['treaty', 'geopolitics'],
146
+ ['geopolitic', 'geopolitics'],
147
+ // ── science ──
148
+ ['nasa', 'science'],
149
+ ['spacex', 'science'],
150
+ ['rocket', 'science'],
151
+ ['vaccine', 'science'],
152
+ ['nobel', 'science'],
153
+ ['physics', 'science'],
154
+ ['biology', 'science'],
155
+ ['research', 'science'],
156
+ ['science', 'science'],
157
+ // ── technology ──
158
+ ['ai model', 'technology'],
159
+ ['gpt', 'technology'],
160
+ ['claude', 'technology'],
161
+ ['gemini', 'technology'],
162
+ ['ipo', 'technology'],
163
+ ['layoff', 'technology'],
164
+ ['acquisition', 'technology'],
165
+ ['apple', 'technology'],
166
+ ['google', 'technology'],
167
+ ['microsoft', 'technology'],
168
+ ['tech', 'technology'],
169
+ ['technology', 'technology'],
170
+ // ── culture / entertainment ──
171
+ ['oscar', 'entertainment'],
172
+ ['grammy', 'entertainment'],
173
+ ['emmy', 'entertainment'],
174
+ ['box office', 'entertainment'],
175
+ ['netflix', 'entertainment'],
176
+ ['streaming', 'entertainment'],
177
+ ['movie', 'entertainment'],
178
+ ['album', 'entertainment'],
179
+ ['entertain', 'entertainment'],
180
+ ['celebrity', 'culture'],
181
+ ['culture', 'culture'],
182
+ ];
183
+ /**
184
+ * Map a free-form topic or category string to a canonical domain slug.
185
+ * Returns 'other' if no rule matches.
186
+ */
187
+ export function classifyTopic(raw) {
188
+ const lower = raw.toLowerCase().trim();
189
+ if (lower.length === 0) {
190
+ return 'other';
191
+ }
192
+ // Direct slug match (already canonical)
193
+ for (const domain of CANONICAL_DOMAINS) {
194
+ if (lower === domain.slug || lower === domain.name.toLowerCase()) {
195
+ return domain.slug;
196
+ }
197
+ }
198
+ // Substring rules
199
+ for (const [needle, slug] of TOPIC_TO_DOMAIN) {
200
+ if (lower.includes(needle)) {
201
+ return slug;
202
+ }
203
+ }
204
+ return 'other';
205
+ }
206
+ /**
207
+ * Insert canonical domains, idempotent. Updates name/description/sort_order
208
+ * if a slug already exists.
209
+ */
210
+ export async function seedCanonicalDomains(sql) {
211
+ for (const domain of CANONICAL_DOMAINS) {
212
+ await sql `
213
+ INSERT INTO domains (slug, name, description, sort_order, updated_at)
214
+ VALUES (${domain.slug}, ${domain.name}, ${domain.description}, ${domain.sortOrder}, now())
215
+ ON CONFLICT (slug) DO UPDATE SET
216
+ name = EXCLUDED.name,
217
+ description = EXCLUDED.description,
218
+ sort_order = EXCLUDED.sort_order,
219
+ updated_at = now()
220
+ `;
221
+ }
222
+ }
223
+ //# sourceMappingURL=seed-domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-domains.js","sourceRoot":"","sources":["../../src/warehouse/seed-domains.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@the-situation/indexer",
3
- "version": "0.17.1",
3
+ "version": "0.18.1",
4
4
  "description": "ETL indexer and REST/WS API for The Situation prediction markets",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",