bps-mcp-server 0.17.0 → 0.18.0

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.
@@ -0,0 +1,396 @@
1
+ import { resolveVariableForYears, searchVariables } from "./variable-search.js";
2
+ import { extractVervarId, getVervarEntries, selectAggregateTurvar } from "./dynamic-data-utils.js";
3
+ import { resolvePeriodsForSpec } from "./period-resolver.js";
4
+ import { getPeriodId, getPeriodLabel, getTurthId, getTurthLabel, getTurvarId, getVariableId, getVariableTitle, getVariableUnit, isNeutralPeriodLabel, } from "../client/fields.js";
5
+ /**
6
+ * Builds one comparable series (year → value) for a region.
7
+ *
8
+ * BPS provincial domains reuse national tables whose only row is "Indonesia",
9
+ * so "kemiskinan Jawa Timur" used to answer with the national number. Candidates
10
+ * are therefore accepted only when they actually contain a row for the region,
11
+ * and the candidate with the widest year coverage wins.
12
+ */
13
+ export function normalizeRegionLabel(label) {
14
+ return label
15
+ .toLowerCase()
16
+ .replace(/\b(provinsi|propinsi|prov|kabupaten|kab|kota|administrasi)\b/g, " ")
17
+ .replace(/[^a-z0-9]+/g, " ")
18
+ .trim();
19
+ }
20
+ /** Pick the vervar id that represents the requested region. */
21
+ export function pickRegionVervarId(response, domain, domainName) {
22
+ const entries = getVervarEntries(response);
23
+ if (entries.length === 0)
24
+ return null;
25
+ const combined = entries.find((entry) => /^(kota\s*\+\s*desa|perkotaan\s*\+\s*perdesaan|total|jumlah|semua|nasional)$/i.test(entry.label.trim()));
26
+ if (domain === "0000") {
27
+ const indonesia = entries.find((entry) => /\bindonesia\b/i.test(entry.label));
28
+ if (indonesia)
29
+ return indonesia.id;
30
+ if (combined)
31
+ return combined.id;
32
+ return entries.length === 1 ? entries[0].id : null;
33
+ }
34
+ const target = domainName ? normalizeRegionLabel(domainName) : "";
35
+ if (target) {
36
+ const exact = entries.find((entry) => normalizeRegionLabel(entry.label) === target);
37
+ if (exact)
38
+ return exact.id;
39
+ }
40
+ const byId = entries.find((entry) => entry.id === domain) ??
41
+ entries.find((entry) => entry.id === `${domain.slice(0, 2)}99`) ??
42
+ entries.find((entry) => entry.id === `${domain.slice(0, 4)}0`);
43
+ if (byId)
44
+ return byId.id;
45
+ if (target) {
46
+ const contains = entries.find((entry) => {
47
+ const normalized = normalizeRegionLabel(entry.label);
48
+ return normalized.length > 2 && (normalized.includes(target) || target.includes(normalized));
49
+ });
50
+ if (contains)
51
+ return contains.id;
52
+ }
53
+ return combined?.id ?? null;
54
+ }
55
+ export function hasRegionRow(response, domain, domainName) {
56
+ const vervarId = pickRegionVervarId(response, domain, domainName);
57
+ if (!vervarId)
58
+ return false;
59
+ return Object.entries(response.datacontent ?? {}).some(([key, value]) => typeof value === "number" && extractVervarId(key, response) === vervarId);
60
+ }
61
+ function stripKeyPrefixes(key, response) {
62
+ const vervarId = extractVervarId(key, response);
63
+ let rest = vervarId ? key.slice(vervarId.length) : key;
64
+ const varIds = (response.var ?? [])
65
+ .map((variable) => getVariableId(variable))
66
+ .filter(Boolean)
67
+ .sort((a, b) => b.length - a.length);
68
+ const matchedVar = varIds.find((id) => rest.startsWith(id));
69
+ if (matchedVar)
70
+ rest = rest.slice(matchedVar.length);
71
+ const turvarIds = (response.turvar ?? [])
72
+ .map((turvar) => getTurvarId(turvar))
73
+ .filter(Boolean)
74
+ .sort((a, b) => b.length - a.length);
75
+ const matchedTurvar = turvarIds.find((id) => rest.startsWith(id));
76
+ if (matchedTurvar)
77
+ rest = rest.slice(matchedTurvar.length);
78
+ return { vervarId, turvarId: matchedTurvar ?? null, rest };
79
+ }
80
+ function pickValueForPeriod(response, vervarId, periodId, turthId) {
81
+ const aggregateTurvar = selectAggregateTurvar(response);
82
+ const suffixes = turthId
83
+ ? [`${periodId}${turthId}`, `${turthId}${periodId}`]
84
+ : [periodId];
85
+ for (const [key, raw] of Object.entries(response.datacontent ?? {})) {
86
+ if (typeof raw !== "number")
87
+ continue;
88
+ const parts = stripKeyPrefixes(key, response);
89
+ if (parts.vervarId !== vervarId && !key.startsWith(vervarId))
90
+ continue;
91
+ if (!suffixes.includes(parts.rest))
92
+ continue;
93
+ if (aggregateTurvar && parts.turvarId !== aggregateTurvar)
94
+ continue;
95
+ return raw;
96
+ }
97
+ return null;
98
+ }
99
+ /** Choose the series (turtahun) with the best coverage, preferring annual/Maret. */
100
+ function selectSeriesTurth(response, periodIds) {
101
+ const entries = (response.turtahun ?? [])
102
+ .map((turth) => ({ id: getTurthId(turth), label: getTurthLabel(turth) }))
103
+ .filter((entry) => entry.id !== "");
104
+ if (entries.length === 0)
105
+ return null;
106
+ if (entries.length === 1)
107
+ return entries[0];
108
+ const coverages = entries.map((entry) => {
109
+ const keys = Object.keys(response.datacontent ?? {});
110
+ const coverage = periodIds.filter((periodId) => keys.some((key) => {
111
+ const parts = stripKeyPrefixes(key, response);
112
+ return parts.rest === `${periodId}${entry.id}` || parts.rest === `${entry.id}${periodId}`;
113
+ })).length;
114
+ return { entry, coverage };
115
+ });
116
+ const withData = coverages.filter((item) => item.coverage > 0);
117
+ if (withData.length === 0)
118
+ return entries[0];
119
+ const bestCoverage = Math.max(...withData.map((item) => item.coverage));
120
+ const best = withData.filter((item) => item.coverage === bestCoverage).map((item) => item.entry);
121
+ return (best.find((entry) => isNeutralPeriodLabel(entry.label)) ??
122
+ best.find((entry) => /semester\s*1|maret/i.test(entry.label)) ??
123
+ best.find((entry) => /desember/i.test(entry.label)) ??
124
+ best[0]);
125
+ }
126
+ export async function buildRegionSeries(client, store, query, region, domain, domainName, options) {
127
+ const years = options.years;
128
+ const notes = [];
129
+ const base = {
130
+ region,
131
+ domain,
132
+ domainName,
133
+ varId: null,
134
+ varTitle: query,
135
+ points: [],
136
+ missingYears: years,
137
+ availableYears: [],
138
+ notes,
139
+ };
140
+ let resolved;
141
+ try {
142
+ resolved = await resolveVariableForYears(client, store, query, domain, years, {
143
+ maxCandidates: 20,
144
+ });
145
+ }
146
+ catch {
147
+ resolved = null;
148
+ }
149
+ const queue = [];
150
+ const push = (candidate) => {
151
+ if (!candidate || queue.some((entry) => entry.var_id === candidate.var_id))
152
+ return;
153
+ queue.push(candidate);
154
+ };
155
+ push(resolved?.varData ?? null);
156
+ for (const candidate of resolved?.candidates ?? [])
157
+ push(candidate);
158
+ // "jumlah penduduk miskin" must not answer with a percentage just because the
159
+ // rate table happened to rank first. Stable-sort by amount/rate fit.
160
+ const wantsAmount = /\bjumlah\b|\btotal\b|\bjiwa\b|\borang\b/.test(query.toLowerCase());
161
+ const wantsRate = /\bpersentase\b|\bpersen\b|%|\btingkat\b/.test(query.toLowerCase());
162
+ const fit = (candidate) => {
163
+ const title = (candidate.title ?? "").toLowerCase();
164
+ const unit = (candidate.unit ?? "").toLowerCase();
165
+ let score = 0;
166
+ if (wantsAmount) {
167
+ if (title.includes("jumlah") || title.includes("total"))
168
+ score += 2;
169
+ if (title.includes("persentase"))
170
+ score -= 2;
171
+ if (unit.includes("persen"))
172
+ score -= 1;
173
+ if (/jiwa|orang/.test(unit))
174
+ score += 1;
175
+ }
176
+ if (wantsRate) {
177
+ if (title.includes("persentase") || unit.includes("persen"))
178
+ score += 2;
179
+ if (title.includes("jumlah"))
180
+ score -= 1;
181
+ }
182
+ return score;
183
+ };
184
+ queue.sort((a, b) => fit(b) - fit(a));
185
+ if (queue.length === 0) {
186
+ notes.push(`Tidak ditemukan variabel untuk "${query}".`);
187
+ return base;
188
+ }
189
+ let best = null;
190
+ const maxCandidates = Math.max(1, options.maxCandidates ?? 5);
191
+ let rejectedWithoutRegionRow = 0;
192
+ for (const candidate of queue.slice(0, maxCandidates)) {
193
+ const title = getVariableTitle(candidate) || candidate.title;
194
+ let periods;
195
+ try {
196
+ periods = await resolvePeriodsForSpec(client, domain, candidate.var_id, years.length > 0 ? years.join(",") : undefined);
197
+ }
198
+ catch {
199
+ continue;
200
+ }
201
+ if (periods.entries.length === 0)
202
+ continue;
203
+ const periodIds = periods.entries.map((entry) => entry.id);
204
+ let response;
205
+ try {
206
+ response = await client.getDynamicData(domain, String(candidate.var_id), periodIds.join(";"));
207
+ }
208
+ catch {
209
+ continue;
210
+ }
211
+ if (!response?.datacontent || Object.keys(response.datacontent).length === 0)
212
+ continue;
213
+ const vervarId = pickRegionVervarId(response, domain, domainName);
214
+ if (!vervarId) {
215
+ rejectedWithoutRegionRow++;
216
+ continue;
217
+ }
218
+ if (!hasRegionRow(response, domain, domainName)) {
219
+ rejectedWithoutRegionRow++;
220
+ continue;
221
+ }
222
+ const turth = selectSeriesTurth(response, periodIds);
223
+ const points = [];
224
+ for (const entry of periods.entries) {
225
+ const value = pickValueForPeriod(response, vervarId, entry.id, turth?.id ?? null);
226
+ if (value === null)
227
+ continue;
228
+ points.push({
229
+ id: entry.id,
230
+ label: entry.label,
231
+ year: entry.year ?? entry.label.match(/\d{4}/)?.[0] ?? entry.label,
232
+ value,
233
+ });
234
+ }
235
+ if (points.length === 0)
236
+ continue;
237
+ points.sort((a, b) => a.label.localeCompare(b.label, "id", { numeric: true }));
238
+ const candidateSeries = {
239
+ region,
240
+ domain,
241
+ domainName,
242
+ varId: candidate.var_id,
243
+ varTitle: title,
244
+ unit: getVariableUnit(candidate) ?? candidate.unit,
245
+ seriesLabel: turth && !isNeutralPeriodLabel(turth.label) ? turth.label : undefined,
246
+ points,
247
+ missingYears: years.filter((year) => !points.some((point) => point.year === year)),
248
+ availableYears: periods.availableYears,
249
+ notes,
250
+ };
251
+ if (!best || candidateSeries.points.length > best.points.length)
252
+ best = candidateSeries;
253
+ if (best.points.length === years.length && years.length > 0)
254
+ break;
255
+ }
256
+ if (!best) {
257
+ if (rejectedWithoutRegionRow > 0) {
258
+ notes.push(`Variabel yang ditemukan hanya berisi angka nasional/agregat lain, bukan baris ${region}.`);
259
+ }
260
+ return base;
261
+ }
262
+ if (best.missingYears.length > 0 && best.missingYears.length < years.length) {
263
+ notes.push(`Tahun ${best.missingYears.join(", ")} tidak tersedia.`);
264
+ }
265
+ return best;
266
+ }
267
+ /** List all periods for a variable (used for diagnostics in error messages). */
268
+ export async function listPeriodLabels(client, domain, varId) {
269
+ try {
270
+ const periods = await resolvePeriodsForSpec(client, domain, varId, undefined);
271
+ return periods.entries.map((entry) => ({ id: entry.id, label: entry.label }));
272
+ }
273
+ catch {
274
+ return [];
275
+ }
276
+ }
277
+ export { getPeriodId, getPeriodLabel };
278
+ /** BPS often puts the unit in the title, e.g. "Jumlah Penduduk Miskin (Ribu Jiwa)". */
279
+ function unitFromTitle(title) {
280
+ const match = title.match(/\(([^)]*(?:jiwa|orang|persen|rupiah|hektar|ton|liter)[^)]*)\)/i);
281
+ return match?.[1]?.trim();
282
+ }
283
+ /**
284
+ * One national table (e.g. "Jumlah Penduduk Miskin Menurut Provinsi", var 185)
285
+ * already carries every province with a consistent unit and precision. Using it
286
+ * for a province comparison costs ONE request instead of one per province and
287
+ * avoids "Ribu Jiwa" vs "Juta Jiwa" mixes.
288
+ */
289
+ export async function buildNationalBreakdown(client, query, regions, years) {
290
+ if (regions.length === 0)
291
+ return null;
292
+ let candidates;
293
+ try {
294
+ candidates = await searchVariables(client, "0000", query, { maxCandidates: 20 });
295
+ }
296
+ catch {
297
+ return null;
298
+ }
299
+ if (candidates.length === 0)
300
+ return null;
301
+ const wantsAmount = /\bjumlah\b|\btotal\b|\bjiwa\b|\borang\b/.test(query.toLowerCase());
302
+ const wantsRate = /\bpersentase\b|\bpersen\b|%|\btingkat\b/.test(query.toLowerCase());
303
+ const fit = (title, unit) => {
304
+ const t = title.toLowerCase();
305
+ const u = (unit ?? "").toLowerCase();
306
+ // A province-level table is what we need here, and it is also the cheapest
307
+ // (one request covers every region).
308
+ let score = /provinsi/i.test(t) ? 3 : 0;
309
+ if (wantsAmount) {
310
+ if (t.includes("jumlah") || t.includes("total"))
311
+ score += 2;
312
+ if (t.includes("persentase"))
313
+ score -= 2;
314
+ if (u.includes("persen"))
315
+ score -= 1;
316
+ if (/jiwa|orang/.test(u))
317
+ score += 1;
318
+ }
319
+ if (wantsRate) {
320
+ if (t.includes("persentase") || u.includes("persen"))
321
+ score += 2;
322
+ if (t.includes("jumlah"))
323
+ score -= 1;
324
+ }
325
+ return score;
326
+ };
327
+ const ordered = [...candidates]
328
+ .filter((candidate) => !/kabupaten|kecamatan|kelurahan|desa/i.test(candidate.title))
329
+ .sort((a, b) => fit(b.title, b.unit) - fit(a.title, a.unit));
330
+ for (const candidate of ordered.slice(0, 5)) {
331
+ let periods;
332
+ try {
333
+ periods = await resolvePeriodsForSpec(client, "0000", candidate.var_id, years.length > 0 ? years.join(",") : undefined);
334
+ }
335
+ catch {
336
+ continue;
337
+ }
338
+ if (periods.entries.length === 0)
339
+ continue;
340
+ const periodIds = periods.entries.map((entry) => entry.id);
341
+ let response;
342
+ try {
343
+ response = await client.getDynamicData("0000", String(candidate.var_id), periodIds.join(";"));
344
+ }
345
+ catch {
346
+ continue;
347
+ }
348
+ const vervarEntries = getVervarEntries(response);
349
+ if (vervarEntries.length === 0 || vervarEntries.length > 40)
350
+ continue;
351
+ const byRegion = new Map();
352
+ const turth = selectSeriesTurth(response, periodIds);
353
+ let allMatched = true;
354
+ for (const region of regions) {
355
+ const target = normalizeRegionLabel(region.domainName || region.name);
356
+ const match = vervarEntries.find((entry) => normalizeRegionLabel(entry.label) === target) ??
357
+ vervarEntries.find((entry) => {
358
+ const normalized = normalizeRegionLabel(entry.label);
359
+ return normalized.length > 2 && (normalized.includes(target) || target.includes(normalized));
360
+ });
361
+ if (!match) {
362
+ allMatched = false;
363
+ break;
364
+ }
365
+ const points = [];
366
+ for (const entry of periods.entries) {
367
+ const value = pickValueForPeriod(response, match.id, entry.id, turth?.id ?? null);
368
+ if (value === null)
369
+ continue;
370
+ points.push({
371
+ id: entry.id,
372
+ label: entry.label,
373
+ year: entry.year ?? entry.label.match(/\d{4}/)?.[0] ?? entry.label,
374
+ value,
375
+ });
376
+ }
377
+ if (points.length === 0) {
378
+ allMatched = false;
379
+ break;
380
+ }
381
+ points.sort((a, b) => a.label.localeCompare(b.label, "id", { numeric: true }));
382
+ byRegion.set(region.domainName || region.name, points);
383
+ }
384
+ if (!allMatched)
385
+ continue;
386
+ return {
387
+ varId: candidate.var_id,
388
+ varTitle: candidate.title,
389
+ unit: candidate.unit ?? unitFromTitle(candidate.title),
390
+ seriesLabel: turth && !isNeutralPeriodLabel(turth.label) ? turth.label : undefined,
391
+ byRegion,
392
+ };
393
+ }
394
+ return null;
395
+ }
396
+ //# sourceMappingURL=region-series.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"region-series.js","sourceRoot":"","sources":["../../src/services/region-series.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"variable-search.d.ts","sourceRoot":"","sources":["../../src/services/variable-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAuEhD,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BxD;AAwBD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,SAAK,EACZ,UAAU,SAAK,GACd,MAAM,CA8GR;AA0BD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2F9B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAe5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAgBD;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAgF7C"}
1
+ {"version":3,"file":"variable-search.d.ts","sourceRoot":"","sources":["../../src/services/variable-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAuEhD,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BxD;AAwBD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,SAAK,EACZ,UAAU,SAAK,GACd,MAAM,CA+GR;AA0BD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2F9B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAe5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAgBD;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAgF7C"}
@@ -231,10 +231,11 @@ export function computeRelevanceScore(query, title, subName = "", definition = "
231
231
  score -= 20;
232
232
  }
233
233
  else if (kw.includes("jumlah")) {
234
+ // "jumlah penduduk miskin" asks for a headcount, not a rate.
234
235
  if (titleLower.includes("jumlah"))
235
236
  score += 40;
236
237
  if (titleLower.includes("persentase"))
237
- score -= 10;
238
+ score -= 40;
238
239
  if (titleLower.includes("garis kemiskinan"))
239
240
  score -= 30;
240
241
  }
@@ -1 +1 @@
1
- {"version":3,"file":"variable-search.js","sourceRoot":"","sources":["../../src/services/variable-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variable-search.js","sourceRoot":"","sources":["../../src/services/variable-search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.tools.d.ts","sourceRoot":"","sources":["../../src/tools/analysis.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AA2BxE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7B,IAAI,CAmeN"}
1
+ {"version":3,"file":"analysis.tools.d.ts","sourceRoot":"","sources":["../../src/tools/analysis.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAiBxE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7B,IAAI,CAqnBN"}