bps-mcp-server 0.16.3 → 0.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +19 -3
  2. package/dist/client/allstats-client.d.ts +2 -0
  3. package/dist/client/allstats-client.d.ts.map +1 -1
  4. package/dist/client/allstats-client.js +62 -34
  5. package/dist/client/allstats-client.js.map +1 -1
  6. package/dist/client/bps-client.d.ts +14 -5
  7. package/dist/client/bps-client.d.ts.map +1 -1
  8. package/dist/client/bps-client.js +215 -23
  9. package/dist/client/bps-client.js.map +1 -1
  10. package/dist/client/endpoints.d.ts +7 -0
  11. package/dist/client/endpoints.d.ts.map +1 -1
  12. package/dist/client/endpoints.js +43 -5
  13. package/dist/client/endpoints.js.map +1 -1
  14. package/dist/client/fields.d.ts +27 -0
  15. package/dist/client/fields.d.ts.map +1 -0
  16. package/dist/client/fields.js +105 -0
  17. package/dist/client/fields.js.map +1 -0
  18. package/dist/client/types.d.ts +46 -22
  19. package/dist/client/types.d.ts.map +1 -1
  20. package/dist/index.js +19 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/resources/domain.resources.js +2 -2
  23. package/dist/resources/domain.resources.js.map +1 -1
  24. package/dist/server.js +1 -1
  25. package/dist/server.js.map +1 -1
  26. package/dist/services/data-formatter.d.ts +5 -1
  27. package/dist/services/data-formatter.d.ts.map +1 -1
  28. package/dist/services/data-formatter.js +55 -38
  29. package/dist/services/data-formatter.js.map +1 -1
  30. package/dist/services/dynamic-data-utils.d.ts +35 -0
  31. package/dist/services/dynamic-data-utils.d.ts.map +1 -0
  32. package/dist/services/dynamic-data-utils.js +132 -0
  33. package/dist/services/dynamic-data-utils.js.map +1 -0
  34. package/dist/services/file-store.d.ts +5 -1
  35. package/dist/services/file-store.d.ts.map +1 -1
  36. package/dist/services/file-store.js +16 -5
  37. package/dist/services/file-store.js.map +1 -1
  38. package/dist/services/intent-detector.d.ts.map +1 -1
  39. package/dist/services/intent-detector.js +10 -10
  40. package/dist/services/intent-detector.js.map +1 -1
  41. package/dist/services/learning.d.ts +2 -0
  42. package/dist/services/learning.d.ts.map +1 -1
  43. package/dist/services/learning.js +30 -9
  44. package/dist/services/learning.js.map +1 -1
  45. package/dist/services/variable-search.d.ts +50 -0
  46. package/dist/services/variable-search.d.ts.map +1 -0
  47. package/dist/services/variable-search.js +482 -0
  48. package/dist/services/variable-search.js.map +1 -0
  49. package/dist/tools/allstats.tools.d.ts.map +1 -1
  50. package/dist/tools/allstats.tools.js +13 -3
  51. package/dist/tools/allstats.tools.js.map +1 -1
  52. package/dist/tools/analysis.tools.d.ts.map +1 -1
  53. package/dist/tools/analysis.tools.js +291 -533
  54. package/dist/tools/analysis.tools.js.map +1 -1
  55. package/dist/tools/csa.tools.d.ts.map +1 -1
  56. package/dist/tools/csa.tools.js +13 -4
  57. package/dist/tools/csa.tools.js.map +1 -1
  58. package/dist/tools/dynamic-data.tools.d.ts.map +1 -1
  59. package/dist/tools/dynamic-data.tools.js +66 -23
  60. package/dist/tools/dynamic-data.tools.js.map +1 -1
  61. package/dist/tools/glossary.tools.d.ts +2 -1
  62. package/dist/tools/glossary.tools.d.ts.map +1 -1
  63. package/dist/tools/glossary.tools.js +30 -1
  64. package/dist/tools/glossary.tools.js.map +1 -1
  65. package/dist/tools/infographic.tools.d.ts.map +1 -1
  66. package/dist/tools/infographic.tools.js +7 -9
  67. package/dist/tools/infographic.tools.js.map +1 -1
  68. package/dist/tools/news.tools.d.ts.map +1 -1
  69. package/dist/tools/news.tools.js +2 -7
  70. package/dist/tools/news.tools.js.map +1 -1
  71. package/dist/tools/publication.tools.d.ts.map +1 -1
  72. package/dist/tools/publication.tools.js +12 -4
  73. package/dist/tools/publication.tools.js.map +1 -1
  74. package/dist/tools/reference.tools.d.ts.map +1 -1
  75. package/dist/tools/reference.tools.js +3 -1
  76. package/dist/tools/reference.tools.js.map +1 -1
  77. package/dist/tools/search.tools.d.ts.map +1 -1
  78. package/dist/tools/search.tools.js +71 -7
  79. package/dist/tools/search.tools.js.map +1 -1
  80. package/dist/tools/smart.tools.d.ts.map +1 -1
  81. package/dist/tools/smart.tools.js +352 -414
  82. package/dist/tools/smart.tools.js.map +1 -1
  83. package/dist/tools/static-table.tools.d.ts.map +1 -1
  84. package/dist/tools/static-table.tools.js +4 -3
  85. package/dist/tools/static-table.tools.js.map +1 -1
  86. package/dist/tools/trade.tools.d.ts.map +1 -1
  87. package/dist/tools/trade.tools.js +53 -7
  88. package/dist/tools/trade.tools.js.map +1 -1
  89. package/dist/utils/error.d.ts.map +1 -1
  90. package/dist/utils/error.js +5 -0
  91. package/dist/utils/error.js.map +1 -1
  92. package/dist/utils/html.d.ts +9 -0
  93. package/dist/utils/html.d.ts.map +1 -0
  94. package/dist/utils/html.js +77 -0
  95. package/dist/utils/html.js.map +1 -0
  96. package/package.json +10 -10
@@ -0,0 +1,482 @@
1
+ import { invalidateVar, learnVar, lookupVar, normalizeKeyword } from "./learning.js";
2
+ import { logger } from "../utils/logger.js";
3
+ import { BpsNotFoundError } from "../utils/error.js";
4
+ import { getPeriodLabel, getVariableTitle } from "../client/fields.js";
5
+ /** Keyword → BPS subject IDs. Subject IDs are stable across domains. */
6
+ const KEYWORD_SUBJECTS = {
7
+ pengangguran: [6],
8
+ nganggur: [6],
9
+ tenaga: [6],
10
+ kerja: [6],
11
+ tpak: [6],
12
+ angkatan: [6],
13
+ tpt: [6],
14
+ miskin: [23],
15
+ kemiskinan: [23],
16
+ gini: [23],
17
+ ketimpangan: [23],
18
+ kemiskin: [23],
19
+ penduduk: [12],
20
+ kependudukan: [12],
21
+ fertilitas: [12],
22
+ migrasi: [12],
23
+ populasi: [12],
24
+ inflasi: [3],
25
+ harga: [3],
26
+ ihk: [3],
27
+ pdrb: [52],
28
+ ekonomi: [52, 35],
29
+ pertumbuhan: [52],
30
+ ipm: [26],
31
+ pembangunan: [26],
32
+ ekspor: [8],
33
+ impor: [8],
34
+ perdagangan: [8],
35
+ pertanian: [55],
36
+ pangan: [55],
37
+ industri: [9],
38
+ manufaktur: [9],
39
+ kesehatan: [30],
40
+ pendidikan: [28],
41
+ pariwisata: [16],
42
+ agama: [12, 27],
43
+ religi: [12, 27],
44
+ keagamaan: [12, 27],
45
+ pengeluaran: [5],
46
+ konsumsi: [5],
47
+ };
48
+ /** Synonyms and morphological variants used for matching variable titles. */
49
+ const TERM_SYNONYMS = {
50
+ kemiskinan: ["miskin", "poverty"],
51
+ miskin: ["kemiskinan"],
52
+ pengangguran: ["penganggur", "tpt", "unemployment"],
53
+ tpt: ["pengangguran terbuka", "pengangguran"],
54
+ ipm: ["pembangunan manusia", "indeks pembangunan manusia", "hdi"],
55
+ gini: ["ketimpangan", "gini rasio"],
56
+ penduduk: ["populasi", "kependudukan"],
57
+ inflasi: ["ihk", "indeks harga konsumen"],
58
+ pdrb: ["produk domestik regional bruto", "pertumbuhan ekonomi"],
59
+ ekspor: ["export"],
60
+ impor: ["import"],
61
+ agama: ["religi", "kepercayaan"],
62
+ pendidikan: ["sekolah", "literasi", "melek huruf"],
63
+ kesehatan: ["kesehatan", "harapan hidup", "stunting"],
64
+ };
65
+ const BREAKDOWN_PATTERN = /\b(kabupaten|kebupaten|kab\/kota|per\s*kab|kecamatan|per\s*kec|desa|kelurahan|kab|kec)\b/i;
66
+ const PROVINCE_PATTERN = /\bprovinsi\b/i;
67
+ /** Extract root words and synonyms so "kemiskinan" also matches "miskin". */
68
+ export function expandQueryTerms(query) {
69
+ const normalized = normalizeKeyword(query);
70
+ const baseWords = normalized.split(/\s+/).filter((word) => word.length > 2);
71
+ const terms = new Set([...baseWords]);
72
+ for (const word of baseWords) {
73
+ if (word.length > 6 && word.startsWith("ke") && word.endsWith("an")) {
74
+ terms.add(word.slice(2, -2));
75
+ }
76
+ if (word.length > 7 && word.startsWith("pe") && word.endsWith("an")) {
77
+ terms.add(word.slice(2, -2));
78
+ }
79
+ if (word.length > 8 && word.startsWith("per") && word.endsWith("an")) {
80
+ terms.add(word.slice(3, -2));
81
+ }
82
+ if (word.length > 5 && word.endsWith("an")) {
83
+ terms.add(word.slice(0, -2));
84
+ }
85
+ }
86
+ for (const [key, synonyms] of Object.entries(TERM_SYNONYMS)) {
87
+ if (normalized.includes(key) || baseWords.includes(key)) {
88
+ for (const synonym of synonyms)
89
+ terms.add(synonym);
90
+ }
91
+ }
92
+ return [...terms].filter(Boolean);
93
+ }
94
+ /** Group synonyms/roots so two aliases in one title only count once. */
95
+ function groupTerms(terms) {
96
+ const groups = Object.entries(TERM_SYNONYMS).map(([key, values]) => [
97
+ key,
98
+ ...values,
99
+ ]);
100
+ const result = [];
101
+ for (const term of terms) {
102
+ let assigned = false;
103
+ for (const group of groups) {
104
+ if (group.some((member) => member === term || member.includes(term) || term.includes(member))) {
105
+ if (!result.includes(group))
106
+ result.push(group);
107
+ assigned = true;
108
+ break;
109
+ }
110
+ }
111
+ if (!assigned)
112
+ result.push([term]);
113
+ }
114
+ return result;
115
+ }
116
+ export function getSubjectIdsForKeyword(query) {
117
+ const normalized = normalizeKeyword(query);
118
+ const ids = [];
119
+ for (const [keyword, subIds] of Object.entries(KEYWORD_SUBJECTS)) {
120
+ if (normalized.includes(keyword))
121
+ ids.push(...subIds);
122
+ }
123
+ return [...new Set(ids)];
124
+ }
125
+ /**
126
+ * Score how well a variable title matches a query.
127
+ * Returns 0 when there is no keyword match at all — generic bonuses such as
128
+ * "title contains 'jumlah' or is short" must never make an unrelated variable
129
+ * win (this previously made "pemeluk agama" return a population variable).
130
+ */
131
+ export function computeRelevanceScore(query, title, subName = "", definition = "") {
132
+ const kw = normalizeKeyword(query);
133
+ if (!kw)
134
+ return 0;
135
+ const titleLower = (title ?? "").toLowerCase();
136
+ const subLower = (subName ?? "").toLowerCase();
137
+ const defLower = (definition ?? "").toLowerCase();
138
+ const terms = expandQueryTerms(kw);
139
+ const termGroups = groupTerms(terms);
140
+ const queryWords = kw.split(/\s+/).filter((word) => word.length > 2);
141
+ let score = 0;
142
+ let matchedGroups = 0;
143
+ for (const group of termGroups) {
144
+ if (group.some((term) => titleLower.includes(term))) {
145
+ score += 30;
146
+ matchedGroups++;
147
+ }
148
+ else if (group.some((term) => subLower.includes(term))) {
149
+ score += 8;
150
+ matchedGroups++;
151
+ }
152
+ else if (group.some((term) => defLower.includes(term))) {
153
+ score += 4;
154
+ matchedGroups++;
155
+ }
156
+ }
157
+ // No keyword match at all → not a candidate.
158
+ if (matchedGroups === 0)
159
+ return 0;
160
+ if (titleLower.includes(kw))
161
+ score += 30;
162
+ if (termGroups.length > 1 && matchedGroups >= termGroups.length)
163
+ score += 20;
164
+ if (titleLower.startsWith(kw))
165
+ score += 15;
166
+ // Prefer primary indicators over long breakdowns.
167
+ if (titleLower.includes("persentase") || titleLower.includes("tingkat"))
168
+ score += 10;
169
+ if (titleLower.includes("jumlah"))
170
+ score += 5;
171
+ if (title.length < 60)
172
+ score += 10;
173
+ if (title.length > 120)
174
+ score -= 15;
175
+ if (titleLower.includes("metode lama"))
176
+ score -= 25;
177
+ if (titleLower.includes("metode baru"))
178
+ score += 5;
179
+ const titleWordCount = titleLower.split(/\s+/).filter(Boolean).length;
180
+ const excessWords = titleWordCount - queryWords.length - 2;
181
+ if (excessWords > 0)
182
+ score -= Math.min(excessWords * 3, 18);
183
+ const asksBreakdown = BREAKDOWN_PATTERN.test(query) || BREAKDOWN_PATTERN.test(kw);
184
+ const isBreakdownTitle = titleLower.includes("kabupaten/kota") ||
185
+ titleLower.includes("kabupaten") ||
186
+ titleLower.includes("kebupaten") ||
187
+ titleLower.includes("kecamatan") ||
188
+ titleLower.includes("desa") ||
189
+ titleLower.includes("kelurahan");
190
+ if (isBreakdownTitle) {
191
+ score += asksBreakdown ? 30 : -25;
192
+ }
193
+ if (PROVINCE_PATTERN.test(titleLower)) {
194
+ score += asksBreakdown ? 5 : 10;
195
+ }
196
+ // If the query does not ask for an index, prefer the main indicator.
197
+ if (titleLower.includes("indeks") && !terms.some((term) => term.includes("indeks"))) {
198
+ score -= 15;
199
+ }
200
+ if (kw.includes("penduduk")) {
201
+ if (titleLower.includes("jumlah penduduk"))
202
+ score += 25;
203
+ if (titleLower.includes("kepadatan") && !kw.includes("kepadatan"))
204
+ score -= 30;
205
+ if (titleLower.includes("laju pertumbuhan") && !kw.includes("laju"))
206
+ score -= 20;
207
+ if (titleLower.includes("rasio") && !kw.includes("rasio"))
208
+ score -= 15;
209
+ if (titleLower.includes("proyeksi") && !kw.includes("proyeksi"))
210
+ score -= 5;
211
+ }
212
+ if (kw.includes("ipm") || kw.includes("pembangunan manusia")) {
213
+ if (titleLower.includes("metode lama"))
214
+ score -= 40;
215
+ if (titleLower.includes("metode baru"))
216
+ score += 15;
217
+ if (titleLower.includes("komponen") && !kw.includes("komponen"))
218
+ score -= 20;
219
+ if (titleLower.includes("sp2010"))
220
+ score -= 20;
221
+ if (titleLower.includes("sp2020"))
222
+ score += 20;
223
+ if (titleLower.includes("long form"))
224
+ score += 15;
225
+ }
226
+ if (kw.includes("miskin") || kw.includes("kemiskinan")) {
227
+ if (kw.includes("garis")) {
228
+ if (titleLower.includes("garis kemiskinan"))
229
+ score += 60;
230
+ if (titleLower.includes("persentase") || titleLower.includes("jumlah penduduk miskin"))
231
+ score -= 20;
232
+ }
233
+ else if (kw.includes("jumlah")) {
234
+ if (titleLower.includes("jumlah"))
235
+ score += 40;
236
+ if (titleLower.includes("persentase"))
237
+ score -= 10;
238
+ if (titleLower.includes("garis kemiskinan"))
239
+ score -= 30;
240
+ }
241
+ else {
242
+ if (titleLower.includes("persentase"))
243
+ score += 40;
244
+ else if (titleLower.includes("jumlah penduduk miskin"))
245
+ score += 15;
246
+ if (titleLower.includes("garis kemiskinan"))
247
+ score -= 30;
248
+ }
249
+ if ((titleLower.includes("indeks kedalaman") || titleLower.includes("indeks keparahan")) &&
250
+ !kw.includes("indeks")) {
251
+ score -= 20;
252
+ }
253
+ }
254
+ if (kw.includes("agama") || kw.includes("religi")) {
255
+ if (titleLower.includes("agama"))
256
+ score += 40;
257
+ if (titleLower.includes("kepercayaan"))
258
+ score += 10;
259
+ }
260
+ return score;
261
+ }
262
+ function dedupe(values) {
263
+ return [...new Set(values)];
264
+ }
265
+ async function loadSubjects(client, domain) {
266
+ const maybeAll = client.listAllSubjects;
267
+ try {
268
+ if (typeof maybeAll === "function") {
269
+ return await maybeAll.call(client, domain);
270
+ }
271
+ const result = await client.listSubjects(domain);
272
+ return result.data ?? [];
273
+ }
274
+ catch (error) {
275
+ if (error instanceof BpsNotFoundError)
276
+ return [];
277
+ throw error;
278
+ }
279
+ }
280
+ /**
281
+ * Search variables across the subjects that are likely relevant to a query.
282
+ * Returns candidates sorted by relevance (best first).
283
+ */
284
+ export async function searchVariables(client, domain, query, options = {}) {
285
+ const kw = normalizeKeyword(query);
286
+ if (!kw)
287
+ return [];
288
+ const maxSubjects = options.maxSubjects ?? 6;
289
+ const maxPagesPerSubject = options.maxPagesPerSubject ?? 6;
290
+ const maxCandidates = options.maxCandidates ?? 20;
291
+ const mappedSubjectIds = getSubjectIdsForKeyword(kw);
292
+ const subjects = await loadSubjects(client, domain);
293
+ const terms = expandQueryTerms(kw);
294
+ const matchedSubjectIds = subjects
295
+ .filter((subject) => {
296
+ const title = (subject.title ?? "").toLowerCase();
297
+ return terms.some((term) => term.length > 2 && title.includes(term));
298
+ })
299
+ .map((subject) => subject.sub_id);
300
+ const subjectIds = dedupe([...mappedSubjectIds, ...matchedSubjectIds]);
301
+ const candidates = [];
302
+ const seen = new Set();
303
+ const addVariables = (variables) => {
304
+ for (const variable of variables) {
305
+ if (seen.has(variable.var_id))
306
+ continue;
307
+ const score = computeRelevanceScore(kw, variable.title, variable.sub_name, variable.def);
308
+ if (score <= 0)
309
+ continue;
310
+ seen.add(variable.var_id);
311
+ candidates.push({
312
+ var_id: variable.var_id,
313
+ title: variable.title ?? "",
314
+ sub_name: variable.sub_name ?? "",
315
+ unit: variable.unit,
316
+ score,
317
+ });
318
+ }
319
+ };
320
+ const searchSubject = async (searchDomain, subjectId) => {
321
+ const first = await client.listVariables(searchDomain, subjectId, undefined, 1, 100);
322
+ addVariables(first.data ?? []);
323
+ const pages = Math.min(first.page?.pages ?? 1, maxPagesPerSubject);
324
+ for (let page = 2; page <= pages; page++) {
325
+ if (candidates.length >= maxCandidates * 2)
326
+ break;
327
+ const next = await client.listVariables(searchDomain, subjectId, undefined, page, 100);
328
+ if (!next.data || next.data.length === 0)
329
+ break;
330
+ addVariables(next.data);
331
+ }
332
+ };
333
+ for (const subjectId of subjectIds.slice(0, maxSubjects)) {
334
+ if (candidates.length >= maxCandidates * 2)
335
+ break;
336
+ try {
337
+ await searchSubject(domain, subjectId);
338
+ }
339
+ catch (error) {
340
+ // Some domains expose a subject in the list but return
341
+ // "list-not-available" when its variables are requested. Skip it.
342
+ if (error instanceof BpsNotFoundError) {
343
+ logger.debug(`searchVariables: subject ${subjectId} unavailable in domain ${domain}`);
344
+ continue;
345
+ }
346
+ throw error;
347
+ }
348
+ }
349
+ // Fallback: scan all variables when subject mapping found nothing.
350
+ // Never mix national variable IDs into a provincial domain: BPS IDs are
351
+ // domain-specific, and the same ID can point to an unrelated table in another
352
+ // domain (e.g. national var 413 = IPM, but domain 3500 var 413 = perikanan).
353
+ if (candidates.length === 0) {
354
+ for (let page = 1; page <= 2; page++) {
355
+ try {
356
+ const result = await client.listVariables(domain, undefined, undefined, page, 100);
357
+ if (!result.data || result.data.length === 0)
358
+ break;
359
+ addVariables(result.data);
360
+ if (candidates.length >= 5)
361
+ break;
362
+ }
363
+ catch (error) {
364
+ if (error instanceof BpsNotFoundError)
365
+ break;
366
+ throw error;
367
+ }
368
+ }
369
+ }
370
+ candidates.sort((a, b) => b.score - a.score || (a.title?.length ?? 0) - (b.title?.length ?? 0) || a.var_id - b.var_id);
371
+ logger.debug(`searchVariables: "${kw}" domain=${domain} → ${candidates.length} candidates` +
372
+ (candidates[0] ? `, best=${candidates[0].var_id} (${candidates[0].title}, score=${candidates[0].score})` : ""));
373
+ return candidates.slice(0, maxCandidates);
374
+ }
375
+ /**
376
+ * Resolve the best variable for a query: learned mapping → full search.
377
+ * Saves a successful mapping for future calls.
378
+ */
379
+ export async function resolveVariable(client, store, query, domain) {
380
+ const learned = await lookupVar(query, domain, store);
381
+ if (learned)
382
+ return learned;
383
+ const candidates = await searchVariables(client, domain, query);
384
+ const best = candidates[0];
385
+ if (!best)
386
+ return null;
387
+ await learnVar(query, domain, best, store);
388
+ return {
389
+ var_id: best.var_id,
390
+ title: best.title,
391
+ sub_name: best.sub_name,
392
+ unit: best.unit,
393
+ };
394
+ }
395
+ async function listAllPeriodsSafe(client, domain, varId) {
396
+ const maybeAll = client.listAllPeriods;
397
+ if (typeof maybeAll === "function") {
398
+ return maybeAll.call(client, domain, varId);
399
+ }
400
+ return client.listPeriods(domain, varId);
401
+ }
402
+ /**
403
+ * Resolve a variable and require that it has periods for the requested years.
404
+ * BPS often keeps an old series (e.g. IPM 2014–2019) next to a current one;
405
+ * without this check a 2023 query silently returns 2019 data.
406
+ */
407
+ export async function resolveVariableForYears(client, store, query, domain, years, options = {}) {
408
+ const normalizedYears = years.map((year) => year.trim()).filter(Boolean);
409
+ if (normalizedYears.length === 0) {
410
+ const searched = await searchVariables(client, domain, query, {
411
+ maxCandidates: options.maxCandidates ?? 20,
412
+ });
413
+ const learned = options.skipLearned ? null : await lookupVar(query, domain, store);
414
+ const varData = learned ?? searched[0] ?? null;
415
+ if (!varData)
416
+ return null;
417
+ const periods = await listAllPeriodsSafe(client, domain, varData.var_id);
418
+ return { varData, periods, matchedYears: [], candidates: searched };
419
+ }
420
+ const candidates = [];
421
+ const seen = new Set();
422
+ const searched = await searchVariables(client, domain, query, {
423
+ maxCandidates: options.maxCandidates ?? 20,
424
+ });
425
+ for (const candidate of searched) {
426
+ if (seen.has(candidate.var_id))
427
+ continue;
428
+ seen.add(candidate.var_id);
429
+ candidates.push(candidate);
430
+ }
431
+ // National KNOWN_VARS are curated and stable, so trust them first. For
432
+ // provincial domains, search first: local IDs differ and a stale learned ID
433
+ // can point to an unrelated table.
434
+ if (!options.skipLearned) {
435
+ const learned = await lookupVar(query, domain, store);
436
+ if (learned) {
437
+ if (domain === "0000") {
438
+ candidates.unshift(learned);
439
+ seen.add(learned.var_id);
440
+ }
441
+ else if (!seen.has(learned.var_id)) {
442
+ candidates.push(learned);
443
+ seen.add(learned.var_id);
444
+ }
445
+ }
446
+ }
447
+ let best = null;
448
+ let bestMatchCount = -1;
449
+ for (const candidate of candidates.slice(0, 8)) {
450
+ let periods;
451
+ try {
452
+ periods = await listAllPeriodsSafe(client, domain, candidate.var_id);
453
+ }
454
+ catch (error) {
455
+ if (error instanceof BpsNotFoundError)
456
+ continue;
457
+ throw error;
458
+ }
459
+ const labels = periods.map((period) => getPeriodLabel(period));
460
+ const matchedYears = normalizedYears.filter((year) => labels.some((label) => label.includes(year)));
461
+ if (matchedYears.length > bestMatchCount) {
462
+ bestMatchCount = matchedYears.length;
463
+ best = { varData: candidate, periods, matchedYears };
464
+ }
465
+ if (matchedYears.length === normalizedYears.length)
466
+ break;
467
+ }
468
+ if (!best)
469
+ return null;
470
+ // If a stale learned mapping lost to a better candidate, remove it.
471
+ if (!options.skipLearned) {
472
+ const learned = await lookupVar(query, domain, store);
473
+ if (learned && learned.var_id !== best.varData.var_id) {
474
+ await invalidateVar(query, domain, store);
475
+ }
476
+ }
477
+ await learnVar(query, domain, best.varData, store);
478
+ logger.debug(`resolveVariableForYears: "${query}" domain=${domain} years=${normalizedYears.join(",")} → ` +
479
+ `var_id=${best.varData.var_id} (${getVariableTitle(best.varData)}), matched=${best.matchedYears.join(",") || "none"}`);
480
+ return { ...best, candidates: searched };
481
+ }
482
+ //# sourceMappingURL=variable-search.js.map
@@ -0,0 +1 @@
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":"allstats.tools.d.ts","sourceRoot":"","sources":["../../src/tools/allstats.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,8BAA8B,CAAC;AAyFtC,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,cAAc,GAC7B,IAAI,CAuHN"}
1
+ {"version":3,"file":"allstats.tools.d.ts","sourceRoot":"","sources":["../../src/tools/allstats.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,8BAA8B,CAAC;AAiGtC,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,cAAc,GAC7B,IAAI,CAuHN"}
@@ -17,8 +17,10 @@ function formatSearchResults(res) {
17
17
  if (r.description)
18
18
  lines.push(`> ${r.description}`);
19
19
  lines.push("");
20
- lines.push(`- **Tipe:** ${r.contentType}`);
21
- lines.push(`- **Sumber:** ${r.domain}`);
20
+ if (r.contentType)
21
+ lines.push(`- **Tipe:** ${r.contentType}`);
22
+ if (r.domain)
23
+ lines.push(`- **Sumber:** ${r.domain}`);
22
24
  if (r.url)
23
25
  lines.push(`- **URL:** ${r.url}`);
24
26
  if (r.deepSearchId) {
@@ -34,9 +36,17 @@ function formatSearchResults(res) {
34
36
  function formatDeepSearchResults(res) {
35
37
  const lines = [];
36
38
  const pub = res.publication;
39
+ if (res.notice) {
40
+ lines.push(`## Deep Search: "${res.query}"`);
41
+ lines.push("");
42
+ lines.push(`> ${res.notice}`);
43
+ if (pub.publicationUrl)
44
+ lines.push("", `**Publikasi:** ${pub.publicationUrl}`);
45
+ return lines.join("\n");
46
+ }
37
47
  lines.push(`## Deep Search: "${res.query}"`);
38
48
  lines.push("");
39
- lines.push(`### Publikasi: ${pub.title}`);
49
+ lines.push(`### Publikasi: ${pub.title || "(tidak diketahui)"}`);
40
50
  if (pub.publisher)
41
51
  lines.push(`**Penerbit:** ${pub.publisher}`);
42
52
  if (pub.publicationUrl)
@@ -1 +1 @@
1
- {"version":3,"file":"allstats.tools.js","sourceRoot":"","sources":["../../src/tools/allstats.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAO3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,mCAAmC;AAEnC,SAAS,mBAAmB,CAAC,GAA2B;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,8BAA8B,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,eAAe,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,UAAU,GAAG,CACjH,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CACR,2BAA2B,CAAC,CAAC,YAAY,4EAA4E,CACtH,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,iBAAiB,GAAG,CAAC,WAAW,SAAS,GAAG,CAAC,UAAU,iEAAiE,CACzH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,uBAAuB,CAAC,GAA+B;IAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;IAE5B,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAChE,IAAI,GAAG,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,eAAe,GAAG,CAAC,YAAY,mCAAmC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,UAAU,GAAG,CACvG,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,iBAAiB,GAAG,CAAC,WAAW,SAAS,GAAG,CAAC,UAAU,iEAAiE,CACzH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,0CAA0C;AAE1C,MAAM,UAAU,qBAAqB,CACnC,MAAiB,EACjB,cAA8B;IAE9B,wCAAwC;IACxC,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,gWAAgW,EAChW;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAClD,OAAO,EAAE,CAAC;aACP,IAAI,CAAC;YACJ,KAAK;YACL,aAAa;YACb,OAAO;YACP,cAAc;YACd,aAAa;YACb,WAAW;YACX,MAAM;YACN,WAAW;YACX,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;SACX,CAAC;aACD,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,6HAA6H,CAC9H;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,OAAO,CAAC,MAAM,CAAC;aACf,QAAQ,CACP,sGAAsG,CACvG;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,sCAAsC,CAAC;QACnD,UAAU,EAAE,CAAC;aACV,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,oDAAoD,CAAC;QACjE,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,oDAAoD,CAAC;QACjE,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,qDAAqD,CAAC;QAClE,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aAC9B,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,CAAC,yDAAyD,CAAC;KACvE,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC;gBACzC,KAAK;gBACL,OAAO;gBACP,MAAM;gBACN,IAAI;gBACJ,SAAS,EAAE,UAAU;gBACrB,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,OAAO;gBACf,IAAI;aACL,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GACX,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE;gBACxD,CAAC,CAAC,mDAAmD,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6CAA6C;IAC7C,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,sPAAsP,EACtP;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QACxE,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,KAAK,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;aACvD,QAAQ,CACP,+GAA+G,CAChH;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,OAAO,CAAC,MAAM,CAAC;aACf,QAAQ,CAAC,kBAAkB,CAAC;QAC/B,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,mCAAmC,CAAC;KACjD,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC;gBAC7C,KAAK;gBACL,aAAa,EAAE,cAAc;gBAC7B,MAAM;gBACN,IAAI;aACL,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GACX,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,yCAAyC,KAAK,CAAC,OAAO,EAAE;gBAC1D,CAAC,CAAC,wDAAwD,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"allstats.tools.js","sourceRoot":"","sources":["../../src/tools/allstats.tools.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;AAIxE;;;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,CAubN"}
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;AAyBxE;;;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,CAsZN"}