bps-mcp-server 0.16.4 → 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.
- package/README.md +13 -5
- package/dist/client/bps-client.d.ts +10 -1
- package/dist/client/bps-client.d.ts.map +1 -1
- package/dist/client/bps-client.js +66 -13
- package/dist/client/bps-client.js.map +1 -1
- package/dist/client/request-scheduler.d.ts +29 -0
- package/dist/client/request-scheduler.d.ts.map +1 -0
- package/dist/client/request-scheduler.js +75 -0
- package/dist/client/request-scheduler.js.map +1 -0
- package/dist/config/kabkota-indicators.d.ts +30 -0
- package/dist/config/kabkota-indicators.d.ts.map +1 -0
- package/dist/config/kabkota-indicators.js +49 -0
- package/dist/config/kabkota-indicators.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +34 -0
- package/dist/server.js.map +1 -1
- package/dist/services/data-formatter.d.ts +28 -0
- package/dist/services/data-formatter.d.ts.map +1 -1
- package/dist/services/data-formatter.js +74 -0
- package/dist/services/data-formatter.js.map +1 -1
- package/dist/services/intent-detector.d.ts.map +1 -1
- package/dist/services/intent-detector.js +1 -0
- package/dist/services/intent-detector.js.map +1 -1
- package/dist/services/kabkota-ranking.d.ts +61 -0
- package/dist/services/kabkota-ranking.d.ts.map +1 -0
- package/dist/services/kabkota-ranking.js +378 -0
- package/dist/services/kabkota-ranking.js.map +1 -0
- package/dist/services/period-resolver.d.ts +29 -0
- package/dist/services/period-resolver.d.ts.map +1 -0
- package/dist/services/period-resolver.js +132 -0
- package/dist/services/period-resolver.js.map +1 -0
- package/dist/services/region-series.d.ts +65 -0
- package/dist/services/region-series.d.ts.map +1 -0
- package/dist/services/region-series.js +396 -0
- package/dist/services/region-series.js.map +1 -0
- package/dist/services/variable-search.d.ts.map +1 -1
- package/dist/services/variable-search.js +2 -1
- package/dist/services/variable-search.js.map +1 -1
- package/dist/tools/analysis.tools.d.ts.map +1 -1
- package/dist/tools/analysis.tools.js +370 -285
- package/dist/tools/analysis.tools.js.map +1 -1
- package/dist/tools/dynamic-data.tools.d.ts.map +1 -1
- package/dist/tools/dynamic-data.tools.js +145 -32
- package/dist/tools/dynamic-data.tools.js.map +1 -1
- package/dist/tools/search.tools.d.ts.map +1 -1
- package/dist/tools/search.tools.js +14 -2
- package/dist/tools/search.tools.js.map +1 -1
- package/dist/tools/smart.tools.d.ts.map +1 -1
- package/dist/tools/smart.tools.js +49 -11
- package/dist/tools/smart.tools.js.map +1 -1
- package/dist/utils/error.d.ts +11 -1
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js +50 -2
- package/dist/utils/error.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -179,9 +179,9 @@ File `~/.cursor/mcp.json` atau `.vscode/mcp.json`:
|
|
|
179
179
|
| `find_variable` | Cari variabel data berdasarkan kata kunci |
|
|
180
180
|
| `compare_data` | Bandingkan data antar wilayah (2+ wilayah sekaligus dalam 1 panggilan) |
|
|
181
181
|
| `get_trend` | Ambil data time-series/tren multi-tahun dalam 1 panggilan |
|
|
182
|
-
| `get_ranking` | Ranking
|
|
182
|
+
| `get_ranking` | Ranking provinsi **atau kabupaten/kota** berdasarkan indikator (top-N, satu panggilan) |
|
|
183
183
|
|
|
184
|
-
> **Untuk AI:** Gunakan `find_data` untuk data 1 wilayah, `compare_data` untuk perbandingan, `get_trend` untuk tren, `get_ranking` untuk peringkat. Jika hasilnya kurang spesifik, gunakan `find_variable` lalu `get_dynamic_data`.
|
|
184
|
+
> **Untuk AI:** Gunakan `find_data` untuk data 1 wilayah, `compare_data` untuk perbandingan, `get_trend` untuk tren, `get_ranking` untuk peringkat. Untuk peringkat kabupaten/kota pakai `get_ranking(level="kabkota")` — server menyapu tabel tiap provinsi sekaligus dan menyeragamkan tahun (BPS tidak punya tabel kab/kota nasional). Parameter `level` wajib diisi: `provinsi` atau `kabkota`. Jika hasilnya kurang spesifik, gunakan `find_variable` lalu `get_dynamic_data`.
|
|
185
185
|
|
|
186
186
|
### WebAPI Tools (32)
|
|
187
187
|
|
|
@@ -192,12 +192,12 @@ File `~/.cursor/mcp.json` atau `.vscode/mcp.json`:
|
|
|
192
192
|
| `list_subjects` | Daftar subjek data statistik |
|
|
193
193
|
| `list_subject_categories` | Kategori subjek |
|
|
194
194
|
| `list_variables` | Daftar variabel tabel dinamis |
|
|
195
|
-
| `list_vertical_variables` | Variabel vertikal (disagregasi) |
|
|
195
|
+
| `list_vertical_variables` | Variabel vertikal (disagregasi) — semua halaman digabung, tidak terpotong 10 baris |
|
|
196
196
|
| `list_derived_variables` | Turunan variabel |
|
|
197
197
|
| `list_periods` | Periode data tersedia |
|
|
198
198
|
| `list_derived_periods` | Turunan periode |
|
|
199
199
|
| `list_units` | Satuan data |
|
|
200
|
-
| `get_dynamic_data` | **Core** — Ambil data tabel dinamis (butuh var_id) |
|
|
200
|
+
| `get_dynamic_data` | **Core** — Ambil data tabel dinamis (butuh var_id); `format="json"` mengembalikan baris terstruktur |
|
|
201
201
|
| `list_static_tables` | Daftar tabel statis |
|
|
202
202
|
| `get_static_table` | Detail tabel statis (HTML) |
|
|
203
203
|
| `list_press_releases` | Daftar Berita Resmi Statistik (BRS) |
|
|
@@ -258,7 +258,15 @@ User: "Tren pengangguran Indonesia 2019-2024"
|
|
|
258
258
|
AI menggunakan: get_trend(query="pengangguran", region="Indonesia", start_year="2019", end_year="2024")
|
|
259
259
|
|
|
260
260
|
User: "10 provinsi termiskin"
|
|
261
|
-
AI menggunakan: get_ranking(query="kemiskinan", top_n=10, order="highest")
|
|
261
|
+
AI menggunakan: get_ranking(query="kemiskinan", top_n=10, order="highest", level="provinsi")
|
|
262
|
+
|
|
263
|
+
User: "10 kabupaten/kota dengan pengangguran tertinggi"
|
|
264
|
+
AI menggunakan: get_ranking(query="pengangguran", top_n=10, order="highest", level="kabkota")
|
|
265
|
+
→ Server menyapu tabel TPT kab/kota di seluruh provinsi (1 panggilan)
|
|
266
|
+
→ Default period_mode="common": semua angka diseragamkan ke tahun bersama terbaru
|
|
267
|
+
(mis. 2025) agar sebanding; year="2024" untuk tahun lain, period_mode="latest"
|
|
268
|
+
untuk periode terbaru tiap provinsi
|
|
269
|
+
→ Melaporkan provinsi yang tidak punya rincian kab/kota dan periode tiap baris
|
|
262
270
|
|
|
263
271
|
User: "Statistik pemeluk agama di Kab Jombang"
|
|
264
272
|
AI menggunakan: find_data(query="pemeluk agama", region="Kab Jombang")
|
|
@@ -2,15 +2,17 @@ import type { IAuthProvider } from "../auth/types.js";
|
|
|
2
2
|
import type { ICacheProvider } from "../services/cache.js";
|
|
3
3
|
import type { Config } from "../config/index.js";
|
|
4
4
|
import type { BpsDomain, BpsSubject, BpsSubjectCategory, BpsVariable, BpsVerticalVariable, BpsDerivedVariable, BpsPeriod, BpsDerivedPeriod, BpsUnit, BpsDynamicDataResponse, BpsStaticTable, BpsStaticTableDetail, BpsPressRelease, BpsPublication, BpsStrategicIndicator, BpsInfographic, BpsInfographicDetail, BpsNews, BpsNewsDetail, BpsGlossaryTerm, BpsCsaSubjectCategory, BpsCsaSubject, BpsCsaTable, BpsCsaTableDetail, BpsCensusEvent, BpsCensusTopic, PageInfo } from "./types.js";
|
|
5
|
+
import { type RequestScheduler } from "./request-scheduler.js";
|
|
5
6
|
export declare class BpsClient {
|
|
6
7
|
private readonly auth;
|
|
7
8
|
private readonly cache;
|
|
9
|
+
private readonly scheduler;
|
|
8
10
|
private readonly baseUrl;
|
|
9
11
|
private readonly defaultLang;
|
|
10
12
|
private readonly defaultDomain;
|
|
11
13
|
/** In-flight request deduplication map: cacheKey → pending Promise */
|
|
12
14
|
private readonly inflight;
|
|
13
|
-
constructor(auth: IAuthProvider, cache: ICacheProvider | null, config: Config);
|
|
15
|
+
constructor(auth: IAuthProvider, cache: ICacheProvider | null, config: Config, scheduler?: RequestScheduler);
|
|
14
16
|
private fetchJson;
|
|
15
17
|
private fetchWithRetry;
|
|
16
18
|
private doFetch;
|
|
@@ -45,6 +47,13 @@ export declare class BpsClient {
|
|
|
45
47
|
/** Fetch up to `maxPages` variable pages for one subject (API caps at 10/page). */
|
|
46
48
|
listAllVariables(domain?: string, subject?: number, year?: number, maxPages?: number): Promise<BpsVariable[]>;
|
|
47
49
|
listVerticalVariables(domain?: string, varId?: number): Promise<BpsVerticalVariable[]>;
|
|
50
|
+
/**
|
|
51
|
+
* Fetch every vertical-variable page. The API returns 10 rows per page, so a
|
|
52
|
+
* single call silently hides most kabupaten/kota categories (Sulawesi
|
|
53
|
+
* Selatan has 24, for example).
|
|
54
|
+
*/
|
|
55
|
+
listAllVerticalVariables(domain?: string, varId?: number, maxPages?: number): Promise<BpsVerticalVariable[]>;
|
|
56
|
+
listAllDerivedVariables(domain?: string, varId?: number, maxPages?: number): Promise<BpsDerivedVariable[]>;
|
|
48
57
|
listDerivedVariables(domain?: string, varId?: number): Promise<BpsDerivedVariable[]>;
|
|
49
58
|
listPeriods(domain?: string, varId?: number, page?: number): Promise<BpsPeriod[]>;
|
|
50
59
|
/** Fetch every period page (important for long historical ranges). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bps-client.d.ts","sourceRoot":"","sources":["../../src/client/bps-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAUjD,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,QAAQ,EACT,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"bps-client.d.ts","sourceRoot":"","sources":["../../src/client/bps-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { buildListUrl, buildViewUrl, buildDomainUrl, buildTradeUrl, buildInteropUrl, normalizePathParam, MODELS, } from "./endpoints.js";
|
|
2
2
|
import { BpsApiError, BpsAuthError, BpsNotFoundError } from "../utils/error.js";
|
|
3
3
|
import { logger } from "../utils/logger.js";
|
|
4
|
-
import { getPeriodId, getVariableId } from "./fields.js";
|
|
4
|
+
import { getPeriodId, getVariableId, getVervarId } from "./fields.js";
|
|
5
|
+
import { defaultScheduler } from "./request-scheduler.js";
|
|
5
6
|
/** Browser-like User-Agent to avoid BPS Perimeter WAF signature blocks */
|
|
6
7
|
const USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36";
|
|
7
8
|
/** Default fetch timeout in milliseconds */
|
|
8
9
|
const FETCH_TIMEOUT_MS = 30_000;
|
|
9
10
|
/** Maximum retry attempts for transient errors */
|
|
10
11
|
const MAX_RETRIES = 3;
|
|
12
|
+
/** Rate limiting deserves more patience than a transient server error. */
|
|
13
|
+
const MAX_RATE_LIMIT_RETRIES = 5;
|
|
11
14
|
/** Base delay for exponential backoff in milliseconds */
|
|
12
15
|
const RETRY_BASE_DELAY_MS = 500;
|
|
13
16
|
/** BPS rejects requests with more than 3 periods in one call. */
|
|
@@ -50,6 +53,14 @@ function extractApiError(body) {
|
|
|
50
53
|
const text = body.replace(/<[^>]+>/g, " ").replace(/\s+/g, " ").trim();
|
|
51
54
|
return text ? text.slice(0, 300) : undefined;
|
|
52
55
|
}
|
|
56
|
+
/** Read the Retry-After header (seconds) from a response, if present. */
|
|
57
|
+
function readRetryAfter(res) {
|
|
58
|
+
const header = typeof res.headers?.get === "function" ? res.headers.get("retry-after") : null;
|
|
59
|
+
if (!header)
|
|
60
|
+
return undefined;
|
|
61
|
+
const seconds = Number(header);
|
|
62
|
+
return Number.isFinite(seconds) && seconds > 0 ? seconds : undefined;
|
|
63
|
+
}
|
|
53
64
|
function dedupeBy(items, keyOf) {
|
|
54
65
|
const seen = new Set();
|
|
55
66
|
const result = [];
|
|
@@ -99,14 +110,16 @@ function mergeDynamicData(target, source) {
|
|
|
99
110
|
export class BpsClient {
|
|
100
111
|
auth;
|
|
101
112
|
cache;
|
|
113
|
+
scheduler;
|
|
102
114
|
baseUrl;
|
|
103
115
|
defaultLang;
|
|
104
116
|
defaultDomain;
|
|
105
117
|
/** In-flight request deduplication map: cacheKey → pending Promise */
|
|
106
118
|
inflight = new Map();
|
|
107
|
-
constructor(auth, cache, config) {
|
|
119
|
+
constructor(auth, cache, config, scheduler = defaultScheduler) {
|
|
108
120
|
this.auth = auth;
|
|
109
121
|
this.cache = cache;
|
|
122
|
+
this.scheduler = scheduler;
|
|
110
123
|
this.baseUrl = config.apiBaseUrl;
|
|
111
124
|
this.defaultLang = config.defaultLang;
|
|
112
125
|
this.defaultDomain = config.defaultDomain;
|
|
@@ -132,7 +145,8 @@ export class BpsClient {
|
|
|
132
145
|
logger.debug(`Dedup hit: ${cacheKey}`);
|
|
133
146
|
return existing;
|
|
134
147
|
}
|
|
135
|
-
|
|
148
|
+
// The scheduler keeps agents from hammering BPS into a 429 storm.
|
|
149
|
+
const promise = this.scheduler.run(() => this.fetchWithRetry(url, cacheKey, ttl));
|
|
136
150
|
this.inflight.set(cacheKey, promise);
|
|
137
151
|
try {
|
|
138
152
|
return await promise;
|
|
@@ -142,27 +156,33 @@ export class BpsClient {
|
|
|
142
156
|
}
|
|
143
157
|
}
|
|
144
158
|
async fetchWithRetry(url, cacheKey, ttl) {
|
|
145
|
-
let
|
|
146
|
-
for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
|
|
159
|
+
for (let attempt = 0;; attempt++) {
|
|
147
160
|
try {
|
|
148
161
|
return await this.doFetch(url, cacheKey, ttl);
|
|
149
162
|
}
|
|
150
163
|
catch (error) {
|
|
151
|
-
|
|
152
|
-
//
|
|
164
|
+
// Retry transient server errors, and be extra patient with BPS rate
|
|
165
|
+
// limiting (429) since it can last several seconds.
|
|
153
166
|
const status = error instanceof BpsApiError ? error.statusCode : undefined;
|
|
154
|
-
const
|
|
155
|
-
|
|
167
|
+
const isRateLimited = status === 429;
|
|
168
|
+
const isRetryable = isRateLimited || (status !== undefined && (status >= 500 || status === 408));
|
|
169
|
+
const maxAttempts = isRateLimited ? MAX_RATE_LIMIT_RETRIES : MAX_RETRIES;
|
|
170
|
+
if (!isRetryable || attempt >= maxAttempts - 1) {
|
|
156
171
|
throw error;
|
|
157
172
|
}
|
|
158
|
-
|
|
173
|
+
// Prefer the server's Retry-After hint over blind exponential backoff,
|
|
174
|
+
// but cap it: a 60s BPS stall would block the whole tool call.
|
|
175
|
+
const retryAfterMs = error instanceof BpsApiError && error.retryAfterSeconds
|
|
176
|
+
? Math.min(error.retryAfterSeconds, 10) * 1000
|
|
177
|
+
: 0;
|
|
178
|
+
const backoff = isRateLimited
|
|
159
179
|
? 2_000 * Math.pow(2, attempt)
|
|
160
180
|
: RETRY_BASE_DELAY_MS * Math.pow(2, attempt);
|
|
161
|
-
|
|
181
|
+
const delay = Math.max(retryAfterMs, backoff);
|
|
182
|
+
logger.warn(`Retrying (${attempt + 1}/${maxAttempts}) after ${delay}ms: ${url}`);
|
|
162
183
|
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
163
184
|
}
|
|
164
185
|
}
|
|
165
|
-
throw lastError;
|
|
166
186
|
}
|
|
167
187
|
async doFetch(url, cacheKey, ttl) {
|
|
168
188
|
logger.debug(`Fetching: ${url}`);
|
|
@@ -252,7 +272,7 @@ export class BpsClient {
|
|
|
252
272
|
}
|
|
253
273
|
if (!res.ok) {
|
|
254
274
|
const detail = extractApiError(await readResponseText(res));
|
|
255
|
-
throw new BpsApiError(detail ?? `HTTP ${res.status} ${res.statusText}`, res.status, url);
|
|
275
|
+
throw new BpsApiError(detail ?? `HTTP ${res.status} ${res.statusText}`, res.status, url, readRetryAfter(res));
|
|
256
276
|
}
|
|
257
277
|
let json;
|
|
258
278
|
try {
|
|
@@ -408,6 +428,39 @@ export class BpsClient {
|
|
|
408
428
|
const res = await this.listRequest(MODELS.VERTICAL_VARIABLE, { domain, var: varId }, 12 * 60 * 60);
|
|
409
429
|
return this.extractPaginated(res).data;
|
|
410
430
|
}
|
|
431
|
+
/**
|
|
432
|
+
* Fetch every vertical-variable page. The API returns 10 rows per page, so a
|
|
433
|
+
* single call silently hides most kabupaten/kota categories (Sulawesi
|
|
434
|
+
* Selatan has 24, for example).
|
|
435
|
+
*/
|
|
436
|
+
async listAllVerticalVariables(domain, varId, maxPages = 20) {
|
|
437
|
+
const first = await this.listRequest(MODELS.VERTICAL_VARIABLE, { domain, var: varId, page: 1 }, 12 * 60 * 60);
|
|
438
|
+
const firstPage = this.extractPaginated(first);
|
|
439
|
+
const all = [...firstPage.data];
|
|
440
|
+
const pages = Math.min(firstPage.page?.pages ?? 1, maxPages);
|
|
441
|
+
for (let page = 2; page <= pages; page++) {
|
|
442
|
+
const res = await this.listRequest(MODELS.VERTICAL_VARIABLE, { domain, var: varId, page }, 12 * 60 * 60);
|
|
443
|
+
const next = this.extractPaginated(res).data;
|
|
444
|
+
if (next.length === 0)
|
|
445
|
+
break;
|
|
446
|
+
all.push(...next);
|
|
447
|
+
}
|
|
448
|
+
return dedupeBy(all, (v) => String(getVervarId(v)));
|
|
449
|
+
}
|
|
450
|
+
async listAllDerivedVariables(domain, varId, maxPages = 10) {
|
|
451
|
+
const first = await this.listRequest(MODELS.DERIVED_VARIABLE, { domain, var: varId, page: 1 }, 12 * 60 * 60);
|
|
452
|
+
const firstPage = this.extractPaginated(first);
|
|
453
|
+
const all = [...firstPage.data];
|
|
454
|
+
const pages = Math.min(firstPage.page?.pages ?? 1, maxPages);
|
|
455
|
+
for (let page = 2; page <= pages; page++) {
|
|
456
|
+
const res = await this.listRequest(MODELS.DERIVED_VARIABLE, { domain, var: varId, page }, 12 * 60 * 60);
|
|
457
|
+
const next = this.extractPaginated(res).data;
|
|
458
|
+
if (next.length === 0)
|
|
459
|
+
break;
|
|
460
|
+
all.push(...next);
|
|
461
|
+
}
|
|
462
|
+
return dedupeBy(all, (v) => String(v.kode_turvar ?? v.kode_tur_id ?? v.val ?? ""));
|
|
463
|
+
}
|
|
411
464
|
async listDerivedVariables(domain, varId) {
|
|
412
465
|
const res = await this.listRequest(MODELS.DERIVED_VARIABLE, { domain, var: varId }, 12 * 60 * 60);
|
|
413
466
|
return this.extractPaginated(res).data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bps-client.js","sourceRoot":"","sources":["../../src/client/bps-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bps-client.js","sourceRoot":"","sources":["../../src/client/bps-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global request scheduler.
|
|
3
|
+
*
|
|
4
|
+
* BPS WebAPI rate-limits aggressively: a burst of parallel requests (an LLM
|
|
5
|
+
* happily fires 30 at once) immediately returns HTTP 429 and every subsequent
|
|
6
|
+
* call fails for a while. Agents cannot be trusted to self-throttle, so the
|
|
7
|
+
* throttle lives in the client.
|
|
8
|
+
*
|
|
9
|
+
* Requests are queued, run at most `maxConcurrent` at a time, and spaced by
|
|
10
|
+
* `minGapMs` to keep the requests-per-second rate low.
|
|
11
|
+
*/
|
|
12
|
+
export declare class RequestScheduler {
|
|
13
|
+
private readonly maxConcurrent;
|
|
14
|
+
private readonly minGapMs;
|
|
15
|
+
private active;
|
|
16
|
+
/** Earliest timestamp at which the next request may start. */
|
|
17
|
+
private nextSlotAt;
|
|
18
|
+
private readonly queue;
|
|
19
|
+
constructor(maxConcurrent?: number, minGapMs?: number);
|
|
20
|
+
run<T>(task: () => Promise<T>): Promise<T>;
|
|
21
|
+
/** Current number of queued tasks (useful for diagnostics/tests). */
|
|
22
|
+
get pending(): number;
|
|
23
|
+
get running(): number;
|
|
24
|
+
private acquire;
|
|
25
|
+
private release;
|
|
26
|
+
}
|
|
27
|
+
/** Shared scheduler instance used by every BpsClient request. */
|
|
28
|
+
export declare const defaultScheduler: RequestScheduler;
|
|
29
|
+
//# sourceMappingURL=request-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-scheduler.d.ts","sourceRoot":"","sources":["../../src/client/request-scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,OAAO,CAAC,MAAM,CAAK;IACnB,8DAA8D;IAC9D,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;gBAG5B,aAAa,GAAE,MAAU,EACzB,QAAQ,GAAE,MAAW;IAGlC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAShD,qEAAqE;IACrE,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;YAEa,OAAO;IAoBrB,OAAO,CAAC,OAAO;CAKhB;AAED,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,kBAG5B,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global request scheduler.
|
|
3
|
+
*
|
|
4
|
+
* BPS WebAPI rate-limits aggressively: a burst of parallel requests (an LLM
|
|
5
|
+
* happily fires 30 at once) immediately returns HTTP 429 and every subsequent
|
|
6
|
+
* call fails for a while. Agents cannot be trusted to self-throttle, so the
|
|
7
|
+
* throttle lives in the client.
|
|
8
|
+
*
|
|
9
|
+
* Requests are queued, run at most `maxConcurrent` at a time, and spaced by
|
|
10
|
+
* `minGapMs` to keep the requests-per-second rate low.
|
|
11
|
+
*/
|
|
12
|
+
export class RequestScheduler {
|
|
13
|
+
maxConcurrent;
|
|
14
|
+
minGapMs;
|
|
15
|
+
active = 0;
|
|
16
|
+
/** Earliest timestamp at which the next request may start. */
|
|
17
|
+
nextSlotAt = 0;
|
|
18
|
+
queue = [];
|
|
19
|
+
constructor(maxConcurrent = 4, minGapMs = 40) {
|
|
20
|
+
this.maxConcurrent = maxConcurrent;
|
|
21
|
+
this.minGapMs = minGapMs;
|
|
22
|
+
}
|
|
23
|
+
async run(task) {
|
|
24
|
+
await this.acquire();
|
|
25
|
+
try {
|
|
26
|
+
return await task();
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
this.release();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** Current number of queued tasks (useful for diagnostics/tests). */
|
|
33
|
+
get pending() {
|
|
34
|
+
return this.queue.length;
|
|
35
|
+
}
|
|
36
|
+
get running() {
|
|
37
|
+
return this.active;
|
|
38
|
+
}
|
|
39
|
+
async acquire() {
|
|
40
|
+
if (this.active >= this.maxConcurrent) {
|
|
41
|
+
await new Promise((resolve) => this.queue.push(resolve));
|
|
42
|
+
}
|
|
43
|
+
this.active += 1;
|
|
44
|
+
if (this.minGapMs > 0) {
|
|
45
|
+
// Reserve a slot atomically so parallel acquisitions are spaced too,
|
|
46
|
+
// not just queued: otherwise N tasks that grab a free slot at the same
|
|
47
|
+
// moment all fire at once.
|
|
48
|
+
const now = Date.now();
|
|
49
|
+
const startAt = Math.max(now, this.nextSlotAt);
|
|
50
|
+
this.nextSlotAt = startAt + this.minGapMs;
|
|
51
|
+
const wait = startAt - now;
|
|
52
|
+
if (wait > 0) {
|
|
53
|
+
await new Promise((resolve) => setTimeout(resolve, wait));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
release() {
|
|
58
|
+
this.active -= 1;
|
|
59
|
+
const next = this.queue.shift();
|
|
60
|
+
if (next)
|
|
61
|
+
next();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** Shared scheduler instance used by every BpsClient request. */
|
|
65
|
+
export const defaultScheduler = new RequestScheduler(readPositiveInt(readEnv("BPS_MAX_CONCURRENCY"), 3), readPositiveInt(readEnv("BPS_MIN_REQUEST_GAP_MS"), 250));
|
|
66
|
+
/** Read an env var without assuming `process` exists (Cloudflare Workers). */
|
|
67
|
+
function readEnv(name) {
|
|
68
|
+
const env = globalThis.process?.env;
|
|
69
|
+
return env?.[name];
|
|
70
|
+
}
|
|
71
|
+
function readPositiveInt(value, fallback) {
|
|
72
|
+
const parsed = Number(value);
|
|
73
|
+
return Number.isFinite(parsed) && parsed > 0 ? Math.floor(parsed) : fallback;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=request-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-scheduler.js","sourceRoot":"","sources":["../../src/client/request-scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,gBAAgB;IAOR;IACA;IAPX,MAAM,GAAG,CAAC,CAAC;IACnB,8DAA8D;IACtD,UAAU,GAAG,CAAC,CAAC;IACN,KAAK,GAAsB,EAAE,CAAC;IAE/C,YACmB,gBAAwB,CAAC,EACzB,WAAmB,EAAE;QADrB,kBAAa,GAAb,aAAa,CAAY;QACzB,aAAQ,GAAR,QAAQ,CAAa;IACrC,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAI,IAAsB;QACjC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAEjB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACtB,qEAAqE;YACrE,uEAAuE;YACvE,2BAA2B;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC1C,MAAM,IAAI,GAAG,OAAO,GAAG,GAAG,CAAC;YAC3B,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACb,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI;YAAE,IAAI,EAAE,CAAC;IACnB,CAAC;CACF;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAClD,eAAe,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAClD,eAAe,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,GAAG,CAAC,CACxD,CAAC;AAEF,8EAA8E;AAC9E,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,GAAG,GAAI,UAAyE,CAAC,OAAO,EAAE,GAAG,CAAC;IACpG,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB,EAAE,QAAgB;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crosswalk for indicators that BPS publishes **per kabupaten/kota**, but only
|
|
3
|
+
* inside each provincial domain (there is no national kab/kota table).
|
|
4
|
+
*
|
|
5
|
+
* Without this map a client has to sweep 34 provincial domains, guess a
|
|
6
|
+
* variable name in each one, and still get the wrong table half the time.
|
|
7
|
+
* The var_ids below were verified against BPS WebAPI; when BPS revises a
|
|
8
|
+
* table the sweep falls back to keyword discovery (`searchVariables`).
|
|
9
|
+
*
|
|
10
|
+
* Add new indicators here as they are verified — one entry replaces dozens of
|
|
11
|
+
* discovery calls.
|
|
12
|
+
*/
|
|
13
|
+
export interface KabkotaIndicatorHint {
|
|
14
|
+
/** Stable identifier used in logs/tests. */
|
|
15
|
+
id: string;
|
|
16
|
+
/** Human label for the indicator. */
|
|
17
|
+
label: string;
|
|
18
|
+
/** Query pattern that should use this crosswalk. */
|
|
19
|
+
pattern: RegExp;
|
|
20
|
+
/** Province domain → var_id of the kabupaten/kota table. */
|
|
21
|
+
variables: Record<string, string>;
|
|
22
|
+
/**
|
|
23
|
+
* Province domains that publish the indicator only as province totals
|
|
24
|
+
* (no kab/kota breakdown in WebAPI). They are reported as "not covered".
|
|
25
|
+
*/
|
|
26
|
+
unavailable: Record<string, string>;
|
|
27
|
+
}
|
|
28
|
+
export declare const KABKOTA_INDICATORS: KabkotaIndicatorHint[];
|
|
29
|
+
export declare function findKabkotaIndicator(query: string): KabkotaIndicatorHint | null;
|
|
30
|
+
//# sourceMappingURL=kabkota-indicators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kabkota-indicators.d.ts","sourceRoot":"","sources":["../../src/config/kabkota-indicators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,kBAAkB,EAAE,oBAAoB,EA4CpD,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAE/E"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export const KABKOTA_INDICATORS = [
|
|
2
|
+
{
|
|
3
|
+
id: "tpt",
|
|
4
|
+
label: "Tingkat Pengangguran Terbuka (TPT) menurut Kabupaten/Kota",
|
|
5
|
+
pattern: /\b(tpt|pengangguran|penganggur|unemployment)\b/i,
|
|
6
|
+
variables: {
|
|
7
|
+
"1100": "206",
|
|
8
|
+
"1200": "44",
|
|
9
|
+
"1300": "139",
|
|
10
|
+
"1400": "42",
|
|
11
|
+
"1500": "844",
|
|
12
|
+
"1800": "47",
|
|
13
|
+
"1900": "95",
|
|
14
|
+
"2100": "224",
|
|
15
|
+
"3200": "73",
|
|
16
|
+
"3300": "64",
|
|
17
|
+
"3500": "54",
|
|
18
|
+
"3600": "157",
|
|
19
|
+
"6100": "51",
|
|
20
|
+
"6200": "389",
|
|
21
|
+
"6300": "37",
|
|
22
|
+
"6400": "59",
|
|
23
|
+
"6500": "115",
|
|
24
|
+
"7200": "92",
|
|
25
|
+
"7300": "466",
|
|
26
|
+
"7400": "395",
|
|
27
|
+
"7500": "184",
|
|
28
|
+
"7600": "520",
|
|
29
|
+
"8100": "108",
|
|
30
|
+
"8200": "250",
|
|
31
|
+
"9100": "270",
|
|
32
|
+
},
|
|
33
|
+
unavailable: {
|
|
34
|
+
"1600": "Hanya tersedia angka provinsi (TPT Sumatera Selatan)",
|
|
35
|
+
"1700": "Hanya tersedia angka provinsi + tabel statis 2022",
|
|
36
|
+
"3100": "DKI Jakarta hanya satu level kota administrasi",
|
|
37
|
+
"3400": "Hanya tersedia angka provinsi (TPT D.I. Yogyakarta)",
|
|
38
|
+
"5100": "Tabel 'Persentase Pengangguran' memakai denominasi berbeda",
|
|
39
|
+
"5200": "Hanya tersedia angka provinsi (TPT NTB)",
|
|
40
|
+
"5300": "Hanya tersedia angka provinsi (TPT NTT)",
|
|
41
|
+
"7100": "Tidak ada tabel TPT kab/kota; hanya jumlah pengangguran (jiwa)",
|
|
42
|
+
"9400": "Tabel TPT kab/kota tersedia sebagai tabel statis, bukan WebAPI",
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
export function findKabkotaIndicator(query) {
|
|
47
|
+
return KABKOTA_INDICATORS.find((indicator) => indicator.pattern.test(query)) ?? null;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=kabkota-indicators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kabkota-indicators.js","sourceRoot":"","sources":["../../src/config/kabkota-indicators.ts"],"names":[],"mappings":"AA4BA,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD;QACE,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,2DAA2D;QAClE,OAAO,EAAE,iDAAiD;QAC1D,SAAS,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;SACd;QACD,WAAW,EAAE;YACX,MAAM,EAAE,sDAAsD;YAC9D,MAAM,EAAE,mDAAmD;YAC3D,MAAM,EAAE,gDAAgD;YACxD,MAAM,EAAE,qDAAqD;YAC7D,MAAM,EAAE,4DAA4D;YACpE,MAAM,EAAE,yCAAyC;YACjD,MAAM,EAAE,yCAAyC;YACjD,MAAM,EAAE,gEAAgE;YACxE,MAAM,EAAE,gEAAgE;SACzE;KACF;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;AACvF,CAAC"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAqD/D,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,cAAc,GAAG,IAAI,EAC5B,KAAK,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAC/B,OAAO,CAAC,EAAE,MAAM,GACf;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAgDpE"}
|