@portone/mcp-server 0.16.0 → 0.17.1
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 +3 -0
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server/index.js +1248 -123
package/server/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __export = (target, all) => {
|
|
4
|
-
for (var
|
|
5
|
-
__defProp(target,
|
|
4
|
+
for (var name17 in all)
|
|
5
|
+
__defProp(target, name17, { get: all[name17], enumerable: true });
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/index.ts
|
|
@@ -15,7 +15,7 @@ import { GraphQLClient } from "graphql-request";
|
|
|
15
15
|
// package.json
|
|
16
16
|
var package_default = {
|
|
17
17
|
name: "@portone/mcp-server",
|
|
18
|
-
version: "0.
|
|
18
|
+
version: "0.17.1",
|
|
19
19
|
description: "\uD3EC\uD2B8\uC6D0 \uC0AC\uC6A9\uC790\uB97C \uC704\uD55C MCP (Model Context Protocol) \uC11C\uBC84\uC785\uB2C8\uB2E4. \uD3EC\uD2B8\uC6D0 \uAC1C\uBC1C\uC790\uC13C\uD130, \uD5EC\uD504\uC13C\uD130 \uB4F1 \uACF5\uC2DD \uBB38\uC11C \uB0B4\uC6A9\uC744 LLM(Large Language Model)\uC5D0 \uC81C\uACF5\uD574 \uC815\uD655\uD55C \uC815\uBCF4\uB97C \uBC14\uD0D5\uC73C\uB85C \uC0AC\uC6A9\uC790\uC758 \uC5F0\uB3D9 \uBC0F \uC9C8\uC758\uB97C \uB3D5\uB3C4\uB85D \uD569\uB2C8\uB2E4.",
|
|
20
20
|
main: "server/index.js",
|
|
21
21
|
type: "module",
|
|
@@ -671,6 +671,9 @@ var TokenProvider = class {
|
|
|
671
671
|
"CHANNEL_UPDATE",
|
|
672
672
|
"STORE_READ",
|
|
673
673
|
"MERCHANT_READ"
|
|
674
|
+
// 거래대사(getReconciliationsByFilter / getSettlementSummaries /
|
|
675
|
+
// getSettlementStatistics) 조회는 위 기존 스코프로 게이트웨이 접근이
|
|
676
|
+
// 가능함을 실환경에서 확인했습니다. 별도 스코프는 필요하지 않습니다.
|
|
674
677
|
].join(" ")
|
|
675
678
|
);
|
|
676
679
|
url.searchParams.set("code_challenge", codeChallenge);
|
|
@@ -1745,15 +1748,1122 @@ function init4(tokenProvider, client) {
|
|
|
1745
1748
|
};
|
|
1746
1749
|
}
|
|
1747
1750
|
|
|
1748
|
-
// src/tools/
|
|
1749
|
-
var
|
|
1750
|
-
__export(
|
|
1751
|
+
// src/tools/getReconciliationsByFilter.ts
|
|
1752
|
+
var getReconciliationsByFilter_exports = {};
|
|
1753
|
+
__export(getReconciliationsByFilter_exports, {
|
|
1751
1754
|
config: () => config5,
|
|
1752
1755
|
init: () => init5,
|
|
1753
1756
|
name: () => name5
|
|
1754
1757
|
});
|
|
1758
|
+
import { match as match8 } from "ts-pattern";
|
|
1759
|
+
import z12 from "zod";
|
|
1760
|
+
|
|
1761
|
+
// src/tools/request/getReconciliations.ts
|
|
1762
|
+
import { parse as parse3 } from "graphql";
|
|
1763
|
+
import { gql as gql3 } from "graphql-request";
|
|
1764
|
+
import { match as match7, P as P6 } from "ts-pattern";
|
|
1755
1765
|
import z11 from "zod";
|
|
1756
1766
|
|
|
1767
|
+
// src/tools/utils/requestError.ts
|
|
1768
|
+
function toRequestError(error) {
|
|
1769
|
+
const response = error?.response;
|
|
1770
|
+
const rawErrors = response?.errors;
|
|
1771
|
+
if (Array.isArray(rawErrors) && rawErrors.length > 0) {
|
|
1772
|
+
const errors = rawErrors.map((entry) => {
|
|
1773
|
+
const e = entry;
|
|
1774
|
+
const message2 = typeof e.message === "string" && e.message.length > 0 ? e.message : void 0;
|
|
1775
|
+
const code = e.extensions?.code != null ? String(e.extensions.code) : void 0;
|
|
1776
|
+
const path = Array.isArray(e.path) ? e.path.join(".") : void 0;
|
|
1777
|
+
return { message: message2, code, path };
|
|
1778
|
+
});
|
|
1779
|
+
const primary = errors[0];
|
|
1780
|
+
const message = primary.message ?? (primary.code != null ? `GraphQL \uC624\uB958 (code: ${primary.code})` : "GraphQL \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. (\uC11C\uBC84\uAC00 \uC0C1\uC138 \uBA54\uC2DC\uC9C0\uB97C \uBC18\uD658\uD558\uC9C0 \uC54A\uC74C)");
|
|
1781
|
+
return {
|
|
1782
|
+
type: "error",
|
|
1783
|
+
data: { message, type: "GraphQLError", errors }
|
|
1784
|
+
};
|
|
1785
|
+
}
|
|
1786
|
+
if (error instanceof Error) {
|
|
1787
|
+
return {
|
|
1788
|
+
type: "error",
|
|
1789
|
+
data: {
|
|
1790
|
+
message: error.message || error.name || "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.",
|
|
1791
|
+
type: error.name
|
|
1792
|
+
}
|
|
1793
|
+
};
|
|
1794
|
+
}
|
|
1795
|
+
return {
|
|
1796
|
+
type: "error",
|
|
1797
|
+
data: { message: "\uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.", cause: String(error) }
|
|
1798
|
+
};
|
|
1799
|
+
}
|
|
1800
|
+
|
|
1801
|
+
// src/tools/request/getReconciliations.ts
|
|
1802
|
+
var ErrorResponse3 = z11.object({
|
|
1803
|
+
__typename: z11.string(),
|
|
1804
|
+
message: z11.string().nullable()
|
|
1805
|
+
});
|
|
1806
|
+
var ReconciliationStatus = z11.enum([
|
|
1807
|
+
"MATCHED",
|
|
1808
|
+
"NOT_MATCHED",
|
|
1809
|
+
"INCOMPARABLE",
|
|
1810
|
+
"NOT_COLLECTED"
|
|
1811
|
+
]);
|
|
1812
|
+
var ReconciliationActionType = z11.enum([
|
|
1813
|
+
"APPROVAL",
|
|
1814
|
+
"FULL_CANCEL",
|
|
1815
|
+
"PARTIAL_CANCEL",
|
|
1816
|
+
"UNCLASSIFIED_CANCEL",
|
|
1817
|
+
"POST_CORRECTION"
|
|
1818
|
+
]);
|
|
1819
|
+
var ReconciliationPaymentMethodType = z11.enum([
|
|
1820
|
+
"CARD",
|
|
1821
|
+
"CHARGE",
|
|
1822
|
+
"TRANSFER",
|
|
1823
|
+
"ARS",
|
|
1824
|
+
"GIFT_CERTIFICATE",
|
|
1825
|
+
"MOBILE",
|
|
1826
|
+
"VIRTUAL_ACCOUNT",
|
|
1827
|
+
"ETC",
|
|
1828
|
+
"EASY_PAY_ETC",
|
|
1829
|
+
"EASY_PAY_PAYCO",
|
|
1830
|
+
"EASY_PAY_SAMSUNGPAY",
|
|
1831
|
+
"EASY_PAY_SSGPAY",
|
|
1832
|
+
"EASY_PAY_KAKAOPAY",
|
|
1833
|
+
"EASY_PAY_NAVERPAY",
|
|
1834
|
+
"EASY_PAY_CHAI",
|
|
1835
|
+
"EASY_PAY_LPAY",
|
|
1836
|
+
"EASY_PAY_KPAY",
|
|
1837
|
+
"EASY_PAY_TOSSPAY",
|
|
1838
|
+
"EASY_PAY_LGPAY",
|
|
1839
|
+
"EASY_PAY_APPLEPAY",
|
|
1840
|
+
"EASY_PAY_PINPAY",
|
|
1841
|
+
"EASY_PAY_SKPAY",
|
|
1842
|
+
"EASY_PAY_WECHATPAY",
|
|
1843
|
+
"EASY_PAY_PAYPAL",
|
|
1844
|
+
"EASY_PAY_ALIPAY",
|
|
1845
|
+
"EASY_PAY_TOSS_BRANDPAY",
|
|
1846
|
+
"EASY_PAY_KB_APP",
|
|
1847
|
+
"EASY_PAY_TMONEYPAY",
|
|
1848
|
+
"EASY_PAY_HYPHEN",
|
|
1849
|
+
"EASY_PAY_OK_CASHBAG",
|
|
1850
|
+
"EASY_PAY_BENEPIA"
|
|
1851
|
+
]);
|
|
1852
|
+
var ReconciliationNotMatchedReason = z11.enum([
|
|
1853
|
+
"PAYMENT_AMOUNT_NOT_MATCHED",
|
|
1854
|
+
"TAX_FREE_AMOUNT_NOT_MATCHED",
|
|
1855
|
+
"VAT_AMOUNT_NOT_MATCHED",
|
|
1856
|
+
"ESCROW_NOT_MATCHED",
|
|
1857
|
+
"INSTALLMENT_MONTH_NOT_MATCHED",
|
|
1858
|
+
"PAYMENT_DATE_NOT_MATCHED"
|
|
1859
|
+
]);
|
|
1860
|
+
var ReconciliationIncomparableReason = z11.enum([
|
|
1861
|
+
"NO_MATCHING_PORTONE_TRANSACTION",
|
|
1862
|
+
"CHANNEL_MISMATCH",
|
|
1863
|
+
"RECONCILIATION_SKIPPED",
|
|
1864
|
+
"PG_COLLECTION_FAILED",
|
|
1865
|
+
"PG_DATA_MISSING",
|
|
1866
|
+
"UNKNOWN"
|
|
1867
|
+
]);
|
|
1868
|
+
var ReconciliationPgProvider = z11.enum([
|
|
1869
|
+
"KAKAOPAY",
|
|
1870
|
+
"NICEPAY",
|
|
1871
|
+
"NAVERPAY",
|
|
1872
|
+
"UPLUS",
|
|
1873
|
+
"TOSSPAYMENTS",
|
|
1874
|
+
"TOSSPAY",
|
|
1875
|
+
"PAYCO",
|
|
1876
|
+
"KCP",
|
|
1877
|
+
"DANAL",
|
|
1878
|
+
"EXIMBAY",
|
|
1879
|
+
"INICIS",
|
|
1880
|
+
"HECTO",
|
|
1881
|
+
"KSNET",
|
|
1882
|
+
"KPN",
|
|
1883
|
+
"HYPHEN"
|
|
1884
|
+
]);
|
|
1885
|
+
var SortOrder = z11.enum(["DESC", "ASC"]);
|
|
1886
|
+
var Settlement = z11.object(
|
|
1887
|
+
nullableObject({
|
|
1888
|
+
feeAmount: z11.number(),
|
|
1889
|
+
feeVatAmount: z11.number(),
|
|
1890
|
+
settlementAmount: z11.number(),
|
|
1891
|
+
settlementCurrency: z11.string(),
|
|
1892
|
+
settlementDate: z11.string()
|
|
1893
|
+
})
|
|
1894
|
+
);
|
|
1895
|
+
var PaymentMethod = z11.object({
|
|
1896
|
+
__typename: z11.string(),
|
|
1897
|
+
paymentMethodType: z11.string().nullable().optional(),
|
|
1898
|
+
installmentMonth: z11.number().nullable().optional(),
|
|
1899
|
+
name: z11.string().nullable().optional()
|
|
1900
|
+
}).partial();
|
|
1901
|
+
var PgSpecifier = z11.object(
|
|
1902
|
+
nullableObject({
|
|
1903
|
+
pgMerchantId: z11.string(),
|
|
1904
|
+
pgProvider: z11.string()
|
|
1905
|
+
})
|
|
1906
|
+
);
|
|
1907
|
+
var ReconciliationNode = z11.object({
|
|
1908
|
+
__typename: z11.string(),
|
|
1909
|
+
plainId: z11.string(),
|
|
1910
|
+
actionType: z11.string(),
|
|
1911
|
+
pgSpecifier: PgSpecifier.nullable(),
|
|
1912
|
+
merchantPlainId: z11.string(),
|
|
1913
|
+
paymentAmount: z11.number(),
|
|
1914
|
+
taxFreeAmount: z11.number(),
|
|
1915
|
+
vatAmount: z11.number(),
|
|
1916
|
+
supplyAmount: z11.number(),
|
|
1917
|
+
anomalyAmount: z11.number().nullable().optional(),
|
|
1918
|
+
paidAt: z11.string(),
|
|
1919
|
+
isEscrow: z11.boolean().nullable(),
|
|
1920
|
+
paymentCurrency: z11.string(),
|
|
1921
|
+
paymentMethod: PaymentMethod.nullable(),
|
|
1922
|
+
settlement: Settlement.nullable(),
|
|
1923
|
+
// 상태별 구체 필드 (필수형 / optional 형이 타입마다 다름)
|
|
1924
|
+
pgTxId: z11.string().nullable().optional(),
|
|
1925
|
+
pgTxIdOptional: z11.string().nullable().optional(),
|
|
1926
|
+
transactionPlainId: z11.string().nullable().optional(),
|
|
1927
|
+
transactionPlainIdOptional: z11.string().nullable().optional(),
|
|
1928
|
+
paymentPlainId: z11.string().nullable().optional(),
|
|
1929
|
+
paymentPlainIdOptional: z11.string().nullable().optional(),
|
|
1930
|
+
orderName: z11.string().nullable().optional(),
|
|
1931
|
+
orderNameOptional: z11.string().nullable().optional(),
|
|
1932
|
+
storePlainId: z11.string().nullable().optional(),
|
|
1933
|
+
storePlainIdOptional: z11.string().nullable().optional(),
|
|
1934
|
+
notMatchedReasons: z11.array(z11.string()).nullable().optional(),
|
|
1935
|
+
// INCOMPARABLE(대사 불가) 사유. 게이트웨이는 내부의 backward_incomparable
|
|
1936
|
+
// 상태/사유를 INCOMPARABLE + 이 단일 reason 으로 병합해 노출합니다.
|
|
1937
|
+
// enum 드리프트 방지를 위해 문자열로 수용합니다.
|
|
1938
|
+
reason: z11.string().nullable().optional()
|
|
1939
|
+
}).partial({
|
|
1940
|
+
pgSpecifier: true,
|
|
1941
|
+
isEscrow: true,
|
|
1942
|
+
paymentMethod: true,
|
|
1943
|
+
settlement: true
|
|
1944
|
+
});
|
|
1945
|
+
var CursorPageInfo = z11.object({
|
|
1946
|
+
startCursor: z11.string(),
|
|
1947
|
+
endCursor: z11.string(),
|
|
1948
|
+
hasPreviousPage: z11.boolean(),
|
|
1949
|
+
hasNextPage: z11.boolean()
|
|
1950
|
+
});
|
|
1951
|
+
var ReconciliationsPayload = z11.object({
|
|
1952
|
+
edges: z11.array(z11.object({ node: ReconciliationNode, cursor: z11.string() })),
|
|
1953
|
+
pageInfo: CursorPageInfo
|
|
1954
|
+
});
|
|
1955
|
+
var GetReconciliationsResponse = z11.object({
|
|
1956
|
+
merchant: z11.object({
|
|
1957
|
+
reconciliation: z11.object({
|
|
1958
|
+
paymentReconciliations: ReconciliationsPayload
|
|
1959
|
+
})
|
|
1960
|
+
}).or(ErrorResponse3)
|
|
1961
|
+
}).transform(({ merchant }) => {
|
|
1962
|
+
if ("__typename" in merchant) return merchant;
|
|
1963
|
+
return merchant.reconciliation.paymentReconciliations;
|
|
1964
|
+
});
|
|
1965
|
+
var getReconciliationsQuery = parse3(gql3`
|
|
1966
|
+
query GetReconciliations(
|
|
1967
|
+
$dateCondition: ReconciliationDateConditionInput!
|
|
1968
|
+
$searchCondition: PaymentReconciliationSearchConditionInput
|
|
1969
|
+
$filter: PaymentReconciliationFilterInput
|
|
1970
|
+
$order: PaymentReconciliationOrderInput
|
|
1971
|
+
$first: Int!
|
|
1972
|
+
$after: String
|
|
1973
|
+
) {
|
|
1974
|
+
merchant {
|
|
1975
|
+
...ErrorFragment
|
|
1976
|
+
... on Merchant {
|
|
1977
|
+
reconciliation {
|
|
1978
|
+
paymentReconciliations(
|
|
1979
|
+
dateCondition: $dateCondition
|
|
1980
|
+
searchCondition: $searchCondition
|
|
1981
|
+
filter: $filter
|
|
1982
|
+
order: $order
|
|
1983
|
+
first: $first
|
|
1984
|
+
after: $after
|
|
1985
|
+
) {
|
|
1986
|
+
edges {
|
|
1987
|
+
cursor
|
|
1988
|
+
node {
|
|
1989
|
+
__typename
|
|
1990
|
+
plainId
|
|
1991
|
+
actionType
|
|
1992
|
+
pgSpecifier {
|
|
1993
|
+
pgMerchantId
|
|
1994
|
+
pgProvider
|
|
1995
|
+
}
|
|
1996
|
+
merchantPlainId
|
|
1997
|
+
paymentAmount
|
|
1998
|
+
taxFreeAmount
|
|
1999
|
+
vatAmount
|
|
2000
|
+
supplyAmount
|
|
2001
|
+
paidAt
|
|
2002
|
+
isEscrow
|
|
2003
|
+
paymentCurrency
|
|
2004
|
+
paymentMethod {
|
|
2005
|
+
__typename
|
|
2006
|
+
... on ReconciliationPaymentMethodCard {
|
|
2007
|
+
installmentMonth
|
|
2008
|
+
}
|
|
2009
|
+
... on ReconciliationPaymentMethodEasyPay {
|
|
2010
|
+
paymentMethodType
|
|
2011
|
+
}
|
|
2012
|
+
... on ReconciliationPaymentMethodEtc {
|
|
2013
|
+
name
|
|
2014
|
+
}
|
|
2015
|
+
}
|
|
2016
|
+
settlement {
|
|
2017
|
+
feeAmount
|
|
2018
|
+
feeVatAmount
|
|
2019
|
+
settlementAmount
|
|
2020
|
+
settlementCurrency
|
|
2021
|
+
settlementDate
|
|
2022
|
+
}
|
|
2023
|
+
... on PaymentReconciliationMatched {
|
|
2024
|
+
pgTxId
|
|
2025
|
+
transactionPlainId
|
|
2026
|
+
paymentPlainId
|
|
2027
|
+
orderName
|
|
2028
|
+
storePlainId
|
|
2029
|
+
}
|
|
2030
|
+
... on PaymentReconciliationNotMatched {
|
|
2031
|
+
pgTxId
|
|
2032
|
+
anomalyAmount
|
|
2033
|
+
transactionPlainId
|
|
2034
|
+
paymentPlainId
|
|
2035
|
+
orderName
|
|
2036
|
+
storePlainId
|
|
2037
|
+
notMatchedReasons
|
|
2038
|
+
}
|
|
2039
|
+
... on PaymentReconciliationIncomparable {
|
|
2040
|
+
pgTxId
|
|
2041
|
+
anomalyAmount
|
|
2042
|
+
reason
|
|
2043
|
+
paymentPlainIdOptional
|
|
2044
|
+
orderNameOptional
|
|
2045
|
+
}
|
|
2046
|
+
... on PaymentReconciliationNotCollected {
|
|
2047
|
+
pgTxIdOptional
|
|
2048
|
+
anomalyAmount
|
|
2049
|
+
transactionPlainIdOptional
|
|
2050
|
+
paymentPlainIdOptional
|
|
2051
|
+
orderNameOptional
|
|
2052
|
+
storePlainIdOptional
|
|
2053
|
+
}
|
|
2054
|
+
... on PaymentReconciliationPostCorrection {
|
|
2055
|
+
pgTxIdOptional
|
|
2056
|
+
anomalyAmount
|
|
2057
|
+
transactionPlainIdOptional
|
|
2058
|
+
paymentPlainIdOptional
|
|
2059
|
+
orderNameOptional
|
|
2060
|
+
storePlainIdOptional
|
|
2061
|
+
}
|
|
2062
|
+
}
|
|
2063
|
+
}
|
|
2064
|
+
pageInfo {
|
|
2065
|
+
startCursor
|
|
2066
|
+
endCursor
|
|
2067
|
+
hasPreviousPage
|
|
2068
|
+
hasNextPage
|
|
2069
|
+
}
|
|
2070
|
+
}
|
|
2071
|
+
}
|
|
2072
|
+
}
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
|
|
2076
|
+
fragment ErrorFragment on Error {
|
|
2077
|
+
__typename
|
|
2078
|
+
message
|
|
2079
|
+
}
|
|
2080
|
+
`);
|
|
2081
|
+
var ReconciliationFilter = z11.object({
|
|
2082
|
+
storeIds: z11.array(z11.string()),
|
|
2083
|
+
channelKeys: z11.array(z11.string()),
|
|
2084
|
+
pgSpecifiers: z11.array(
|
|
2085
|
+
z11.object({
|
|
2086
|
+
pgMerchantId: z11.string(),
|
|
2087
|
+
pgProvider: ReconciliationPgProvider
|
|
2088
|
+
})
|
|
2089
|
+
),
|
|
2090
|
+
paymentMethodTypes: z11.array(ReconciliationPaymentMethodType),
|
|
2091
|
+
paymentReconciliationStatuses: z11.array(ReconciliationStatus),
|
|
2092
|
+
actionTypes: z11.array(ReconciliationActionType),
|
|
2093
|
+
transactionCurrencies: z11.array(z11.string()),
|
|
2094
|
+
settlementCurrencies: z11.array(z11.string())
|
|
2095
|
+
}).partial();
|
|
2096
|
+
var ReconciliationSearchCondition = z11.object({
|
|
2097
|
+
paymentPlainId: z11.string(),
|
|
2098
|
+
transactionPlainId: z11.string(),
|
|
2099
|
+
pgTxId: z11.string(),
|
|
2100
|
+
orderName: z11.string()
|
|
2101
|
+
}).partial();
|
|
2102
|
+
var ReconciliationOrder = z11.object({
|
|
2103
|
+
settlementDate: SortOrder,
|
|
2104
|
+
transactionDate: SortOrder,
|
|
2105
|
+
transactionAmount: SortOrder,
|
|
2106
|
+
anomalyAmount: SortOrder,
|
|
2107
|
+
settlementAmount: SortOrder
|
|
2108
|
+
}).partial();
|
|
2109
|
+
async function getReconciliations({
|
|
2110
|
+
client,
|
|
2111
|
+
authorization,
|
|
2112
|
+
dateType,
|
|
2113
|
+
from,
|
|
2114
|
+
until,
|
|
2115
|
+
filter,
|
|
2116
|
+
searchCondition,
|
|
2117
|
+
order,
|
|
2118
|
+
first,
|
|
2119
|
+
after
|
|
2120
|
+
}) {
|
|
2121
|
+
const dateRange = { from, until };
|
|
2122
|
+
const dateCondition = dateType === "SETTLEMENT" ? { settlementDateRange: dateRange } : { transactionDateRange: dateRange };
|
|
2123
|
+
try {
|
|
2124
|
+
const response = await client.request({
|
|
2125
|
+
document: getReconciliationsQuery,
|
|
2126
|
+
requestHeaders: {
|
|
2127
|
+
authorization
|
|
2128
|
+
},
|
|
2129
|
+
variables: {
|
|
2130
|
+
dateCondition,
|
|
2131
|
+
searchCondition,
|
|
2132
|
+
filter,
|
|
2133
|
+
order,
|
|
2134
|
+
first,
|
|
2135
|
+
after
|
|
2136
|
+
}
|
|
2137
|
+
});
|
|
2138
|
+
const parsed = await GetReconciliationsResponse.parseAsync(response);
|
|
2139
|
+
return match7(parsed).returnType().with({ __typename: P6.nonNullable }, ({ __typename, message }) => ({
|
|
2140
|
+
type: "error",
|
|
2141
|
+
data: {
|
|
2142
|
+
message,
|
|
2143
|
+
type: __typename
|
|
2144
|
+
}
|
|
2145
|
+
})).otherwise((data) => ({
|
|
2146
|
+
type: "success",
|
|
2147
|
+
data
|
|
2148
|
+
}));
|
|
2149
|
+
} catch (error) {
|
|
2150
|
+
return toRequestError(error);
|
|
2151
|
+
}
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2154
|
+
// src/tools/utils/dateRange.ts
|
|
2155
|
+
var LOOKBACK_MONTHS = 6;
|
|
2156
|
+
function maxRangeLabel(maxRange) {
|
|
2157
|
+
if ("months" in maxRange) {
|
|
2158
|
+
return `${maxRange.months}\uAC1C\uC6D4`;
|
|
2159
|
+
}
|
|
2160
|
+
if (maxRange.days % 7 === 0) {
|
|
2161
|
+
return `${maxRange.days / 7}\uC8FC`;
|
|
2162
|
+
}
|
|
2163
|
+
return `${maxRange.days}\uC77C`;
|
|
2164
|
+
}
|
|
2165
|
+
function validateReconciliationDateRange(from, to, maxRange) {
|
|
2166
|
+
const fromDate = /* @__PURE__ */ new Date(`${from}T00:00:00Z`);
|
|
2167
|
+
const toDate = /* @__PURE__ */ new Date(`${to}T00:00:00Z`);
|
|
2168
|
+
if (Number.isNaN(fromDate.getTime()) || Number.isNaN(toDate.getTime())) {
|
|
2169
|
+
return "\uB0A0\uC9DC \uD615\uC2DD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4 (YYYY-MM-DD).";
|
|
2170
|
+
}
|
|
2171
|
+
if (toDate < fromDate) {
|
|
2172
|
+
return "\uC870\uD68C \uC885\uB8CC\uC77C(to)\uC740 \uC2DC\uC791\uC77C(from)\uBCF4\uB2E4 \uBE60\uB97C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.";
|
|
2173
|
+
}
|
|
2174
|
+
const now = /* @__PURE__ */ new Date();
|
|
2175
|
+
const earliest = new Date(
|
|
2176
|
+
Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate())
|
|
2177
|
+
);
|
|
2178
|
+
earliest.setUTCMonth(earliest.getUTCMonth() - LOOKBACK_MONTHS);
|
|
2179
|
+
if (fromDate < earliest) {
|
|
2180
|
+
return `\uC870\uD68C \uC2DC\uC791\uC77C(from)\uC740 \uCD5C\uADFC ${LOOKBACK_MONTHS}\uAC1C\uC6D4 \uC774\uB0B4\uC5EC\uC57C \uD569\uB2C8\uB2E4. ${earliest.toISOString().slice(0, 10)} \uC774\uD6C4\uB85C \uC9C0\uC815\uD574\uC8FC\uC138\uC694.`;
|
|
2181
|
+
}
|
|
2182
|
+
const maxTo = new Date(fromDate);
|
|
2183
|
+
if ("months" in maxRange) {
|
|
2184
|
+
maxTo.setUTCMonth(maxTo.getUTCMonth() + maxRange.months);
|
|
2185
|
+
} else {
|
|
2186
|
+
maxTo.setUTCDate(maxTo.getUTCDate() + maxRange.days);
|
|
2187
|
+
}
|
|
2188
|
+
if (toDate > maxTo) {
|
|
2189
|
+
return `\uC870\uD68C \uAD6C\uAC04\uC740 \uCD5C\uB300 ${maxRangeLabel(maxRange)}\uAE4C\uC9C0 \uAC00\uB2A5\uD569\uB2C8\uB2E4. from(${from}) \uAE30\uC900 ${maxTo.toISOString().slice(0, 10)} \uC774\uB0B4\uB85C to\uB97C \uC9C0\uC815\uD574\uC8FC\uC138\uC694.`;
|
|
2190
|
+
}
|
|
2191
|
+
return null;
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
// src/tools/getReconciliationsByFilter.ts
|
|
2195
|
+
var name5 = "getReconciliationsByFilter";
|
|
2196
|
+
var DateString = z12.string().regex(/^\d{4}-\d{2}-\d{2}$/, "YYYY-MM-DD \uD615\uC2DD\uC758 \uB0A0\uC9DC\uC5EC\uC57C \uD569\uB2C8\uB2E4.");
|
|
2197
|
+
var Settlement2 = z12.object({
|
|
2198
|
+
feeAmount: z12.number().describe("PG \uC218\uC218\uB8CC"),
|
|
2199
|
+
feeVatAmount: z12.number().describe("PG \uC218\uC218\uB8CC \uBD80\uAC00\uC138"),
|
|
2200
|
+
settlementAmount: z12.number().describe("\uC815\uC0B0 \uAE08\uC561"),
|
|
2201
|
+
settlementCurrency: z12.string().describe("\uC815\uC0B0 \uD1B5\uD654"),
|
|
2202
|
+
settlementDate: z12.string().describe("\uC815\uC0B0\uC77C")
|
|
2203
|
+
}).partial();
|
|
2204
|
+
var Reconciliation = z12.object({
|
|
2205
|
+
id: z12.string().describe("\uAC70\uB798\uB300\uC0AC \uC544\uC774\uB514"),
|
|
2206
|
+
status: z12.string().describe(
|
|
2207
|
+
"\uB300\uC0AC \uC0C1\uD0DC (MATCHED/NOT_MATCHED/INCOMPARABLE/NOT_COLLECTED/POST_CORRECTION)"
|
|
2208
|
+
),
|
|
2209
|
+
actionType: z12.string().describe("\uACB0\uC81C \uC0C1\uD0DC (\uC2B9\uC778/\uCDE8\uC18C/\uD6C4\uBCF4\uC815)"),
|
|
2210
|
+
pgProvider: z12.string().describe("\uB300\uC0AC\uC6A9 PG\uC0AC"),
|
|
2211
|
+
pgMerchantId: z12.string().describe("PG\uC0AC \uAC00\uB9F9\uC810 \uC2DD\uBCC4 \uC544\uC774\uB514"),
|
|
2212
|
+
pgTxId: z12.string().describe("PG\uC0AC \uAC70\uB798 \uC544\uC774\uB514"),
|
|
2213
|
+
paymentAmount: z12.number().describe("\uACB0\uC81C \uAE08\uC561"),
|
|
2214
|
+
supplyAmount: z12.number().describe("\uACF5\uAE09\uAC00\uC561"),
|
|
2215
|
+
vatAmount: z12.number().describe("\uBD80\uAC00\uC138"),
|
|
2216
|
+
taxFreeAmount: z12.number().describe("\uBA74\uC138\uAC00\uC561"),
|
|
2217
|
+
anomalyAmount: z12.number().describe("\uAC70\uB798\uC774\uC0C1 \uAE08\uC561"),
|
|
2218
|
+
paidAt: z12.string().describe("\uACB0\uC81C\uC77C"),
|
|
2219
|
+
paymentCurrency: z12.string().describe("\uACB0\uC81C \uD1B5\uD654"),
|
|
2220
|
+
isEscrow: z12.boolean().describe("\uC5D0\uC2A4\uD06C\uB85C \uC5EC\uBD80"),
|
|
2221
|
+
paymentMethodType: z12.string().describe("\uACB0\uC81C \uC218\uB2E8 \uC885\uB958(__typename \uAE30\uBC18)"),
|
|
2222
|
+
transactionId: z12.string().describe("\uD3EC\uD2B8\uC6D0 \uACB0\uC81C \uC544\uC774\uB514"),
|
|
2223
|
+
paymentId: z12.string().describe("\uACE0\uAC1D\uC0AC \uACB0\uC81C \uC544\uC774\uB514"),
|
|
2224
|
+
orderName: z12.string().describe("\uC8FC\uBB38\uBA85"),
|
|
2225
|
+
storeId: z12.string().describe("\uD558\uC704 \uC0C1\uC810 \uC544\uC774\uB514"),
|
|
2226
|
+
notMatchedReasons: z12.array(z12.string()).describe("\uB300\uC0AC \uBD88\uC77C\uCE58 \uC0AC\uC720 \uBAA9\uB85D (NOT_MATCHED \uC778 \uACBD\uC6B0)"),
|
|
2227
|
+
incomparableReason: z12.string().describe(
|
|
2228
|
+
"\uB300\uC0AC \uBD88\uAC00 \uC0AC\uC720 (INCOMPARABLE \uC778 \uACBD\uC6B0). \uB0B4\uBD80 backward_incomparable \uC0AC\uC720(PG_COLLECTION_FAILED/PG_DATA_MISSING \uB4F1)\uB3C4 \uC774 \uAC12\uC73C\uB85C \uBCD1\uD569\uB418\uC5B4 \uC81C\uACF5\uB429\uB2C8\uB2E4."
|
|
2229
|
+
),
|
|
2230
|
+
settlement: Settlement2.describe("\uC815\uC0B0 \uC815\uBCF4")
|
|
2231
|
+
}).partial();
|
|
2232
|
+
var OutputSchema5 = z12.object({
|
|
2233
|
+
items: Reconciliation.array().describe("\uC870\uD68C\uB41C \uAC70\uB798\uB300\uC0AC \uBAA9\uB85D"),
|
|
2234
|
+
hasNextPage: z12.boolean().describe("\uB2E4\uC74C \uD398\uC774\uC9C0 \uC874\uC7AC \uC5EC\uBD80"),
|
|
2235
|
+
endCursor: z12.string().describe("\uB2E4\uC74C \uD398\uC774\uC9C0 \uC870\uD68C\uC5D0 \uC0AC\uC6A9\uD560 \uCEE4\uC11C (after \uB85C \uC804\uB2EC)")
|
|
2236
|
+
});
|
|
2237
|
+
var InputSchema4 = z12.object({
|
|
2238
|
+
store: z12.string().optional().describe(
|
|
2239
|
+
"\uC870\uD68C\uD560 \uD558\uC704 \uC0C1\uC810 \uC544\uC774\uB514. \uC0DD\uB7B5\uD558\uBA74 \uACE0\uAC1D\uC0AC \uB0B4 \uBAA8\uB4E0 \uD558\uC704 \uC0C1\uC810\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4."
|
|
2240
|
+
),
|
|
2241
|
+
dateType: z12.enum(["SETTLEMENT", "TRANSACTION"]).default("TRANSACTION").describe("from/to \uB85C \uC81C\uC57D\uD560 \uAE30\uC900 (\uC815\uC0B0\uC77C / \uACB0\uC81C\uC77C)"),
|
|
2242
|
+
from: DateString.describe("\uC870\uD68C \uC2DC\uC791\uC77C (YYYY-MM-DD)"),
|
|
2243
|
+
to: DateString.describe("\uC870\uD68C \uC885\uB8CC\uC77C (YYYY-MM-DD)"),
|
|
2244
|
+
statuses: z12.array(ReconciliationStatus).optional().describe(
|
|
2245
|
+
"\uD3EC\uD568\uD560 \uB300\uC0AC \uC0C1\uD0DC \uBAA9\uB85D. \uBD88\uC77C\uCE58 \uAC74\uB9CC \uBCF4\uB824\uBA74 [NOT_MATCHED] \uB85C \uC9C0\uC815\uD569\uB2C8\uB2E4."
|
|
2246
|
+
),
|
|
2247
|
+
actionTypes: z12.array(ReconciliationActionType).optional().describe("\uD3EC\uD568\uD560 \uACB0\uC81C \uC0C1\uD0DC \uBAA9\uB85D"),
|
|
2248
|
+
paymentMethodTypes: z12.array(ReconciliationPaymentMethodType).optional().describe("\uD3EC\uD568\uD560 \uACB0\uC81C \uC218\uB2E8 \uBAA9\uB85D"),
|
|
2249
|
+
transactionCurrencies: z12.array(z12.string().length(3).toUpperCase()).optional().describe("\uD3EC\uD568\uD560 \uACB0\uC81C \uD1B5\uD654 \uBAA9\uB85D (\uC138 \uC790\uB9AC \uD1B5\uD654 \uCF54\uB4DC)"),
|
|
2250
|
+
settlementCurrencies: z12.array(z12.string().length(3).toUpperCase()).optional().describe("\uD3EC\uD568\uD560 \uC815\uC0B0 \uD1B5\uD654 \uBAA9\uB85D (\uC138 \uC790\uB9AC \uD1B5\uD654 \uCF54\uB4DC)"),
|
|
2251
|
+
paymentId: z12.string().optional().describe("\uACE0\uAC1D\uC0AC \uACB0\uC81C \uC544\uC774\uB514 \uAC80\uC0C9"),
|
|
2252
|
+
transactionId: z12.string().optional().describe("\uD3EC\uD2B8\uC6D0 \uACB0\uC81C \uC544\uC774\uB514 \uAC80\uC0C9"),
|
|
2253
|
+
pgTxId: z12.string().optional().describe("PG\uC0AC \uAC70\uB798 \uC544\uC774\uB514 \uAC80\uC0C9"),
|
|
2254
|
+
orderName: z12.string().optional().describe("\uC8FC\uBB38\uBA85 \uAC80\uC0C9"),
|
|
2255
|
+
first: z12.number().min(1).max(100).default(20).describe("\uC870\uD68C\uD560 \uAC74 \uC218 (\uCD5C\uB300 100)"),
|
|
2256
|
+
after: z12.string().optional().describe("\uC774\uC804 \uD398\uC774\uC9C0\uC758 \uB9C8\uC9C0\uB9C9 \uCEE4\uC11C (endCursor \uAC12)")
|
|
2257
|
+
});
|
|
2258
|
+
var config5 = {
|
|
2259
|
+
title: "\uAC70\uB798\uB300\uC0AC \uAC74\uBCC4 \uB0B4\uC5ED \uC870\uD68C",
|
|
2260
|
+
description: `\uD2B9\uC815 \uD558\uC704 \uC0C1\uC810(store)\uC758 \uAC70\uB798\uB300\uC0AC(\uC815\uC0B0/\uAC70\uB798 \uB300\uC0AC) \uAC74\uBCC4 \uB0B4\uC5ED\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4.
|
|
2261
|
+
|
|
2262
|
+
\uAC01 \uAC74\uC740 \uB2E4\uC74C \uC0C1\uD0DC \uC911 \uD558\uB098\uB97C \uAC00\uC9D1\uB2C8\uB2E4:
|
|
2263
|
+
MATCHED(\uB300\uC0AC \uC131\uACF5), NOT_MATCHED(\uB300\uC0AC \uBD88\uC77C\uCE58), INCOMPARABLE(\uB300\uC0AC \uBD88\uAC00), NOT_COLLECTED(PG \uC815\uBCF4 \uBBF8\uC218\uC9D1), POST_CORRECTION(\uD6C4\uBCF4\uC815)
|
|
2264
|
+
(\uB0B4\uBD80\uC801\uC73C\uB85C \uAD6C\uBD84\uB418\uB294 \uC5ED\uBC29\uD5A5 \uB300\uC0AC \uBD88\uAC00(backward incomparable)\uB294 INCOMPARABLE \uB85C \uD569\uCCD0\uC838 \uC81C\uACF5\uB429\uB2C8\uB2E4.)
|
|
2265
|
+
|
|
2266
|
+
\uB300\uC0AC \uBD88\uC77C\uCE58 \uC0C1\uC138\uB294 statuses=[NOT_MATCHED] \uB85C \uC870\uD68C \uD6C4 \uAC01 \uAC74\uC758 notMatchedReasons \uB97C \uD655\uC778\uD569\uB2C8\uB2E4.
|
|
2267
|
+
\uB300\uC0AC \uBD88\uAC00 \uC0AC\uC720\uB294 INCOMPARABLE \uAC74\uC758 incomparableReason \uD544\uB4DC\uC5D0\uC11C \uD655\uC778\uD569\uB2C8\uB2E4.
|
|
2268
|
+
\uB0A0\uC9DC\uB294 \uBC18\uB4DC\uC2DC YYYY-MM-DD \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD558\uBA70, dateType \uC73C\uB85C \uC815\uC0B0\uC77C/\uACB0\uC81C\uC77C \uAE30\uC900\uC744 \uC120\uD0DD\uD569\uB2C8\uB2E4.
|
|
2269
|
+
\uC870\uD68C \uAE30\uAC04 \uC81C\uC57D: from \uC740 \uCD5C\uADFC 6\uAC1C\uC6D4 \uC774\uB0B4\uC5EC\uC57C \uD558\uACE0, \uD55C \uBC88\uC5D0 \uC870\uD68C \uAC00\uB2A5\uD55C \uAD6C\uAC04\uC740 \uCD5C\uB300 2\uC8FC\uC785\uB2C8\uB2E4.
|
|
2270
|
+
store \uC544\uC774\uB514\uB294 list_stores \uB3C4\uAD6C\uB85C \uBA3C\uC800 \uC870\uD68C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`,
|
|
2271
|
+
inputSchema: InputSchema4.shape,
|
|
2272
|
+
outputSchema: OutputSchema5.shape
|
|
2273
|
+
};
|
|
2274
|
+
function normalize(node) {
|
|
2275
|
+
const status = match8(node.__typename).with("PaymentReconciliationMatched", () => "MATCHED").with("PaymentReconciliationNotMatched", () => "NOT_MATCHED").with("PaymentReconciliationIncomparable", () => "INCOMPARABLE").with("PaymentReconciliationNotCollected", () => "NOT_COLLECTED").with("PaymentReconciliationPostCorrection", () => "POST_CORRECTION").otherwise((t) => t);
|
|
2276
|
+
return {
|
|
2277
|
+
id: node.plainId,
|
|
2278
|
+
status,
|
|
2279
|
+
actionType: node.actionType,
|
|
2280
|
+
pgProvider: node.pgSpecifier?.pgProvider ?? void 0,
|
|
2281
|
+
pgMerchantId: node.pgSpecifier?.pgMerchantId ?? void 0,
|
|
2282
|
+
pgTxId: node.pgTxId ?? node.pgTxIdOptional ?? void 0,
|
|
2283
|
+
paymentAmount: node.paymentAmount,
|
|
2284
|
+
supplyAmount: node.supplyAmount,
|
|
2285
|
+
vatAmount: node.vatAmount,
|
|
2286
|
+
taxFreeAmount: node.taxFreeAmount,
|
|
2287
|
+
anomalyAmount: node.anomalyAmount ?? void 0,
|
|
2288
|
+
paidAt: node.paidAt,
|
|
2289
|
+
paymentCurrency: node.paymentCurrency,
|
|
2290
|
+
isEscrow: node.isEscrow ?? void 0,
|
|
2291
|
+
paymentMethodType: node.paymentMethod?.paymentMethodType ?? node.paymentMethod?.__typename ?? void 0,
|
|
2292
|
+
transactionId: node.transactionPlainId ?? node.transactionPlainIdOptional ?? void 0,
|
|
2293
|
+
paymentId: node.paymentPlainId ?? node.paymentPlainIdOptional ?? void 0,
|
|
2294
|
+
orderName: node.orderName ?? node.orderNameOptional ?? void 0,
|
|
2295
|
+
storeId: node.storePlainId ?? node.storePlainIdOptional ?? void 0,
|
|
2296
|
+
notMatchedReasons: node.notMatchedReasons ?? void 0,
|
|
2297
|
+
incomparableReason: node.reason ?? void 0,
|
|
2298
|
+
settlement: node.settlement ? {
|
|
2299
|
+
feeAmount: node.settlement.feeAmount ?? void 0,
|
|
2300
|
+
feeVatAmount: node.settlement.feeVatAmount ?? void 0,
|
|
2301
|
+
settlementAmount: node.settlement.settlementAmount ?? void 0,
|
|
2302
|
+
settlementCurrency: node.settlement.settlementCurrency ?? void 0,
|
|
2303
|
+
settlementDate: node.settlement.settlementDate ?? void 0
|
|
2304
|
+
} : void 0
|
|
2305
|
+
};
|
|
2306
|
+
}
|
|
2307
|
+
function init5(tokenProvider, client) {
|
|
2308
|
+
return async ({
|
|
2309
|
+
store,
|
|
2310
|
+
dateType,
|
|
2311
|
+
from,
|
|
2312
|
+
to,
|
|
2313
|
+
statuses,
|
|
2314
|
+
actionTypes,
|
|
2315
|
+
paymentMethodTypes,
|
|
2316
|
+
transactionCurrencies,
|
|
2317
|
+
settlementCurrencies,
|
|
2318
|
+
paymentId,
|
|
2319
|
+
transactionId,
|
|
2320
|
+
pgTxId,
|
|
2321
|
+
orderName,
|
|
2322
|
+
first,
|
|
2323
|
+
after
|
|
2324
|
+
}) => {
|
|
2325
|
+
const dateRangeError = validateReconciliationDateRange(from, to, {
|
|
2326
|
+
days: 14
|
|
2327
|
+
});
|
|
2328
|
+
if (dateRangeError != null) {
|
|
2329
|
+
return toolErrorResult({
|
|
2330
|
+
type: "error",
|
|
2331
|
+
data: { message: dateRangeError }
|
|
2332
|
+
});
|
|
2333
|
+
}
|
|
2334
|
+
const token = await getToken(tokenProvider);
|
|
2335
|
+
if (token.type === "error") {
|
|
2336
|
+
return toolErrorResult(token);
|
|
2337
|
+
}
|
|
2338
|
+
const searchCondition = paymentId == null && transactionId == null && pgTxId == null && orderName == null ? void 0 : {
|
|
2339
|
+
paymentPlainId: paymentId,
|
|
2340
|
+
transactionPlainId: transactionId,
|
|
2341
|
+
pgTxId,
|
|
2342
|
+
orderName
|
|
2343
|
+
};
|
|
2344
|
+
const result = await getReconciliations({
|
|
2345
|
+
client,
|
|
2346
|
+
authorization: token.data,
|
|
2347
|
+
dateType,
|
|
2348
|
+
from,
|
|
2349
|
+
until: to,
|
|
2350
|
+
searchCondition,
|
|
2351
|
+
filter: {
|
|
2352
|
+
storeIds: store == null ? void 0 : [store],
|
|
2353
|
+
paymentReconciliationStatuses: statuses,
|
|
2354
|
+
actionTypes,
|
|
2355
|
+
paymentMethodTypes,
|
|
2356
|
+
transactionCurrencies,
|
|
2357
|
+
settlementCurrencies
|
|
2358
|
+
},
|
|
2359
|
+
first,
|
|
2360
|
+
after
|
|
2361
|
+
});
|
|
2362
|
+
if (result.type === "error") {
|
|
2363
|
+
return toolErrorResult(result);
|
|
2364
|
+
}
|
|
2365
|
+
try {
|
|
2366
|
+
const structuredContent = {
|
|
2367
|
+
items: result.data.edges.map((edge) => normalize(edge.node)),
|
|
2368
|
+
hasNextPage: result.data.pageInfo.hasNextPage,
|
|
2369
|
+
endCursor: result.data.pageInfo.endCursor
|
|
2370
|
+
};
|
|
2371
|
+
return {
|
|
2372
|
+
content: [
|
|
2373
|
+
{ type: "text", text: JSON.stringify(structuredContent, null, 2) }
|
|
2374
|
+
],
|
|
2375
|
+
structuredContent
|
|
2376
|
+
};
|
|
2377
|
+
} catch {
|
|
2378
|
+
return {
|
|
2379
|
+
content: [{ type: "text", text: "\uC11C\uBC84\uB85C\uBD80\uD130 \uC798\uBABB\uB41C \uC751\uB2F5 \uC218\uC2E0" }],
|
|
2380
|
+
isError: true
|
|
2381
|
+
};
|
|
2382
|
+
}
|
|
2383
|
+
};
|
|
2384
|
+
}
|
|
2385
|
+
|
|
2386
|
+
// src/tools/getSettlementStatistics.ts
|
|
2387
|
+
var getSettlementStatistics_exports = {};
|
|
2388
|
+
__export(getSettlementStatistics_exports, {
|
|
2389
|
+
config: () => config6,
|
|
2390
|
+
init: () => init6,
|
|
2391
|
+
name: () => name6
|
|
2392
|
+
});
|
|
2393
|
+
import z14 from "zod";
|
|
2394
|
+
|
|
2395
|
+
// src/tools/request/getSettlements.ts
|
|
2396
|
+
import { parse as parse4 } from "graphql";
|
|
2397
|
+
import { gql as gql4 } from "graphql-request";
|
|
2398
|
+
import { match as match9, P as P7 } from "ts-pattern";
|
|
2399
|
+
import z13 from "zod";
|
|
2400
|
+
var ErrorResponse4 = z13.object({
|
|
2401
|
+
__typename: z13.string(),
|
|
2402
|
+
message: z13.string().nullable()
|
|
2403
|
+
});
|
|
2404
|
+
var SettlementFilter = z13.object({
|
|
2405
|
+
storeIds: z13.array(z13.string()),
|
|
2406
|
+
pgSpecifiers: z13.array(
|
|
2407
|
+
z13.object({
|
|
2408
|
+
pgMerchantId: z13.string(),
|
|
2409
|
+
pgProvider: ReconciliationPgProvider
|
|
2410
|
+
})
|
|
2411
|
+
)
|
|
2412
|
+
}).partial();
|
|
2413
|
+
var SettlementAggregate = z13.object({
|
|
2414
|
+
settlementAmount: z13.number(),
|
|
2415
|
+
settlementCount: z13.number(),
|
|
2416
|
+
feeAmount: z13.number(),
|
|
2417
|
+
feeVatAmount: z13.number(),
|
|
2418
|
+
cancelAmount: z13.number(),
|
|
2419
|
+
cancelCount: z13.number(),
|
|
2420
|
+
transactionAmount: z13.number(),
|
|
2421
|
+
postCorrectionCount: z13.number(),
|
|
2422
|
+
postCorrectionAmount: z13.number()
|
|
2423
|
+
});
|
|
2424
|
+
var SettlementDetail = z13.object({
|
|
2425
|
+
storePlainId: z13.string().nullable(),
|
|
2426
|
+
pgSpecifier: z13.object(
|
|
2427
|
+
nullableObject({ pgMerchantId: z13.string(), pgProvider: z13.string() })
|
|
2428
|
+
),
|
|
2429
|
+
settlementAmount: z13.number(),
|
|
2430
|
+
settlementCount: z13.number(),
|
|
2431
|
+
feeAmount: z13.number(),
|
|
2432
|
+
feeVatAmount: z13.number(),
|
|
2433
|
+
cancelAmount: z13.number(),
|
|
2434
|
+
cancelCount: z13.number(),
|
|
2435
|
+
transactionAmount: z13.number(),
|
|
2436
|
+
postCorrectionCount: z13.number(),
|
|
2437
|
+
postCorrectionAmount: z13.number()
|
|
2438
|
+
}).partial({ storePlainId: true, pgSpecifier: true });
|
|
2439
|
+
var SettlementSummaryNode = z13.object({
|
|
2440
|
+
date: z13.string(),
|
|
2441
|
+
settlementCurrency: z13.string(),
|
|
2442
|
+
transactionCurrency: z13.string(),
|
|
2443
|
+
aggregate: SettlementAggregate,
|
|
2444
|
+
details: z13.array(SettlementDetail)
|
|
2445
|
+
});
|
|
2446
|
+
var CursorPageInfo2 = z13.object({
|
|
2447
|
+
startCursor: z13.string(),
|
|
2448
|
+
endCursor: z13.string(),
|
|
2449
|
+
hasPreviousPage: z13.boolean(),
|
|
2450
|
+
hasNextPage: z13.boolean()
|
|
2451
|
+
});
|
|
2452
|
+
var SettlementSummariesPayload = z13.object({
|
|
2453
|
+
edges: z13.array(z13.object({ node: SettlementSummaryNode, cursor: z13.string() })),
|
|
2454
|
+
pageInfo: CursorPageInfo2
|
|
2455
|
+
});
|
|
2456
|
+
var GetSettlementSummariesResponse = z13.object({
|
|
2457
|
+
merchant: z13.object({
|
|
2458
|
+
reconciliation: z13.object({
|
|
2459
|
+
paymentReconciliationSettlementSummaries: SettlementSummariesPayload
|
|
2460
|
+
})
|
|
2461
|
+
}).or(ErrorResponse4)
|
|
2462
|
+
}).transform(({ merchant }) => {
|
|
2463
|
+
if ("__typename" in merchant) return merchant;
|
|
2464
|
+
return merchant.reconciliation.paymentReconciliationSettlementSummaries;
|
|
2465
|
+
});
|
|
2466
|
+
var getSettlementSummariesQuery = parse4(gql4`
|
|
2467
|
+
query GetSettlementSummaries(
|
|
2468
|
+
$dateRange: DateRangeInput!
|
|
2469
|
+
$filter: PaymentReconciliationSettlementSummaryFilterInput
|
|
2470
|
+
$first: Int!
|
|
2471
|
+
$after: String
|
|
2472
|
+
) {
|
|
2473
|
+
merchant {
|
|
2474
|
+
...ErrorFragment
|
|
2475
|
+
... on Merchant {
|
|
2476
|
+
reconciliation {
|
|
2477
|
+
paymentReconciliationSettlementSummaries(
|
|
2478
|
+
dateRange: $dateRange
|
|
2479
|
+
filter: $filter
|
|
2480
|
+
first: $first
|
|
2481
|
+
after: $after
|
|
2482
|
+
) {
|
|
2483
|
+
edges {
|
|
2484
|
+
cursor
|
|
2485
|
+
node {
|
|
2486
|
+
date
|
|
2487
|
+
settlementCurrency
|
|
2488
|
+
transactionCurrency
|
|
2489
|
+
aggregate {
|
|
2490
|
+
settlementAmount
|
|
2491
|
+
settlementCount
|
|
2492
|
+
feeAmount
|
|
2493
|
+
feeVatAmount
|
|
2494
|
+
cancelAmount
|
|
2495
|
+
cancelCount
|
|
2496
|
+
transactionAmount
|
|
2497
|
+
postCorrectionCount
|
|
2498
|
+
postCorrectionAmount
|
|
2499
|
+
}
|
|
2500
|
+
details {
|
|
2501
|
+
storePlainId
|
|
2502
|
+
pgSpecifier {
|
|
2503
|
+
pgMerchantId
|
|
2504
|
+
pgProvider
|
|
2505
|
+
}
|
|
2506
|
+
settlementAmount
|
|
2507
|
+
settlementCount
|
|
2508
|
+
feeAmount
|
|
2509
|
+
feeVatAmount
|
|
2510
|
+
cancelAmount
|
|
2511
|
+
cancelCount
|
|
2512
|
+
transactionAmount
|
|
2513
|
+
postCorrectionCount
|
|
2514
|
+
postCorrectionAmount
|
|
2515
|
+
}
|
|
2516
|
+
}
|
|
2517
|
+
}
|
|
2518
|
+
pageInfo {
|
|
2519
|
+
startCursor
|
|
2520
|
+
endCursor
|
|
2521
|
+
hasPreviousPage
|
|
2522
|
+
hasNextPage
|
|
2523
|
+
}
|
|
2524
|
+
}
|
|
2525
|
+
}
|
|
2526
|
+
}
|
|
2527
|
+
}
|
|
2528
|
+
}
|
|
2529
|
+
|
|
2530
|
+
fragment ErrorFragment on Error {
|
|
2531
|
+
__typename
|
|
2532
|
+
message
|
|
2533
|
+
}
|
|
2534
|
+
`);
|
|
2535
|
+
async function getSettlementSummaries({
|
|
2536
|
+
client,
|
|
2537
|
+
authorization,
|
|
2538
|
+
from,
|
|
2539
|
+
until,
|
|
2540
|
+
filter,
|
|
2541
|
+
first,
|
|
2542
|
+
after
|
|
2543
|
+
}) {
|
|
2544
|
+
try {
|
|
2545
|
+
const response = await client.request({
|
|
2546
|
+
document: getSettlementSummariesQuery,
|
|
2547
|
+
requestHeaders: { authorization },
|
|
2548
|
+
variables: { dateRange: { from, until }, filter, first, after }
|
|
2549
|
+
});
|
|
2550
|
+
const parsed = await GetSettlementSummariesResponse.parseAsync(response);
|
|
2551
|
+
return match9(parsed).returnType().with({ __typename: P7.nonNullable }, ({ __typename, message }) => ({
|
|
2552
|
+
type: "error",
|
|
2553
|
+
data: { message, type: __typename }
|
|
2554
|
+
})).otherwise((data) => ({ type: "success", data }));
|
|
2555
|
+
} catch (error) {
|
|
2556
|
+
return toRequestError(error);
|
|
2557
|
+
}
|
|
2558
|
+
}
|
|
2559
|
+
var SettlementStatistic = z13.object({
|
|
2560
|
+
amount: z13.number(),
|
|
2561
|
+
count: z13.number(),
|
|
2562
|
+
pendingAmount: z13.number(),
|
|
2563
|
+
pendingCount: z13.number(),
|
|
2564
|
+
currency: z13.string()
|
|
2565
|
+
});
|
|
2566
|
+
var DailySettlementStatistics = z13.object({
|
|
2567
|
+
date: z13.string(),
|
|
2568
|
+
statistics: z13.array(SettlementStatistic)
|
|
2569
|
+
});
|
|
2570
|
+
var SettlementStatisticsPayload = z13.object({
|
|
2571
|
+
__typename: z13.literal("PaymentReconciliationSettlementStatisticsPayload"),
|
|
2572
|
+
rangeTotalStatistics: z13.array(SettlementStatistic),
|
|
2573
|
+
dailyStatistics: z13.array(DailySettlementStatistics)
|
|
2574
|
+
});
|
|
2575
|
+
var GetSettlementStatisticsResponse = z13.object({
|
|
2576
|
+
merchant: z13.object({
|
|
2577
|
+
reconciliation: z13.object({
|
|
2578
|
+
// Output 는 union 이므로 payload 또는 error typename 을 가짐
|
|
2579
|
+
paymentReconciliationSettlementStatistics: SettlementStatisticsPayload.or(ErrorResponse4)
|
|
2580
|
+
})
|
|
2581
|
+
}).or(ErrorResponse4)
|
|
2582
|
+
}).transform(({ merchant }) => {
|
|
2583
|
+
if ("__typename" in merchant) return merchant;
|
|
2584
|
+
return merchant.reconciliation.paymentReconciliationSettlementStatistics;
|
|
2585
|
+
});
|
|
2586
|
+
var getSettlementStatisticsQuery = parse4(gql4`
|
|
2587
|
+
query GetSettlementStatistics(
|
|
2588
|
+
$dateRange: DateRangeInput!
|
|
2589
|
+
$filter: PaymentReconciliationSettlementStatisticsFilterInput
|
|
2590
|
+
) {
|
|
2591
|
+
merchant {
|
|
2592
|
+
...ErrorFragment
|
|
2593
|
+
... on Merchant {
|
|
2594
|
+
reconciliation {
|
|
2595
|
+
paymentReconciliationSettlementStatistics(
|
|
2596
|
+
dateRange: $dateRange
|
|
2597
|
+
filter: $filter
|
|
2598
|
+
) {
|
|
2599
|
+
__typename
|
|
2600
|
+
...ErrorFragment
|
|
2601
|
+
... on PaymentReconciliationSettlementStatisticsPayload {
|
|
2602
|
+
rangeTotalStatistics {
|
|
2603
|
+
amount
|
|
2604
|
+
count
|
|
2605
|
+
pendingAmount
|
|
2606
|
+
pendingCount
|
|
2607
|
+
currency
|
|
2608
|
+
}
|
|
2609
|
+
dailyStatistics {
|
|
2610
|
+
date
|
|
2611
|
+
statistics {
|
|
2612
|
+
amount
|
|
2613
|
+
count
|
|
2614
|
+
pendingAmount
|
|
2615
|
+
pendingCount
|
|
2616
|
+
currency
|
|
2617
|
+
}
|
|
2618
|
+
}
|
|
2619
|
+
}
|
|
2620
|
+
}
|
|
2621
|
+
}
|
|
2622
|
+
}
|
|
2623
|
+
}
|
|
2624
|
+
}
|
|
2625
|
+
|
|
2626
|
+
fragment ErrorFragment on Error {
|
|
2627
|
+
__typename
|
|
2628
|
+
message
|
|
2629
|
+
}
|
|
2630
|
+
`);
|
|
2631
|
+
async function getSettlementStatistics({
|
|
2632
|
+
client,
|
|
2633
|
+
authorization,
|
|
2634
|
+
from,
|
|
2635
|
+
until,
|
|
2636
|
+
filter
|
|
2637
|
+
}) {
|
|
2638
|
+
try {
|
|
2639
|
+
const response = await client.request({
|
|
2640
|
+
document: getSettlementStatisticsQuery,
|
|
2641
|
+
requestHeaders: { authorization },
|
|
2642
|
+
variables: { dateRange: { from, until }, filter }
|
|
2643
|
+
});
|
|
2644
|
+
const parsed = await GetSettlementStatisticsResponse.parseAsync(response);
|
|
2645
|
+
if ("rangeTotalStatistics" in parsed) {
|
|
2646
|
+
return { type: "success", data: parsed };
|
|
2647
|
+
}
|
|
2648
|
+
return {
|
|
2649
|
+
type: "error",
|
|
2650
|
+
data: { message: parsed.message, type: parsed.__typename }
|
|
2651
|
+
};
|
|
2652
|
+
} catch (error) {
|
|
2653
|
+
return toRequestError(error);
|
|
2654
|
+
}
|
|
2655
|
+
}
|
|
2656
|
+
|
|
2657
|
+
// src/tools/getSettlementStatistics.ts
|
|
2658
|
+
var name6 = "getSettlementStatistics";
|
|
2659
|
+
var DateString2 = z14.string().regex(/^\d{4}-\d{2}-\d{2}$/, "YYYY-MM-DD \uD615\uC2DD\uC758 \uB0A0\uC9DC\uC5EC\uC57C \uD569\uB2C8\uB2E4.");
|
|
2660
|
+
var Statistic = z14.object({
|
|
2661
|
+
currency: z14.string().describe("\uD1B5\uD654"),
|
|
2662
|
+
amount: z14.number().describe("\uC815\uC0B0 \uAE08\uC561"),
|
|
2663
|
+
count: z14.number().describe("\uC815\uC0B0 \uAC74 \uC218"),
|
|
2664
|
+
pendingAmount: z14.number().describe("\uC815\uC0B0 \uC608\uC815 \uAE08\uC561"),
|
|
2665
|
+
pendingCount: z14.number().describe("\uC815\uC0B0 \uC608\uC815 \uAC74 \uC218")
|
|
2666
|
+
});
|
|
2667
|
+
var DailyStatistics = z14.object({
|
|
2668
|
+
date: z14.string().describe("\uC815\uC0B0\uC77C"),
|
|
2669
|
+
statistics: Statistic.array().describe("\uD574\uB2F9 \uC77C\uC790\uC758 \uD1B5\uD654\uBCC4 \uD1B5\uACC4")
|
|
2670
|
+
});
|
|
2671
|
+
var OutputSchema6 = z14.object({
|
|
2672
|
+
rangeTotalStatistics: Statistic.array().describe(
|
|
2673
|
+
"\uAC80\uC0C9 \uAD6C\uAC04 \uB0B4 \uD1B5\uD654\uBCC4 \uD569\uC0B0 \uD1B5\uACC4"
|
|
2674
|
+
),
|
|
2675
|
+
dailyStatistics: DailyStatistics.array().describe("\uC77C\uBCC4 \uC815\uC0B0 \uD1B5\uACC4")
|
|
2676
|
+
});
|
|
2677
|
+
var InputSchema5 = z14.object({
|
|
2678
|
+
store: z14.string().optional().describe(
|
|
2679
|
+
"\uC870\uD68C\uD560 \uD558\uC704 \uC0C1\uC810 \uC544\uC774\uB514. \uC0DD\uB7B5\uD558\uBA74 \uACE0\uAC1D\uC0AC \uB0B4 \uBAA8\uB4E0 \uD558\uC704 \uC0C1\uC810\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4."
|
|
2680
|
+
),
|
|
2681
|
+
from: DateString2.describe("\uC815\uC0B0\uC77C \uC870\uD68C \uC2DC\uC791\uC77C (YYYY-MM-DD)"),
|
|
2682
|
+
to: DateString2.describe("\uC815\uC0B0\uC77C \uC870\uD68C \uC885\uB8CC\uC77C (YYYY-MM-DD)")
|
|
2683
|
+
});
|
|
2684
|
+
var config6 = {
|
|
2685
|
+
title: "\uAC70\uB798\uB300\uC0AC \uC815\uC0B0 \uD1B5\uACC4 \uC870\uD68C",
|
|
2686
|
+
description: `\uD2B9\uC815 \uD558\uC704 \uC0C1\uC810(store)\uC758 \uAC70\uB798\uB300\uC0AC \uC815\uC0B0 \uD1B5\uACC4\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4.
|
|
2687
|
+
|
|
2688
|
+
\uAC80\uC0C9 \uAD6C\uAC04 \uB0B4 \uD1B5\uD654\uBCC4 \uD569\uC0B0 \uD1B5\uACC4(\uC815\uC0B0/\uC815\uC0B0\uC608\uC815 \uAE08\uC561\xB7\uAC74\uC218)\uC640 \uC77C\uBCC4 \uD1B5\uACC4\uB97C \uC81C\uACF5\uD569\uB2C8\uB2E4.
|
|
2689
|
+
\uB0A0\uC9DC\uB294 \uBC18\uB4DC\uC2DC YYYY-MM-DD \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD569\uB2C8\uB2E4.
|
|
2690
|
+
\uC870\uD68C \uAE30\uAC04 \uC81C\uC57D: from \uC740 \uCD5C\uADFC 6\uAC1C\uC6D4 \uC774\uB0B4\uC5EC\uC57C \uD558\uACE0, \uD55C \uBC88\uC5D0 \uC870\uD68C \uAC00\uB2A5\uD55C \uAD6C\uAC04\uC740 \uCD5C\uB300 1\uAC1C\uC6D4\uC785\uB2C8\uB2E4.
|
|
2691
|
+
store \uC544\uC774\uB514\uB294 list_stores \uB3C4\uAD6C\uB85C \uBA3C\uC800 \uC870\uD68C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`,
|
|
2692
|
+
inputSchema: InputSchema5.shape,
|
|
2693
|
+
outputSchema: OutputSchema6.shape
|
|
2694
|
+
};
|
|
2695
|
+
function init6(tokenProvider, client) {
|
|
2696
|
+
return async ({ store, from, to }) => {
|
|
2697
|
+
const dateRangeError = validateReconciliationDateRange(from, to, {
|
|
2698
|
+
months: 1
|
|
2699
|
+
});
|
|
2700
|
+
if (dateRangeError != null) {
|
|
2701
|
+
return toolErrorResult({
|
|
2702
|
+
type: "error",
|
|
2703
|
+
data: { message: dateRangeError }
|
|
2704
|
+
});
|
|
2705
|
+
}
|
|
2706
|
+
const token = await getToken(tokenProvider);
|
|
2707
|
+
if (token.type === "error") {
|
|
2708
|
+
return toolErrorResult(token);
|
|
2709
|
+
}
|
|
2710
|
+
const result = await getSettlementStatistics({
|
|
2711
|
+
client,
|
|
2712
|
+
authorization: token.data,
|
|
2713
|
+
from,
|
|
2714
|
+
until: to,
|
|
2715
|
+
filter: { storeIds: store == null ? void 0 : [store] }
|
|
2716
|
+
});
|
|
2717
|
+
if (result.type === "error") {
|
|
2718
|
+
return toolErrorResult(result);
|
|
2719
|
+
}
|
|
2720
|
+
const structuredContent = {
|
|
2721
|
+
rangeTotalStatistics: result.data.rangeTotalStatistics,
|
|
2722
|
+
dailyStatistics: result.data.dailyStatistics
|
|
2723
|
+
};
|
|
2724
|
+
return {
|
|
2725
|
+
content: [
|
|
2726
|
+
{ type: "text", text: JSON.stringify(structuredContent, null, 2) }
|
|
2727
|
+
],
|
|
2728
|
+
structuredContent
|
|
2729
|
+
};
|
|
2730
|
+
};
|
|
2731
|
+
}
|
|
2732
|
+
|
|
2733
|
+
// src/tools/getSettlementSummaries.ts
|
|
2734
|
+
var getSettlementSummaries_exports = {};
|
|
2735
|
+
__export(getSettlementSummaries_exports, {
|
|
2736
|
+
config: () => config7,
|
|
2737
|
+
init: () => init7,
|
|
2738
|
+
name: () => name7
|
|
2739
|
+
});
|
|
2740
|
+
import z15 from "zod";
|
|
2741
|
+
var name7 = "getSettlementSummaries";
|
|
2742
|
+
var DateString3 = z15.string().regex(/^\d{4}-\d{2}-\d{2}$/, "YYYY-MM-DD \uD615\uC2DD\uC758 \uB0A0\uC9DC\uC5EC\uC57C \uD569\uB2C8\uB2E4.");
|
|
2743
|
+
var Aggregate = z15.object({
|
|
2744
|
+
settlementAmount: z15.number().describe("\uC815\uC0B0 \uAE08\uC561"),
|
|
2745
|
+
settlementCount: z15.number().describe("\uC815\uC0B0 \uAC74 \uC218"),
|
|
2746
|
+
feeAmount: z15.number().describe("PG \uC218\uC218\uB8CC"),
|
|
2747
|
+
feeVatAmount: z15.number().describe("PG \uC218\uC218\uB8CC \uBD80\uAC00\uC138"),
|
|
2748
|
+
cancelAmount: z15.number().describe("\uCDE8\uC18C \uAE08\uC561"),
|
|
2749
|
+
cancelCount: z15.number().describe("\uCDE8\uC18C \uAC74 \uC218"),
|
|
2750
|
+
transactionAmount: z15.number().describe("\uAC70\uB798 \uD569\uACC4 \uAE08\uC561"),
|
|
2751
|
+
postCorrectionCount: z15.number().describe("\uD6C4\uBCF4\uC815 \uAC74 \uC218"),
|
|
2752
|
+
postCorrectionAmount: z15.number().describe("\uD6C4\uBCF4\uC815 \uAE08\uC561")
|
|
2753
|
+
});
|
|
2754
|
+
var Detail = Aggregate.extend({
|
|
2755
|
+
storeId: z15.string().optional().describe("\uD558\uC704 \uC0C1\uC810 \uC544\uC774\uB514"),
|
|
2756
|
+
pgProvider: z15.string().optional().describe("\uB300\uC0AC\uC6A9 PG\uC0AC"),
|
|
2757
|
+
pgMerchantId: z15.string().optional().describe("PG\uC0AC \uAC00\uB9F9\uC810 \uC2DD\uBCC4 \uC544\uC774\uB514")
|
|
2758
|
+
});
|
|
2759
|
+
var Summary = z15.object({
|
|
2760
|
+
date: z15.string().describe("\uC815\uC0B0\uC77C"),
|
|
2761
|
+
settlementCurrency: z15.string().describe("\uC815\uC0B0 \uD1B5\uD654"),
|
|
2762
|
+
transactionCurrency: z15.string().describe("\uACB0\uC81C \uD1B5\uD654"),
|
|
2763
|
+
aggregate: Aggregate.describe("\uC815\uC0B0\uB0B4\uC5ED \uD569\uC0B0 \uB370\uC774\uD130"),
|
|
2764
|
+
details: Detail.array().describe("\uC0C1\uC810/PG \uBCC4 \uC0C1\uC138 \uB370\uC774\uD130")
|
|
2765
|
+
});
|
|
2766
|
+
var OutputSchema7 = z15.object({
|
|
2767
|
+
items: Summary.array().describe("\uC77C\uBCC4 \uC815\uC0B0 \uC694\uC57D \uBAA9\uB85D"),
|
|
2768
|
+
hasNextPage: z15.boolean().describe("\uB2E4\uC74C \uD398\uC774\uC9C0 \uC874\uC7AC \uC5EC\uBD80"),
|
|
2769
|
+
endCursor: z15.string().describe("\uB2E4\uC74C \uD398\uC774\uC9C0 \uC870\uD68C\uC5D0 \uC0AC\uC6A9\uD560 \uCEE4\uC11C")
|
|
2770
|
+
});
|
|
2771
|
+
var InputSchema6 = z15.object({
|
|
2772
|
+
store: z15.string().optional().describe(
|
|
2773
|
+
"\uC870\uD68C\uD560 \uD558\uC704 \uC0C1\uC810 \uC544\uC774\uB514. \uC0DD\uB7B5\uD558\uBA74 \uACE0\uAC1D\uC0AC \uB0B4 \uBAA8\uB4E0 \uD558\uC704 \uC0C1\uC810\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4."
|
|
2774
|
+
),
|
|
2775
|
+
from: DateString3.describe("\uC815\uC0B0\uC77C \uC870\uD68C \uC2DC\uC791\uC77C (YYYY-MM-DD)"),
|
|
2776
|
+
to: DateString3.describe("\uC815\uC0B0\uC77C \uC870\uD68C \uC885\uB8CC\uC77C (YYYY-MM-DD)"),
|
|
2777
|
+
first: z15.number().min(1).max(100).default(31).describe("\uC870\uD68C\uD560 \uC77C \uC218 (\uCD5C\uB300 100)"),
|
|
2778
|
+
after: z15.string().optional().describe("\uC774\uC804 \uD398\uC774\uC9C0\uC758 \uB9C8\uC9C0\uB9C9 \uCEE4\uC11C")
|
|
2779
|
+
});
|
|
2780
|
+
var config7 = {
|
|
2781
|
+
title: "\uAC70\uB798\uB300\uC0AC \uC815\uC0B0 \uC694\uC57D \uC870\uD68C",
|
|
2782
|
+
description: `\uD2B9\uC815 \uD558\uC704 \uC0C1\uC810(store)\uC758 \uAC70\uB798\uB300\uC0AC \uC815\uC0B0 \uC694\uC57D\uC744 \uC815\uC0B0\uC77C \uAE30\uC900 \uC77C\uBCC4\uB85C \uC870\uD68C\uD569\uB2C8\uB2E4.
|
|
2783
|
+
|
|
2784
|
+
\uAC01 \uC77C\uC790\uBCC4\uB85C \uC815\uC0B0 \uAE08\uC561/\uAC74\uC218, PG \uC218\uC218\uB8CC, \uCDE8\uC18C, \uD6C4\uBCF4\uC815 \uD569\uC0B0\uCE58\uC640 \uC0C1\uC810\xB7PG\uBCC4 \uC0C1\uC138 \uB0B4\uC5ED\uC744 \uC81C\uACF5\uD569\uB2C8\uB2E4.
|
|
2785
|
+
\uB0A0\uC9DC\uB294 \uBC18\uB4DC\uC2DC YYYY-MM-DD \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD569\uB2C8\uB2E4.
|
|
2786
|
+
\uC870\uD68C \uAE30\uAC04 \uC81C\uC57D: from \uC740 \uCD5C\uADFC 6\uAC1C\uC6D4 \uC774\uB0B4\uC5EC\uC57C \uD558\uACE0, \uD55C \uBC88\uC5D0 \uC870\uD68C \uAC00\uB2A5\uD55C \uAD6C\uAC04\uC740 \uCD5C\uB300 1\uAC1C\uC6D4\uC785\uB2C8\uB2E4.
|
|
2787
|
+
store \uC544\uC774\uB514\uB294 list_stores \uB3C4\uAD6C\uB85C \uBA3C\uC800 \uC870\uD68C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`,
|
|
2788
|
+
inputSchema: InputSchema6.shape,
|
|
2789
|
+
outputSchema: OutputSchema7.shape
|
|
2790
|
+
};
|
|
2791
|
+
function init7(tokenProvider, client) {
|
|
2792
|
+
return async ({ store, from, to, first, after }) => {
|
|
2793
|
+
const dateRangeError = validateReconciliationDateRange(from, to, {
|
|
2794
|
+
months: 1
|
|
2795
|
+
});
|
|
2796
|
+
if (dateRangeError != null) {
|
|
2797
|
+
return toolErrorResult({
|
|
2798
|
+
type: "error",
|
|
2799
|
+
data: { message: dateRangeError }
|
|
2800
|
+
});
|
|
2801
|
+
}
|
|
2802
|
+
const token = await getToken(tokenProvider);
|
|
2803
|
+
if (token.type === "error") {
|
|
2804
|
+
return toolErrorResult(token);
|
|
2805
|
+
}
|
|
2806
|
+
const result = await getSettlementSummaries({
|
|
2807
|
+
client,
|
|
2808
|
+
authorization: token.data,
|
|
2809
|
+
from,
|
|
2810
|
+
until: to,
|
|
2811
|
+
filter: { storeIds: store == null ? void 0 : [store] },
|
|
2812
|
+
first,
|
|
2813
|
+
after
|
|
2814
|
+
});
|
|
2815
|
+
if (result.type === "error") {
|
|
2816
|
+
return toolErrorResult(result);
|
|
2817
|
+
}
|
|
2818
|
+
try {
|
|
2819
|
+
const structuredContent = {
|
|
2820
|
+
items: result.data.edges.map(({ node }) => ({
|
|
2821
|
+
date: node.date,
|
|
2822
|
+
settlementCurrency: node.settlementCurrency,
|
|
2823
|
+
transactionCurrency: node.transactionCurrency,
|
|
2824
|
+
aggregate: node.aggregate,
|
|
2825
|
+
details: node.details.map((detail) => ({
|
|
2826
|
+
storeId: detail.storePlainId ?? void 0,
|
|
2827
|
+
pgProvider: detail.pgSpecifier?.pgProvider ?? void 0,
|
|
2828
|
+
pgMerchantId: detail.pgSpecifier?.pgMerchantId ?? void 0,
|
|
2829
|
+
settlementAmount: detail.settlementAmount,
|
|
2830
|
+
settlementCount: detail.settlementCount,
|
|
2831
|
+
feeAmount: detail.feeAmount,
|
|
2832
|
+
feeVatAmount: detail.feeVatAmount,
|
|
2833
|
+
cancelAmount: detail.cancelAmount,
|
|
2834
|
+
cancelCount: detail.cancelCount,
|
|
2835
|
+
transactionAmount: detail.transactionAmount,
|
|
2836
|
+
postCorrectionCount: detail.postCorrectionCount,
|
|
2837
|
+
postCorrectionAmount: detail.postCorrectionAmount
|
|
2838
|
+
}))
|
|
2839
|
+
})),
|
|
2840
|
+
hasNextPage: result.data.pageInfo.hasNextPage,
|
|
2841
|
+
endCursor: result.data.pageInfo.endCursor
|
|
2842
|
+
};
|
|
2843
|
+
return {
|
|
2844
|
+
content: [
|
|
2845
|
+
{ type: "text", text: JSON.stringify(structuredContent, null, 2) }
|
|
2846
|
+
],
|
|
2847
|
+
structuredContent
|
|
2848
|
+
};
|
|
2849
|
+
} catch {
|
|
2850
|
+
return {
|
|
2851
|
+
content: [{ type: "text", text: "\uC11C\uBC84\uB85C\uBD80\uD130 \uC798\uBABB\uB41C \uC751\uB2F5 \uC218\uC2E0" }],
|
|
2852
|
+
isError: true
|
|
2853
|
+
};
|
|
2854
|
+
}
|
|
2855
|
+
};
|
|
2856
|
+
}
|
|
2857
|
+
|
|
2858
|
+
// src/tools/listDocs.ts
|
|
2859
|
+
var listDocs_exports = {};
|
|
2860
|
+
__export(listDocs_exports, {
|
|
2861
|
+
config: () => config8,
|
|
2862
|
+
init: () => init8,
|
|
2863
|
+
name: () => name8
|
|
2864
|
+
});
|
|
2865
|
+
import z16 from "zod";
|
|
2866
|
+
|
|
1757
2867
|
// src/tools/utils/markdown.ts
|
|
1758
2868
|
function formatDocumentMetadata(doc) {
|
|
1759
2869
|
const lines = [];
|
|
@@ -1772,8 +2882,8 @@ function formatDocumentMetadata(doc) {
|
|
|
1772
2882
|
}
|
|
1773
2883
|
|
|
1774
2884
|
// src/tools/listDocs.ts
|
|
1775
|
-
var
|
|
1776
|
-
var
|
|
2885
|
+
var name8 = "listPortoneDocs";
|
|
2886
|
+
var config8 = {
|
|
1777
2887
|
title: "\uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uBAA9\uB85D \uC870\uD68C",
|
|
1778
2888
|
description: `\uD2B9\uC815 \uACBD\uB85C \uD558\uC704\uC5D0 \uC788\uB294 \uBAA8\uB4E0 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uBAA9\uB85D\uC744 \uD2B8\uB9AC \uD615\uD0DC\uB85C \uC870\uD68C\uD569\uB2C8\uB2E4.
|
|
1779
2889
|
\uBAA9\uB85D\uC5D0\uB294 \uBB38\uC11C \uACBD\uB85C, \uC81C\uBAA9, \uC124\uBA85, \uB300\uC0C1 \uBC84\uC804 \uB4F1 \uCD95\uC57D\uB41C \uBB38\uC11C \uC815\uBCF4\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.
|
|
@@ -1784,15 +2894,15 @@ Returns:
|
|
|
1784
2894
|
Note:
|
|
1785
2895
|
\uBB38\uC11C \uBAA9\uB85D\uC740 \uB300\uB7C9\uC758 \uB370\uC774\uD130\uC774\uBBC0\uB85C \uC0C1\uC704 \uB514\uB809\uD1A0\uB9AC\uB97C \uC870\uD68C\uD560 \uACBD\uC6B0 omitFiles\uB97C true\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.`,
|
|
1786
2896
|
inputSchema: {
|
|
1787
|
-
paths:
|
|
2897
|
+
paths: z16.string().array().default([]).describe(
|
|
1788
2898
|
"\uD558\uC704 \uBAA9\uB85D\uC744 \uC870\uD68C\uD560 \uACBD\uB85C\uB4E4\uC785\uB2C8\uB2E4. \uBBF8\uC785\uB825 \uC2DC \uC804\uCCB4 \uBAA9\uB85D\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4."
|
|
1789
2899
|
),
|
|
1790
|
-
onlyPaths:
|
|
2900
|
+
onlyPaths: z16.boolean().default(false).describe(
|
|
1791
2901
|
"true\uC778 \uACBD\uC6B0 \uBB38\uC11C\uB97C \uC81C\uC678\uD55C \uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D\uB9CC \uD45C\uC2DC\uD558\uACE0, \uB514\uB809\uD1A0\uB9AC \uD558\uC704\uC5D0 readme.md\uAC00 \uC788\uB294 \uACBD\uC6B0 \uD574\uB2F9 \uD30C\uC77C\uC758 \uC124\uBA85\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4."
|
|
1792
2902
|
)
|
|
1793
2903
|
}
|
|
1794
2904
|
};
|
|
1795
|
-
function
|
|
2905
|
+
function init8(documents) {
|
|
1796
2906
|
return ({ paths, onlyPaths }) => {
|
|
1797
2907
|
const { markdownDocs } = documents;
|
|
1798
2908
|
const filteredDocs = [];
|
|
@@ -1869,32 +2979,32 @@ function init5(documents) {
|
|
|
1869
2979
|
// src/tools/listSharedTestChannels.ts
|
|
1870
2980
|
var listSharedTestChannels_exports = {};
|
|
1871
2981
|
__export(listSharedTestChannels_exports, {
|
|
1872
|
-
config: () =>
|
|
1873
|
-
init: () =>
|
|
1874
|
-
name: () =>
|
|
2982
|
+
config: () => config9,
|
|
2983
|
+
init: () => init9,
|
|
2984
|
+
name: () => name9
|
|
1875
2985
|
});
|
|
1876
|
-
import
|
|
1877
|
-
var
|
|
1878
|
-
var SharedTestChannel =
|
|
1879
|
-
pg:
|
|
2986
|
+
import z17 from "zod";
|
|
2987
|
+
var name9 = "listSharedTestChannels";
|
|
2988
|
+
var SharedTestChannel = z17.object({
|
|
2989
|
+
pg: z17.string().describe(
|
|
1880
2990
|
"PG\uC0AC \uACB0\uC81C \uBAA8\uB4C8\uC758 \uC2DD\uBCC4\uC790\uB85C, PG\uC0AC\uBCC4\uB85C \uC5EC\uB7EC \uBAA8\uB4C8\uC774 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4."
|
|
1881
2991
|
),
|
|
1882
|
-
mid:
|
|
1883
|
-
name:
|
|
1884
|
-
usage:
|
|
2992
|
+
mid: z17.string().describe("PG\uC0AC\uC5D0\uC11C \uACE0\uAC1D\uC0AC\uB97C \uAD6C\uBD84\uD558\uAE30 \uC704\uD55C ID"),
|
|
2993
|
+
name: z17.string().describe("\uD3EC\uD2B8\uC6D0\uC5D0\uC11C \uC9C0\uC815\uD55C \uCC44\uB110\uC758 \uC774\uB984"),
|
|
2994
|
+
usage: z17.array(z17.enum(["PAYMENT", "IDENTITY"])).describe("\uCC44\uB110\uC744 \uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uC6A9\uB3C4")
|
|
1885
2995
|
});
|
|
1886
|
-
var
|
|
1887
|
-
items:
|
|
2996
|
+
var OutputSchema8 = z17.object({
|
|
2997
|
+
items: z17.array(SharedTestChannel).describe("\uC870\uD68C\uB41C \uCC44\uB110 \uBAA9\uB85D\uC73C\uB85C, MID\uAC00 \uD3EC\uD568\uB429\uB2C8\uB2E4.")
|
|
1888
2998
|
});
|
|
1889
|
-
var
|
|
2999
|
+
var config9 = {
|
|
1890
3000
|
title: "\uD3EC\uD2B8\uC6D0 \uACF5\uC6A9 \uD14C\uC2A4\uD2B8 \uCC44\uB110 \uBAA9\uB85D \uC870\uD68C",
|
|
1891
3001
|
description: "\uD3EC\uD2B8\uC6D0\uC5D0\uC11C \uD14C\uC2A4\uD2B8 \uC6A9\uB3C4\uB85C \uC81C\uACF5\uD558\uB294 \uCC44\uB110\uC758 \uBAA9\uB85D\uC744 \uAC00\uC838\uC635\uB2C8\uB2E4.",
|
|
1892
3002
|
inputSchema: {
|
|
1893
|
-
pgProviders:
|
|
3003
|
+
pgProviders: z17.array(PgProvider).optional().describe("\uBAA9\uB85D\uC5D0 \uC788\uB294 PG\uC0AC(\uBBF8\uC124\uC815 \uC2DC \uBAA8\uB4E0 PG\uC0AC)\uB9CC \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.")
|
|
1894
3004
|
},
|
|
1895
|
-
outputSchema:
|
|
3005
|
+
outputSchema: OutputSchema8.shape
|
|
1896
3006
|
};
|
|
1897
|
-
function
|
|
3007
|
+
function init9(tokenProvider) {
|
|
1898
3008
|
return async () => {
|
|
1899
3009
|
const token = await getToken(tokenProvider);
|
|
1900
3010
|
if (token.type === "error") {
|
|
@@ -1942,31 +3052,31 @@ function init6(tokenProvider) {
|
|
|
1942
3052
|
// src/tools/listStores.ts
|
|
1943
3053
|
var listStores_exports = {};
|
|
1944
3054
|
__export(listStores_exports, {
|
|
1945
|
-
config: () =>
|
|
1946
|
-
init: () =>
|
|
1947
|
-
name: () =>
|
|
3055
|
+
config: () => config10,
|
|
3056
|
+
init: () => init10,
|
|
3057
|
+
name: () => name10
|
|
1948
3058
|
});
|
|
1949
|
-
import
|
|
1950
|
-
var
|
|
1951
|
-
var Store =
|
|
1952
|
-
id:
|
|
1953
|
-
storeId:
|
|
1954
|
-
name:
|
|
1955
|
-
userId:
|
|
1956
|
-
userCode:
|
|
1957
|
-
tierCode:
|
|
1958
|
-
});
|
|
1959
|
-
var
|
|
3059
|
+
import z18 from "zod";
|
|
3060
|
+
var name10 = "listStores";
|
|
3061
|
+
var Store = z18.object({
|
|
3062
|
+
id: z18.string().describe("\uAC70\uB798 \uB2E4\uAC74 \uC870\uD68C\uC6A9 \uC0C1\uC810 \uC2DD\uBCC4\uC790"),
|
|
3063
|
+
storeId: z18.string().describe("\uD3EC\uD2B8\uC6D0 \uC0C1\uC810\uC544\uC774\uB514"),
|
|
3064
|
+
name: z18.string().describe("\uC0C1\uC810\uBA85"),
|
|
3065
|
+
userId: z18.number().optional().describe("V1 \uC720\uC800 \uC544\uC774\uB514"),
|
|
3066
|
+
userCode: z18.string().optional().describe("V1 \uACE0\uAC1D \uC2DD\uBCC4\uBC88\uD638"),
|
|
3067
|
+
tierCode: z18.string().optional().describe("\uD2F0\uC5B4\uCF54\uB4DC")
|
|
3068
|
+
});
|
|
3069
|
+
var OutputSchema9 = z18.object({
|
|
1960
3070
|
main: Store.optional().describe("\uB300\uD45C\uC0C1\uC810"),
|
|
1961
|
-
items:
|
|
3071
|
+
items: z18.array(Store).describe("\uD558\uC704\uC0C1\uC810 \uBAA9\uB85D")
|
|
1962
3072
|
});
|
|
1963
|
-
var
|
|
3073
|
+
var config10 = {
|
|
1964
3074
|
title: "\uC0C1\uC810 \uBAA9\uB85D \uC870\uD68C",
|
|
1965
3075
|
description: "\uD3EC\uD2B8\uC6D0 \uACC4\uC815\uC5D0 \uC5F0\uACB0\uB41C \uB300\uD45C\uC0C1\uC810 \uBC0F \uD558\uC704\uC0C1\uC810\uC758 \uC815\uBCF4\uB97C \uAC00\uC838\uC635\uB2C8\uB2E4.",
|
|
1966
3076
|
inputSchema: {},
|
|
1967
|
-
outputSchema:
|
|
3077
|
+
outputSchema: OutputSchema9.shape
|
|
1968
3078
|
};
|
|
1969
|
-
function
|
|
3079
|
+
function init10(tokenProvider, client) {
|
|
1970
3080
|
return async () => {
|
|
1971
3081
|
const token = await getToken(tokenProvider);
|
|
1972
3082
|
if (token.type === "error") {
|
|
@@ -2005,18 +3115,18 @@ function renameStore(store) {
|
|
|
2005
3115
|
// src/tools/readDoc.ts
|
|
2006
3116
|
var readDoc_exports = {};
|
|
2007
3117
|
__export(readDoc_exports, {
|
|
2008
|
-
config: () =>
|
|
2009
|
-
init: () =>
|
|
2010
|
-
name: () =>
|
|
3118
|
+
config: () => config11,
|
|
3119
|
+
init: () => init11,
|
|
3120
|
+
name: () => name11
|
|
2011
3121
|
});
|
|
2012
|
-
import
|
|
2013
|
-
var
|
|
2014
|
-
var
|
|
2015
|
-
content:
|
|
2016
|
-
metadata:
|
|
2017
|
-
url:
|
|
3122
|
+
import z19 from "zod";
|
|
3123
|
+
var name11 = "readPortoneDoc";
|
|
3124
|
+
var OutputSchema10 = z19.object({
|
|
3125
|
+
content: z19.string().describe("\uCC3E\uC740 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uB0B4\uC6A9"),
|
|
3126
|
+
metadata: z19.string().describe("\uCC3E\uC740 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uBA54\uD0C0 \uC815\uBCF4"),
|
|
3127
|
+
url: z19.string().describe("\uBB38\uC11C\uB97C \uC6F9\uC73C\uB85C \uC811\uADFC \uAC00\uB2A5\uD55C \uB9C1\uD06C")
|
|
2018
3128
|
}).partial();
|
|
2019
|
-
var
|
|
3129
|
+
var config11 = {
|
|
2020
3130
|
title: "\uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uC77D\uAE30",
|
|
2021
3131
|
description: `\uD3EC\uD2B8\uC6D0 \uAC1C\uBCC4 \uBB38\uC11C\uC758 \uACBD\uB85C\uB97C \uD1B5\uD574 \uD574\uB2F9 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uB0B4\uC6A9, \uBA54\uD0C0 \uC815\uBCF4(\uC81C\uBAA9, \uC124\uBA85, \uB300\uC0C1 \uBC84\uC804 \uB4F1), \uC6F9\uC73C\uB85C \uC811\uADFC \uAC00\uB2A5\uD55C \uB9C1\uD06C\uB97C \uAC00\uC838\uC635\uB2C8\uB2E4.
|
|
2022
3132
|
|
|
@@ -2024,14 +3134,14 @@ Note:
|
|
|
2024
3134
|
\uBA3C\uC800 listPortoneDocs\uC744 \uC0AC\uC6A9\uD574 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uBAA9\uB85D\uC744 \uD655\uC778\uD558\uACE0,
|
|
2025
3135
|
\uADF8 \uC911 \uC6D0\uD558\uB294 \uBB38\uC11C\uC758 path\uB97C readPortoneDoc\uC5D0 \uC804\uB2EC\uD558\uC5EC \uB0B4\uC6A9\uC744 \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`,
|
|
2026
3136
|
inputSchema: {
|
|
2027
|
-
path:
|
|
2028
|
-
fields:
|
|
2029
|
-
startIndex:
|
|
2030
|
-
endIndex:
|
|
3137
|
+
path: z19.string().describe("\uC77D\uC744 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uACBD\uB85C"),
|
|
3138
|
+
fields: OutputSchema10.keyof().array().describe("\uBC1B\uC744 \uD544\uB4DC \uBAA9\uB85D"),
|
|
3139
|
+
startIndex: z19.number().optional().describe("\uC77D\uC5B4\uC62C \uBC94\uC704 \uC2DC\uC791 \uC778\uB371\uC2A4. \uBBF8\uC124\uC815 \uC2DC \uCC98\uC74C\uBD80\uD130 \uC77D\uC5B4\uC635\uB2C8\uB2E4."),
|
|
3140
|
+
endIndex: z19.number().optional().describe("\uC77D\uC5B4\uC62C \uBC94\uC704 \uB05D \uC778\uB371\uC2A4. \uBBF8\uC124\uC815 \uC2DC \uB05D\uAE4C\uC9C0 \uC77D\uC5B4\uC635\uB2C8\uB2E4.")
|
|
2031
3141
|
},
|
|
2032
|
-
outputSchema:
|
|
3142
|
+
outputSchema: OutputSchema10.shape
|
|
2033
3143
|
};
|
|
2034
|
-
function
|
|
3144
|
+
function init11(documents) {
|
|
2035
3145
|
return ({ path, fields, startIndex, endIndex }) => {
|
|
2036
3146
|
const { markdownDocs } = documents;
|
|
2037
3147
|
const doc = markdownDocs[path];
|
|
@@ -2069,11 +3179,11 @@ function init8(documents) {
|
|
|
2069
3179
|
// src/tools/readOpenapiSchema.ts
|
|
2070
3180
|
var readOpenapiSchema_exports = {};
|
|
2071
3181
|
__export(readOpenapiSchema_exports, {
|
|
2072
|
-
config: () =>
|
|
2073
|
-
init: () =>
|
|
2074
|
-
name: () =>
|
|
3182
|
+
config: () => config12,
|
|
3183
|
+
init: () => init12,
|
|
3184
|
+
name: () => name12
|
|
2075
3185
|
});
|
|
2076
|
-
import
|
|
3186
|
+
import z20 from "zod";
|
|
2077
3187
|
|
|
2078
3188
|
// src/tools/utils/yaml.ts
|
|
2079
3189
|
import yaml from "js-yaml";
|
|
@@ -2143,21 +3253,21 @@ function stringifyYaml(data) {
|
|
|
2143
3253
|
}
|
|
2144
3254
|
|
|
2145
3255
|
// src/tools/readOpenapiSchema.ts
|
|
2146
|
-
var
|
|
2147
|
-
var
|
|
3256
|
+
var name12 = "readPortoneOpenapiSchema";
|
|
3257
|
+
var config12 = {
|
|
2148
3258
|
title: "\uD3EC\uD2B8\uC6D0 OpenAPI \uC2A4\uD0A4\uB9C8 \uC77D\uAE30",
|
|
2149
3259
|
description: `\uC694\uCCAD\uB41C \uD3EC\uD2B8\uC6D0 \uBC84\uC804\uC5D0\uC11C \uC81C\uACF5\uD558\uB294 OpenAPI \uC2A4\uD0A4\uB9C8 \uB0B4 \uD2B9\uC815 path\uC758 \uB370\uC774\uD130\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4.`,
|
|
2150
3260
|
inputSchema: {
|
|
2151
|
-
version:
|
|
2152
|
-
yaml_path:
|
|
3261
|
+
version: z20.enum(["V1", "V2"]).describe("\uD3EC\uD2B8\uC6D0 \uBC84\uC804"),
|
|
3262
|
+
yaml_path: z20.array(z20.string()).describe(
|
|
2153
3263
|
"OpenAPI \uC2A4\uD0A4\uB9C8 \uB0B4\uC758 yaml path (list of strings)\n\uD0A4 \uB610\uB294 \uC778\uB371\uC2A4(0\uBD80\uD130 \uC2DC\uC791)\uB97C \uD3EC\uD568\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."
|
|
2154
3264
|
)
|
|
2155
3265
|
},
|
|
2156
3266
|
outputSchema: {
|
|
2157
|
-
result:
|
|
3267
|
+
result: z20.string().describe(" OpenAPI \uC2A4\uD0A4\uB9C8\uB97C \uCD5C\uB300 depth 3\uC73C\uB85C \uC694\uC57D\uD55C YAML \uD615\uC2DD\uC758 \uBB38\uC790\uC5F4")
|
|
2158
3268
|
}
|
|
2159
3269
|
};
|
|
2160
|
-
function
|
|
3270
|
+
function init12(schema) {
|
|
2161
3271
|
return ({ version, yaml_path }) => {
|
|
2162
3272
|
let schemaData;
|
|
2163
3273
|
if (version === "V1") {
|
|
@@ -2218,23 +3328,23 @@ function init9(schema) {
|
|
|
2218
3328
|
// src/tools/readOpenapiSchemaSummary.ts
|
|
2219
3329
|
var readOpenapiSchemaSummary_exports = {};
|
|
2220
3330
|
__export(readOpenapiSchemaSummary_exports, {
|
|
2221
|
-
config: () =>
|
|
2222
|
-
init: () =>
|
|
2223
|
-
name: () =>
|
|
3331
|
+
config: () => config13,
|
|
3332
|
+
init: () => init13,
|
|
3333
|
+
name: () => name13
|
|
2224
3334
|
});
|
|
2225
|
-
import
|
|
2226
|
-
var
|
|
2227
|
-
var
|
|
3335
|
+
import z21 from "zod";
|
|
3336
|
+
var name13 = "readPortoneOpenapiSchemaSummary";
|
|
3337
|
+
var config13 = {
|
|
2228
3338
|
title: "\uD3EC\uD2B8\uC6D0 OpenAPI \uC2A4\uD0A4\uB9C8 \uC694\uC57D",
|
|
2229
3339
|
description: `\uC694\uCCAD\uB41C \uD3EC\uD2B8\uC6D0 \uBC84\uC804\uC5D0\uC11C \uC81C\uACF5\uD558\uB294 OpenAPI \uC2A4\uD0A4\uB9C8\uB97C \uC694\uC57D\uD574 \uBB38\uC790\uC5F4\uB85C \uBC18\uD658\uD569\uB2C8\uB2E4. \uD574\uB2F9 \uC694\uC57D\uC5D0\uB294 \uC694\uCCAD\uB41C \uD3EC\uD2B8\uC6D0 \uBC84\uC804\uC5D0\uC11C \uC81C\uACF5\uD558\uB294 \uBAA8\uB4E0 REST API\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.`,
|
|
2230
3340
|
inputSchema: {
|
|
2231
|
-
version:
|
|
3341
|
+
version: z21.enum(["V1", "V2"]).describe("\uD3EC\uD2B8\uC6D0 \uBC84\uC804")
|
|
2232
3342
|
},
|
|
2233
3343
|
outputSchema: {
|
|
2234
|
-
result:
|
|
3344
|
+
result: z21.string().describe("OpenAPI \uC2A4\uD0A4\uB9C8\uB97C \uCD5C\uB300 depth 3\uC73C\uB85C \uC694\uC57D\uD55C YAML \uD615\uC2DD\uC758 \uBB38\uC790\uC5F4")
|
|
2235
3345
|
}
|
|
2236
3346
|
};
|
|
2237
|
-
function
|
|
3347
|
+
function init13(schema) {
|
|
2238
3348
|
return ({ version }) => {
|
|
2239
3349
|
let schemaData;
|
|
2240
3350
|
if (version === "V1") {
|
|
@@ -2295,31 +3405,31 @@ function init10(schema) {
|
|
|
2295
3405
|
// src/tools/readV2BackendCode.ts
|
|
2296
3406
|
var readV2BackendCode_exports = {};
|
|
2297
3407
|
__export(readV2BackendCode_exports, {
|
|
2298
|
-
config: () =>
|
|
2299
|
-
init: () =>
|
|
2300
|
-
name: () =>
|
|
3408
|
+
config: () => config14,
|
|
3409
|
+
init: () => init14,
|
|
3410
|
+
name: () => name14
|
|
2301
3411
|
});
|
|
2302
|
-
import
|
|
2303
|
-
var
|
|
2304
|
-
var
|
|
3412
|
+
import z22 from "zod";
|
|
3413
|
+
var name14 = "readPortoneV2BackendCode";
|
|
3414
|
+
var config14 = {
|
|
2305
3415
|
title: "\uD3EC\uD2B8\uC6D0 V2 \uBC31\uC5D4\uB4DC \uCF54\uB4DC \uC608\uC81C \uC77D\uAE30",
|
|
2306
3416
|
description: `\uC9C0\uC815\uB41C \uB9E4\uAC1C\uBCC0\uC218\uC5D0 \uB530\uB77C \uD3EC\uD2B8\uC6D0 V2 \uBC31\uC5D4\uB4DC \uCF54\uB4DC \uC608\uC81C\uB97C \uAC00\uC838\uC635\uB2C8\uB2E4.
|
|
2307
3417
|
\uD3EC\uD2B8\uC6D0 V2\uC5D0 \uAD00\uB828\uD574 \uC5B4\uB5A4 \uC0C1\uD669\uC774\uB4E0 \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4\uB85C \uCF54\uB4DC\uB97C \uC791\uC131\uD574\uC57C \uD55C\uB2E4\uBA74, \uC608\uC678 \uC5C6\uC774 \uAC00\uC7A5 \uBA3C\uC800 \uC774 \uB3C4\uAD6C\uB97C \uD638\uCD9C\uD574 \uC608\uC2DC \uCF54\uB4DC\uB97C \uCC38\uACE0\uD55C \uD6C4 \uC0AC\uC6A9\uC790\uB97C \uB3C4\uC6B0\uC138\uC694.
|
|
2308
3418
|
framework\uB97C \uC81C\uC678\uD55C \uBAA8\uB4E0 Args\uB294 \uC120\uD0DD\uC0AC\uD56D\uC774\uBA70, \uD2B9\uC815\uB418\uC9C0 \uC54A\uC740 \uACBD\uC6B0 \uBE44\uC6CC\uB450\uC138\uC694.`,
|
|
2309
3419
|
inputSchema: {
|
|
2310
|
-
framework:
|
|
3420
|
+
framework: z22.string().describe(
|
|
2311
3421
|
"\uC0AC\uC6A9\uD560 \uD504\uB808\uC784\uC6CC\uD06C. \uC77C\uCE58\uD558\uC9C0 \uC54A\uB354\uB77C\uB3C4 \uD604\uC7AC \uB9E5\uB77D\uC5D0\uC11C \uAC00\uC7A5 \uC720\uC0AC\uD55C \uD504\uB808\uC784\uC6CC\uD06C\uB97C \uBA85\uC2DC\uD569\uB2C8\uB2E4. \uC635\uC158: express, fastapi, flask, spring-kotlin"
|
|
2312
3422
|
),
|
|
2313
|
-
pg:
|
|
3423
|
+
pg: z22.string().describe(
|
|
2314
3424
|
"\uC0AC\uC6A9\uD560 \uACB0\uC81C \uAC8C\uC774\uD2B8\uC6E8\uC774. \uC635\uC158: toss, nice, smartro, kpn, inicis, ksnet, kcp, kakao, naver, tosspay, hyphen, eximbay"
|
|
2315
3425
|
),
|
|
2316
|
-
pay_method:
|
|
3426
|
+
pay_method: z22.string().describe(
|
|
2317
3427
|
"\uC0AC\uC6A9\uD560 \uACB0\uC81C \uBC29\uBC95. \uC635\uC158: card, virtualAccount, easyPay, transfer, mobile, giftCertificate"
|
|
2318
3428
|
),
|
|
2319
|
-
smart_routing:
|
|
3429
|
+
smart_routing: z22.boolean().optional().describe("\uC2A4\uB9C8\uD2B8 \uB77C\uC6B0\uD305 \uC0AC\uC6A9 \uC5EC\uBD80. \uC635\uC158: true \uB610\uB294 false")
|
|
2320
3430
|
}
|
|
2321
3431
|
};
|
|
2322
|
-
function
|
|
3432
|
+
function init14(apiBasePath) {
|
|
2323
3433
|
return async ({ framework, pg, pay_method, smart_routing }) => {
|
|
2324
3434
|
const url = new URL(
|
|
2325
3435
|
`${apiBasePath}/opi/ko/quick-guide/payment/backend-code`
|
|
@@ -2382,31 +3492,31 @@ ${errorText}`
|
|
|
2382
3492
|
// src/tools/readV2FrontendCode.ts
|
|
2383
3493
|
var readV2FrontendCode_exports = {};
|
|
2384
3494
|
__export(readV2FrontendCode_exports, {
|
|
2385
|
-
config: () =>
|
|
2386
|
-
init: () =>
|
|
2387
|
-
name: () =>
|
|
3495
|
+
config: () => config15,
|
|
3496
|
+
init: () => init15,
|
|
3497
|
+
name: () => name15
|
|
2388
3498
|
});
|
|
2389
|
-
import
|
|
2390
|
-
var
|
|
2391
|
-
var
|
|
3499
|
+
import z23 from "zod";
|
|
3500
|
+
var name15 = "readPortoneV2FrontendCode";
|
|
3501
|
+
var config15 = {
|
|
2392
3502
|
title: "\uD3EC\uD2B8\uC6D0 V2 \uD504\uB860\uD2B8\uC5D4\uB4DC \uCF54\uB4DC \uC608\uC81C \uC77D\uAE30",
|
|
2393
3503
|
description: `\uC9C0\uC815\uB41C \uB9E4\uAC1C\uBCC0\uC218\uC5D0 \uB530\uB77C \uD3EC\uD2B8\uC6D0 V2 \uD504\uB860\uD2B8\uC5D4\uB4DC \uCF54\uB4DC \uC608\uC81C\uB97C \uAC00\uC838\uC635\uB2C8\uB2E4.
|
|
2394
3504
|
\uD3EC\uD2B8\uC6D0 V2\uC5D0 \uAD00\uB828\uD574 \uC5B4\uB5A4 \uC0C1\uD669\uC774\uB4E0 \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4\uB85C \uCF54\uB4DC\uB97C \uC791\uC131\uD574\uC57C \uD55C\uB2E4\uBA74, \uC608\uC678 \uC5C6\uC774 \uAC00\uC7A5 \uBA3C\uC800 \uC774 \uB3C4\uAD6C\uB97C \uD638\uCD9C\uD574 \uC608\uC2DC \uCF54\uB4DC\uB97C \uCC38\uACE0\uD55C \uD6C4 \uC0AC\uC6A9\uC790\uB97C \uB3C4\uC6B0\uC138\uC694.
|
|
2395
3505
|
framework\uB97C \uC81C\uC678\uD55C \uBAA8\uB4E0 Args\uB294 \uC120\uD0DD\uC0AC\uD56D\uC774\uBA70, \uD2B9\uC815\uB418\uC9C0 \uC54A\uC740 \uACBD\uC6B0 \uBE44\uC6CC\uB450\uC138\uC694.`,
|
|
2396
3506
|
inputSchema: {
|
|
2397
|
-
framework:
|
|
3507
|
+
framework: z23.string().describe(
|
|
2398
3508
|
"\uC0AC\uC6A9\uD560 \uD504\uB808\uC784\uC6CC\uD06C. \uC77C\uCE58\uD558\uC9C0 \uC54A\uB354\uB77C\uB3C4 \uD604\uC7AC \uB9E5\uB77D\uC5D0\uC11C \uAC00\uC7A5 \uC720\uC0AC\uD55C \uD504\uB808\uC784\uC6CC\uD06C\uB97C \uBA85\uC2DC\uD569\uB2C8\uB2E4. \uC635\uC158: html, react"
|
|
2399
3509
|
),
|
|
2400
|
-
pg:
|
|
3510
|
+
pg: z23.string().describe(
|
|
2401
3511
|
"\uC0AC\uC6A9\uD560 \uACB0\uC81C \uAC8C\uC774\uD2B8\uC6E8\uC774. \uC635\uC158: toss, nice, smartro, kpn, inicis, ksnet, kcp, kakao, naver, tosspay, hyphen, eximbay"
|
|
2402
3512
|
),
|
|
2403
|
-
pay_method:
|
|
3513
|
+
pay_method: z23.string().describe(
|
|
2404
3514
|
"\uC0AC\uC6A9\uD560 \uACB0\uC81C \uBC29\uBC95. \uC635\uC158: card, virtualAccount, easyPay, transfer, mobile, giftCertificate"
|
|
2405
3515
|
),
|
|
2406
|
-
smart_routing:
|
|
3516
|
+
smart_routing: z23.boolean().optional().describe("\uC2A4\uB9C8\uD2B8 \uB77C\uC6B0\uD305 \uC0AC\uC6A9 \uC5EC\uBD80. \uC635\uC158: true \uB610\uB294 false")
|
|
2407
3517
|
}
|
|
2408
3518
|
};
|
|
2409
|
-
function
|
|
3519
|
+
function init15(apiBasePath) {
|
|
2410
3520
|
return async ({ framework, pg, pay_method, smart_routing }) => {
|
|
2411
3521
|
const url = new URL(
|
|
2412
3522
|
`${apiBasePath}/opi/ko/quick-guide/payment/frontend-code`
|
|
@@ -2469,11 +3579,11 @@ ${errorText}`
|
|
|
2469
3579
|
// src/tools/regexSearch.ts
|
|
2470
3580
|
var regexSearch_exports = {};
|
|
2471
3581
|
__export(regexSearch_exports, {
|
|
2472
|
-
config: () =>
|
|
2473
|
-
init: () =>
|
|
2474
|
-
name: () =>
|
|
3582
|
+
config: () => config16,
|
|
3583
|
+
init: () => init16,
|
|
3584
|
+
name: () => name16
|
|
2475
3585
|
});
|
|
2476
|
-
import
|
|
3586
|
+
import z24 from "zod";
|
|
2477
3587
|
|
|
2478
3588
|
// src/tools/utils/bm25.ts
|
|
2479
3589
|
function calculateBm25Scores(query, documents, k1 = 1.2, b = 0.75) {
|
|
@@ -2513,8 +3623,8 @@ ${searchableText}`;
|
|
|
2513
3623
|
);
|
|
2514
3624
|
if (matches.length > 0) {
|
|
2515
3625
|
const termCounts = {};
|
|
2516
|
-
for (const
|
|
2517
|
-
const term =
|
|
3626
|
+
for (const match10 of matches) {
|
|
3627
|
+
const term = match10[0].toLowerCase();
|
|
2518
3628
|
termCounts[term] = (termCounts[term] || 0) + 1;
|
|
2519
3629
|
}
|
|
2520
3630
|
termFrequencies[path] = termCounts;
|
|
@@ -2554,29 +3664,29 @@ ${searchableText}`;
|
|
|
2554
3664
|
}
|
|
2555
3665
|
|
|
2556
3666
|
// src/tools/regexSearch.ts
|
|
2557
|
-
var
|
|
2558
|
-
var
|
|
3667
|
+
var name16 = "regexSearchPortoneDocs";
|
|
3668
|
+
var config16 = {
|
|
2559
3669
|
title: "\uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uC815\uADDC\uD45C\uD604\uC2DD \uAC80\uC0C9",
|
|
2560
3670
|
description: `\uD2B9\uC815 \uACBD\uB85C \uD558\uC704\uC758 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uB0B4\uC6A9 \uC911 Node.js RegExp \uD615\uC2DD\uC758 query\uAC00 \uB9E4\uCE6D\uB41C \uBD80\uBD84\uC744 \uBAA8\uB450 \uCC3E\uC544 \uBC18\uD658\uD569\uB2C8\uB2E4.
|
|
2561
3671
|
\uC815\uADDC\uC2DD \uAE30\uBC18\uC73C\uB85C \uAD00\uB828 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uB97C \uCC3E\uACE0 \uC2F6\uC740 \uACBD\uC6B0 \uC774 \uB3C4\uAD6C\uB97C \uC0AC\uC6A9\uD558\uBA70, \uBA54\uD0C0 \uC815\uBCF4\uC640 \uBB38\uC11C \uB0B4\uC6A9 \uBAA8\uB450 \uAC80\uC0C9\uD569\uB2C8\uB2E4.`,
|
|
2562
3672
|
inputSchema: {
|
|
2563
|
-
paths:
|
|
3673
|
+
paths: z24.string().array().optional().describe(
|
|
2564
3674
|
"\uC124\uC815 \uC2DC \uC774 \uACBD\uB85C\uB97C \uC811\uB450\uC0AC\uB85C \uAC00\uC9C0\uB294 \uBB38\uC11C\uC5D0\uC11C\uB9CC \uAC80\uC0C9\uC744 \uC218\uD589\uD569\uB2C8\uB2E4. \uC608\uB97C \uB4E4\uC5B4 OPI \uBB38\uC11C\uC758 \uACBD\uC6B0 opi/\uB97C \uC785\uB825\uD569\uB2C8\uB2E4."
|
|
2565
3675
|
),
|
|
2566
|
-
query:
|
|
3676
|
+
query: z24.string().describe(`Node.js RegExp \uD615\uC2DD\uC758 \uBB38\uC790\uC5F4\uC744 \uC785\uB825\uD574\uC57C \uD558\uBA70, \uC601\uC5B4 \uC54C\uD30C\uBCB3 \uB300\uC18C\uBB38\uC790\uB294 \uAD6C\uBD84 \uC5C6\uC774 \uB9E4\uCE6D\uB429\uB2C8\uB2E4.
|
|
2567
3677
|
\uC808\uB300 query\uC5D0 \uACF5\uBC31\uC744 \uD3EC\uD568\uC2DC\uD0A4\uC9C0 \uB9C8\uC138\uC694. \uC5EC\uB7EC \uD0A4\uC6CC\uB4DC\uB97C \uD55C \uBC88\uC5D0 \uAC80\uC0C9\uD558\uACE0 \uC2F6\uB2E4\uBA74, \uACF5\uBC31 \uB300\uC2E0 | \uC5F0\uC0B0\uC790\uB97C \uC0AC\uC6A9\uD558\uC5EC \uAD6C\uBD84\uD569\uB2C8\uB2E4.
|
|
2568
3678
|
\uB2E8\uC5B4 \uAE00\uC790 \uC0AC\uC774\uC5D0 \uACF5\uBC31\uC774 \uC788\uB294 \uACBD\uC6B0\uB3C4 \uB9E4\uCE6D\uD558\uACE0 \uC2F6\uB2E4\uBA74, \uACF5\uBC31 \uB300\uC2E0 \\s*\uB97C \uC0AC\uC6A9\uD558\uC138\uC694.`),
|
|
2569
|
-
contextSize:
|
|
3679
|
+
contextSize: z24.number().default(0).describe(`0\uBCF4\uB2E4 \uD070 \uAC12\uC744 \uC124\uC815\uD560 \uACBD\uC6B0, \uAC80\uC0C9 \uACB0\uACFC\uC758 \uCEE8\uD14D\uC2A4\uD2B8 \uD06C\uAE30\uB85C, \uBB38\uC790 \uC218\uB97C \uAE30\uC900\uC73C\uB85C \uD569\uB2C8\uB2E4. 0 \uB610\uB294 50 \uC815\uB3C4\uB97C \uCD94\uCC9C\uD569\uB2C8\uB2E4.
|
|
2570
3680
|
query \uB9E4\uCE58\uAC00 \uBC1C\uACAC\uB41C \uC2DC\uC791 \uC778\uB371\uC2A4\uB97C idx\uB77C\uACE0 \uD560 \uB54C,
|
|
2571
3681
|
max(0, idx - contextSize)\uBD80\uD130 min(contentLength, idx + len(query) + contextSize) - 1\uAE4C\uC9C0\uC758 \uB0B4\uC6A9\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4.
|
|
2572
3682
|
\uB2E8, \uC774\uC804 \uAC80\uC0C9\uACB0\uACFC\uC640 \uACB9\uCE58\uB294 \uCEE8\uD14D\uC2A4\uD2B8\uB294 \uBCD1\uD569\uB418\uC5B4 \uBC18\uD658\uB429\uB2C8\uB2E4.`),
|
|
2573
|
-
limit:
|
|
3683
|
+
limit: z24.number().default(1e3).describe(
|
|
2574
3684
|
`\uBC18\uD658\uD560 \uCD5C\uB300 \uBB38\uC790\uC5F4 \uAE38\uC774\uC785\uB2C8\uB2E4. \uCD9C\uB825\uC774 \uC774 \uAE38\uC774\uB97C \uCD08\uACFC\uD558\uBA74 \uC798\uB9AC\uACE0 truncation \uBA54\uC2DC\uC9C0\uAC00 \uCD94\uAC00\uB429\uB2C8\uB2E4.`
|
|
2575
3685
|
),
|
|
2576
|
-
page:
|
|
3686
|
+
page: z24.number().default(0).describe(
|
|
2577
3687
|
`\uACB0\uACFC \uBB38\uC790\uC5F4\uC758 \uD398\uC774\uC9C0\uB124\uC774\uC158\uC744 \uC704\uD55C \uC2DC\uC791 \uC778\uB371\uC2A4\uC785\uB2C8\uB2E4. \uD55C \uD398\uC774\uC9C0\uC758 \uAE00\uC790 \uC218\uB294 limit \uC785\uB2C8\uB2E4.`
|
|
2578
3688
|
),
|
|
2579
|
-
showMetadata:
|
|
3689
|
+
showMetadata: z24.boolean().default(false).describe(
|
|
2580
3690
|
"true\uC774\uBA74 \uBB38\uC11C\uC758 \uBA54\uD0C0\uB370\uC774\uD130(\uC81C\uBAA9, \uC124\uBA85, \uB300\uC0C1 \uBC84\uC804)\uC744 \uACB0\uACFC\uC5D0 \uD3EC\uD568\uD569\uB2C8\uB2E4."
|
|
2581
3691
|
)
|
|
2582
3692
|
}
|
|
@@ -2590,7 +3700,7 @@ ${occurrence.context}
|
|
|
2590
3700
|
\`\`\`
|
|
2591
3701
|
`;
|
|
2592
3702
|
}
|
|
2593
|
-
function
|
|
3703
|
+
function init16(documents) {
|
|
2594
3704
|
return ({ paths, query, contextSize, page, limit, showMetadata }) => {
|
|
2595
3705
|
const { markdownDocs } = documents;
|
|
2596
3706
|
let occurrenceCount = 0;
|
|
@@ -2617,14 +3727,14 @@ function init13(documents) {
|
|
|
2617
3727
|
});
|
|
2618
3728
|
}
|
|
2619
3729
|
const regex = new RegExp(query, "gi");
|
|
2620
|
-
let
|
|
2621
|
-
while (
|
|
2622
|
-
|
|
2623
|
-
if (
|
|
3730
|
+
let match10 = regex.exec(doc.content);
|
|
3731
|
+
while (match10 !== null) {
|
|
3732
|
+
match10 = regex.exec(doc.content);
|
|
3733
|
+
if (match10 === null) {
|
|
2624
3734
|
break;
|
|
2625
3735
|
}
|
|
2626
|
-
const idx =
|
|
2627
|
-
const matchLen =
|
|
3736
|
+
const idx = match10.index;
|
|
3737
|
+
const matchLen = match10[0].length;
|
|
2628
3738
|
const contextStart = Math.max(0, idx - contextSize);
|
|
2629
3739
|
const contextEnd = Math.min(contentLen, idx + matchLen + contextSize);
|
|
2630
3740
|
if (contextStart < lastContextEnd) {
|
|
@@ -2806,6 +3916,21 @@ ${documents.readme}`
|
|
|
2806
3916
|
getPaymentsByFilter_exports.config,
|
|
2807
3917
|
getPaymentsByFilter_exports.init(tokenProvider, graphClient)
|
|
2808
3918
|
);
|
|
3919
|
+
mcp.registerTool(
|
|
3920
|
+
getReconciliationsByFilter_exports.name,
|
|
3921
|
+
getReconciliationsByFilter_exports.config,
|
|
3922
|
+
getReconciliationsByFilter_exports.init(tokenProvider, graphClient)
|
|
3923
|
+
);
|
|
3924
|
+
mcp.registerTool(
|
|
3925
|
+
getSettlementSummaries_exports.name,
|
|
3926
|
+
getSettlementSummaries_exports.config,
|
|
3927
|
+
getSettlementSummaries_exports.init(tokenProvider, graphClient)
|
|
3928
|
+
);
|
|
3929
|
+
mcp.registerTool(
|
|
3930
|
+
getSettlementStatistics_exports.name,
|
|
3931
|
+
getSettlementStatistics_exports.config,
|
|
3932
|
+
getSettlementStatistics_exports.init(tokenProvider, graphClient)
|
|
3933
|
+
);
|
|
2809
3934
|
const transport = new StdioServerTransport();
|
|
2810
3935
|
await mcp.connect(transport);
|
|
2811
3936
|
}
|