@sjunepark/landprice 0.0.2 → 0.0.3
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 +5 -2
- package/dist/app/get-available-years.d.ts +14 -0
- package/dist/app/get-standard-land-price-detail.d.ts +14 -0
- package/dist/app/list-areas.d.ts +14 -0
- package/dist/app/search-individual-land-prices.d.ts +14 -0
- package/dist/app/search-standard-land-prices.d.ts +14 -0
- package/dist/capabilities/get-available-years/contract.d.ts +78 -0
- package/dist/capabilities/get-available-years/execute.d.ts +7 -0
- package/dist/capabilities/get-available-years/provider.d.ts +7 -0
- package/dist/capabilities/get-standard-land-price-detail/contract.d.ts +152 -0
- package/dist/capabilities/get-standard-land-price-detail/execute.d.ts +5 -0
- package/dist/capabilities/get-standard-land-price-detail/provider.d.ts +5 -0
- package/dist/capabilities/list-areas/contract.d.ts +106 -0
- package/dist/capabilities/list-areas/execute.d.ts +5 -0
- package/dist/capabilities/list-areas/provider.d.ts +5 -0
- package/dist/capabilities/request-validation.d.ts +14 -0
- package/dist/capabilities/search-individual-land-prices/contract.d.ts +279 -0
- package/dist/capabilities/search-individual-land-prices/execute.d.ts +5 -0
- package/dist/capabilities/search-individual-land-prices/provider.d.ts +5 -0
- package/dist/capabilities/search-standard-land-prices/contract.d.ts +194 -0
- package/dist/capabilities/search-standard-land-prices/execute.d.ts +5 -0
- package/dist/capabilities/search-standard-land-prices/provider.d.ts +5 -0
- package/dist/capabilities/types.d.ts +143 -0
- package/dist/cli.js +23979 -54
- package/dist/pi-extension.d.ts +6 -0
- package/dist/pi-extension.js +21740 -0
- package/dist/pi.d.ts +33 -0
- package/dist/pi.js +21736 -0
- package/dist/sources/realtyprice/constants.d.ts +2 -0
- package/dist/sources/realtyprice/endpoints.d.ts +14 -0
- package/dist/sources/realtyprice/fetch.d.ts +2 -0
- package/dist/sources/realtyprice/metadata.d.ts +2 -0
- package/dist/sources/realtyprice/provider.d.ts +6 -0
- package/dist/sources/realtyprice/source-helpers.d.ts +19 -0
- package/dist/toolset.d.ts +216 -0
- package/dist/toolset.js +21694 -0
- package/package.json +18 -2
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ landprice search-individual-land-prices --years 2026,2025,2024 --district-code 4
|
|
|
35
35
|
landprice <command> --help
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
명령 성공은 표준 출력에 하나의 JSON 응답 객체로 출력됩니다. 명령
|
|
38
|
+
명령 성공은 표준 출력에 하나의 JSON 응답 객체로 출력됩니다. 명령 실패도 표준 출력에 하나의 JSON 실패 객체를 출력하고 0이 아닌 종료 코드로 끝납니다. 도움말 출력은 사람이 읽기 쉬운 텍스트로 유지됩니다.
|
|
39
39
|
|
|
40
40
|
현재 제공하는 주요 작업은 다음과 같습니다.
|
|
41
41
|
|
|
@@ -74,7 +74,7 @@ landprice get-standard-land-price-detail --reference '{"year":2026,"regCode":"11
|
|
|
74
74
|
|
|
75
75
|
명령 추가, 선택 입력 필드 추가, 결과 필드 추가, 경고나 메타데이터 추가는 호환 가능한 변경입니다.
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
표준 통합 지점은 CLI, 런타임 중립 TypeScript toolset, Pi 어댑터입니다. toolset은 `@sjunepark/landprice/toolset`에서, Pi 어댑터는 `@sjunepark/landprice/pi`에서 가져올 수 있습니다. MCP 서버는 공개 계약으로 제공하지 않습니다.
|
|
78
78
|
|
|
79
79
|
## 주의사항
|
|
80
80
|
|
|
@@ -95,6 +95,9 @@ bun run typecheck
|
|
|
95
95
|
bun test
|
|
96
96
|
bun run build
|
|
97
97
|
node dist/cli.js get-available-years
|
|
98
|
+
|
|
99
|
+
# Package surfaces after build
|
|
100
|
+
node -e "import('./dist/toolset.js').then(({ createLandpriceToolset }) => console.log(createLandpriceToolset().listOperations().length))"
|
|
98
101
|
```
|
|
99
102
|
|
|
100
103
|
릴리스 자동화와 필요한 저장소 설정은 [docs/release.md](docs/release.md)를 참고하세요.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ToolRunContext } from "../capabilities/types.ts";
|
|
2
|
+
import { type GetAvailableYearsResult } from "../capabilities/get-available-years/contract.ts";
|
|
3
|
+
import type { GetAvailableYearsProvider } from "../capabilities/get-available-years/provider.ts";
|
|
4
|
+
export declare const getAvailableYearsOperationName: "get-available-years";
|
|
5
|
+
export declare const getAvailableYearsInputJsonSchema: import("effect/JSONSchema").JsonSchema7Root;
|
|
6
|
+
export declare const getAvailableYearsResultJsonSchema: import("effect/JSONSchema").JsonSchema7Root;
|
|
7
|
+
export type GetAvailableYearsOperation = {
|
|
8
|
+
readonly name: typeof getAvailableYearsOperationName;
|
|
9
|
+
readonly inputJsonSchema: typeof getAvailableYearsInputJsonSchema;
|
|
10
|
+
readonly resultJsonSchema: typeof getAvailableYearsResultJsonSchema;
|
|
11
|
+
readonly execute: (input: Record<string, unknown>, context?: ToolRunContext) => Promise<GetAvailableYearsResult>;
|
|
12
|
+
};
|
|
13
|
+
export declare const createGetAvailableYearsOperation: (provider: GetAvailableYearsProvider) => GetAvailableYearsOperation;
|
|
14
|
+
export declare const defaultGetAvailableYearsOperation: GetAvailableYearsOperation;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ToolRunContext } from "../capabilities/types.ts";
|
|
2
|
+
import { type GetStandardLandPriceDetailResult } from "../capabilities/get-standard-land-price-detail/contract.ts";
|
|
3
|
+
import type { GetStandardLandPriceDetailProvider } from "../capabilities/get-standard-land-price-detail/provider.ts";
|
|
4
|
+
export declare const getStandardLandPriceDetailOperationName: "get-standard-land-price-detail";
|
|
5
|
+
export declare const getStandardLandPriceDetailInputJsonSchema: import("effect/JSONSchema").JsonSchema7Root;
|
|
6
|
+
export declare const getStandardLandPriceDetailResultJsonSchema: import("effect/JSONSchema").JsonSchema7Root;
|
|
7
|
+
export type GetStandardLandPriceDetailOperation = {
|
|
8
|
+
readonly name: typeof getStandardLandPriceDetailOperationName;
|
|
9
|
+
readonly inputJsonSchema: typeof getStandardLandPriceDetailInputJsonSchema;
|
|
10
|
+
readonly resultJsonSchema: typeof getStandardLandPriceDetailResultJsonSchema;
|
|
11
|
+
readonly execute: (input: Record<string, unknown>, context?: ToolRunContext) => Promise<GetStandardLandPriceDetailResult>;
|
|
12
|
+
};
|
|
13
|
+
export declare const createGetStandardLandPriceDetailOperation: (provider: GetStandardLandPriceDetailProvider) => GetStandardLandPriceDetailOperation;
|
|
14
|
+
export declare const defaultGetStandardLandPriceDetailOperation: GetStandardLandPriceDetailOperation;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ToolRunContext } from "../capabilities/types.ts";
|
|
2
|
+
import { type ListAreasResult } from "../capabilities/list-areas/contract.ts";
|
|
3
|
+
import type { ListAreasProvider } from "../capabilities/list-areas/provider.ts";
|
|
4
|
+
export declare const listAreasOperationName: "list-areas";
|
|
5
|
+
export declare const listAreasInputJsonSchema: import("effect/JSONSchema").JsonSchema7Root;
|
|
6
|
+
export declare const listAreasResultJsonSchema: import("effect/JSONSchema").JsonSchema7Root;
|
|
7
|
+
export type ListAreasOperation = {
|
|
8
|
+
readonly name: typeof listAreasOperationName;
|
|
9
|
+
readonly inputJsonSchema: typeof listAreasInputJsonSchema;
|
|
10
|
+
readonly resultJsonSchema: typeof listAreasResultJsonSchema;
|
|
11
|
+
readonly execute: (input: Record<string, unknown>, context?: ToolRunContext) => Promise<ListAreasResult>;
|
|
12
|
+
};
|
|
13
|
+
export declare const createListAreasOperation: (provider: ListAreasProvider) => ListAreasOperation;
|
|
14
|
+
export declare const defaultListAreasOperation: ListAreasOperation;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ToolRunContext } from "../capabilities/types.ts";
|
|
2
|
+
import { type SearchIndividualLandPricesResult } from "../capabilities/search-individual-land-prices/contract.ts";
|
|
3
|
+
import type { SearchIndividualLandPricesProvider } from "../capabilities/search-individual-land-prices/provider.ts";
|
|
4
|
+
export declare const searchIndividualLandPricesOperationName: "search-individual-land-prices";
|
|
5
|
+
export declare const searchIndividualLandPricesInputJsonSchema: import("effect/JSONSchema").JsonSchema7Root;
|
|
6
|
+
export declare const searchIndividualLandPricesResultJsonSchema: import("effect/JSONSchema").JsonSchema7Root;
|
|
7
|
+
export type SearchIndividualLandPricesOperation = {
|
|
8
|
+
readonly name: typeof searchIndividualLandPricesOperationName;
|
|
9
|
+
readonly inputJsonSchema: typeof searchIndividualLandPricesInputJsonSchema;
|
|
10
|
+
readonly resultJsonSchema: typeof searchIndividualLandPricesResultJsonSchema;
|
|
11
|
+
readonly execute: (input: Record<string, unknown>, context?: ToolRunContext) => Promise<SearchIndividualLandPricesResult>;
|
|
12
|
+
};
|
|
13
|
+
export declare const createSearchIndividualLandPricesOperation: (provider: SearchIndividualLandPricesProvider) => SearchIndividualLandPricesOperation;
|
|
14
|
+
export declare const defaultSearchIndividualLandPricesOperation: SearchIndividualLandPricesOperation;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ToolRunContext } from "../capabilities/types.ts";
|
|
2
|
+
import { type SearchStandardLandPricesResult } from "../capabilities/search-standard-land-prices/contract.ts";
|
|
3
|
+
import type { SearchStandardLandPricesProvider } from "../capabilities/search-standard-land-prices/provider.ts";
|
|
4
|
+
export declare const searchStandardLandPricesOperationName: "search-standard-land-prices";
|
|
5
|
+
export declare const searchStandardLandPricesInputJsonSchema: import("effect/JSONSchema").JsonSchema7Root;
|
|
6
|
+
export declare const searchStandardLandPricesResultJsonSchema: import("effect/JSONSchema").JsonSchema7Root;
|
|
7
|
+
export type SearchStandardLandPricesOperation = {
|
|
8
|
+
readonly name: typeof searchStandardLandPricesOperationName;
|
|
9
|
+
readonly inputJsonSchema: typeof searchStandardLandPricesInputJsonSchema;
|
|
10
|
+
readonly resultJsonSchema: typeof searchStandardLandPricesResultJsonSchema;
|
|
11
|
+
readonly execute: (input: Record<string, unknown>, context?: ToolRunContext) => Promise<SearchStandardLandPricesResult>;
|
|
12
|
+
};
|
|
13
|
+
export declare const createSearchStandardLandPricesOperation: (provider: SearchStandardLandPricesProvider) => SearchStandardLandPricesOperation;
|
|
14
|
+
export declare const defaultSearchStandardLandPricesOperation: SearchStandardLandPricesOperation;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { type SuccessEnvelope } from "../types.ts";
|
|
3
|
+
export declare const GetAvailableYearsInputSchema: Schema.Struct<{
|
|
4
|
+
responseDetail: Schema.optional<Schema.Literal<["concise", "raw"]>>;
|
|
5
|
+
}>;
|
|
6
|
+
export type GetAvailableYearsRawInput = typeof GetAvailableYearsInputSchema.Encoded;
|
|
7
|
+
export declare const YearRangeSchema: Schema.Struct<{
|
|
8
|
+
startYear: typeof Schema.Int;
|
|
9
|
+
endYear: typeof Schema.Int;
|
|
10
|
+
years: Schema.Array$<typeof Schema.Int>;
|
|
11
|
+
}>;
|
|
12
|
+
export type YearRange = typeof YearRangeSchema.Type;
|
|
13
|
+
export declare const GetAvailableYearsResultPayloadSchema: Schema.Struct<{
|
|
14
|
+
standardLandSearchYears: Schema.Struct<{
|
|
15
|
+
startYear: typeof Schema.Int;
|
|
16
|
+
endYear: typeof Schema.Int;
|
|
17
|
+
years: Schema.Array$<typeof Schema.Int>;
|
|
18
|
+
}>;
|
|
19
|
+
noticeDateSearchYears: Schema.Struct<{
|
|
20
|
+
startYear: typeof Schema.Int;
|
|
21
|
+
endYear: typeof Schema.Int;
|
|
22
|
+
years: Schema.Array$<typeof Schema.Int>;
|
|
23
|
+
}>;
|
|
24
|
+
sourceObserved: typeof Schema.Boolean;
|
|
25
|
+
raw: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.String>>;
|
|
26
|
+
}>;
|
|
27
|
+
export type GetAvailableYearsResultPayload = typeof GetAvailableYearsResultPayloadSchema.Type;
|
|
28
|
+
export declare const GetAvailableYearsResultSchema: Schema.Struct<{
|
|
29
|
+
result: Schema.Struct<{
|
|
30
|
+
standardLandSearchYears: Schema.Struct<{
|
|
31
|
+
startYear: typeof Schema.Int;
|
|
32
|
+
endYear: typeof Schema.Int;
|
|
33
|
+
years: Schema.Array$<typeof Schema.Int>;
|
|
34
|
+
}>;
|
|
35
|
+
noticeDateSearchYears: Schema.Struct<{
|
|
36
|
+
startYear: typeof Schema.Int;
|
|
37
|
+
endYear: typeof Schema.Int;
|
|
38
|
+
years: Schema.Array$<typeof Schema.Int>;
|
|
39
|
+
}>;
|
|
40
|
+
sourceObserved: typeof Schema.Boolean;
|
|
41
|
+
raw: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.String>>;
|
|
42
|
+
}>;
|
|
43
|
+
metadata: Schema.Struct<{
|
|
44
|
+
sourceSystem: Schema.Literal<["realtyprice"]>;
|
|
45
|
+
sourcePage: Schema.Literal<["https://www.realtyprice.kr/notice/gsstandard/search.htm", "https://www.realtyprice.kr/notice/gsindividual/search.htm"]>;
|
|
46
|
+
endpoint: typeof Schema.String;
|
|
47
|
+
query: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
48
|
+
retrievedAt: typeof Schema.String;
|
|
49
|
+
completeness: Schema.Literal<["complete", "empty", "partial", "unknown"]>;
|
|
50
|
+
sourceBehavior: typeof Schema.String;
|
|
51
|
+
}>;
|
|
52
|
+
references: Schema.Array$<Schema.Struct<{
|
|
53
|
+
type: Schema.Literal<["sourcePage", "endpoint", "area", "standardLandRecord", "individualLandRecord", "detail"]>;
|
|
54
|
+
sourceUrl: typeof Schema.String;
|
|
55
|
+
standardLandReference: Schema.optional<Schema.Struct<{
|
|
56
|
+
year: Schema.refine<number, typeof Schema.Number>;
|
|
57
|
+
regCode: Schema.SchemaClass<string, string, never>;
|
|
58
|
+
eubCode: Schema.SchemaClass<string, string, never>;
|
|
59
|
+
sourceSanFlag: Schema.SchemaClass<string, string, never>;
|
|
60
|
+
bun1: Schema.SchemaClass<string, string, never>;
|
|
61
|
+
bun2: Schema.SchemaClass<string, string, never>;
|
|
62
|
+
standardLandNumber: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
63
|
+
}>>;
|
|
64
|
+
individualLandReference: Schema.optional<Schema.Struct<{
|
|
65
|
+
year: Schema.refine<number, typeof Schema.Number>;
|
|
66
|
+
regCode: Schema.SchemaClass<string, string, never>;
|
|
67
|
+
eubCode: Schema.SchemaClass<string, string, never>;
|
|
68
|
+
sourceSanFlag: Schema.SchemaClass<string, string, never>;
|
|
69
|
+
bun1: Schema.SchemaClass<string, string, never>;
|
|
70
|
+
bun2: Schema.SchemaClass<string, string, never>;
|
|
71
|
+
}>>;
|
|
72
|
+
}>>;
|
|
73
|
+
warnings: Schema.Array$<Schema.Union<[typeof Schema.String, Schema.Struct<{
|
|
74
|
+
code: typeof Schema.String;
|
|
75
|
+
message: typeof Schema.String;
|
|
76
|
+
}>]>>;
|
|
77
|
+
}>;
|
|
78
|
+
export type GetAvailableYearsResult = SuccessEnvelope<GetAvailableYearsResultPayload>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ResponseDetail, type ToolRunContext } from "../types.ts";
|
|
2
|
+
import type { GetAvailableYearsResult } from "./contract.ts";
|
|
3
|
+
import type { GetAvailableYearsProvider } from "./provider.ts";
|
|
4
|
+
export declare const resolveGetAvailableYearsRequest: (input: Record<string, unknown>) => {
|
|
5
|
+
readonly responseDetail: ResponseDetail;
|
|
6
|
+
};
|
|
7
|
+
export declare const executeGetAvailableYears: (input: Record<string, unknown>, provider: GetAvailableYearsProvider, context?: ToolRunContext) => Promise<GetAvailableYearsResult>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ResponseDetail, ToolRunContext } from "../types.ts";
|
|
2
|
+
import type { GetAvailableYearsResult } from "./contract.ts";
|
|
3
|
+
export type GetAvailableYearsProvider = {
|
|
4
|
+
readonly getAvailableYears: (request: {
|
|
5
|
+
readonly responseDetail: ResponseDetail;
|
|
6
|
+
}, context?: ToolRunContext) => Promise<GetAvailableYearsResult>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { type ResponseDetail, type StandardLandReference, type SuccessEnvelope } from "../types.ts";
|
|
3
|
+
export declare const GetStandardLandPriceDetailInputSchema: Schema.Struct<{
|
|
4
|
+
standardLandReference: Schema.Struct<{
|
|
5
|
+
year: Schema.refine<number, typeof Schema.Number>;
|
|
6
|
+
regCode: Schema.SchemaClass<string, string, never>;
|
|
7
|
+
eubCode: Schema.SchemaClass<string, string, never>;
|
|
8
|
+
sourceSanFlag: Schema.SchemaClass<string, string, never>;
|
|
9
|
+
bun1: Schema.SchemaClass<string, string, never>;
|
|
10
|
+
bun2: Schema.SchemaClass<string, string, never>;
|
|
11
|
+
standardLandNumber: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
12
|
+
}>;
|
|
13
|
+
responseDetail: Schema.optional<Schema.Literal<["concise", "raw"]>>;
|
|
14
|
+
}>;
|
|
15
|
+
export type GetStandardLandPriceDetailRawInput = typeof GetStandardLandPriceDetailInputSchema.Encoded;
|
|
16
|
+
export type GetStandardLandPriceDetailRequest = {
|
|
17
|
+
readonly standardLandReference: StandardLandReference;
|
|
18
|
+
readonly responseDetail: ResponseDetail;
|
|
19
|
+
};
|
|
20
|
+
export declare const ReferencePriceDataSchema: Schema.Struct<{
|
|
21
|
+
kind: Schema.NullOr<typeof Schema.String>;
|
|
22
|
+
address: Schema.NullOr<typeof Schema.String>;
|
|
23
|
+
zoning: Schema.NullOr<typeof Schema.String>;
|
|
24
|
+
landAreaDisplay: Schema.NullOr<typeof Schema.String>;
|
|
25
|
+
buildingYear: Schema.NullOr<typeof Schema.String>;
|
|
26
|
+
buildingAreaDisplay: Schema.NullOr<typeof Schema.String>;
|
|
27
|
+
date: Schema.NullOr<typeof Schema.String>;
|
|
28
|
+
priceDisplay: Schema.NullOr<typeof Schema.String>;
|
|
29
|
+
}>;
|
|
30
|
+
export type ReferencePriceData = typeof ReferencePriceDataSchema.Type;
|
|
31
|
+
export declare const StandardLandPriceDetailSchema: Schema.Struct<{
|
|
32
|
+
standardLandReference: Schema.Struct<{
|
|
33
|
+
year: Schema.refine<number, typeof Schema.Number>;
|
|
34
|
+
regCode: Schema.SchemaClass<string, string, never>;
|
|
35
|
+
eubCode: Schema.SchemaClass<string, string, never>;
|
|
36
|
+
sourceSanFlag: Schema.SchemaClass<string, string, never>;
|
|
37
|
+
bun1: Schema.SchemaClass<string, string, never>;
|
|
38
|
+
bun2: Schema.SchemaClass<string, string, never>;
|
|
39
|
+
standardLandNumber: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
40
|
+
}>;
|
|
41
|
+
address: Schema.NullOr<typeof Schema.String>;
|
|
42
|
+
roadAddress: Schema.NullOr<typeof Schema.String>;
|
|
43
|
+
areaSquareMeters: Schema.optional<typeof Schema.Number>;
|
|
44
|
+
areaDisplay: Schema.NullOr<typeof Schema.String>;
|
|
45
|
+
previousOfficialPricePerSquareMeter: Schema.optional<typeof Schema.Number>;
|
|
46
|
+
officialPricePerSquareMeter: Schema.optional<typeof Schema.Number>;
|
|
47
|
+
locationDescription: Schema.NullOr<typeof Schema.String>;
|
|
48
|
+
surroundingEnvironment: Schema.NullOr<typeof Schema.String>;
|
|
49
|
+
landCategory: Schema.NullOr<typeof Schema.String>;
|
|
50
|
+
zoning: Schema.NullOr<typeof Schema.String>;
|
|
51
|
+
district: Schema.NullOr<typeof Schema.String>;
|
|
52
|
+
planningFacility: Schema.NullOr<typeof Schema.String>;
|
|
53
|
+
constraintRatio: Schema.NullOr<typeof Schema.String>;
|
|
54
|
+
roadFrontage: Schema.NullOr<typeof Schema.String>;
|
|
55
|
+
shape: Schema.NullOr<typeof Schema.String>;
|
|
56
|
+
elevation: Schema.NullOr<typeof Schema.String>;
|
|
57
|
+
useStatus: Schema.NullOr<typeof Schema.String>;
|
|
58
|
+
representativeParcel: Schema.optional<typeof Schema.Boolean>;
|
|
59
|
+
hazardAccess: Schema.NullOr<typeof Schema.String>;
|
|
60
|
+
referencePriceData: Schema.Struct<{
|
|
61
|
+
kind: Schema.NullOr<typeof Schema.String>;
|
|
62
|
+
address: Schema.NullOr<typeof Schema.String>;
|
|
63
|
+
zoning: Schema.NullOr<typeof Schema.String>;
|
|
64
|
+
landAreaDisplay: Schema.NullOr<typeof Schema.String>;
|
|
65
|
+
buildingYear: Schema.NullOr<typeof Schema.String>;
|
|
66
|
+
buildingAreaDisplay: Schema.NullOr<typeof Schema.String>;
|
|
67
|
+
date: Schema.NullOr<typeof Schema.String>;
|
|
68
|
+
priceDisplay: Schema.NullOr<typeof Schema.String>;
|
|
69
|
+
}>;
|
|
70
|
+
valuationOpinion: Schema.NullOr<typeof Schema.String>;
|
|
71
|
+
raw: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
72
|
+
}>;
|
|
73
|
+
export type StandardLandPriceDetail = typeof StandardLandPriceDetailSchema.Type;
|
|
74
|
+
export declare const GetStandardLandPriceDetailResultSchema: Schema.Struct<{
|
|
75
|
+
result: Schema.Struct<{
|
|
76
|
+
standardLandReference: Schema.Struct<{
|
|
77
|
+
year: Schema.refine<number, typeof Schema.Number>;
|
|
78
|
+
regCode: Schema.SchemaClass<string, string, never>;
|
|
79
|
+
eubCode: Schema.SchemaClass<string, string, never>;
|
|
80
|
+
sourceSanFlag: Schema.SchemaClass<string, string, never>;
|
|
81
|
+
bun1: Schema.SchemaClass<string, string, never>;
|
|
82
|
+
bun2: Schema.SchemaClass<string, string, never>;
|
|
83
|
+
standardLandNumber: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
84
|
+
}>;
|
|
85
|
+
address: Schema.NullOr<typeof Schema.String>;
|
|
86
|
+
roadAddress: Schema.NullOr<typeof Schema.String>;
|
|
87
|
+
areaSquareMeters: Schema.optional<typeof Schema.Number>;
|
|
88
|
+
areaDisplay: Schema.NullOr<typeof Schema.String>;
|
|
89
|
+
previousOfficialPricePerSquareMeter: Schema.optional<typeof Schema.Number>;
|
|
90
|
+
officialPricePerSquareMeter: Schema.optional<typeof Schema.Number>;
|
|
91
|
+
locationDescription: Schema.NullOr<typeof Schema.String>;
|
|
92
|
+
surroundingEnvironment: Schema.NullOr<typeof Schema.String>;
|
|
93
|
+
landCategory: Schema.NullOr<typeof Schema.String>;
|
|
94
|
+
zoning: Schema.NullOr<typeof Schema.String>;
|
|
95
|
+
district: Schema.NullOr<typeof Schema.String>;
|
|
96
|
+
planningFacility: Schema.NullOr<typeof Schema.String>;
|
|
97
|
+
constraintRatio: Schema.NullOr<typeof Schema.String>;
|
|
98
|
+
roadFrontage: Schema.NullOr<typeof Schema.String>;
|
|
99
|
+
shape: Schema.NullOr<typeof Schema.String>;
|
|
100
|
+
elevation: Schema.NullOr<typeof Schema.String>;
|
|
101
|
+
useStatus: Schema.NullOr<typeof Schema.String>;
|
|
102
|
+
representativeParcel: Schema.optional<typeof Schema.Boolean>;
|
|
103
|
+
hazardAccess: Schema.NullOr<typeof Schema.String>;
|
|
104
|
+
referencePriceData: Schema.Struct<{
|
|
105
|
+
kind: Schema.NullOr<typeof Schema.String>;
|
|
106
|
+
address: Schema.NullOr<typeof Schema.String>;
|
|
107
|
+
zoning: Schema.NullOr<typeof Schema.String>;
|
|
108
|
+
landAreaDisplay: Schema.NullOr<typeof Schema.String>;
|
|
109
|
+
buildingYear: Schema.NullOr<typeof Schema.String>;
|
|
110
|
+
buildingAreaDisplay: Schema.NullOr<typeof Schema.String>;
|
|
111
|
+
date: Schema.NullOr<typeof Schema.String>;
|
|
112
|
+
priceDisplay: Schema.NullOr<typeof Schema.String>;
|
|
113
|
+
}>;
|
|
114
|
+
valuationOpinion: Schema.NullOr<typeof Schema.String>;
|
|
115
|
+
raw: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
116
|
+
}>;
|
|
117
|
+
metadata: Schema.Struct<{
|
|
118
|
+
sourceSystem: Schema.Literal<["realtyprice"]>;
|
|
119
|
+
sourcePage: Schema.Literal<["https://www.realtyprice.kr/notice/gsstandard/search.htm", "https://www.realtyprice.kr/notice/gsindividual/search.htm"]>;
|
|
120
|
+
endpoint: typeof Schema.String;
|
|
121
|
+
query: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
122
|
+
retrievedAt: typeof Schema.String;
|
|
123
|
+
completeness: Schema.Literal<["complete", "empty", "partial", "unknown"]>;
|
|
124
|
+
sourceBehavior: typeof Schema.String;
|
|
125
|
+
}>;
|
|
126
|
+
references: Schema.Array$<Schema.Struct<{
|
|
127
|
+
type: Schema.Literal<["sourcePage", "endpoint", "area", "standardLandRecord", "individualLandRecord", "detail"]>;
|
|
128
|
+
sourceUrl: typeof Schema.String;
|
|
129
|
+
standardLandReference: Schema.optional<Schema.Struct<{
|
|
130
|
+
year: Schema.refine<number, typeof Schema.Number>;
|
|
131
|
+
regCode: Schema.SchemaClass<string, string, never>;
|
|
132
|
+
eubCode: Schema.SchemaClass<string, string, never>;
|
|
133
|
+
sourceSanFlag: Schema.SchemaClass<string, string, never>;
|
|
134
|
+
bun1: Schema.SchemaClass<string, string, never>;
|
|
135
|
+
bun2: Schema.SchemaClass<string, string, never>;
|
|
136
|
+
standardLandNumber: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
137
|
+
}>>;
|
|
138
|
+
individualLandReference: Schema.optional<Schema.Struct<{
|
|
139
|
+
year: Schema.refine<number, typeof Schema.Number>;
|
|
140
|
+
regCode: Schema.SchemaClass<string, string, never>;
|
|
141
|
+
eubCode: Schema.SchemaClass<string, string, never>;
|
|
142
|
+
sourceSanFlag: Schema.SchemaClass<string, string, never>;
|
|
143
|
+
bun1: Schema.SchemaClass<string, string, never>;
|
|
144
|
+
bun2: Schema.SchemaClass<string, string, never>;
|
|
145
|
+
}>>;
|
|
146
|
+
}>>;
|
|
147
|
+
warnings: Schema.Array$<Schema.Union<[typeof Schema.String, Schema.Struct<{
|
|
148
|
+
code: typeof Schema.String;
|
|
149
|
+
message: typeof Schema.String;
|
|
150
|
+
}>]>>;
|
|
151
|
+
}>;
|
|
152
|
+
export type GetStandardLandPriceDetailResult = SuccessEnvelope<StandardLandPriceDetail>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type ToolRunContext } from "../types.ts";
|
|
2
|
+
import type { GetStandardLandPriceDetailRequest, GetStandardLandPriceDetailResult } from "./contract.ts";
|
|
3
|
+
import type { GetStandardLandPriceDetailProvider } from "./provider.ts";
|
|
4
|
+
export declare const resolveGetStandardLandPriceDetailRequest: (input: Record<string, unknown>) => GetStandardLandPriceDetailRequest;
|
|
5
|
+
export declare const executeGetStandardLandPriceDetail: (input: Record<string, unknown>, provider: GetStandardLandPriceDetailProvider, context?: ToolRunContext) => Promise<GetStandardLandPriceDetailResult>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ToolRunContext } from "../types.ts";
|
|
2
|
+
import type { GetStandardLandPriceDetailRequest, GetStandardLandPriceDetailResult } from "./contract.ts";
|
|
3
|
+
export type GetStandardLandPriceDetailProvider = {
|
|
4
|
+
readonly getStandardLandPriceDetail: (request: GetStandardLandPriceDetailRequest, context?: ToolRunContext) => Promise<GetStandardLandPriceDetailResult>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { type AreaLevel, type AreaSurface, type ResponseDetail, type SearchMode, type SuccessEnvelope } from "../types.ts";
|
|
3
|
+
export declare const ListAreasInputSchema: Schema.Struct<{
|
|
4
|
+
year: typeof Schema.Int;
|
|
5
|
+
searchMode: Schema.optional<Schema.Literal<["current-address", "notice-date"]>>;
|
|
6
|
+
surface: Schema.optional<Schema.Literal<["standard-land", "individual-land"]>>;
|
|
7
|
+
level: Schema.Literal<["sido", "district", "legal-dong"]>;
|
|
8
|
+
sidoCode: Schema.optional<typeof Schema.String>;
|
|
9
|
+
districtCode: Schema.optional<typeof Schema.String>;
|
|
10
|
+
responseDetail: Schema.optional<Schema.Literal<["concise", "raw"]>>;
|
|
11
|
+
}>;
|
|
12
|
+
export type ListAreasRawInput = typeof ListAreasInputSchema.Encoded;
|
|
13
|
+
export type ListAreasRequest = {
|
|
14
|
+
readonly year: number;
|
|
15
|
+
readonly searchMode: SearchMode;
|
|
16
|
+
readonly surface: AreaSurface;
|
|
17
|
+
readonly level: AreaLevel;
|
|
18
|
+
readonly sidoCode?: string;
|
|
19
|
+
readonly districtCode?: string;
|
|
20
|
+
readonly responseDetail: ResponseDetail;
|
|
21
|
+
};
|
|
22
|
+
export declare const AreaSchema: Schema.Struct<{
|
|
23
|
+
code: typeof Schema.String;
|
|
24
|
+
name: typeof Schema.String;
|
|
25
|
+
sidoCode: Schema.optional<typeof Schema.String>;
|
|
26
|
+
districtCode: Schema.optional<typeof Schema.String>;
|
|
27
|
+
legalDongCode: Schema.optional<typeof Schema.String>;
|
|
28
|
+
source: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
29
|
+
}>;
|
|
30
|
+
export type Area = typeof AreaSchema.Type;
|
|
31
|
+
export declare const ListAreasResultPayloadSchema: Schema.Struct<{
|
|
32
|
+
year: typeof Schema.Int;
|
|
33
|
+
searchMode: Schema.Literal<["current-address", "notice-date"]>;
|
|
34
|
+
surface: Schema.Literal<["standard-land", "individual-land"]>;
|
|
35
|
+
level: Schema.Literal<["sido", "district", "legal-dong"]>;
|
|
36
|
+
parent: Schema.Struct<{
|
|
37
|
+
sidoCode: Schema.optional<typeof Schema.String>;
|
|
38
|
+
districtCode: Schema.optional<typeof Schema.String>;
|
|
39
|
+
}>;
|
|
40
|
+
areas: Schema.Array$<Schema.Struct<{
|
|
41
|
+
code: typeof Schema.String;
|
|
42
|
+
name: typeof Schema.String;
|
|
43
|
+
sidoCode: Schema.optional<typeof Schema.String>;
|
|
44
|
+
districtCode: Schema.optional<typeof Schema.String>;
|
|
45
|
+
legalDongCode: Schema.optional<typeof Schema.String>;
|
|
46
|
+
source: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
47
|
+
}>>;
|
|
48
|
+
raw: Schema.optional<typeof Schema.Any>;
|
|
49
|
+
}>;
|
|
50
|
+
export type ListAreasResultPayload = typeof ListAreasResultPayloadSchema.Type;
|
|
51
|
+
export declare const ListAreasResultSchema: Schema.Struct<{
|
|
52
|
+
result: Schema.Struct<{
|
|
53
|
+
year: typeof Schema.Int;
|
|
54
|
+
searchMode: Schema.Literal<["current-address", "notice-date"]>;
|
|
55
|
+
surface: Schema.Literal<["standard-land", "individual-land"]>;
|
|
56
|
+
level: Schema.Literal<["sido", "district", "legal-dong"]>;
|
|
57
|
+
parent: Schema.Struct<{
|
|
58
|
+
sidoCode: Schema.optional<typeof Schema.String>;
|
|
59
|
+
districtCode: Schema.optional<typeof Schema.String>;
|
|
60
|
+
}>;
|
|
61
|
+
areas: Schema.Array$<Schema.Struct<{
|
|
62
|
+
code: typeof Schema.String;
|
|
63
|
+
name: typeof Schema.String;
|
|
64
|
+
sidoCode: Schema.optional<typeof Schema.String>;
|
|
65
|
+
districtCode: Schema.optional<typeof Schema.String>;
|
|
66
|
+
legalDongCode: Schema.optional<typeof Schema.String>;
|
|
67
|
+
source: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
68
|
+
}>>;
|
|
69
|
+
raw: Schema.optional<typeof Schema.Any>;
|
|
70
|
+
}>;
|
|
71
|
+
metadata: Schema.Struct<{
|
|
72
|
+
sourceSystem: Schema.Literal<["realtyprice"]>;
|
|
73
|
+
sourcePage: Schema.Literal<["https://www.realtyprice.kr/notice/gsstandard/search.htm", "https://www.realtyprice.kr/notice/gsindividual/search.htm"]>;
|
|
74
|
+
endpoint: typeof Schema.String;
|
|
75
|
+
query: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
76
|
+
retrievedAt: typeof Schema.String;
|
|
77
|
+
completeness: Schema.Literal<["complete", "empty", "partial", "unknown"]>;
|
|
78
|
+
sourceBehavior: typeof Schema.String;
|
|
79
|
+
}>;
|
|
80
|
+
references: Schema.Array$<Schema.Struct<{
|
|
81
|
+
type: Schema.Literal<["sourcePage", "endpoint", "area", "standardLandRecord", "individualLandRecord", "detail"]>;
|
|
82
|
+
sourceUrl: typeof Schema.String;
|
|
83
|
+
standardLandReference: Schema.optional<Schema.Struct<{
|
|
84
|
+
year: Schema.refine<number, typeof Schema.Number>;
|
|
85
|
+
regCode: Schema.SchemaClass<string, string, never>;
|
|
86
|
+
eubCode: Schema.SchemaClass<string, string, never>;
|
|
87
|
+
sourceSanFlag: Schema.SchemaClass<string, string, never>;
|
|
88
|
+
bun1: Schema.SchemaClass<string, string, never>;
|
|
89
|
+
bun2: Schema.SchemaClass<string, string, never>;
|
|
90
|
+
standardLandNumber: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
91
|
+
}>>;
|
|
92
|
+
individualLandReference: Schema.optional<Schema.Struct<{
|
|
93
|
+
year: Schema.refine<number, typeof Schema.Number>;
|
|
94
|
+
regCode: Schema.SchemaClass<string, string, never>;
|
|
95
|
+
eubCode: Schema.SchemaClass<string, string, never>;
|
|
96
|
+
sourceSanFlag: Schema.SchemaClass<string, string, never>;
|
|
97
|
+
bun1: Schema.SchemaClass<string, string, never>;
|
|
98
|
+
bun2: Schema.SchemaClass<string, string, never>;
|
|
99
|
+
}>>;
|
|
100
|
+
}>>;
|
|
101
|
+
warnings: Schema.Array$<Schema.Union<[typeof Schema.String, Schema.Struct<{
|
|
102
|
+
code: typeof Schema.String;
|
|
103
|
+
message: typeof Schema.String;
|
|
104
|
+
}>]>>;
|
|
105
|
+
}>;
|
|
106
|
+
export type ListAreasResult = SuccessEnvelope<ListAreasResultPayload>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type ToolRunContext } from "../types.ts";
|
|
2
|
+
import type { ListAreasRequest, ListAreasResult } from "./contract.ts";
|
|
3
|
+
import type { ListAreasProvider } from "./provider.ts";
|
|
4
|
+
export declare const resolveListAreasRequest: (input: Record<string, unknown>) => ListAreasRequest;
|
|
5
|
+
export declare const executeListAreas: (input: Record<string, unknown>, provider: ListAreasProvider, context?: ToolRunContext) => Promise<ListAreasResult>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type AreaLevel, type AreaSurface, type ResponseDetail, type SearchMode } from "./types.ts";
|
|
2
|
+
export declare function assertObjectInput(input: unknown): asserts input is Record<string, unknown>;
|
|
3
|
+
export declare const assertNoUnknownKeys: (input: Record<string, unknown>, allowedKeys: ReadonlySet<string>) => void;
|
|
4
|
+
export declare const readOptionalResponseDetail: (input: Record<string, unknown>) => ResponseDetail;
|
|
5
|
+
export declare const readOptionalSearchMode: (input: Record<string, unknown>) => SearchMode;
|
|
6
|
+
export declare const readOptionalAreaSurface: (input: Record<string, unknown>) => AreaSurface;
|
|
7
|
+
export declare const readRequiredAreaLevel: (input: Record<string, unknown>) => AreaLevel;
|
|
8
|
+
export declare const readRequiredInteger: (input: Record<string, unknown>, key: string) => number;
|
|
9
|
+
export declare const readOptionalInteger: (input: Record<string, unknown>, key: string, defaultValue: number) => number;
|
|
10
|
+
export declare const readOptionalIntegerArray: (input: Record<string, unknown>, key: string) => readonly number[] | undefined;
|
|
11
|
+
export declare const readOptionalString: (input: Record<string, unknown>, key: string) => string | undefined;
|
|
12
|
+
export declare const readRequiredString: (input: Record<string, unknown>, key: string) => string;
|
|
13
|
+
export declare const assertDigits: (key: string, value: string, length: number) => void;
|
|
14
|
+
export declare const assertMinInteger: (key: string, value: number, min: number) => void;
|