bps-mcp-server 0.1.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/LICENSE +21 -0
- package/README.md +197 -0
- package/dist/auth/api-key.provider.d.ts +12 -0
- package/dist/auth/api-key.provider.d.ts.map +1 -0
- package/dist/auth/api-key.provider.js +28 -0
- package/dist/auth/api-key.provider.js.map +1 -0
- package/dist/auth/factory.d.ts +4 -0
- package/dist/auth/factory.d.ts.map +1 -0
- package/dist/auth/factory.js +13 -0
- package/dist/auth/factory.js.map +1 -0
- package/dist/auth/oauth2.provider.d.ts +22 -0
- package/dist/auth/oauth2.provider.d.ts.map +1 -0
- package/dist/auth/oauth2.provider.js +64 -0
- package/dist/auth/oauth2.provider.js.map +1 -0
- package/dist/auth/types.d.ts +13 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +2 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/client/bps-client.d.ts +93 -0
- package/dist/client/bps-client.d.ts.map +1 -0
- package/dist/client/bps-client.js +255 -0
- package/dist/client/bps-client.js.map +1 -0
- package/dist/client/endpoints.d.ts +57 -0
- package/dist/client/endpoints.d.ts.map +1 -0
- package/dist/client/endpoints.js +166 -0
- package/dist/client/endpoints.js.map +1 -0
- package/dist/client/types.d.ts +273 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +2 -0
- package/dist/client/types.js.map +1 -0
- package/dist/config/defaults.d.ts +24 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +26 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/domain-aliases.d.ts +6 -0
- package/dist/config/domain-aliases.d.ts.map +1 -0
- package/dist/config/domain-aliases.js +105 -0
- package/dist/config/domain-aliases.js.map +1 -0
- package/dist/config/index.d.ts +71 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +52 -0
- package/dist/config/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/analysis.prompts.d.ts +3 -0
- package/dist/prompts/analysis.prompts.d.ts.map +1 -0
- package/dist/prompts/analysis.prompts.js +171 -0
- package/dist/prompts/analysis.prompts.js.map +1 -0
- package/dist/resources/domain.resources.d.ts +5 -0
- package/dist/resources/domain.resources.d.ts.map +1 -0
- package/dist/resources/domain.resources.js +62 -0
- package/dist/resources/domain.resources.js.map +1 -0
- package/dist/server.d.ts +12 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +43 -0
- package/dist/server.js.map +1 -0
- package/dist/services/attribution.d.ts +3 -0
- package/dist/services/attribution.d.ts.map +1 -0
- package/dist/services/attribution.js +8 -0
- package/dist/services/attribution.js.map +1 -0
- package/dist/services/cache.d.ts +21 -0
- package/dist/services/cache.d.ts.map +1 -0
- package/dist/services/cache.js +47 -0
- package/dist/services/cache.js.map +1 -0
- package/dist/services/data-formatter.d.ts +13 -0
- package/dist/services/data-formatter.d.ts.map +1 -0
- package/dist/services/data-formatter.js +166 -0
- package/dist/services/data-formatter.js.map +1 -0
- package/dist/services/domain-resolver.d.ts +22 -0
- package/dist/services/domain-resolver.d.ts.map +1 -0
- package/dist/services/domain-resolver.js +101 -0
- package/dist/services/domain-resolver.js.map +1 -0
- package/dist/tools/census.tools.d.ts +4 -0
- package/dist/tools/census.tools.d.ts.map +1 -0
- package/dist/tools/census.tools.js +28 -0
- package/dist/tools/census.tools.js.map +1 -0
- package/dist/tools/csa.tools.d.ts +4 -0
- package/dist/tools/csa.tools.d.ts.map +1 -0
- package/dist/tools/csa.tools.js +77 -0
- package/dist/tools/csa.tools.js.map +1 -0
- package/dist/tools/domain.tools.d.ts +5 -0
- package/dist/tools/domain.tools.d.ts.map +1 -0
- package/dist/tools/domain.tools.js +44 -0
- package/dist/tools/domain.tools.js.map +1 -0
- package/dist/tools/dynamic-data.tools.d.ts +5 -0
- package/dist/tools/dynamic-data.tools.d.ts.map +1 -0
- package/dist/tools/dynamic-data.tools.js +136 -0
- package/dist/tools/dynamic-data.tools.js.map +1 -0
- package/dist/tools/glossary.tools.d.ts +4 -0
- package/dist/tools/glossary.tools.d.ts.map +1 -0
- package/dist/tools/glossary.tools.js +32 -0
- package/dist/tools/glossary.tools.js.map +1 -0
- package/dist/tools/infographic.tools.d.ts +4 -0
- package/dist/tools/infographic.tools.d.ts.map +1 -0
- package/dist/tools/infographic.tools.js +60 -0
- package/dist/tools/infographic.tools.js.map +1 -0
- package/dist/tools/news.tools.d.ts +4 -0
- package/dist/tools/news.tools.d.ts.map +1 -0
- package/dist/tools/news.tools.js +55 -0
- package/dist/tools/news.tools.js.map +1 -0
- package/dist/tools/publication.tools.d.ts +4 -0
- package/dist/tools/publication.tools.d.ts.map +1 -0
- package/dist/tools/publication.tools.js +101 -0
- package/dist/tools/publication.tools.js.map +1 -0
- package/dist/tools/reference.tools.d.ts +4 -0
- package/dist/tools/reference.tools.d.ts.map +1 -0
- package/dist/tools/reference.tools.js +20 -0
- package/dist/tools/reference.tools.js.map +1 -0
- package/dist/tools/search.tools.d.ts +4 -0
- package/dist/tools/search.tools.d.ts.map +1 -0
- package/dist/tools/search.tools.js +22 -0
- package/dist/tools/search.tools.js.map +1 -0
- package/dist/tools/static-table.tools.d.ts +4 -0
- package/dist/tools/static-table.tools.d.ts.map +1 -0
- package/dist/tools/static-table.tools.js +47 -0
- package/dist/tools/static-table.tools.js.map +1 -0
- package/dist/tools/trade.tools.d.ts +4 -0
- package/dist/tools/trade.tools.d.ts.map +1 -0
- package/dist/tools/trade.tools.js +25 -0
- package/dist/tools/trade.tools.js.map +1 -0
- package/dist/tools/utility.tools.d.ts +4 -0
- package/dist/tools/utility.tools.d.ts.map +1 -0
- package/dist/tools/utility.tools.js +10 -0
- package/dist/tools/utility.tools.js.map +1 -0
- package/dist/transport/stdio.d.ts +3 -0
- package/dist/transport/stdio.d.ts.map +1 -0
- package/dist/transport/stdio.js +9 -0
- package/dist/transport/stdio.js.map +1 -0
- package/dist/utils/error.d.ts +13 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +38 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/logger.d.ts +12 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +47 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/pagination.d.ts +11 -0
- package/dist/utils/pagination.d.ts.map +1 -0
- package/dist/utils/pagination.js +19 -0
- package/dist/utils/pagination.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/** Generic BPS API response wrapper */
|
|
2
|
+
export interface BpsApiResponse<T> {
|
|
3
|
+
status: string;
|
|
4
|
+
"data-availability": string;
|
|
5
|
+
data: T;
|
|
6
|
+
message?: string;
|
|
7
|
+
}
|
|
8
|
+
/** Paginated BPS API response */
|
|
9
|
+
export interface BpsPaginatedResponse<T> {
|
|
10
|
+
status: string;
|
|
11
|
+
"data-availability": string;
|
|
12
|
+
data: [PageInfo, T[]];
|
|
13
|
+
message?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface PageInfo {
|
|
16
|
+
page: number;
|
|
17
|
+
pages: number;
|
|
18
|
+
total: number;
|
|
19
|
+
per_page: number;
|
|
20
|
+
count: number;
|
|
21
|
+
}
|
|
22
|
+
/** Domain/Region */
|
|
23
|
+
export interface BpsDomain {
|
|
24
|
+
domain_id: string;
|
|
25
|
+
domain_name: string;
|
|
26
|
+
domain_url: string;
|
|
27
|
+
}
|
|
28
|
+
/** Subject */
|
|
29
|
+
export interface BpsSubject {
|
|
30
|
+
sub_id: number;
|
|
31
|
+
title: string;
|
|
32
|
+
subcat_id?: number;
|
|
33
|
+
subcat?: string;
|
|
34
|
+
ntabel?: number;
|
|
35
|
+
nvar?: number;
|
|
36
|
+
}
|
|
37
|
+
/** Subject Category */
|
|
38
|
+
export interface BpsSubjectCategory {
|
|
39
|
+
subcat_id: number;
|
|
40
|
+
title: string;
|
|
41
|
+
}
|
|
42
|
+
/** Variable */
|
|
43
|
+
export interface BpsVariable {
|
|
44
|
+
var_id: number;
|
|
45
|
+
title: string;
|
|
46
|
+
sub_id: number;
|
|
47
|
+
sub_name: string;
|
|
48
|
+
def?: string;
|
|
49
|
+
notes?: string;
|
|
50
|
+
unit?: string;
|
|
51
|
+
graph_id?: number;
|
|
52
|
+
graph_name?: string;
|
|
53
|
+
}
|
|
54
|
+
/** Vertical Variable */
|
|
55
|
+
export interface BpsVerticalVariable {
|
|
56
|
+
kode_vervar: number;
|
|
57
|
+
label_vervar: string;
|
|
58
|
+
group_vervar: number;
|
|
59
|
+
name_group_vervar: string;
|
|
60
|
+
}
|
|
61
|
+
/** Derived Variable */
|
|
62
|
+
export interface BpsDerivedVariable {
|
|
63
|
+
kode_turvar: number;
|
|
64
|
+
label_turvar: string;
|
|
65
|
+
group_turvar: number;
|
|
66
|
+
name_group_turvar: string;
|
|
67
|
+
}
|
|
68
|
+
/** Period */
|
|
69
|
+
export interface BpsPeriod {
|
|
70
|
+
th_id: number;
|
|
71
|
+
th_name: string;
|
|
72
|
+
val: number;
|
|
73
|
+
}
|
|
74
|
+
/** Derived Period */
|
|
75
|
+
export interface BpsDerivedPeriod {
|
|
76
|
+
turth_id: number;
|
|
77
|
+
turth_name: string;
|
|
78
|
+
}
|
|
79
|
+
/** Unit */
|
|
80
|
+
export interface BpsUnit {
|
|
81
|
+
unit_id: number;
|
|
82
|
+
unit: string;
|
|
83
|
+
}
|
|
84
|
+
/** Dynamic data response */
|
|
85
|
+
export interface BpsDynamicDataResponse {
|
|
86
|
+
status: string;
|
|
87
|
+
"data-availability": string;
|
|
88
|
+
data: unknown;
|
|
89
|
+
datacontent?: Record<string, number | string>;
|
|
90
|
+
vervar?: BpsVerticalVariable[];
|
|
91
|
+
turvar?: BpsDerivedVariable[];
|
|
92
|
+
tahun?: BpsPeriod[];
|
|
93
|
+
turtahun?: BpsDerivedPeriod[];
|
|
94
|
+
var?: BpsVariable[];
|
|
95
|
+
labelvervar?: string;
|
|
96
|
+
turvar_label?: string;
|
|
97
|
+
message?: string;
|
|
98
|
+
}
|
|
99
|
+
/** Static Table */
|
|
100
|
+
export interface BpsStaticTable {
|
|
101
|
+
table_id: number;
|
|
102
|
+
title: string;
|
|
103
|
+
subj_id: number;
|
|
104
|
+
subj?: string;
|
|
105
|
+
updt_date: string;
|
|
106
|
+
size: string;
|
|
107
|
+
excel?: string;
|
|
108
|
+
}
|
|
109
|
+
/** Static Table Detail */
|
|
110
|
+
export interface BpsStaticTableDetail {
|
|
111
|
+
table_id: number;
|
|
112
|
+
title: string;
|
|
113
|
+
subj_id: number;
|
|
114
|
+
subj?: string;
|
|
115
|
+
table: string;
|
|
116
|
+
updt_date: string;
|
|
117
|
+
size: string;
|
|
118
|
+
excel?: string;
|
|
119
|
+
}
|
|
120
|
+
/** Press Release */
|
|
121
|
+
export interface BpsPressRelease {
|
|
122
|
+
brs_id: number;
|
|
123
|
+
title: string;
|
|
124
|
+
subj_id: number;
|
|
125
|
+
subj?: string;
|
|
126
|
+
rl_date: string;
|
|
127
|
+
abstract?: string;
|
|
128
|
+
pdf?: string;
|
|
129
|
+
size?: string;
|
|
130
|
+
}
|
|
131
|
+
/** Publication */
|
|
132
|
+
export interface BpsPublication {
|
|
133
|
+
pub_id: string;
|
|
134
|
+
title: string;
|
|
135
|
+
issn?: string;
|
|
136
|
+
sch_date: string;
|
|
137
|
+
rl_date: string;
|
|
138
|
+
abstract?: string;
|
|
139
|
+
cover?: string;
|
|
140
|
+
pdf?: string;
|
|
141
|
+
size?: string;
|
|
142
|
+
}
|
|
143
|
+
/** Strategic Indicator */
|
|
144
|
+
export interface BpsStrategicIndicator {
|
|
145
|
+
indicator_id: number;
|
|
146
|
+
title: string;
|
|
147
|
+
sub_id: number;
|
|
148
|
+
sub_name: string;
|
|
149
|
+
data?: Record<string, number | string>;
|
|
150
|
+
}
|
|
151
|
+
/** Trade HS data */
|
|
152
|
+
export interface BpsTradeData {
|
|
153
|
+
hs_code: string;
|
|
154
|
+
description: string;
|
|
155
|
+
data?: Record<string, number>;
|
|
156
|
+
}
|
|
157
|
+
/** Infographic */
|
|
158
|
+
export interface BpsInfographic {
|
|
159
|
+
inf_id: number;
|
|
160
|
+
title: string;
|
|
161
|
+
img: string;
|
|
162
|
+
date: string;
|
|
163
|
+
desc: string;
|
|
164
|
+
category: number;
|
|
165
|
+
dl: string;
|
|
166
|
+
}
|
|
167
|
+
/** Infographic Detail */
|
|
168
|
+
export interface BpsInfographicDetail extends BpsInfographic {
|
|
169
|
+
related?: Array<{
|
|
170
|
+
id: number;
|
|
171
|
+
title: string;
|
|
172
|
+
img: string;
|
|
173
|
+
}>;
|
|
174
|
+
}
|
|
175
|
+
/** News */
|
|
176
|
+
export interface BpsNews {
|
|
177
|
+
news_id: number;
|
|
178
|
+
newscat_id: string;
|
|
179
|
+
newscat_name: string;
|
|
180
|
+
title: string;
|
|
181
|
+
news: string;
|
|
182
|
+
rl_date: string;
|
|
183
|
+
picture: string;
|
|
184
|
+
}
|
|
185
|
+
/** News Detail */
|
|
186
|
+
export interface BpsNewsDetail {
|
|
187
|
+
news_id: number;
|
|
188
|
+
news_type: string;
|
|
189
|
+
newscat_name: string;
|
|
190
|
+
title: string;
|
|
191
|
+
news: string;
|
|
192
|
+
rl_date: string;
|
|
193
|
+
picture: string;
|
|
194
|
+
related?: Array<{
|
|
195
|
+
id: number;
|
|
196
|
+
title: string;
|
|
197
|
+
}>;
|
|
198
|
+
}
|
|
199
|
+
/** Glossary Term (glosarium) */
|
|
200
|
+
export interface BpsGlossaryTerm {
|
|
201
|
+
_id: string;
|
|
202
|
+
_source: {
|
|
203
|
+
sync_date: string;
|
|
204
|
+
definisi: string;
|
|
205
|
+
ukuran: string;
|
|
206
|
+
sumberKonten: string;
|
|
207
|
+
sumberData: string;
|
|
208
|
+
namaKlasifikasi: string;
|
|
209
|
+
judulIndikator: string;
|
|
210
|
+
konsep: string;
|
|
211
|
+
endpoint: string;
|
|
212
|
+
satuan: string;
|
|
213
|
+
jenis: string;
|
|
214
|
+
id: string;
|
|
215
|
+
flag: boolean;
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/** CSA Subject Category */
|
|
219
|
+
export interface BpsCsaSubjectCategory {
|
|
220
|
+
subcat_id: number;
|
|
221
|
+
title: string;
|
|
222
|
+
}
|
|
223
|
+
/** CSA Subject */
|
|
224
|
+
export interface BpsCsaSubject {
|
|
225
|
+
sub_id: number;
|
|
226
|
+
title: string;
|
|
227
|
+
subcat_id: number;
|
|
228
|
+
subcat: string;
|
|
229
|
+
ntabel: number;
|
|
230
|
+
desc: string;
|
|
231
|
+
icon: string;
|
|
232
|
+
}
|
|
233
|
+
/** CSA Table (tablestatistic) */
|
|
234
|
+
export interface BpsCsaTable {
|
|
235
|
+
id: string;
|
|
236
|
+
title: string;
|
|
237
|
+
oldest_period: string | null;
|
|
238
|
+
latest_period: string | null;
|
|
239
|
+
id_subject: number;
|
|
240
|
+
subject: string;
|
|
241
|
+
id_subcat: number;
|
|
242
|
+
subcat: string;
|
|
243
|
+
tablesource: string;
|
|
244
|
+
last_update: string;
|
|
245
|
+
}
|
|
246
|
+
/** CSA Table Detail */
|
|
247
|
+
export interface BpsCsaTableDetail {
|
|
248
|
+
table_id: number;
|
|
249
|
+
sub_id: number;
|
|
250
|
+
subcsa_id: number;
|
|
251
|
+
subcsa: string;
|
|
252
|
+
title: string;
|
|
253
|
+
table: string;
|
|
254
|
+
cr_date: string;
|
|
255
|
+
updt_date: string;
|
|
256
|
+
excel?: string;
|
|
257
|
+
size: string;
|
|
258
|
+
}
|
|
259
|
+
/** Census Event */
|
|
260
|
+
export interface BpsCensusEvent {
|
|
261
|
+
id: string;
|
|
262
|
+
kegiatan: string;
|
|
263
|
+
tahun_kegiatan: number;
|
|
264
|
+
}
|
|
265
|
+
/** Census Topic */
|
|
266
|
+
export interface BpsCensusTopic {
|
|
267
|
+
id: number;
|
|
268
|
+
topik: string;
|
|
269
|
+
topic: string;
|
|
270
|
+
id_kegiatan: string;
|
|
271
|
+
kegiatan: string;
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const DEFAULTS: {
|
|
2
|
+
readonly API_BASE_URL: "https://webapi.bps.go.id/v1";
|
|
3
|
+
readonly DEFAULT_LANG: "ind";
|
|
4
|
+
readonly DEFAULT_DOMAIN: "0000";
|
|
5
|
+
readonly CACHE_ENABLED: true;
|
|
6
|
+
readonly CACHE_MAX_ENTRIES: 500;
|
|
7
|
+
readonly LOG_LEVEL: "info";
|
|
8
|
+
readonly TRANSPORT: "stdio";
|
|
9
|
+
readonly HTTP_PORT: 3000;
|
|
10
|
+
};
|
|
11
|
+
export declare const CACHE_TTL: {
|
|
12
|
+
readonly DOMAIN_LIST: number;
|
|
13
|
+
readonly SUBJECT_LIST: number;
|
|
14
|
+
readonly VARIABLE_LIST: number;
|
|
15
|
+
readonly STATIC_TABLE: number;
|
|
16
|
+
readonly DYNAMIC_DATA: number;
|
|
17
|
+
readonly TRADE_DATA: number;
|
|
18
|
+
readonly PRESS_RELEASE: number;
|
|
19
|
+
readonly PUBLICATION: number;
|
|
20
|
+
readonly STRATEGIC_INDICATOR: number;
|
|
21
|
+
};
|
|
22
|
+
export declare const ATTRIBUTION: string;
|
|
23
|
+
export declare const ATTRIBUTION_EN: string;
|
|
24
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;CASX,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;;CAUZ,CAAC;AAEX,eAAO,MAAM,WAAW,QAEoC,CAAC;AAE7D,eAAO,MAAM,cAAc,QAE+B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const DEFAULTS = {
|
|
2
|
+
API_BASE_URL: "https://webapi.bps.go.id/v1",
|
|
3
|
+
DEFAULT_LANG: "ind",
|
|
4
|
+
DEFAULT_DOMAIN: "0000",
|
|
5
|
+
CACHE_ENABLED: true,
|
|
6
|
+
CACHE_MAX_ENTRIES: 500,
|
|
7
|
+
LOG_LEVEL: "info",
|
|
8
|
+
TRANSPORT: "stdio",
|
|
9
|
+
HTTP_PORT: 3000,
|
|
10
|
+
};
|
|
11
|
+
export const CACHE_TTL = {
|
|
12
|
+
DOMAIN_LIST: 24 * 60 * 60,
|
|
13
|
+
SUBJECT_LIST: 24 * 60 * 60,
|
|
14
|
+
VARIABLE_LIST: 12 * 60 * 60,
|
|
15
|
+
STATIC_TABLE: 6 * 60 * 60,
|
|
16
|
+
DYNAMIC_DATA: 1 * 60 * 60,
|
|
17
|
+
TRADE_DATA: 1 * 60 * 60,
|
|
18
|
+
PRESS_RELEASE: 30 * 60,
|
|
19
|
+
PUBLICATION: 6 * 60 * 60,
|
|
20
|
+
STRATEGIC_INDICATOR: 1 * 60 * 60,
|
|
21
|
+
};
|
|
22
|
+
export const ATTRIBUTION = "Sumber: Badan Pusat Statistik (BPS) — https://www.bps.go.id\n" +
|
|
23
|
+
"Layanan ini menggunakan API Badan Pusat Statistik (BPS).";
|
|
24
|
+
export const ATTRIBUTION_EN = "Source: Statistics Indonesia (BPS) — https://www.bps.go.id\n" +
|
|
25
|
+
"This service uses the BPS (Badan Pusat Statistik) API.";
|
|
26
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,YAAY,EAAE,6BAA6B;IAC3C,YAAY,EAAE,KAAc;IAC5B,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,GAAG;IACtB,SAAS,EAAE,MAAe;IAC1B,SAAS,EAAE,OAAgB;IAC3B,SAAS,EAAE,IAAI;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;IACzB,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;IAC1B,aAAa,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;IAC3B,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;IACzB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;IACzB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;IACvB,aAAa,EAAE,EAAE,GAAG,EAAE;IACtB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;IACxB,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;CACxB,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GACtB,+DAA+D;IAC/D,0DAA0D,CAAC;AAE7D,MAAM,CAAC,MAAM,cAAc,GACzB,8DAA8D;IAC9D,wDAAwD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-aliases.d.ts","sourceRoot":"","sources":["../../src/config/domain-aliases.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyGjD,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common aliases for Indonesian regions.
|
|
3
|
+
* Maps informal/abbreviated names to BPS domain codes.
|
|
4
|
+
*/
|
|
5
|
+
export const DOMAIN_ALIASES = {
|
|
6
|
+
// Nasional
|
|
7
|
+
indonesia: "0000",
|
|
8
|
+
nasional: "0000",
|
|
9
|
+
national: "0000",
|
|
10
|
+
// Provinsi - common abbreviations
|
|
11
|
+
aceh: "1100",
|
|
12
|
+
nad: "1100",
|
|
13
|
+
sumut: "1200",
|
|
14
|
+
"sumatera utara": "1200",
|
|
15
|
+
"north sumatra": "1200",
|
|
16
|
+
sumbar: "1300",
|
|
17
|
+
"sumatera barat": "1300",
|
|
18
|
+
"west sumatra": "1300",
|
|
19
|
+
riau: "1400",
|
|
20
|
+
jambi: "1500",
|
|
21
|
+
sumsel: "1600",
|
|
22
|
+
"sumatera selatan": "1600",
|
|
23
|
+
"south sumatra": "1600",
|
|
24
|
+
bengkulu: "1700",
|
|
25
|
+
lampung: "1800",
|
|
26
|
+
babel: "1900",
|
|
27
|
+
"bangka belitung": "1900",
|
|
28
|
+
kepri: "2100",
|
|
29
|
+
"kepulauan riau": "2100",
|
|
30
|
+
// Jawa
|
|
31
|
+
jakarta: "3100",
|
|
32
|
+
dki: "3100",
|
|
33
|
+
"dki jakarta": "3100",
|
|
34
|
+
jabar: "3200",
|
|
35
|
+
"jawa barat": "3200",
|
|
36
|
+
"west java": "3200",
|
|
37
|
+
jateng: "3300",
|
|
38
|
+
"jawa tengah": "3300",
|
|
39
|
+
"central java": "3300",
|
|
40
|
+
jogja: "3400",
|
|
41
|
+
yogya: "3400",
|
|
42
|
+
yogyakarta: "3400",
|
|
43
|
+
diy: "3400",
|
|
44
|
+
"di yogyakarta": "3400",
|
|
45
|
+
jatim: "3500",
|
|
46
|
+
"jawa timur": "3500",
|
|
47
|
+
"east java": "3500",
|
|
48
|
+
banten: "3600",
|
|
49
|
+
// Bali & Nusa Tenggara
|
|
50
|
+
bali: "5100",
|
|
51
|
+
ntb: "5200",
|
|
52
|
+
"nusa tenggara barat": "5200",
|
|
53
|
+
ntt: "5300",
|
|
54
|
+
"nusa tenggara timur": "5300",
|
|
55
|
+
// Kalimantan
|
|
56
|
+
kalbar: "6100",
|
|
57
|
+
"kalimantan barat": "6100",
|
|
58
|
+
"west kalimantan": "6100",
|
|
59
|
+
kalteng: "6200",
|
|
60
|
+
"kalimantan tengah": "6200",
|
|
61
|
+
"central kalimantan": "6200",
|
|
62
|
+
kalsel: "6300",
|
|
63
|
+
"kalimantan selatan": "6300",
|
|
64
|
+
"south kalimantan": "6300",
|
|
65
|
+
kaltim: "6400",
|
|
66
|
+
"kalimantan timur": "6400",
|
|
67
|
+
"east kalimantan": "6400",
|
|
68
|
+
kaltara: "6500",
|
|
69
|
+
"kalimantan utara": "6500",
|
|
70
|
+
"north kalimantan": "6500",
|
|
71
|
+
// Sulawesi
|
|
72
|
+
sulut: "7100",
|
|
73
|
+
"sulawesi utara": "7100",
|
|
74
|
+
"north sulawesi": "7100",
|
|
75
|
+
sulteng: "7200",
|
|
76
|
+
"sulawesi tengah": "7200",
|
|
77
|
+
"central sulawesi": "7200",
|
|
78
|
+
sulsel: "7300",
|
|
79
|
+
"sulawesi selatan": "7300",
|
|
80
|
+
"south sulawesi": "7300",
|
|
81
|
+
sultra: "7400",
|
|
82
|
+
"sulawesi tenggara": "7400",
|
|
83
|
+
"southeast sulawesi": "7400",
|
|
84
|
+
gorontalo: "7500",
|
|
85
|
+
sulbar: "7600",
|
|
86
|
+
"sulawesi barat": "7600",
|
|
87
|
+
"west sulawesi": "7600",
|
|
88
|
+
// Maluku & Papua
|
|
89
|
+
maluku: "8100",
|
|
90
|
+
malut: "8200",
|
|
91
|
+
"maluku utara": "8200",
|
|
92
|
+
"north maluku": "8200",
|
|
93
|
+
papua: "9100",
|
|
94
|
+
"papua barat": "9200",
|
|
95
|
+
"west papua": "9200",
|
|
96
|
+
"papua selatan": "9300",
|
|
97
|
+
"south papua": "9300",
|
|
98
|
+
"papua tengah": "9400",
|
|
99
|
+
"central papua": "9400",
|
|
100
|
+
"papua pegunungan": "9500",
|
|
101
|
+
"highland papua": "9500",
|
|
102
|
+
"papua barat daya": "9600",
|
|
103
|
+
"southwest papua": "9600",
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=domain-aliases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-aliases.js","sourceRoot":"","sources":["../../src/config/domain-aliases.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
3
|
+
authType: z.ZodDefault<z.ZodEnum<["api-key", "oauth2"]>>;
|
|
4
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
5
|
+
oauthClientId: z.ZodOptional<z.ZodString>;
|
|
6
|
+
oauthClientSecret: z.ZodOptional<z.ZodString>;
|
|
7
|
+
oauthTokenEndpoint: z.ZodOptional<z.ZodString>;
|
|
8
|
+
oauthScopes: z.ZodOptional<z.ZodString>;
|
|
9
|
+
apiBaseUrl: z.ZodDefault<z.ZodString>;
|
|
10
|
+
defaultLang: z.ZodDefault<z.ZodEnum<["ind", "eng"]>>;
|
|
11
|
+
defaultDomain: z.ZodDefault<z.ZodString>;
|
|
12
|
+
cacheEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
13
|
+
cacheMaxEntries: z.ZodDefault<z.ZodNumber>;
|
|
14
|
+
logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
authType: "api-key" | "oauth2";
|
|
17
|
+
apiBaseUrl: string;
|
|
18
|
+
defaultLang: "ind" | "eng";
|
|
19
|
+
defaultDomain: string;
|
|
20
|
+
cacheEnabled: boolean;
|
|
21
|
+
cacheMaxEntries: number;
|
|
22
|
+
logLevel: "info" | "debug" | "warn" | "error";
|
|
23
|
+
apiKey?: string | undefined;
|
|
24
|
+
oauthClientId?: string | undefined;
|
|
25
|
+
oauthClientSecret?: string | undefined;
|
|
26
|
+
oauthTokenEndpoint?: string | undefined;
|
|
27
|
+
oauthScopes?: string | undefined;
|
|
28
|
+
}, {
|
|
29
|
+
authType?: "api-key" | "oauth2" | undefined;
|
|
30
|
+
apiKey?: string | undefined;
|
|
31
|
+
oauthClientId?: string | undefined;
|
|
32
|
+
oauthClientSecret?: string | undefined;
|
|
33
|
+
oauthTokenEndpoint?: string | undefined;
|
|
34
|
+
oauthScopes?: string | undefined;
|
|
35
|
+
apiBaseUrl?: string | undefined;
|
|
36
|
+
defaultLang?: "ind" | "eng" | undefined;
|
|
37
|
+
defaultDomain?: string | undefined;
|
|
38
|
+
cacheEnabled?: boolean | undefined;
|
|
39
|
+
cacheMaxEntries?: number | undefined;
|
|
40
|
+
logLevel?: "info" | "debug" | "warn" | "error" | undefined;
|
|
41
|
+
}>, {
|
|
42
|
+
authType: "api-key" | "oauth2";
|
|
43
|
+
apiBaseUrl: string;
|
|
44
|
+
defaultLang: "ind" | "eng";
|
|
45
|
+
defaultDomain: string;
|
|
46
|
+
cacheEnabled: boolean;
|
|
47
|
+
cacheMaxEntries: number;
|
|
48
|
+
logLevel: "info" | "debug" | "warn" | "error";
|
|
49
|
+
apiKey?: string | undefined;
|
|
50
|
+
oauthClientId?: string | undefined;
|
|
51
|
+
oauthClientSecret?: string | undefined;
|
|
52
|
+
oauthTokenEndpoint?: string | undefined;
|
|
53
|
+
oauthScopes?: string | undefined;
|
|
54
|
+
}, {
|
|
55
|
+
authType?: "api-key" | "oauth2" | undefined;
|
|
56
|
+
apiKey?: string | undefined;
|
|
57
|
+
oauthClientId?: string | undefined;
|
|
58
|
+
oauthClientSecret?: string | undefined;
|
|
59
|
+
oauthTokenEndpoint?: string | undefined;
|
|
60
|
+
oauthScopes?: string | undefined;
|
|
61
|
+
apiBaseUrl?: string | undefined;
|
|
62
|
+
defaultLang?: "ind" | "eng" | undefined;
|
|
63
|
+
defaultDomain?: string | undefined;
|
|
64
|
+
cacheEnabled?: boolean | undefined;
|
|
65
|
+
cacheMaxEntries?: number | undefined;
|
|
66
|
+
logLevel?: "info" | "debug" | "warn" | "error" | undefined;
|
|
67
|
+
}>;
|
|
68
|
+
export type Config = z.infer<typeof ConfigSchema>;
|
|
69
|
+
export declare function loadConfig(env?: NodeJS.ProcessEnv): Config;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2Bf,CAAC;AAEJ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAQlD,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAmBvE"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { DEFAULTS } from "./defaults.js";
|
|
3
|
+
const ConfigSchema = z
|
|
4
|
+
.object({
|
|
5
|
+
authType: z.enum(["api-key", "oauth2"]).default("api-key"),
|
|
6
|
+
apiKey: z.string().optional(),
|
|
7
|
+
oauthClientId: z.string().optional(),
|
|
8
|
+
oauthClientSecret: z.string().optional(),
|
|
9
|
+
oauthTokenEndpoint: z.string().url().optional(),
|
|
10
|
+
oauthScopes: z.string().optional(),
|
|
11
|
+
apiBaseUrl: z.string().url().default(DEFAULTS.API_BASE_URL),
|
|
12
|
+
defaultLang: z.enum(["ind", "eng"]).default(DEFAULTS.DEFAULT_LANG),
|
|
13
|
+
defaultDomain: z.string().default(DEFAULTS.DEFAULT_DOMAIN),
|
|
14
|
+
cacheEnabled: z.boolean().default(DEFAULTS.CACHE_ENABLED),
|
|
15
|
+
cacheMaxEntries: z.number().int().positive().default(DEFAULTS.CACHE_MAX_ENTRIES),
|
|
16
|
+
logLevel: z.enum(["debug", "info", "warn", "error"]).default(DEFAULTS.LOG_LEVEL),
|
|
17
|
+
})
|
|
18
|
+
.refine((data) => {
|
|
19
|
+
if (data.authType === "api-key")
|
|
20
|
+
return !!data.apiKey;
|
|
21
|
+
if (data.authType === "oauth2") {
|
|
22
|
+
return !!data.oauthClientId && !!data.oauthClientSecret && !!data.oauthTokenEndpoint;
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}, { message: "Invalid auth configuration. Provide BPS_API_KEY or OAuth2 credentials." });
|
|
26
|
+
function detectAuthType(env) {
|
|
27
|
+
if (env.BPS_AUTH_TYPE)
|
|
28
|
+
return env.BPS_AUTH_TYPE;
|
|
29
|
+
if (env.BPS_OAUTH_CLIENT_ID)
|
|
30
|
+
return "oauth2";
|
|
31
|
+
return "api-key";
|
|
32
|
+
}
|
|
33
|
+
export function loadConfig(env = process.env) {
|
|
34
|
+
const raw = {
|
|
35
|
+
authType: detectAuthType(env),
|
|
36
|
+
apiKey: env.BPS_API_KEY,
|
|
37
|
+
oauthClientId: env.BPS_OAUTH_CLIENT_ID,
|
|
38
|
+
oauthClientSecret: env.BPS_OAUTH_CLIENT_SECRET,
|
|
39
|
+
oauthTokenEndpoint: env.BPS_OAUTH_TOKEN_ENDPOINT,
|
|
40
|
+
oauthScopes: env.BPS_OAUTH_SCOPES,
|
|
41
|
+
apiBaseUrl: env.BPS_API_BASE_URL || DEFAULTS.API_BASE_URL,
|
|
42
|
+
defaultLang: env.BPS_DEFAULT_LANG || DEFAULTS.DEFAULT_LANG,
|
|
43
|
+
defaultDomain: env.BPS_DEFAULT_DOMAIN || DEFAULTS.DEFAULT_DOMAIN,
|
|
44
|
+
cacheEnabled: env.BPS_CACHE_ENABLED !== "false",
|
|
45
|
+
cacheMaxEntries: env.BPS_CACHE_MAX_ENTRIES
|
|
46
|
+
? parseInt(env.BPS_CACHE_MAX_ENTRIES, 10)
|
|
47
|
+
: DEFAULTS.CACHE_MAX_ENTRIES,
|
|
48
|
+
logLevel: env.BPS_LOG_LEVEL || DEFAULTS.LOG_LEVEL,
|
|
49
|
+
};
|
|
50
|
+
return ConfigSchema.parse(raw);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { loadConfig } from "./config/index.js";
|
|
3
|
+
import { createAuthProvider } from "./auth/factory.js";
|
|
4
|
+
import { InMemoryCache } from "./services/cache.js";
|
|
5
|
+
import { createServer } from "./server.js";
|
|
6
|
+
import { startStdioTransport } from "./transport/stdio.js";
|
|
7
|
+
import { setLogLevel, logger } from "./utils/logger.js";
|
|
8
|
+
async function main() {
|
|
9
|
+
try {
|
|
10
|
+
const config = loadConfig();
|
|
11
|
+
setLogLevel(config.logLevel);
|
|
12
|
+
logger.info("BPS MCP Server starting...");
|
|
13
|
+
logger.debug("Config loaded", {
|
|
14
|
+
authType: config.authType,
|
|
15
|
+
apiBaseUrl: config.apiBaseUrl,
|
|
16
|
+
defaultLang: config.defaultLang,
|
|
17
|
+
defaultDomain: config.defaultDomain,
|
|
18
|
+
cacheEnabled: config.cacheEnabled,
|
|
19
|
+
});
|
|
20
|
+
const auth = createAuthProvider(config);
|
|
21
|
+
const cache = config.cacheEnabled ? new InMemoryCache(config.cacheMaxEntries) : null;
|
|
22
|
+
const { server } = createServer(config, auth, cache);
|
|
23
|
+
await startStdioTransport(server);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
logger.error("Failed to start BPS MCP Server", error);
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
main();
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAExD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE7B,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE;YAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAErD,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analysis.prompts.d.ts","sourceRoot":"","sources":["../../src/prompts/analysis.prompts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0MvD"}
|