@cenogram/mcp-server 0.1.7 → 0.5.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 +28 -24
- package/dist/api-client.d.ts +687 -7
- package/dist/api-client.js +202 -25
- package/dist/auth-dispatch.d.ts +59 -0
- package/dist/auth-dispatch.js +141 -0
- package/dist/client-id.js +0 -5
- package/dist/error-messages.d.ts +12 -0
- package/dist/error-messages.js +80 -0
- package/dist/formatters.d.ts +21 -1
- package/dist/formatters.js +1133 -24
- package/dist/index.d.ts +1 -0
- package/dist/index.js +149 -44
- package/dist/mappings.d.ts +12 -5
- package/dist/mappings.js +135 -17
- package/dist/oauth-jwt.d.ts +19 -0
- package/dist/oauth-jwt.js +63 -0
- package/dist/request-context.d.ts +5 -0
- package/dist/request-context.js +2 -0
- package/dist/sentry-scrub.d.ts +2 -0
- package/dist/sentry-scrub.js +14 -0
- package/dist/sentry.d.ts +2 -0
- package/dist/sentry.js +29 -0
- package/dist/tools.d.ts +1 -0
- package/dist/tools.js +544 -81
- package/dist/transport-mode.d.ts +2 -0
- package/dist/transport-mode.js +6 -0
- package/package.json +16 -7
package/dist/api-client.d.ts
CHANGED
|
@@ -44,14 +44,39 @@ export interface Transaction {
|
|
|
44
44
|
floor: number | null;
|
|
45
45
|
district: string | null;
|
|
46
46
|
street: string | null;
|
|
47
|
+
address_source?: "rcn" | "approx_high" | "approx_low" | "none" | null;
|
|
47
48
|
building_number: string | null;
|
|
48
49
|
city: string | null;
|
|
49
50
|
parcel_area: number | null;
|
|
50
51
|
unit_function: number | null;
|
|
52
|
+
is_garage?: boolean | null;
|
|
53
|
+
area_basis?: "unit" | "building" | null;
|
|
51
54
|
parcel_id: string | null;
|
|
52
55
|
parcel_number: string | null;
|
|
53
56
|
county_name: string | null;
|
|
54
57
|
voivodeship_name: string | null;
|
|
58
|
+
share_basis?: "full" | "fraction" | "ambiguous" | null;
|
|
59
|
+
parcel_count?: number | null;
|
|
60
|
+
area_is_ha_converted?: boolean | null;
|
|
61
|
+
property_type_inferred?: boolean | null;
|
|
62
|
+
property_type_reclassed?: boolean | null;
|
|
63
|
+
ownership_type?: number | null;
|
|
64
|
+
ownership_share?: string | null;
|
|
65
|
+
seller_type?: number | null;
|
|
66
|
+
buyer_type?: number | null;
|
|
67
|
+
land_use?: string | null;
|
|
68
|
+
unit_price?: number | string | null;
|
|
69
|
+
vat?: number | string | null;
|
|
70
|
+
building_count?: number | null;
|
|
71
|
+
footprint_area_m2?: number | null;
|
|
72
|
+
est_total_area_m2?: number | null;
|
|
73
|
+
building_storeys?: number | null;
|
|
74
|
+
flood_risk?: "high" | "medium" | "low" | null;
|
|
75
|
+
flood_assessed?: boolean | null;
|
|
76
|
+
heritage_status?: "listed" | "zone" | null;
|
|
77
|
+
heritage_assessed?: boolean | null;
|
|
78
|
+
landslide_risk?: "landslide" | "threatened" | null;
|
|
79
|
+
landslide_assessed?: boolean | null;
|
|
55
80
|
centroid: {
|
|
56
81
|
type: string;
|
|
57
82
|
coordinates: [number, number];
|
|
@@ -86,6 +111,230 @@ export interface HistogramBin {
|
|
|
86
111
|
range_min: number;
|
|
87
112
|
range_max: number;
|
|
88
113
|
}
|
|
114
|
+
export interface Percentiles {
|
|
115
|
+
p10: number | null;
|
|
116
|
+
p25: number | null;
|
|
117
|
+
p50: number | null;
|
|
118
|
+
p75: number | null;
|
|
119
|
+
p90: number | null;
|
|
120
|
+
}
|
|
121
|
+
export interface LocationRef {
|
|
122
|
+
name: string;
|
|
123
|
+
country_code: "PL";
|
|
124
|
+
location_type: "city" | "county";
|
|
125
|
+
teryt: string;
|
|
126
|
+
}
|
|
127
|
+
export interface TxWindow {
|
|
128
|
+
from: string | null;
|
|
129
|
+
to: string | null;
|
|
130
|
+
}
|
|
131
|
+
export interface RentalYieldResponse {
|
|
132
|
+
location: LocationRef;
|
|
133
|
+
metric: "indicative_gross_rental_yield";
|
|
134
|
+
currency: "PLN";
|
|
135
|
+
segment: {
|
|
136
|
+
market_type: "primary" | "secondary" | "all";
|
|
137
|
+
property_type: "apartment";
|
|
138
|
+
area_bucket: string | null;
|
|
139
|
+
};
|
|
140
|
+
result: {
|
|
141
|
+
gross_yield_pct: number | null;
|
|
142
|
+
calculation_method: "ratio_of_market_medians";
|
|
143
|
+
matched_observations: false;
|
|
144
|
+
};
|
|
145
|
+
inputs: {
|
|
146
|
+
rent: {
|
|
147
|
+
median_monthly_asking_per_m2: number | null;
|
|
148
|
+
annualized_per_m2: number | null;
|
|
149
|
+
sample_n: number | null;
|
|
150
|
+
snapshot_date: string | null;
|
|
151
|
+
};
|
|
152
|
+
transaction: {
|
|
153
|
+
median_price_per_m2: number | null;
|
|
154
|
+
sample_n: number | null;
|
|
155
|
+
window: TxWindow;
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
distribution: {
|
|
159
|
+
asking_rent_monthly_per_m2: Percentiles;
|
|
160
|
+
transaction_price_per_m2: Percentiles;
|
|
161
|
+
};
|
|
162
|
+
assumptions: {
|
|
163
|
+
vacancy_included: false;
|
|
164
|
+
tax_included: false;
|
|
165
|
+
maintenance_included: false;
|
|
166
|
+
transaction_costs_included: false;
|
|
167
|
+
};
|
|
168
|
+
quality: {
|
|
169
|
+
coverage: "full" | "low_sample" | "no_rental_data" | "suppressed" | "data_stale";
|
|
170
|
+
confidence: "high" | "low";
|
|
171
|
+
as_of: string | null;
|
|
172
|
+
stale: boolean;
|
|
173
|
+
notes: string[];
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
export interface RentalYieldLocation {
|
|
177
|
+
location: string;
|
|
178
|
+
county_code: string;
|
|
179
|
+
voivodeship: string;
|
|
180
|
+
type: "city" | "county";
|
|
181
|
+
rent_sample_n: number;
|
|
182
|
+
confidence: "high" | "low";
|
|
183
|
+
}
|
|
184
|
+
export interface RentalYieldLocationsResponse {
|
|
185
|
+
data: RentalYieldLocation[];
|
|
186
|
+
meta: {
|
|
187
|
+
total: number;
|
|
188
|
+
snapshot_date: string | null;
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
export interface PriceSpreadResponse {
|
|
192
|
+
location: LocationRef;
|
|
193
|
+
metric: "asking_to_transaction_price_spread";
|
|
194
|
+
currency: "PLN";
|
|
195
|
+
segment: {
|
|
196
|
+
market_type: "primary" | "secondary" | "all";
|
|
197
|
+
property_type: "apartment";
|
|
198
|
+
area_bucket: string | null;
|
|
199
|
+
};
|
|
200
|
+
result: {
|
|
201
|
+
spread_pct: number | null;
|
|
202
|
+
calculation_method: "relative_difference_of_market_medians";
|
|
203
|
+
matched_observations: false;
|
|
204
|
+
};
|
|
205
|
+
inputs: {
|
|
206
|
+
asking: {
|
|
207
|
+
median_price_per_m2: number | null;
|
|
208
|
+
sample_n: number | null;
|
|
209
|
+
snapshot_date: string | null;
|
|
210
|
+
window?: TxWindow;
|
|
211
|
+
};
|
|
212
|
+
transaction: {
|
|
213
|
+
median_price_per_m2: number | null;
|
|
214
|
+
sample_n: number | null;
|
|
215
|
+
window: TxWindow;
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
distribution: {
|
|
219
|
+
asking_sale_per_m2: Percentiles;
|
|
220
|
+
transaction_price_per_m2: Percentiles;
|
|
221
|
+
};
|
|
222
|
+
quality: {
|
|
223
|
+
coverage: "full" | "low_sample" | "no_asking_data" | "suppressed" | "data_stale";
|
|
224
|
+
confidence: "high" | "low";
|
|
225
|
+
as_of: string | null;
|
|
226
|
+
stale: boolean;
|
|
227
|
+
notes: string[];
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
export interface PriceSpreadLocation {
|
|
231
|
+
location: string;
|
|
232
|
+
county_code: string;
|
|
233
|
+
voivodeship: string;
|
|
234
|
+
type: "city" | "county";
|
|
235
|
+
asking_sample_n: number;
|
|
236
|
+
confidence: "high" | "low";
|
|
237
|
+
}
|
|
238
|
+
export interface PriceSpreadLocationsResponse {
|
|
239
|
+
data: PriceSpreadLocation[];
|
|
240
|
+
meta: {
|
|
241
|
+
total: number;
|
|
242
|
+
snapshot_date: string | null;
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
export interface DemographicsIndicator {
|
|
246
|
+
name: string;
|
|
247
|
+
unit: string;
|
|
248
|
+
variable_id: number | null;
|
|
249
|
+
category: string;
|
|
250
|
+
level: string;
|
|
251
|
+
values: Record<string, number>;
|
|
252
|
+
note?: string;
|
|
253
|
+
derived?: boolean;
|
|
254
|
+
snapshot?: boolean;
|
|
255
|
+
snapshot_note?: string;
|
|
256
|
+
}
|
|
257
|
+
export interface DemographicsResponse {
|
|
258
|
+
location: {
|
|
259
|
+
name: string | null;
|
|
260
|
+
country_code: "PL";
|
|
261
|
+
location_type: "city" | "county" | "municipality" | "voivodeship";
|
|
262
|
+
teryt: string;
|
|
263
|
+
level: string;
|
|
264
|
+
hierarchy?: Record<string, {
|
|
265
|
+
teryt: string | null;
|
|
266
|
+
name: string;
|
|
267
|
+
}>;
|
|
268
|
+
};
|
|
269
|
+
coverage: "full" | "no_data";
|
|
270
|
+
indicators: Record<string, DemographicsIndicator>;
|
|
271
|
+
meta: {
|
|
272
|
+
variables_count: number;
|
|
273
|
+
categories: string[];
|
|
274
|
+
levels_included: string[];
|
|
275
|
+
data_source: string;
|
|
276
|
+
as_of: string | null;
|
|
277
|
+
};
|
|
278
|
+
demo?: boolean;
|
|
279
|
+
}
|
|
280
|
+
export declare function getDemographics(params: {
|
|
281
|
+
location?: string;
|
|
282
|
+
teryt?: string;
|
|
283
|
+
year?: number;
|
|
284
|
+
yearFrom?: number;
|
|
285
|
+
yearTo?: number;
|
|
286
|
+
category?: string;
|
|
287
|
+
}, apiKey?: string): Promise<ApiResponse<DemographicsResponse>>;
|
|
288
|
+
export interface InfraTender {
|
|
289
|
+
title: string;
|
|
290
|
+
category: string;
|
|
291
|
+
notice_type: string;
|
|
292
|
+
published_at: string;
|
|
293
|
+
value_pln: number | null;
|
|
294
|
+
value_kind: string | null;
|
|
295
|
+
attribution_confidence: string | null;
|
|
296
|
+
bzp_url: string | null;
|
|
297
|
+
}
|
|
298
|
+
export interface InfrastructureSignalsResponse {
|
|
299
|
+
location: {
|
|
300
|
+
name: string | null;
|
|
301
|
+
country_code: "PL";
|
|
302
|
+
location_type: "city" | "county" | "municipality";
|
|
303
|
+
teryt: string;
|
|
304
|
+
level: string;
|
|
305
|
+
};
|
|
306
|
+
coverage: "full" | "partial" | "no_data";
|
|
307
|
+
tenders: {
|
|
308
|
+
window_months: number;
|
|
309
|
+
by_category: Record<string, number>;
|
|
310
|
+
recent: InfraTender[];
|
|
311
|
+
truncated: boolean;
|
|
312
|
+
};
|
|
313
|
+
kposk: {
|
|
314
|
+
in_agglomeration: boolean;
|
|
315
|
+
agglomerations: Array<{
|
|
316
|
+
name: string;
|
|
317
|
+
rlm: number | null;
|
|
318
|
+
}>;
|
|
319
|
+
truncated: boolean;
|
|
320
|
+
};
|
|
321
|
+
capex: {
|
|
322
|
+
by_year: Record<string, {
|
|
323
|
+
value_pln: number;
|
|
324
|
+
doc_category: string;
|
|
325
|
+
resolution_date: string | null;
|
|
326
|
+
gmina_count: number;
|
|
327
|
+
}>;
|
|
328
|
+
};
|
|
329
|
+
meta: {
|
|
330
|
+
coverage_note: string;
|
|
331
|
+
as_of: string | null;
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
export declare function getInfrastructureSignals(params: {
|
|
335
|
+
location?: string;
|
|
336
|
+
teryt?: string;
|
|
337
|
+
}, apiKey?: string): Promise<ApiResponse<InfrastructureSignalsResponse>>;
|
|
89
338
|
export interface CreditInfo {
|
|
90
339
|
balance: number;
|
|
91
340
|
cost: number;
|
|
@@ -94,18 +343,28 @@ export interface ApiResponse<T> {
|
|
|
94
343
|
data: T;
|
|
95
344
|
creditInfo: CreditInfo | null;
|
|
96
345
|
}
|
|
346
|
+
export declare const OAUTH_CTX_PREFIX = "\u0001";
|
|
347
|
+
export declare function encodeOAuthCtx(userId: string, grantId: string): string;
|
|
348
|
+
export declare function decodeOAuthCtx(key: string): {
|
|
349
|
+
userId: string;
|
|
350
|
+
grantId: string;
|
|
351
|
+
} | null;
|
|
352
|
+
export declare function parseRetryAfterSeconds(headerValue: string | null | undefined): number | null;
|
|
353
|
+
export declare function formatRetryAfter(seconds: number): string;
|
|
97
354
|
export declare function fetchApi<T>(path: string, params?: Record<string, string>, apiKey?: string): Promise<ApiResponse<T>>;
|
|
98
355
|
export declare function fetchApiPost<T>(path: string, body: unknown, apiKey?: string): Promise<ApiResponse<T>>;
|
|
99
356
|
export declare function getStats(apiKey?: string): Promise<ApiResponse<StatsResponse>>;
|
|
100
357
|
export interface TransactionParams {
|
|
101
358
|
district?: string;
|
|
359
|
+
teryt?: string;
|
|
102
360
|
street?: string;
|
|
103
361
|
buildingNumber?: string;
|
|
104
362
|
parcelId?: string;
|
|
105
363
|
propertyType?: number;
|
|
106
364
|
marketType?: number;
|
|
107
|
-
unitFunction?: number;
|
|
108
|
-
buildingType?: number;
|
|
365
|
+
unitFunction?: number | string;
|
|
366
|
+
buildingType?: number | string;
|
|
367
|
+
ownershipType?: number | string;
|
|
109
368
|
mpzpDesignation?: string;
|
|
110
369
|
minPrice?: number;
|
|
111
370
|
maxPrice?: number;
|
|
@@ -114,6 +373,12 @@ export interface TransactionParams {
|
|
|
114
373
|
minArea?: number;
|
|
115
374
|
maxArea?: number;
|
|
116
375
|
bbox?: string;
|
|
376
|
+
transactionType?: string;
|
|
377
|
+
rooms?: string;
|
|
378
|
+
floor?: string;
|
|
379
|
+
floodRisk?: string;
|
|
380
|
+
heritageStatus?: string;
|
|
381
|
+
landslideRisk?: string;
|
|
117
382
|
limit?: number;
|
|
118
383
|
page?: number;
|
|
119
384
|
sort?: string;
|
|
@@ -123,9 +388,98 @@ export declare function getTransactions(p: TransactionParams, apiKey?: string):
|
|
|
123
388
|
export declare function getTransactionsSummary(p: TransactionParams, apiKey?: string): Promise<ApiResponse<TransactionsSummary>>;
|
|
124
389
|
export declare function getPricePerM2(apiKey?: string): Promise<ApiResponse<PricePerM2Row[]>>;
|
|
125
390
|
export declare function getDistricts(apiKey?: string): Promise<ApiResponse<string[]>>;
|
|
391
|
+
export declare function getRentalYield(params: {
|
|
392
|
+
location?: string;
|
|
393
|
+
teryt?: string;
|
|
394
|
+
areaBucket?: string;
|
|
395
|
+
}, apiKey?: string): Promise<ApiResponse<RentalYieldResponse>>;
|
|
396
|
+
export declare function getRentalYieldLocations(params: {
|
|
397
|
+
search?: string;
|
|
398
|
+
}, apiKey?: string): Promise<ApiResponse<RentalYieldLocationsResponse>>;
|
|
399
|
+
export declare function getPriceSpread(params: {
|
|
400
|
+
location?: string;
|
|
401
|
+
teryt?: string;
|
|
402
|
+
marketType?: string;
|
|
403
|
+
areaBucket?: string;
|
|
404
|
+
}, apiKey?: string): Promise<ApiResponse<PriceSpreadResponse>>;
|
|
405
|
+
export declare function getPriceSpreadLocations(params: {
|
|
406
|
+
search?: string;
|
|
407
|
+
}, apiKey?: string): Promise<ApiResponse<PriceSpreadLocationsResponse>>;
|
|
408
|
+
export interface ValuationComparable {
|
|
409
|
+
distance_m: number;
|
|
410
|
+
transaction_date: string;
|
|
411
|
+
area_m2: number;
|
|
412
|
+
price_per_m2: number;
|
|
413
|
+
rooms: number | null;
|
|
414
|
+
floor: number | null;
|
|
415
|
+
market_type: "primary" | "secondary" | null;
|
|
416
|
+
district: string | null;
|
|
417
|
+
has_unit_number: boolean;
|
|
418
|
+
unit_number?: string | null;
|
|
419
|
+
}
|
|
420
|
+
export interface ValuationResponse {
|
|
421
|
+
location: {
|
|
422
|
+
country_code: string;
|
|
423
|
+
lat: number | null;
|
|
424
|
+
lng: number | null;
|
|
425
|
+
county_code: string | null;
|
|
426
|
+
};
|
|
427
|
+
metric: string;
|
|
428
|
+
currency: string;
|
|
429
|
+
segment: {
|
|
430
|
+
property_type: string;
|
|
431
|
+
market_type: "primary" | "secondary" | "all";
|
|
432
|
+
area_m2: number;
|
|
433
|
+
rooms: number | null;
|
|
434
|
+
};
|
|
435
|
+
result: {
|
|
436
|
+
estimated_value: number | null;
|
|
437
|
+
price_per_m2: number | null;
|
|
438
|
+
value_range_likely: {
|
|
439
|
+
low: number | null;
|
|
440
|
+
high: number | null;
|
|
441
|
+
};
|
|
442
|
+
value_range_wide: {
|
|
443
|
+
low: number | null;
|
|
444
|
+
high: number | null;
|
|
445
|
+
};
|
|
446
|
+
confidence: number | null;
|
|
447
|
+
confidence_band: "high" | "medium" | "low" | null;
|
|
448
|
+
};
|
|
449
|
+
inputs: {
|
|
450
|
+
comps_total: number;
|
|
451
|
+
radius_m: number | null;
|
|
452
|
+
window_months: number;
|
|
453
|
+
comparables: ValuationComparable[] | null;
|
|
454
|
+
};
|
|
455
|
+
quality: {
|
|
456
|
+
coverage: "covered" | "no_data" | "not_covered";
|
|
457
|
+
as_of: string | null;
|
|
458
|
+
price_basis: "apartment" | "deed";
|
|
459
|
+
ess: number | null;
|
|
460
|
+
accuracy_segment: "wwa" | "duze" | "srednie" | "male" | null;
|
|
461
|
+
note: string;
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
export declare function getValuation(params: {
|
|
465
|
+
lat?: number;
|
|
466
|
+
lng?: number;
|
|
467
|
+
parcelId?: string;
|
|
468
|
+
area: number;
|
|
469
|
+
rooms?: number;
|
|
470
|
+
market?: "primary" | "secondary";
|
|
471
|
+
includeComps?: boolean;
|
|
472
|
+
}, apiKey?: string): Promise<ApiResponse<ValuationResponse>>;
|
|
473
|
+
export interface LocationItem {
|
|
474
|
+
code: string;
|
|
475
|
+
name: string;
|
|
476
|
+
typeName: string | null;
|
|
477
|
+
level: "voivodeship" | "county" | "municipality" | "precinct";
|
|
478
|
+
}
|
|
479
|
+
export declare function getLocations(parent?: string, apiKey?: string): Promise<ApiResponse<LocationItem[]>>;
|
|
126
480
|
export declare function getPriceHistogram(bins?: number, max?: number, apiKey?: string): Promise<ApiResponse<HistogramBin[]>>;
|
|
127
481
|
export interface ParcelSearchResult {
|
|
128
|
-
parcel_id
|
|
482
|
+
parcel_id?: string;
|
|
129
483
|
district: string | null;
|
|
130
484
|
area_m2: number | null;
|
|
131
485
|
lat: number;
|
|
@@ -135,6 +489,140 @@ export interface ParcelSearchResponse {
|
|
|
135
489
|
results: ParcelSearchResult[];
|
|
136
490
|
}
|
|
137
491
|
export declare function searchParcels(q: string, limit?: number, apiKey?: string): Promise<ApiResponse<ParcelSearchResponse>>;
|
|
492
|
+
export interface ParcelResolveMatch {
|
|
493
|
+
id: string;
|
|
494
|
+
parcel_id: string | null;
|
|
495
|
+
parcel_key: string | null;
|
|
496
|
+
district: string | null;
|
|
497
|
+
county_code: string | null;
|
|
498
|
+
parcel_number: string | null;
|
|
499
|
+
area_m2: number | null;
|
|
500
|
+
has_geometry: boolean;
|
|
501
|
+
centroid: {
|
|
502
|
+
lat: number;
|
|
503
|
+
lng: number;
|
|
504
|
+
} | null;
|
|
505
|
+
}
|
|
506
|
+
export interface ParcelResolveResponse {
|
|
507
|
+
query: {
|
|
508
|
+
mode: string;
|
|
509
|
+
q?: string;
|
|
510
|
+
parcelId?: string;
|
|
511
|
+
lat?: number;
|
|
512
|
+
lng?: number;
|
|
513
|
+
};
|
|
514
|
+
coverage: "covered" | "not_covered";
|
|
515
|
+
as_of: string | null;
|
|
516
|
+
matches: ParcelResolveMatch[];
|
|
517
|
+
truncated: boolean;
|
|
518
|
+
}
|
|
519
|
+
export interface ResolveParcelParams {
|
|
520
|
+
q?: string;
|
|
521
|
+
parcelId?: string;
|
|
522
|
+
lat?: number;
|
|
523
|
+
lng?: number;
|
|
524
|
+
}
|
|
525
|
+
export declare function resolveParcel(params: ResolveParcelParams, apiKey?: string): Promise<ApiResponse<ParcelResolveResponse>>;
|
|
526
|
+
export interface ReportMarketLevel {
|
|
527
|
+
coverage: string;
|
|
528
|
+
median_price_per_m2: number | null;
|
|
529
|
+
n: number;
|
|
530
|
+
county_code?: string | null;
|
|
531
|
+
district?: string | null;
|
|
532
|
+
}
|
|
533
|
+
export interface ReportMarketContext {
|
|
534
|
+
coverage: string;
|
|
535
|
+
as_of: string | null;
|
|
536
|
+
county: ReportMarketLevel;
|
|
537
|
+
locality: ReportMarketLevel;
|
|
538
|
+
note?: string | null;
|
|
539
|
+
}
|
|
540
|
+
export interface ReportDemographicsSection {
|
|
541
|
+
coverage: string;
|
|
542
|
+
as_of: string | null;
|
|
543
|
+
name: string | null;
|
|
544
|
+
indicators: Record<string, DemographicsIndicator>;
|
|
545
|
+
}
|
|
546
|
+
export interface ReportInfraSection {
|
|
547
|
+
coverage: string;
|
|
548
|
+
as_of: string | null;
|
|
549
|
+
gmina_name: string | null;
|
|
550
|
+
tenders: {
|
|
551
|
+
window_months: number;
|
|
552
|
+
by_category: Record<string, number>;
|
|
553
|
+
recent: InfraTender[];
|
|
554
|
+
truncated: boolean;
|
|
555
|
+
};
|
|
556
|
+
kposk: {
|
|
557
|
+
in_agglomeration: boolean;
|
|
558
|
+
agglomerations: Array<{
|
|
559
|
+
name: string;
|
|
560
|
+
rlm: number | null;
|
|
561
|
+
}>;
|
|
562
|
+
truncated: boolean;
|
|
563
|
+
};
|
|
564
|
+
capex: {
|
|
565
|
+
by_year: Record<string, unknown>;
|
|
566
|
+
};
|
|
567
|
+
note?: string | null;
|
|
568
|
+
}
|
|
569
|
+
export interface ReportLocationContext {
|
|
570
|
+
coverage: string;
|
|
571
|
+
as_of: string | null;
|
|
572
|
+
gmina_teryt: string | null;
|
|
573
|
+
demographics: ReportDemographicsSection;
|
|
574
|
+
infra_signals: ReportInfraSection;
|
|
575
|
+
note?: string | null;
|
|
576
|
+
}
|
|
577
|
+
export interface ReportSection {
|
|
578
|
+
coverage: string;
|
|
579
|
+
as_of: string | null;
|
|
580
|
+
note?: string | null;
|
|
581
|
+
[key: string]: unknown;
|
|
582
|
+
}
|
|
583
|
+
export interface ParcelReportResponse {
|
|
584
|
+
parcel: {
|
|
585
|
+
id: string | null;
|
|
586
|
+
parcel_id: string | null;
|
|
587
|
+
parcel_key: string | null;
|
|
588
|
+
district?: string | null;
|
|
589
|
+
county_code?: string | null;
|
|
590
|
+
county_name?: string | null;
|
|
591
|
+
voivodeship_name?: string | null;
|
|
592
|
+
parcel_number?: string | null;
|
|
593
|
+
area_m2?: number | null;
|
|
594
|
+
land_use?: string | null;
|
|
595
|
+
mpzp_designation?: string | null;
|
|
596
|
+
has_geometry?: boolean;
|
|
597
|
+
centroid?: {
|
|
598
|
+
lat: number;
|
|
599
|
+
lng: number;
|
|
600
|
+
} | null;
|
|
601
|
+
};
|
|
602
|
+
coverage: string;
|
|
603
|
+
as_of: string | null;
|
|
604
|
+
sections: {
|
|
605
|
+
transactions: ReportSection;
|
|
606
|
+
flood: ReportSection;
|
|
607
|
+
heritage: ReportSection;
|
|
608
|
+
landslide: ReportSection;
|
|
609
|
+
surroundings: ReportSection;
|
|
610
|
+
transit: ReportSection;
|
|
611
|
+
planning: ReportSection;
|
|
612
|
+
buildings: ReportSection;
|
|
613
|
+
permits: ReportSection;
|
|
614
|
+
farmland: ReportSection;
|
|
615
|
+
market_context: ReportMarketContext;
|
|
616
|
+
location_context: ReportLocationContext;
|
|
617
|
+
};
|
|
618
|
+
billing: {
|
|
619
|
+
charged: number;
|
|
620
|
+
refunded: number;
|
|
621
|
+
rule: string;
|
|
622
|
+
};
|
|
623
|
+
note?: string | null;
|
|
624
|
+
}
|
|
625
|
+
export declare function getParcelReport(parcelKey: string, apiKey?: string): Promise<ApiResponse<ParcelReportResponse>>;
|
|
138
626
|
export interface SpatialSearchParams {
|
|
139
627
|
polygon: {
|
|
140
628
|
type: "Polygon";
|
|
@@ -142,8 +630,9 @@ export interface SpatialSearchParams {
|
|
|
142
630
|
};
|
|
143
631
|
propertyType?: number;
|
|
144
632
|
marketType?: number;
|
|
145
|
-
unitFunction?: number;
|
|
146
|
-
buildingType?: number;
|
|
633
|
+
unitFunction?: number | string;
|
|
634
|
+
buildingType?: number | string;
|
|
635
|
+
ownershipType?: number | string;
|
|
147
636
|
mpzpDesignation?: string;
|
|
148
637
|
minPrice?: number;
|
|
149
638
|
maxPrice?: number;
|
|
@@ -153,6 +642,9 @@ export interface SpatialSearchParams {
|
|
|
153
642
|
maxArea?: number;
|
|
154
643
|
district?: string;
|
|
155
644
|
street?: string;
|
|
645
|
+
transactionType?: string;
|
|
646
|
+
rooms?: string;
|
|
647
|
+
floor?: string;
|
|
156
648
|
limit?: number;
|
|
157
649
|
}
|
|
158
650
|
export interface SpatialFeatureProperties {
|
|
@@ -166,11 +658,30 @@ export interface SpatialFeatureProperties {
|
|
|
166
658
|
rooms: number | null;
|
|
167
659
|
floor: number | null;
|
|
168
660
|
street: string | null;
|
|
661
|
+
address_source?: "rcn" | "approx_high" | "approx_low" | "none" | null;
|
|
169
662
|
building_number: string | null;
|
|
170
663
|
city: string | null;
|
|
171
664
|
district: string | null;
|
|
172
665
|
parcel_area: number | null;
|
|
173
666
|
parcel_number: string | null;
|
|
667
|
+
share_basis?: "full" | "fraction" | "ambiguous" | null;
|
|
668
|
+
is_garage?: boolean | null;
|
|
669
|
+
area_basis?: "unit" | "building" | null;
|
|
670
|
+
parcel_count?: number | null;
|
|
671
|
+
area_is_ha_converted?: boolean | null;
|
|
672
|
+
property_type_inferred?: boolean | null;
|
|
673
|
+
property_type_reclassed?: boolean | null;
|
|
674
|
+
ownership_type?: number | null;
|
|
675
|
+
ownership_share?: string | null;
|
|
676
|
+
seller_type?: number | null;
|
|
677
|
+
buyer_type?: number | null;
|
|
678
|
+
land_use?: string | null;
|
|
679
|
+
unit_price?: number | string | null;
|
|
680
|
+
vat?: number | string | null;
|
|
681
|
+
building_count?: number | null;
|
|
682
|
+
footprint_area_m2?: number | null;
|
|
683
|
+
est_total_area_m2?: number | null;
|
|
684
|
+
building_storeys?: number | null;
|
|
174
685
|
}
|
|
175
686
|
export interface SpatialFeature {
|
|
176
687
|
type: "Feature";
|
|
@@ -187,6 +698,14 @@ export interface SpatialSearchResponse {
|
|
|
187
698
|
total: number;
|
|
188
699
|
}
|
|
189
700
|
export declare function searchByPolygon(p: SpatialSearchParams, apiKey?: string): Promise<ApiResponse<SpatialSearchResponse>>;
|
|
701
|
+
export interface CompareDemographicsIndicator {
|
|
702
|
+
value: number | null;
|
|
703
|
+
year: number | null;
|
|
704
|
+
unit: string;
|
|
705
|
+
derived?: boolean;
|
|
706
|
+
cross_source?: boolean;
|
|
707
|
+
note?: string;
|
|
708
|
+
}
|
|
190
709
|
export interface CompareEntry {
|
|
191
710
|
median_price_m2: number | null;
|
|
192
711
|
avg_area: number | null;
|
|
@@ -194,14 +713,16 @@ export interface CompareEntry {
|
|
|
194
713
|
max_date: string | null;
|
|
195
714
|
total: number;
|
|
196
715
|
suggestions?: string[];
|
|
716
|
+
demographics?: Record<string, CompareDemographicsIndicator>;
|
|
197
717
|
}
|
|
198
718
|
export type CompareResponse = Record<string, CompareEntry>;
|
|
199
719
|
export interface CompareParams {
|
|
200
720
|
districts: string;
|
|
201
721
|
propertyType?: number;
|
|
202
722
|
marketType?: number;
|
|
203
|
-
unitFunction?: number;
|
|
204
|
-
buildingType?: number;
|
|
723
|
+
unitFunction?: number | string;
|
|
724
|
+
buildingType?: number | string;
|
|
725
|
+
ownershipType?: number | string;
|
|
205
726
|
mpzpDesignation?: string;
|
|
206
727
|
minPrice?: number;
|
|
207
728
|
maxPrice?: number;
|
|
@@ -210,5 +731,164 @@ export interface CompareParams {
|
|
|
210
731
|
minArea?: number;
|
|
211
732
|
maxArea?: number;
|
|
212
733
|
street?: string;
|
|
734
|
+
transactionType?: string;
|
|
735
|
+
rooms?: string;
|
|
736
|
+
floor?: string;
|
|
737
|
+
include?: string;
|
|
213
738
|
}
|
|
214
739
|
export declare function compareLocations(p: CompareParams, apiKey?: string): Promise<ApiResponse<CompareResponse>>;
|
|
740
|
+
export interface BuildingBreakdownRow {
|
|
741
|
+
building_type: number | null;
|
|
742
|
+
footprint_area_m2: number | null;
|
|
743
|
+
footprint_area_alt_m2: number | null;
|
|
744
|
+
footprint_divergent: boolean | null;
|
|
745
|
+
storeys: number | null;
|
|
746
|
+
est_total_area_m2: number | null;
|
|
747
|
+
match_confidence: string | null;
|
|
748
|
+
}
|
|
749
|
+
export interface BuildingBreakdownResponse {
|
|
750
|
+
data: BuildingBreakdownRow[];
|
|
751
|
+
truncated: boolean;
|
|
752
|
+
}
|
|
753
|
+
export declare function getBuildingBreakdown(transactionId: string, apiKey?: string): Promise<ApiResponse<BuildingBreakdownResponse>>;
|
|
754
|
+
export interface FloodScenario {
|
|
755
|
+
scenario: string | null;
|
|
756
|
+
source: string | null;
|
|
757
|
+
returnPeriod: number | null;
|
|
758
|
+
severity: number;
|
|
759
|
+
isLeveeFailure: boolean;
|
|
760
|
+
depthClass: string | null;
|
|
761
|
+
}
|
|
762
|
+
export interface FloodBreakdownRow {
|
|
763
|
+
flood_risk: "high" | "medium" | "low" | null;
|
|
764
|
+
severity_rank: number | null;
|
|
765
|
+
worst_scenario: string | null;
|
|
766
|
+
source: string | null;
|
|
767
|
+
depth_class: string | null;
|
|
768
|
+
pct_in_zone: number | string | null;
|
|
769
|
+
nearest_zone_m: number | null;
|
|
770
|
+
scenarios: FloodScenario[] | null;
|
|
771
|
+
}
|
|
772
|
+
export interface FloodBreakdownResponse {
|
|
773
|
+
data: FloodBreakdownRow[];
|
|
774
|
+
truncated: boolean;
|
|
775
|
+
}
|
|
776
|
+
export declare function getTransactionFlood(transactionId: string, apiKey?: string): Promise<ApiResponse<FloodBreakdownResponse>>;
|
|
777
|
+
export interface HeritageSite {
|
|
778
|
+
category: string;
|
|
779
|
+
name?: string | null;
|
|
780
|
+
function: string | null;
|
|
781
|
+
period: string | null;
|
|
782
|
+
entry_date: string | null;
|
|
783
|
+
}
|
|
784
|
+
export interface HeritageBreakdownRow {
|
|
785
|
+
heritage_status: "listed" | "zone" | null;
|
|
786
|
+
severity_rank: number | null;
|
|
787
|
+
pct_in_zone: number | string | null;
|
|
788
|
+
site_count: number | null;
|
|
789
|
+
sites: HeritageSite[] | null;
|
|
790
|
+
}
|
|
791
|
+
export interface HeritageBreakdownResponse {
|
|
792
|
+
data: HeritageBreakdownRow[];
|
|
793
|
+
truncated: boolean;
|
|
794
|
+
}
|
|
795
|
+
export interface LandslideZone {
|
|
796
|
+
kind: string | null;
|
|
797
|
+
source_version_date: string | null;
|
|
798
|
+
}
|
|
799
|
+
export interface LandslideBreakdownRow {
|
|
800
|
+
landslide_risk: "landslide" | "threatened" | null;
|
|
801
|
+
severity_rank: number | null;
|
|
802
|
+
pct_in_zone: number | string | null;
|
|
803
|
+
zones: LandslideZone[] | null;
|
|
804
|
+
}
|
|
805
|
+
export interface LandslideBreakdownResponse {
|
|
806
|
+
data: LandslideBreakdownRow[];
|
|
807
|
+
truncated: boolean;
|
|
808
|
+
}
|
|
809
|
+
export interface TransitBreakdownRow {
|
|
810
|
+
rail_distance_m: number | null;
|
|
811
|
+
rail_stop_name: string | null;
|
|
812
|
+
metro_distance_m: number | null;
|
|
813
|
+
metro_stop_name: string | null;
|
|
814
|
+
tram_distance_m: number | null;
|
|
815
|
+
tram_stop_name: string | null;
|
|
816
|
+
bus_distance_m: number | null;
|
|
817
|
+
bus_stop_name: string | null;
|
|
818
|
+
}
|
|
819
|
+
export interface TransitBreakdownResponse {
|
|
820
|
+
data: TransitBreakdownRow[];
|
|
821
|
+
truncated: boolean;
|
|
822
|
+
}
|
|
823
|
+
export interface PermitRecord {
|
|
824
|
+
record_kind: "permit" | "notification";
|
|
825
|
+
intent_type: string | null;
|
|
826
|
+
object_category: string | null;
|
|
827
|
+
works_type: string | null;
|
|
828
|
+
status: string | null;
|
|
829
|
+
decision_date: string | null;
|
|
830
|
+
intake_date: string | null;
|
|
831
|
+
authority: string | null;
|
|
832
|
+
address_street: string | null;
|
|
833
|
+
address_number: string | null;
|
|
834
|
+
address_city: string | null;
|
|
835
|
+
volume_m3: number | null;
|
|
836
|
+
}
|
|
837
|
+
export interface PermitsResponse {
|
|
838
|
+
data: PermitRecord[];
|
|
839
|
+
truncated: boolean;
|
|
840
|
+
note?: string;
|
|
841
|
+
}
|
|
842
|
+
export declare function getTransactionHeritage(transactionId: string, apiKey?: string): Promise<ApiResponse<HeritageBreakdownResponse>>;
|
|
843
|
+
export declare function getTransactionLandslide(transactionId: string, apiKey?: string): Promise<ApiResponse<LandslideBreakdownResponse>>;
|
|
844
|
+
export interface SurroundingsRow {
|
|
845
|
+
assessed: boolean;
|
|
846
|
+
cemetery_distance_m: number | string | null;
|
|
847
|
+
landfill_distance_m: number | string | null;
|
|
848
|
+
sewage_treatment_distance_m: number | string | null;
|
|
849
|
+
industrial_area_distance_m: number | string | null;
|
|
850
|
+
industrial_plant_distance_m: number | string | null;
|
|
851
|
+
livestock_farm_distance_m: number | string | null;
|
|
852
|
+
}
|
|
853
|
+
export interface SurroundingsResponse {
|
|
854
|
+
data: SurroundingsRow[];
|
|
855
|
+
truncated?: boolean;
|
|
856
|
+
}
|
|
857
|
+
export declare function getTransactionSurroundings(transactionId: string, apiKey?: string): Promise<ApiResponse<SurroundingsResponse>>;
|
|
858
|
+
export declare function getTransactionTransit(transactionId: string, apiKey?: string): Promise<ApiResponse<TransitBreakdownResponse>>;
|
|
859
|
+
export declare function getTransactionPermits(transactionId: string, apiKey?: string): Promise<ApiResponse<PermitsResponse>>;
|
|
860
|
+
export interface PlanningRow {
|
|
861
|
+
parcel_ord: number;
|
|
862
|
+
kind: string;
|
|
863
|
+
zone_symbol: string | null;
|
|
864
|
+
zone_name: string | null;
|
|
865
|
+
pct_of_parcel: number | string | null;
|
|
866
|
+
max_building_height_m: number | string | null;
|
|
867
|
+
max_development_intensity: number | string | null;
|
|
868
|
+
max_built_up_coverage_pct: number | string | null;
|
|
869
|
+
min_bio_active_area_pct: number | string | null;
|
|
870
|
+
params_mixed: boolean;
|
|
871
|
+
effective_from: string | null;
|
|
872
|
+
}
|
|
873
|
+
export interface PlanningResponse {
|
|
874
|
+
data: PlanningRow[];
|
|
875
|
+
truncated: boolean;
|
|
876
|
+
coverage: "covered" | "covered_no_data" | "not_covered";
|
|
877
|
+
parcels_total: number;
|
|
878
|
+
parcels_covered: number;
|
|
879
|
+
note: string | null;
|
|
880
|
+
}
|
|
881
|
+
export declare function getTransactionPlanning(transactionId: string, apiKey?: string): Promise<ApiResponse<PlanningResponse>>;
|
|
882
|
+
export interface FarmlandRow {
|
|
883
|
+
eligible_area_m2: number;
|
|
884
|
+
pct_of_parcel: number | null;
|
|
885
|
+
feature_count: number;
|
|
886
|
+
}
|
|
887
|
+
export interface FarmlandResponse {
|
|
888
|
+
data: FarmlandRow[];
|
|
889
|
+
truncated: boolean;
|
|
890
|
+
parcels_total: number;
|
|
891
|
+
parcels_with_data: number;
|
|
892
|
+
as_of: string | null;
|
|
893
|
+
}
|
|
894
|
+
export declare function getTransactionFarmland(transactionId: string, apiKey?: string): Promise<ApiResponse<FarmlandResponse>>;
|