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.
Files changed (143) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +197 -0
  3. package/dist/auth/api-key.provider.d.ts +12 -0
  4. package/dist/auth/api-key.provider.d.ts.map +1 -0
  5. package/dist/auth/api-key.provider.js +28 -0
  6. package/dist/auth/api-key.provider.js.map +1 -0
  7. package/dist/auth/factory.d.ts +4 -0
  8. package/dist/auth/factory.d.ts.map +1 -0
  9. package/dist/auth/factory.js +13 -0
  10. package/dist/auth/factory.js.map +1 -0
  11. package/dist/auth/oauth2.provider.d.ts +22 -0
  12. package/dist/auth/oauth2.provider.d.ts.map +1 -0
  13. package/dist/auth/oauth2.provider.js +64 -0
  14. package/dist/auth/oauth2.provider.js.map +1 -0
  15. package/dist/auth/types.d.ts +13 -0
  16. package/dist/auth/types.d.ts.map +1 -0
  17. package/dist/auth/types.js +2 -0
  18. package/dist/auth/types.js.map +1 -0
  19. package/dist/client/bps-client.d.ts +93 -0
  20. package/dist/client/bps-client.d.ts.map +1 -0
  21. package/dist/client/bps-client.js +255 -0
  22. package/dist/client/bps-client.js.map +1 -0
  23. package/dist/client/endpoints.d.ts +57 -0
  24. package/dist/client/endpoints.d.ts.map +1 -0
  25. package/dist/client/endpoints.js +166 -0
  26. package/dist/client/endpoints.js.map +1 -0
  27. package/dist/client/types.d.ts +273 -0
  28. package/dist/client/types.d.ts.map +1 -0
  29. package/dist/client/types.js +2 -0
  30. package/dist/client/types.js.map +1 -0
  31. package/dist/config/defaults.d.ts +24 -0
  32. package/dist/config/defaults.d.ts.map +1 -0
  33. package/dist/config/defaults.js +26 -0
  34. package/dist/config/defaults.js.map +1 -0
  35. package/dist/config/domain-aliases.d.ts +6 -0
  36. package/dist/config/domain-aliases.d.ts.map +1 -0
  37. package/dist/config/domain-aliases.js +105 -0
  38. package/dist/config/domain-aliases.js.map +1 -0
  39. package/dist/config/index.d.ts +71 -0
  40. package/dist/config/index.d.ts.map +1 -0
  41. package/dist/config/index.js +52 -0
  42. package/dist/config/index.js.map +1 -0
  43. package/dist/index.d.ts +3 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +31 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/prompts/analysis.prompts.d.ts +3 -0
  48. package/dist/prompts/analysis.prompts.d.ts.map +1 -0
  49. package/dist/prompts/analysis.prompts.js +171 -0
  50. package/dist/prompts/analysis.prompts.js.map +1 -0
  51. package/dist/resources/domain.resources.d.ts +5 -0
  52. package/dist/resources/domain.resources.d.ts.map +1 -0
  53. package/dist/resources/domain.resources.js +62 -0
  54. package/dist/resources/domain.resources.js.map +1 -0
  55. package/dist/server.d.ts +12 -0
  56. package/dist/server.d.ts.map +1 -0
  57. package/dist/server.js +43 -0
  58. package/dist/server.js.map +1 -0
  59. package/dist/services/attribution.d.ts +3 -0
  60. package/dist/services/attribution.d.ts.map +1 -0
  61. package/dist/services/attribution.js +8 -0
  62. package/dist/services/attribution.js.map +1 -0
  63. package/dist/services/cache.d.ts +21 -0
  64. package/dist/services/cache.d.ts.map +1 -0
  65. package/dist/services/cache.js +47 -0
  66. package/dist/services/cache.js.map +1 -0
  67. package/dist/services/data-formatter.d.ts +13 -0
  68. package/dist/services/data-formatter.d.ts.map +1 -0
  69. package/dist/services/data-formatter.js +166 -0
  70. package/dist/services/data-formatter.js.map +1 -0
  71. package/dist/services/domain-resolver.d.ts +22 -0
  72. package/dist/services/domain-resolver.d.ts.map +1 -0
  73. package/dist/services/domain-resolver.js +101 -0
  74. package/dist/services/domain-resolver.js.map +1 -0
  75. package/dist/tools/census.tools.d.ts +4 -0
  76. package/dist/tools/census.tools.d.ts.map +1 -0
  77. package/dist/tools/census.tools.js +28 -0
  78. package/dist/tools/census.tools.js.map +1 -0
  79. package/dist/tools/csa.tools.d.ts +4 -0
  80. package/dist/tools/csa.tools.d.ts.map +1 -0
  81. package/dist/tools/csa.tools.js +77 -0
  82. package/dist/tools/csa.tools.js.map +1 -0
  83. package/dist/tools/domain.tools.d.ts +5 -0
  84. package/dist/tools/domain.tools.d.ts.map +1 -0
  85. package/dist/tools/domain.tools.js +44 -0
  86. package/dist/tools/domain.tools.js.map +1 -0
  87. package/dist/tools/dynamic-data.tools.d.ts +5 -0
  88. package/dist/tools/dynamic-data.tools.d.ts.map +1 -0
  89. package/dist/tools/dynamic-data.tools.js +136 -0
  90. package/dist/tools/dynamic-data.tools.js.map +1 -0
  91. package/dist/tools/glossary.tools.d.ts +4 -0
  92. package/dist/tools/glossary.tools.d.ts.map +1 -0
  93. package/dist/tools/glossary.tools.js +32 -0
  94. package/dist/tools/glossary.tools.js.map +1 -0
  95. package/dist/tools/infographic.tools.d.ts +4 -0
  96. package/dist/tools/infographic.tools.d.ts.map +1 -0
  97. package/dist/tools/infographic.tools.js +60 -0
  98. package/dist/tools/infographic.tools.js.map +1 -0
  99. package/dist/tools/news.tools.d.ts +4 -0
  100. package/dist/tools/news.tools.d.ts.map +1 -0
  101. package/dist/tools/news.tools.js +55 -0
  102. package/dist/tools/news.tools.js.map +1 -0
  103. package/dist/tools/publication.tools.d.ts +4 -0
  104. package/dist/tools/publication.tools.d.ts.map +1 -0
  105. package/dist/tools/publication.tools.js +101 -0
  106. package/dist/tools/publication.tools.js.map +1 -0
  107. package/dist/tools/reference.tools.d.ts +4 -0
  108. package/dist/tools/reference.tools.d.ts.map +1 -0
  109. package/dist/tools/reference.tools.js +20 -0
  110. package/dist/tools/reference.tools.js.map +1 -0
  111. package/dist/tools/search.tools.d.ts +4 -0
  112. package/dist/tools/search.tools.d.ts.map +1 -0
  113. package/dist/tools/search.tools.js +22 -0
  114. package/dist/tools/search.tools.js.map +1 -0
  115. package/dist/tools/static-table.tools.d.ts +4 -0
  116. package/dist/tools/static-table.tools.d.ts.map +1 -0
  117. package/dist/tools/static-table.tools.js +47 -0
  118. package/dist/tools/static-table.tools.js.map +1 -0
  119. package/dist/tools/trade.tools.d.ts +4 -0
  120. package/dist/tools/trade.tools.d.ts.map +1 -0
  121. package/dist/tools/trade.tools.js +25 -0
  122. package/dist/tools/trade.tools.js.map +1 -0
  123. package/dist/tools/utility.tools.d.ts +4 -0
  124. package/dist/tools/utility.tools.d.ts.map +1 -0
  125. package/dist/tools/utility.tools.js +10 -0
  126. package/dist/tools/utility.tools.js.map +1 -0
  127. package/dist/transport/stdio.d.ts +3 -0
  128. package/dist/transport/stdio.d.ts.map +1 -0
  129. package/dist/transport/stdio.js +9 -0
  130. package/dist/transport/stdio.js.map +1 -0
  131. package/dist/utils/error.d.ts +13 -0
  132. package/dist/utils/error.d.ts.map +1 -0
  133. package/dist/utils/error.js +38 -0
  134. package/dist/utils/error.js.map +1 -0
  135. package/dist/utils/logger.d.ts +12 -0
  136. package/dist/utils/logger.d.ts.map +1 -0
  137. package/dist/utils/logger.js +47 -0
  138. package/dist/utils/logger.js.map +1 -0
  139. package/dist/utils/pagination.d.ts +11 -0
  140. package/dist/utils/pagination.d.ts.map +1 -0
  141. package/dist/utils/pagination.js +19 -0
  142. package/dist/utils/pagination.js.map +1 -0
  143. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -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,6 @@
1
+ /**
2
+ * Common aliases for Indonesian regions.
3
+ * Maps informal/abbreviated names to BPS domain codes.
4
+ */
5
+ export declare const DOMAIN_ALIASES: Record<string, string>;
6
+ //# sourceMappingURL=domain-aliases.d.ts.map
@@ -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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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerPrompts(server: McpServer): void;
3
+ //# sourceMappingURL=analysis.prompts.d.ts.map
@@ -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"}