@portone/mcp-server 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/assets/docs/help/admin-console/pg-settlement/content30.md +2 -2
- package/assets/docs/help/admin-console/pg-settlement-history/content35.md +2 -2
- package/assets/docs/help/core-service/channel-setting/danal.md +4 -4
- package/assets/docs/help/core-service/channel-setting/daou.md +5 -0
- package/assets/docs/help/core-service/channel-setting/galaxia.md +2 -2
- package/assets/docs/help/core-service/channel-setting/inicis.md +30 -46
- package/assets/docs/help/core-service/channel-setting/kcp_channel.md +25 -13
- package/assets/docs/help/core-service/channel-setting/kpn.md +3 -2
- package/assets/docs/help/core-service/channel-setting/mobilians.md +22 -27
- package/assets/docs/help/core-service/channel-setting/nice.md +4 -4
- package/assets/docs/help/core-service/channel-setting/payco.md +5 -3
- package/assets/docs/help/core-service/channel-setting/payletter.md +3 -3
- package/assets/docs/help/core-service/how-to-use/additional-mobilians.md +15 -21
- package/assets/docs/help/core-service/how-to-use/content200009.md +10 -9
- package/assets/docs/help/core-service/how-to-use/high-risk-industry.md +2 -0
- package/assets/docs/help/core-service/how-to-use/information-pg.md +1 -1
- package/assets/docs/help/core-service/how-to-use/mobilians-contract.md +26 -21
- package/assets/docs/help/core-service/how-to-use/requirements.md +2 -0
- package/assets/docs/help/core-service/how-to-use/test-mode-cancel.md +1 -1
- package/assets/docs/help/core-service/how-to-use/wordpress-setting.md +2 -1
- package/assets/docs/help/core-service/payment-type/content200047.md +3 -1
- package/assets/docs/help/core-service/payment-type/content200052.md +8 -1
- package/assets/docs/help/core-service/payment-type/hub-service-fee.md +1 -1
- package/assets/docs/help/core-service/payment-type/internationl-high-risk-industry.md +1 -26
- package/assets/docs/help/faq/general-inquiry/confirm-process.md +5 -11
- package/assets/docs/help/faq/general-inquiry/real-channel-info.md +1 -1
- package/assets/docs/help/faq/payment-faq/pg-max-min-amount.md +3 -3
- package/assets/docs/help/faq/payment-faq/vbank-service-detail.md +1 -1
- package/assets/docs/help/pricing/pg/domestic-and-oversea-fees.md +1 -1
- package/assets/docs/help/pricing/portone/portone-pricing.md +2 -0
- package/assets/docs/help/procedure/pg-application/content54.md +2 -0
- package/assets/docs/help/procedure/pg-application/start.md +2 -0
- package/assets/docs/help/procedure/recommendation/package.md +4 -2
- package/assets/docs/help/service/pg/pg-service-list.md +8 -6
- package/assets/docs/opi/ko/extra/link-pay/readme-v1.md +36 -4
- package/assets/docs/opi/ko/extra/mobile-payment/readme-v2.md +610 -0
- package/assets/docs/opi/ko/extra/smart-routing/intro.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/blue.md +36 -0
- package/assets/docs/opi/ko/integration/pg/v1/danal.md +134 -4
- package/assets/docs/opi/ko/integration/pg/v1/daou/readme.md +103 -53
- package/assets/docs/opi/ko/integration/pg/v1/eximbay.md +121 -19
- package/assets/docs/opi/ko/integration/pg/v1/galaxia.md +12 -0
- package/assets/docs/opi/ko/integration/pg/v1/inicis-jp.md +57 -30
- package/assets/docs/opi/ko/integration/pg/v1/inicis.md +177 -0
- package/assets/docs/opi/ko/integration/pg/v1/kakaopay.md +128 -2
- package/assets/docs/opi/ko/integration/pg/v1/kg-mobilians-v2.md +19 -19
- package/assets/docs/opi/ko/integration/pg/v1/kg.md +65 -12
- package/assets/docs/opi/ko/integration/pg/v1/kicc.md +115 -2
- package/assets/docs/opi/ko/integration/pg/v1/ksnet/readme.md +14 -2
- package/assets/docs/opi/ko/integration/pg/v1/naver.md +60 -0
- package/assets/docs/opi/ko/integration/pg/v1/newtoss/readme.md +117 -7
- package/assets/docs/opi/ko/integration/pg/v1/nhn-kcp/kcp-quickpay.md +21 -32
- package/assets/docs/opi/ko/integration/pg/v1/nhn-kcp/readme.md +164 -3
- package/assets/docs/opi/ko/integration/pg/v1/nice-v2/billing-api-caution.md +6 -6
- package/assets/docs/opi/ko/integration/pg/v1/nice-v2/readme.md +177 -2
- package/assets/docs/opi/ko/integration/pg/v1/nice.md +122 -3
- package/assets/docs/opi/ko/integration/pg/v1/payco.md +87 -3
- package/assets/docs/opi/ko/integration/pg/v1/payletter-global.md +142 -1
- package/assets/docs/opi/ko/integration/pg/v1/paymentwall.md +45 -1
- package/assets/docs/opi/ko/integration/pg/v1/paypal.md +37 -1
- package/assets/docs/opi/ko/integration/pg/v1/readme.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/rt/readme.md +52 -14
- package/assets/docs/opi/ko/integration/pg/v1/settle/mybank.md +138 -56
- package/assets/docs/opi/ko/integration/pg/v1/settle/readme.md +50 -0
- package/assets/docs/opi/ko/integration/pg/v1/smartro-v2/readme.md +126 -0
- package/assets/docs/opi/ko/integration/pg/v1/smartro.md +78 -0
- package/assets/docs/opi/ko/integration/pg/v1/smilepay.md +49 -3
- package/assets/docs/opi/ko/integration/pg/v1/spb/readme.md +88 -25
- package/assets/docs/opi/ko/integration/pg/v1/toss-brandpay/module.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/toss-brandpay/readme.md +34 -2
- package/assets/docs/opi/ko/integration/pg/v1/toss.md +114 -1
- package/assets/docs/opi/ko/integration/pg/v1/tosspay-v2/readme.md +74 -15
- package/assets/docs/opi/ko/integration/pg/v1/tosspay.md +41 -1
- package/assets/docs/opi/ko/integration/pg/v1/welcome/readme.md +12 -0
- package/assets/docs/opi/ko/integration/pg/v2/inicis-jp.md +3 -15
- package/assets/docs/opi/ko/integration/pg/v2/triple-a.md +1 -0
- package/assets/docs/opi/ko/integration/ready/readme.md +14 -46
- package/assets/docs/opi/ko/integration/start/v1/non-auth.md +1 -1
- package/assets/docs/opi/ko/readme.md +2 -2
- package/assets/docs/opi/ko/support/code-info/pg-2.md +1 -1
- package/assets/docs/opi/ko/support/code-info/pg-3.md +3 -3
- package/assets/docs/opi/ko/support/code-info/pg.md +1 -1
- package/assets/docs/release-notes/api-sdk/2023-07-03.md +3 -3
- package/assets/docs/schema/v1.openapi.json +239 -3
- package/assets/docs/schema/v1.openapi.yml +174 -12
- package/assets/docs/schema/v2.openapi.json +225 -11
- package/assets/docs/schema/v2.openapi.yml +185 -3
- package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/payrq.md +10 -2
- package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/payrt.md +1 -1
- package/assets/docs/v1-docs-full.md +2892 -388
- package/assets/docs/v2-docs-full.md +639 -67
- package/assets/docs/website-links.md +4 -3
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server/index.js +1216 -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.0",
|
|
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,14 +1748,1089 @@ 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";
|
|
1766
|
+
var ErrorResponse3 = z11.object({
|
|
1767
|
+
__typename: z11.string(),
|
|
1768
|
+
message: z11.string().nullable()
|
|
1769
|
+
});
|
|
1770
|
+
var ReconciliationStatus = z11.enum([
|
|
1771
|
+
"MATCHED",
|
|
1772
|
+
"NOT_MATCHED",
|
|
1773
|
+
"INCOMPARABLE",
|
|
1774
|
+
"NOT_COLLECTED"
|
|
1775
|
+
]);
|
|
1776
|
+
var ReconciliationActionType = z11.enum([
|
|
1777
|
+
"APPROVAL",
|
|
1778
|
+
"FULL_CANCEL",
|
|
1779
|
+
"PARTIAL_CANCEL",
|
|
1780
|
+
"UNCLASSIFIED_CANCEL",
|
|
1781
|
+
"POST_CORRECTION"
|
|
1782
|
+
]);
|
|
1783
|
+
var ReconciliationPaymentMethodType = z11.enum([
|
|
1784
|
+
"CARD",
|
|
1785
|
+
"CHARGE",
|
|
1786
|
+
"TRANSFER",
|
|
1787
|
+
"ARS",
|
|
1788
|
+
"GIFT_CERTIFICATE",
|
|
1789
|
+
"MOBILE",
|
|
1790
|
+
"VIRTUAL_ACCOUNT",
|
|
1791
|
+
"ETC",
|
|
1792
|
+
"EASY_PAY_ETC",
|
|
1793
|
+
"EASY_PAY_PAYCO",
|
|
1794
|
+
"EASY_PAY_SAMSUNGPAY",
|
|
1795
|
+
"EASY_PAY_SSGPAY",
|
|
1796
|
+
"EASY_PAY_KAKAOPAY",
|
|
1797
|
+
"EASY_PAY_NAVERPAY",
|
|
1798
|
+
"EASY_PAY_CHAI",
|
|
1799
|
+
"EASY_PAY_LPAY",
|
|
1800
|
+
"EASY_PAY_KPAY",
|
|
1801
|
+
"EASY_PAY_TOSSPAY",
|
|
1802
|
+
"EASY_PAY_LGPAY",
|
|
1803
|
+
"EASY_PAY_APPLEPAY",
|
|
1804
|
+
"EASY_PAY_PINPAY",
|
|
1805
|
+
"EASY_PAY_SKPAY",
|
|
1806
|
+
"EASY_PAY_WECHATPAY",
|
|
1807
|
+
"EASY_PAY_PAYPAL",
|
|
1808
|
+
"EASY_PAY_ALIPAY",
|
|
1809
|
+
"EASY_PAY_TOSS_BRANDPAY",
|
|
1810
|
+
"EASY_PAY_KB_APP",
|
|
1811
|
+
"EASY_PAY_TMONEYPAY",
|
|
1812
|
+
"EASY_PAY_HYPHEN",
|
|
1813
|
+
"EASY_PAY_OK_CASHBAG",
|
|
1814
|
+
"EASY_PAY_BENEPIA"
|
|
1815
|
+
]);
|
|
1816
|
+
var ReconciliationNotMatchedReason = z11.enum([
|
|
1817
|
+
"PAYMENT_AMOUNT_NOT_MATCHED",
|
|
1818
|
+
"TAX_FREE_AMOUNT_NOT_MATCHED",
|
|
1819
|
+
"VAT_AMOUNT_NOT_MATCHED",
|
|
1820
|
+
"ESCROW_NOT_MATCHED",
|
|
1821
|
+
"INSTALLMENT_MONTH_NOT_MATCHED",
|
|
1822
|
+
"PAYMENT_DATE_NOT_MATCHED"
|
|
1823
|
+
]);
|
|
1824
|
+
var ReconciliationIncomparableReason = z11.enum([
|
|
1825
|
+
"NO_MATCHING_PORTONE_TRANSACTION",
|
|
1826
|
+
"CHANNEL_MISMATCH",
|
|
1827
|
+
"RECONCILIATION_SKIPPED",
|
|
1828
|
+
"PG_COLLECTION_FAILED",
|
|
1829
|
+
"PG_DATA_MISSING",
|
|
1830
|
+
"UNKNOWN"
|
|
1831
|
+
]);
|
|
1832
|
+
var ReconciliationPgProvider = z11.enum([
|
|
1833
|
+
"KAKAOPAY",
|
|
1834
|
+
"NICEPAY",
|
|
1835
|
+
"NAVERPAY",
|
|
1836
|
+
"UPLUS",
|
|
1837
|
+
"TOSSPAYMENTS",
|
|
1838
|
+
"TOSSPAY",
|
|
1839
|
+
"PAYCO",
|
|
1840
|
+
"KCP",
|
|
1841
|
+
"DANAL",
|
|
1842
|
+
"EXIMBAY",
|
|
1843
|
+
"INICIS",
|
|
1844
|
+
"HECTO",
|
|
1845
|
+
"KSNET",
|
|
1846
|
+
"KPN",
|
|
1847
|
+
"HYPHEN"
|
|
1848
|
+
]);
|
|
1849
|
+
var SortOrder = z11.enum(["DESC", "ASC"]);
|
|
1850
|
+
var Settlement = z11.object(
|
|
1851
|
+
nullableObject({
|
|
1852
|
+
feeAmount: z11.number(),
|
|
1853
|
+
feeVatAmount: z11.number(),
|
|
1854
|
+
settlementAmount: z11.number(),
|
|
1855
|
+
settlementCurrency: z11.string(),
|
|
1856
|
+
settlementDate: z11.string()
|
|
1857
|
+
})
|
|
1858
|
+
);
|
|
1859
|
+
var PaymentMethod = z11.object({
|
|
1860
|
+
__typename: z11.string(),
|
|
1861
|
+
paymentMethodType: z11.string().nullable().optional(),
|
|
1862
|
+
installmentMonth: z11.number().nullable().optional(),
|
|
1863
|
+
name: z11.string().nullable().optional()
|
|
1864
|
+
}).partial();
|
|
1865
|
+
var PgSpecifier = z11.object(
|
|
1866
|
+
nullableObject({
|
|
1867
|
+
pgMerchantId: z11.string(),
|
|
1868
|
+
pgProvider: z11.string()
|
|
1869
|
+
})
|
|
1870
|
+
);
|
|
1871
|
+
var ReconciliationNode = z11.object({
|
|
1872
|
+
__typename: z11.string(),
|
|
1873
|
+
plainId: z11.string(),
|
|
1874
|
+
actionType: z11.string(),
|
|
1875
|
+
pgSpecifier: PgSpecifier.nullable(),
|
|
1876
|
+
merchantPlainId: z11.string(),
|
|
1877
|
+
paymentAmount: z11.number(),
|
|
1878
|
+
taxFreeAmount: z11.number(),
|
|
1879
|
+
vatAmount: z11.number(),
|
|
1880
|
+
supplyAmount: z11.number(),
|
|
1881
|
+
anomalyAmount: z11.number().nullable().optional(),
|
|
1882
|
+
paidAt: z11.string(),
|
|
1883
|
+
isEscrow: z11.boolean().nullable(),
|
|
1884
|
+
paymentCurrency: z11.string(),
|
|
1885
|
+
paymentMethod: PaymentMethod.nullable(),
|
|
1886
|
+
settlement: Settlement.nullable(),
|
|
1887
|
+
// 상태별 구체 필드 (필수형 / optional 형이 타입마다 다름)
|
|
1888
|
+
pgTxId: z11.string().nullable().optional(),
|
|
1889
|
+
pgTxIdOptional: z11.string().nullable().optional(),
|
|
1890
|
+
transactionPlainId: z11.string().nullable().optional(),
|
|
1891
|
+
transactionPlainIdOptional: z11.string().nullable().optional(),
|
|
1892
|
+
paymentPlainId: z11.string().nullable().optional(),
|
|
1893
|
+
paymentPlainIdOptional: z11.string().nullable().optional(),
|
|
1894
|
+
orderName: z11.string().nullable().optional(),
|
|
1895
|
+
orderNameOptional: z11.string().nullable().optional(),
|
|
1896
|
+
storePlainId: z11.string().nullable().optional(),
|
|
1897
|
+
storePlainIdOptional: z11.string().nullable().optional(),
|
|
1898
|
+
notMatchedReasons: z11.array(z11.string()).nullable().optional(),
|
|
1899
|
+
// INCOMPARABLE(대사 불가) 사유. 게이트웨이는 내부의 backward_incomparable
|
|
1900
|
+
// 상태/사유를 INCOMPARABLE + 이 단일 reason 으로 병합해 노출합니다.
|
|
1901
|
+
// enum 드리프트 방지를 위해 문자열로 수용합니다.
|
|
1902
|
+
reason: z11.string().nullable().optional()
|
|
1903
|
+
}).partial({
|
|
1904
|
+
pgSpecifier: true,
|
|
1905
|
+
isEscrow: true,
|
|
1906
|
+
paymentMethod: true,
|
|
1907
|
+
settlement: true
|
|
1908
|
+
});
|
|
1909
|
+
var CursorPageInfo = z11.object({
|
|
1910
|
+
startCursor: z11.string(),
|
|
1911
|
+
endCursor: z11.string(),
|
|
1912
|
+
hasPreviousPage: z11.boolean(),
|
|
1913
|
+
hasNextPage: z11.boolean()
|
|
1914
|
+
});
|
|
1915
|
+
var ReconciliationsPayload = z11.object({
|
|
1916
|
+
edges: z11.array(z11.object({ node: ReconciliationNode, cursor: z11.string() })),
|
|
1917
|
+
pageInfo: CursorPageInfo
|
|
1918
|
+
});
|
|
1919
|
+
var GetReconciliationsResponse = z11.object({
|
|
1920
|
+
merchant: z11.object({
|
|
1921
|
+
reconciliation: z11.object({
|
|
1922
|
+
paymentReconciliations: ReconciliationsPayload
|
|
1923
|
+
})
|
|
1924
|
+
}).or(ErrorResponse3)
|
|
1925
|
+
}).transform(({ merchant }) => {
|
|
1926
|
+
if ("__typename" in merchant) return merchant;
|
|
1927
|
+
return merchant.reconciliation.paymentReconciliations;
|
|
1928
|
+
});
|
|
1929
|
+
var getReconciliationsQuery = parse3(gql3`
|
|
1930
|
+
query GetReconciliations(
|
|
1931
|
+
$dateCondition: ReconciliationDateConditionInput!
|
|
1932
|
+
$searchCondition: PaymentReconciliationSearchConditionInput
|
|
1933
|
+
$filter: PaymentReconciliationFilterInput
|
|
1934
|
+
$order: PaymentReconciliationOrderInput
|
|
1935
|
+
$first: Int!
|
|
1936
|
+
$after: String
|
|
1937
|
+
) {
|
|
1938
|
+
merchant {
|
|
1939
|
+
...ErrorFragment
|
|
1940
|
+
... on Merchant {
|
|
1941
|
+
reconciliation {
|
|
1942
|
+
paymentReconciliations(
|
|
1943
|
+
dateCondition: $dateCondition
|
|
1944
|
+
searchCondition: $searchCondition
|
|
1945
|
+
filter: $filter
|
|
1946
|
+
order: $order
|
|
1947
|
+
first: $first
|
|
1948
|
+
after: $after
|
|
1949
|
+
) {
|
|
1950
|
+
edges {
|
|
1951
|
+
cursor
|
|
1952
|
+
node {
|
|
1953
|
+
__typename
|
|
1954
|
+
plainId
|
|
1955
|
+
actionType
|
|
1956
|
+
pgSpecifier {
|
|
1957
|
+
pgMerchantId
|
|
1958
|
+
pgProvider
|
|
1959
|
+
}
|
|
1960
|
+
merchantPlainId
|
|
1961
|
+
paymentAmount
|
|
1962
|
+
taxFreeAmount
|
|
1963
|
+
vatAmount
|
|
1964
|
+
supplyAmount
|
|
1965
|
+
paidAt
|
|
1966
|
+
isEscrow
|
|
1967
|
+
paymentCurrency
|
|
1968
|
+
paymentMethod {
|
|
1969
|
+
__typename
|
|
1970
|
+
... on ReconciliationPaymentMethodCard {
|
|
1971
|
+
installmentMonth
|
|
1972
|
+
}
|
|
1973
|
+
... on ReconciliationPaymentMethodEasyPay {
|
|
1974
|
+
paymentMethodType
|
|
1975
|
+
}
|
|
1976
|
+
... on ReconciliationPaymentMethodEtc {
|
|
1977
|
+
name
|
|
1978
|
+
}
|
|
1979
|
+
}
|
|
1980
|
+
settlement {
|
|
1981
|
+
feeAmount
|
|
1982
|
+
feeVatAmount
|
|
1983
|
+
settlementAmount
|
|
1984
|
+
settlementCurrency
|
|
1985
|
+
settlementDate
|
|
1986
|
+
}
|
|
1987
|
+
... on PaymentReconciliationMatched {
|
|
1988
|
+
pgTxId
|
|
1989
|
+
transactionPlainId
|
|
1990
|
+
paymentPlainId
|
|
1991
|
+
orderName
|
|
1992
|
+
storePlainId
|
|
1993
|
+
}
|
|
1994
|
+
... on PaymentReconciliationNotMatched {
|
|
1995
|
+
pgTxId
|
|
1996
|
+
anomalyAmount
|
|
1997
|
+
transactionPlainId
|
|
1998
|
+
paymentPlainId
|
|
1999
|
+
orderName
|
|
2000
|
+
storePlainId
|
|
2001
|
+
notMatchedReasons
|
|
2002
|
+
}
|
|
2003
|
+
... on PaymentReconciliationIncomparable {
|
|
2004
|
+
pgTxId
|
|
2005
|
+
anomalyAmount
|
|
2006
|
+
reason
|
|
2007
|
+
paymentPlainIdOptional
|
|
2008
|
+
orderNameOptional
|
|
2009
|
+
}
|
|
2010
|
+
... on PaymentReconciliationNotCollected {
|
|
2011
|
+
pgTxIdOptional
|
|
2012
|
+
anomalyAmount
|
|
2013
|
+
transactionPlainIdOptional
|
|
2014
|
+
paymentPlainIdOptional
|
|
2015
|
+
orderNameOptional
|
|
2016
|
+
storePlainIdOptional
|
|
2017
|
+
}
|
|
2018
|
+
... on PaymentReconciliationPostCorrection {
|
|
2019
|
+
pgTxIdOptional
|
|
2020
|
+
anomalyAmount
|
|
2021
|
+
transactionPlainIdOptional
|
|
2022
|
+
paymentPlainIdOptional
|
|
2023
|
+
orderNameOptional
|
|
2024
|
+
storePlainIdOptional
|
|
2025
|
+
}
|
|
2026
|
+
}
|
|
2027
|
+
}
|
|
2028
|
+
pageInfo {
|
|
2029
|
+
startCursor
|
|
2030
|
+
endCursor
|
|
2031
|
+
hasPreviousPage
|
|
2032
|
+
hasNextPage
|
|
2033
|
+
}
|
|
2034
|
+
}
|
|
2035
|
+
}
|
|
2036
|
+
}
|
|
2037
|
+
}
|
|
2038
|
+
}
|
|
2039
|
+
|
|
2040
|
+
fragment ErrorFragment on Error {
|
|
2041
|
+
__typename
|
|
2042
|
+
message
|
|
2043
|
+
}
|
|
2044
|
+
`);
|
|
2045
|
+
var ReconciliationFilter = z11.object({
|
|
2046
|
+
storeIds: z11.array(z11.string()),
|
|
2047
|
+
channelKeys: z11.array(z11.string()),
|
|
2048
|
+
pgSpecifiers: z11.array(
|
|
2049
|
+
z11.object({
|
|
2050
|
+
pgMerchantId: z11.string(),
|
|
2051
|
+
pgProvider: ReconciliationPgProvider
|
|
2052
|
+
})
|
|
2053
|
+
),
|
|
2054
|
+
paymentMethodTypes: z11.array(ReconciliationPaymentMethodType),
|
|
2055
|
+
paymentReconciliationStatuses: z11.array(ReconciliationStatus),
|
|
2056
|
+
actionTypes: z11.array(ReconciliationActionType),
|
|
2057
|
+
transactionCurrencies: z11.array(z11.string()),
|
|
2058
|
+
settlementCurrencies: z11.array(z11.string())
|
|
2059
|
+
}).partial();
|
|
2060
|
+
var ReconciliationSearchCondition = z11.object({
|
|
2061
|
+
paymentPlainId: z11.string(),
|
|
2062
|
+
transactionPlainId: z11.string(),
|
|
2063
|
+
pgTxId: z11.string(),
|
|
2064
|
+
orderName: z11.string()
|
|
2065
|
+
}).partial();
|
|
2066
|
+
var ReconciliationOrder = z11.object({
|
|
2067
|
+
settlementDate: SortOrder,
|
|
2068
|
+
transactionDate: SortOrder,
|
|
2069
|
+
transactionAmount: SortOrder,
|
|
2070
|
+
anomalyAmount: SortOrder,
|
|
2071
|
+
settlementAmount: SortOrder
|
|
2072
|
+
}).partial();
|
|
2073
|
+
async function getReconciliations({
|
|
2074
|
+
client,
|
|
2075
|
+
authorization,
|
|
2076
|
+
dateType,
|
|
2077
|
+
from,
|
|
2078
|
+
until,
|
|
2079
|
+
filter,
|
|
2080
|
+
searchCondition,
|
|
2081
|
+
order,
|
|
2082
|
+
first,
|
|
2083
|
+
after
|
|
2084
|
+
}) {
|
|
2085
|
+
const dateRange = { from, until };
|
|
2086
|
+
const dateCondition = dateType === "SETTLEMENT" ? { settlementDateRange: dateRange } : { transactionDateRange: dateRange };
|
|
2087
|
+
try {
|
|
2088
|
+
const response = await client.request({
|
|
2089
|
+
document: getReconciliationsQuery,
|
|
2090
|
+
requestHeaders: {
|
|
2091
|
+
authorization
|
|
2092
|
+
},
|
|
2093
|
+
variables: {
|
|
2094
|
+
dateCondition,
|
|
2095
|
+
searchCondition,
|
|
2096
|
+
filter,
|
|
2097
|
+
order,
|
|
2098
|
+
first,
|
|
2099
|
+
after
|
|
2100
|
+
}
|
|
2101
|
+
});
|
|
2102
|
+
const parsed = await GetReconciliationsResponse.parseAsync(response);
|
|
2103
|
+
return match7(parsed).returnType().with({ __typename: P6.nonNullable }, ({ __typename, message }) => ({
|
|
2104
|
+
type: "error",
|
|
2105
|
+
data: {
|
|
2106
|
+
message,
|
|
2107
|
+
type: __typename
|
|
2108
|
+
}
|
|
2109
|
+
})).otherwise((data) => ({
|
|
2110
|
+
type: "success",
|
|
2111
|
+
data
|
|
2112
|
+
}));
|
|
2113
|
+
} catch (error) {
|
|
2114
|
+
if (error instanceof Error) {
|
|
2115
|
+
return {
|
|
2116
|
+
type: "error",
|
|
2117
|
+
data: error
|
|
2118
|
+
};
|
|
2119
|
+
} else {
|
|
2120
|
+
return {
|
|
2121
|
+
type: "error",
|
|
2122
|
+
data: {
|
|
2123
|
+
message: `\uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.`,
|
|
2124
|
+
cause: error
|
|
2125
|
+
}
|
|
2126
|
+
};
|
|
2127
|
+
}
|
|
2128
|
+
}
|
|
2129
|
+
}
|
|
2130
|
+
|
|
2131
|
+
// src/tools/utils/dateRange.ts
|
|
2132
|
+
var LOOKBACK_MONTHS = 6;
|
|
2133
|
+
var MAX_RANGE_MONTHS = 3;
|
|
2134
|
+
function validateReconciliationDateRange(from, to) {
|
|
2135
|
+
const fromDate = /* @__PURE__ */ new Date(`${from}T00:00:00Z`);
|
|
2136
|
+
const toDate = /* @__PURE__ */ new Date(`${to}T00:00:00Z`);
|
|
2137
|
+
if (Number.isNaN(fromDate.getTime()) || Number.isNaN(toDate.getTime())) {
|
|
2138
|
+
return "\uB0A0\uC9DC \uD615\uC2DD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4 (YYYY-MM-DD).";
|
|
2139
|
+
}
|
|
2140
|
+
if (toDate < fromDate) {
|
|
2141
|
+
return "\uC870\uD68C \uC885\uB8CC\uC77C(to)\uC740 \uC2DC\uC791\uC77C(from)\uBCF4\uB2E4 \uBE60\uB97C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.";
|
|
2142
|
+
}
|
|
2143
|
+
const now = /* @__PURE__ */ new Date();
|
|
2144
|
+
const earliest = new Date(
|
|
2145
|
+
Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate())
|
|
2146
|
+
);
|
|
2147
|
+
earliest.setUTCMonth(earliest.getUTCMonth() - LOOKBACK_MONTHS);
|
|
2148
|
+
if (fromDate < earliest) {
|
|
2149
|
+
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.`;
|
|
2150
|
+
}
|
|
2151
|
+
const maxTo = new Date(fromDate);
|
|
2152
|
+
maxTo.setUTCMonth(maxTo.getUTCMonth() + MAX_RANGE_MONTHS);
|
|
2153
|
+
if (toDate > maxTo) {
|
|
2154
|
+
return `\uC870\uD68C \uAD6C\uAC04\uC740 \uCD5C\uB300 ${MAX_RANGE_MONTHS}\uAC1C\uC6D4\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.`;
|
|
2155
|
+
}
|
|
2156
|
+
return null;
|
|
2157
|
+
}
|
|
2158
|
+
|
|
2159
|
+
// src/tools/getReconciliationsByFilter.ts
|
|
2160
|
+
var name5 = "getReconciliationsByFilter";
|
|
2161
|
+
var DateString = z12.string().regex(/^\d{4}-\d{2}-\d{2}$/, "YYYY-MM-DD \uD615\uC2DD\uC758 \uB0A0\uC9DC\uC5EC\uC57C \uD569\uB2C8\uB2E4.");
|
|
2162
|
+
var Settlement2 = z12.object({
|
|
2163
|
+
feeAmount: z12.number().describe("PG \uC218\uC218\uB8CC"),
|
|
2164
|
+
feeVatAmount: z12.number().describe("PG \uC218\uC218\uB8CC \uBD80\uAC00\uC138"),
|
|
2165
|
+
settlementAmount: z12.number().describe("\uC815\uC0B0 \uAE08\uC561"),
|
|
2166
|
+
settlementCurrency: z12.string().describe("\uC815\uC0B0 \uD1B5\uD654"),
|
|
2167
|
+
settlementDate: z12.string().describe("\uC815\uC0B0\uC77C")
|
|
2168
|
+
}).partial();
|
|
2169
|
+
var Reconciliation = z12.object({
|
|
2170
|
+
id: z12.string().describe("\uAC70\uB798\uB300\uC0AC \uC544\uC774\uB514"),
|
|
2171
|
+
status: z12.string().describe(
|
|
2172
|
+
"\uB300\uC0AC \uC0C1\uD0DC (MATCHED/NOT_MATCHED/INCOMPARABLE/NOT_COLLECTED/POST_CORRECTION)"
|
|
2173
|
+
),
|
|
2174
|
+
actionType: z12.string().describe("\uACB0\uC81C \uC0C1\uD0DC (\uC2B9\uC778/\uCDE8\uC18C/\uD6C4\uBCF4\uC815)"),
|
|
2175
|
+
pgProvider: z12.string().describe("\uB300\uC0AC\uC6A9 PG\uC0AC"),
|
|
2176
|
+
pgMerchantId: z12.string().describe("PG\uC0AC \uAC00\uB9F9\uC810 \uC2DD\uBCC4 \uC544\uC774\uB514"),
|
|
2177
|
+
pgTxId: z12.string().describe("PG\uC0AC \uAC70\uB798 \uC544\uC774\uB514"),
|
|
2178
|
+
paymentAmount: z12.number().describe("\uACB0\uC81C \uAE08\uC561"),
|
|
2179
|
+
supplyAmount: z12.number().describe("\uACF5\uAE09\uAC00\uC561"),
|
|
2180
|
+
vatAmount: z12.number().describe("\uBD80\uAC00\uC138"),
|
|
2181
|
+
taxFreeAmount: z12.number().describe("\uBA74\uC138\uAC00\uC561"),
|
|
2182
|
+
anomalyAmount: z12.number().describe("\uAC70\uB798\uC774\uC0C1 \uAE08\uC561"),
|
|
2183
|
+
paidAt: z12.string().describe("\uACB0\uC81C\uC77C"),
|
|
2184
|
+
paymentCurrency: z12.string().describe("\uACB0\uC81C \uD1B5\uD654"),
|
|
2185
|
+
isEscrow: z12.boolean().describe("\uC5D0\uC2A4\uD06C\uB85C \uC5EC\uBD80"),
|
|
2186
|
+
paymentMethodType: z12.string().describe("\uACB0\uC81C \uC218\uB2E8 \uC885\uB958(__typename \uAE30\uBC18)"),
|
|
2187
|
+
transactionId: z12.string().describe("\uD3EC\uD2B8\uC6D0 \uACB0\uC81C \uC544\uC774\uB514"),
|
|
2188
|
+
paymentId: z12.string().describe("\uACE0\uAC1D\uC0AC \uACB0\uC81C \uC544\uC774\uB514"),
|
|
2189
|
+
orderName: z12.string().describe("\uC8FC\uBB38\uBA85"),
|
|
2190
|
+
storeId: z12.string().describe("\uD558\uC704 \uC0C1\uC810 \uC544\uC774\uB514"),
|
|
2191
|
+
notMatchedReasons: z12.array(z12.string()).describe("\uB300\uC0AC \uBD88\uC77C\uCE58 \uC0AC\uC720 \uBAA9\uB85D (NOT_MATCHED \uC778 \uACBD\uC6B0)"),
|
|
2192
|
+
incomparableReason: z12.string().describe(
|
|
2193
|
+
"\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."
|
|
2194
|
+
),
|
|
2195
|
+
settlement: Settlement2.describe("\uC815\uC0B0 \uC815\uBCF4")
|
|
2196
|
+
}).partial();
|
|
2197
|
+
var OutputSchema5 = z12.object({
|
|
2198
|
+
items: Reconciliation.array().describe("\uC870\uD68C\uB41C \uAC70\uB798\uB300\uC0AC \uBAA9\uB85D"),
|
|
2199
|
+
hasNextPage: z12.boolean().describe("\uB2E4\uC74C \uD398\uC774\uC9C0 \uC874\uC7AC \uC5EC\uBD80"),
|
|
2200
|
+
endCursor: z12.string().describe("\uB2E4\uC74C \uD398\uC774\uC9C0 \uC870\uD68C\uC5D0 \uC0AC\uC6A9\uD560 \uCEE4\uC11C (after \uB85C \uC804\uB2EC)")
|
|
2201
|
+
});
|
|
2202
|
+
var InputSchema4 = z12.object({
|
|
2203
|
+
store: z12.string().optional().describe(
|
|
2204
|
+
"\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."
|
|
2205
|
+
),
|
|
2206
|
+
dateType: z12.enum(["SETTLEMENT", "TRANSACTION"]).default("TRANSACTION").describe("from/to \uB85C \uC81C\uC57D\uD560 \uAE30\uC900 (\uC815\uC0B0\uC77C / \uACB0\uC81C\uC77C)"),
|
|
2207
|
+
from: DateString.describe("\uC870\uD68C \uC2DC\uC791\uC77C (YYYY-MM-DD)"),
|
|
2208
|
+
to: DateString.describe("\uC870\uD68C \uC885\uB8CC\uC77C (YYYY-MM-DD)"),
|
|
2209
|
+
statuses: z12.array(ReconciliationStatus).optional().describe(
|
|
2210
|
+
"\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."
|
|
2211
|
+
),
|
|
2212
|
+
actionTypes: z12.array(ReconciliationActionType).optional().describe("\uD3EC\uD568\uD560 \uACB0\uC81C \uC0C1\uD0DC \uBAA9\uB85D"),
|
|
2213
|
+
paymentMethodTypes: z12.array(ReconciliationPaymentMethodType).optional().describe("\uD3EC\uD568\uD560 \uACB0\uC81C \uC218\uB2E8 \uBAA9\uB85D"),
|
|
2214
|
+
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)"),
|
|
2215
|
+
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)"),
|
|
2216
|
+
paymentId: z12.string().optional().describe("\uACE0\uAC1D\uC0AC \uACB0\uC81C \uC544\uC774\uB514 \uAC80\uC0C9"),
|
|
2217
|
+
transactionId: z12.string().optional().describe("\uD3EC\uD2B8\uC6D0 \uACB0\uC81C \uC544\uC774\uB514 \uAC80\uC0C9"),
|
|
2218
|
+
pgTxId: z12.string().optional().describe("PG\uC0AC \uAC70\uB798 \uC544\uC774\uB514 \uAC80\uC0C9"),
|
|
2219
|
+
orderName: z12.string().optional().describe("\uC8FC\uBB38\uBA85 \uAC80\uC0C9"),
|
|
2220
|
+
first: z12.number().min(1).max(100).default(20).describe("\uC870\uD68C\uD560 \uAC74 \uC218 (\uCD5C\uB300 100)"),
|
|
2221
|
+
after: z12.string().optional().describe("\uC774\uC804 \uD398\uC774\uC9C0\uC758 \uB9C8\uC9C0\uB9C9 \uCEE4\uC11C (endCursor \uAC12)")
|
|
2222
|
+
});
|
|
2223
|
+
var config5 = {
|
|
2224
|
+
title: "\uAC70\uB798\uB300\uC0AC \uAC74\uBCC4 \uB0B4\uC5ED \uC870\uD68C",
|
|
2225
|
+
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.
|
|
2226
|
+
|
|
2227
|
+
\uAC01 \uAC74\uC740 \uB2E4\uC74C \uC0C1\uD0DC \uC911 \uD558\uB098\uB97C \uAC00\uC9D1\uB2C8\uB2E4:
|
|
2228
|
+
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)
|
|
2229
|
+
(\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.)
|
|
2230
|
+
|
|
2231
|
+
\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.
|
|
2232
|
+
\uB300\uC0AC \uBD88\uAC00 \uC0AC\uC720\uB294 INCOMPARABLE \uAC74\uC758 incomparableReason \uD544\uB4DC\uC5D0\uC11C \uD655\uC778\uD569\uB2C8\uB2E4.
|
|
2233
|
+
\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.
|
|
2234
|
+
\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 3\uAC1C\uC6D4\uC785\uB2C8\uB2E4.
|
|
2235
|
+
store \uC544\uC774\uB514\uB294 list_stores \uB3C4\uAD6C\uB85C \uBA3C\uC800 \uC870\uD68C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`,
|
|
2236
|
+
inputSchema: InputSchema4.shape,
|
|
2237
|
+
outputSchema: OutputSchema5.shape
|
|
2238
|
+
};
|
|
2239
|
+
function normalize(node) {
|
|
2240
|
+
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);
|
|
2241
|
+
return {
|
|
2242
|
+
id: node.plainId,
|
|
2243
|
+
status,
|
|
2244
|
+
actionType: node.actionType,
|
|
2245
|
+
pgProvider: node.pgSpecifier?.pgProvider ?? void 0,
|
|
2246
|
+
pgMerchantId: node.pgSpecifier?.pgMerchantId ?? void 0,
|
|
2247
|
+
pgTxId: node.pgTxId ?? node.pgTxIdOptional ?? void 0,
|
|
2248
|
+
paymentAmount: node.paymentAmount,
|
|
2249
|
+
supplyAmount: node.supplyAmount,
|
|
2250
|
+
vatAmount: node.vatAmount,
|
|
2251
|
+
taxFreeAmount: node.taxFreeAmount,
|
|
2252
|
+
anomalyAmount: node.anomalyAmount ?? void 0,
|
|
2253
|
+
paidAt: node.paidAt,
|
|
2254
|
+
paymentCurrency: node.paymentCurrency,
|
|
2255
|
+
isEscrow: node.isEscrow ?? void 0,
|
|
2256
|
+
paymentMethodType: node.paymentMethod?.paymentMethodType ?? node.paymentMethod?.__typename ?? void 0,
|
|
2257
|
+
transactionId: node.transactionPlainId ?? node.transactionPlainIdOptional ?? void 0,
|
|
2258
|
+
paymentId: node.paymentPlainId ?? node.paymentPlainIdOptional ?? void 0,
|
|
2259
|
+
orderName: node.orderName ?? node.orderNameOptional ?? void 0,
|
|
2260
|
+
storeId: node.storePlainId ?? node.storePlainIdOptional ?? void 0,
|
|
2261
|
+
notMatchedReasons: node.notMatchedReasons ?? void 0,
|
|
2262
|
+
incomparableReason: node.reason ?? void 0,
|
|
2263
|
+
settlement: node.settlement ? {
|
|
2264
|
+
feeAmount: node.settlement.feeAmount ?? void 0,
|
|
2265
|
+
feeVatAmount: node.settlement.feeVatAmount ?? void 0,
|
|
2266
|
+
settlementAmount: node.settlement.settlementAmount ?? void 0,
|
|
2267
|
+
settlementCurrency: node.settlement.settlementCurrency ?? void 0,
|
|
2268
|
+
settlementDate: node.settlement.settlementDate ?? void 0
|
|
2269
|
+
} : void 0
|
|
2270
|
+
};
|
|
2271
|
+
}
|
|
2272
|
+
function init5(tokenProvider, client) {
|
|
2273
|
+
return async ({
|
|
2274
|
+
store,
|
|
2275
|
+
dateType,
|
|
2276
|
+
from,
|
|
2277
|
+
to,
|
|
2278
|
+
statuses,
|
|
2279
|
+
actionTypes,
|
|
2280
|
+
paymentMethodTypes,
|
|
2281
|
+
transactionCurrencies,
|
|
2282
|
+
settlementCurrencies,
|
|
2283
|
+
paymentId,
|
|
2284
|
+
transactionId,
|
|
2285
|
+
pgTxId,
|
|
2286
|
+
orderName,
|
|
2287
|
+
first,
|
|
2288
|
+
after
|
|
2289
|
+
}) => {
|
|
2290
|
+
const dateRangeError = validateReconciliationDateRange(from, to);
|
|
2291
|
+
if (dateRangeError != null) {
|
|
2292
|
+
return toolErrorResult({
|
|
2293
|
+
type: "error",
|
|
2294
|
+
data: { message: dateRangeError }
|
|
2295
|
+
});
|
|
2296
|
+
}
|
|
2297
|
+
const token = await getToken(tokenProvider);
|
|
2298
|
+
if (token.type === "error") {
|
|
2299
|
+
return toolErrorResult(token);
|
|
2300
|
+
}
|
|
2301
|
+
const searchCondition = paymentId == null && transactionId == null && pgTxId == null && orderName == null ? void 0 : {
|
|
2302
|
+
paymentPlainId: paymentId,
|
|
2303
|
+
transactionPlainId: transactionId,
|
|
2304
|
+
pgTxId,
|
|
2305
|
+
orderName
|
|
2306
|
+
};
|
|
2307
|
+
const result = await getReconciliations({
|
|
2308
|
+
client,
|
|
2309
|
+
authorization: token.data,
|
|
2310
|
+
dateType,
|
|
2311
|
+
from,
|
|
2312
|
+
until: to,
|
|
2313
|
+
searchCondition,
|
|
2314
|
+
filter: {
|
|
2315
|
+
storeIds: store == null ? void 0 : [store],
|
|
2316
|
+
paymentReconciliationStatuses: statuses,
|
|
2317
|
+
actionTypes,
|
|
2318
|
+
paymentMethodTypes,
|
|
2319
|
+
transactionCurrencies,
|
|
2320
|
+
settlementCurrencies
|
|
2321
|
+
},
|
|
2322
|
+
first,
|
|
2323
|
+
after
|
|
2324
|
+
});
|
|
2325
|
+
if (result.type === "error") {
|
|
2326
|
+
return toolErrorResult(result);
|
|
2327
|
+
}
|
|
2328
|
+
try {
|
|
2329
|
+
const structuredContent = {
|
|
2330
|
+
items: result.data.edges.map((edge) => normalize(edge.node)),
|
|
2331
|
+
hasNextPage: result.data.pageInfo.hasNextPage,
|
|
2332
|
+
endCursor: result.data.pageInfo.endCursor
|
|
2333
|
+
};
|
|
2334
|
+
return {
|
|
2335
|
+
content: [
|
|
2336
|
+
{ type: "text", text: JSON.stringify(structuredContent, null, 2) }
|
|
2337
|
+
],
|
|
2338
|
+
structuredContent
|
|
2339
|
+
};
|
|
2340
|
+
} catch {
|
|
2341
|
+
return {
|
|
2342
|
+
content: [{ type: "text", text: "\uC11C\uBC84\uB85C\uBD80\uD130 \uC798\uBABB\uB41C \uC751\uB2F5 \uC218\uC2E0" }],
|
|
2343
|
+
isError: true
|
|
2344
|
+
};
|
|
2345
|
+
}
|
|
2346
|
+
};
|
|
2347
|
+
}
|
|
2348
|
+
|
|
2349
|
+
// src/tools/getSettlementStatistics.ts
|
|
2350
|
+
var getSettlementStatistics_exports = {};
|
|
2351
|
+
__export(getSettlementStatistics_exports, {
|
|
2352
|
+
config: () => config6,
|
|
2353
|
+
init: () => init6,
|
|
2354
|
+
name: () => name6
|
|
2355
|
+
});
|
|
2356
|
+
import z14 from "zod";
|
|
2357
|
+
|
|
2358
|
+
// src/tools/request/getSettlements.ts
|
|
2359
|
+
import { parse as parse4 } from "graphql";
|
|
2360
|
+
import { gql as gql4 } from "graphql-request";
|
|
2361
|
+
import { match as match9, P as P7 } from "ts-pattern";
|
|
2362
|
+
import z13 from "zod";
|
|
2363
|
+
var ErrorResponse4 = z13.object({
|
|
2364
|
+
__typename: z13.string(),
|
|
2365
|
+
message: z13.string().nullable()
|
|
2366
|
+
});
|
|
2367
|
+
var SettlementFilter = z13.object({
|
|
2368
|
+
storeIds: z13.array(z13.string()),
|
|
2369
|
+
pgSpecifiers: z13.array(
|
|
2370
|
+
z13.object({
|
|
2371
|
+
pgMerchantId: z13.string(),
|
|
2372
|
+
pgProvider: ReconciliationPgProvider
|
|
2373
|
+
})
|
|
2374
|
+
)
|
|
2375
|
+
}).partial();
|
|
2376
|
+
var SettlementAggregate = z13.object({
|
|
2377
|
+
settlementAmount: z13.number(),
|
|
2378
|
+
settlementCount: z13.number(),
|
|
2379
|
+
feeAmount: z13.number(),
|
|
2380
|
+
feeVatAmount: z13.number(),
|
|
2381
|
+
cancelAmount: z13.number(),
|
|
2382
|
+
cancelCount: z13.number(),
|
|
2383
|
+
transactionAmount: z13.number(),
|
|
2384
|
+
postCorrectionCount: z13.number(),
|
|
2385
|
+
postCorrectionAmount: z13.number()
|
|
2386
|
+
});
|
|
2387
|
+
var SettlementDetail = z13.object({
|
|
2388
|
+
storePlainId: z13.string().nullable(),
|
|
2389
|
+
pgSpecifier: z13.object(
|
|
2390
|
+
nullableObject({ pgMerchantId: z13.string(), pgProvider: z13.string() })
|
|
2391
|
+
),
|
|
2392
|
+
settlementAmount: z13.number(),
|
|
2393
|
+
settlementCount: z13.number(),
|
|
2394
|
+
feeAmount: z13.number(),
|
|
2395
|
+
feeVatAmount: z13.number(),
|
|
2396
|
+
cancelAmount: z13.number(),
|
|
2397
|
+
cancelCount: z13.number(),
|
|
2398
|
+
transactionAmount: z13.number(),
|
|
2399
|
+
postCorrectionCount: z13.number(),
|
|
2400
|
+
postCorrectionAmount: z13.number()
|
|
2401
|
+
}).partial({ storePlainId: true, pgSpecifier: true });
|
|
2402
|
+
var SettlementSummaryNode = z13.object({
|
|
2403
|
+
date: z13.string(),
|
|
2404
|
+
settlementCurrency: z13.string(),
|
|
2405
|
+
transactionCurrency: z13.string(),
|
|
2406
|
+
aggregate: SettlementAggregate,
|
|
2407
|
+
details: z13.array(SettlementDetail)
|
|
2408
|
+
});
|
|
2409
|
+
var CursorPageInfo2 = z13.object({
|
|
2410
|
+
startCursor: z13.string(),
|
|
2411
|
+
endCursor: z13.string(),
|
|
2412
|
+
hasPreviousPage: z13.boolean(),
|
|
2413
|
+
hasNextPage: z13.boolean()
|
|
2414
|
+
});
|
|
2415
|
+
var SettlementSummariesPayload = z13.object({
|
|
2416
|
+
edges: z13.array(z13.object({ node: SettlementSummaryNode, cursor: z13.string() })),
|
|
2417
|
+
pageInfo: CursorPageInfo2
|
|
2418
|
+
});
|
|
2419
|
+
var GetSettlementSummariesResponse = z13.object({
|
|
2420
|
+
merchant: z13.object({
|
|
2421
|
+
reconciliation: z13.object({
|
|
2422
|
+
paymentReconciliationSettlementSummaries: SettlementSummariesPayload
|
|
2423
|
+
})
|
|
2424
|
+
}).or(ErrorResponse4)
|
|
2425
|
+
}).transform(({ merchant }) => {
|
|
2426
|
+
if ("__typename" in merchant) return merchant;
|
|
2427
|
+
return merchant.reconciliation.paymentReconciliationSettlementSummaries;
|
|
2428
|
+
});
|
|
2429
|
+
var getSettlementSummariesQuery = parse4(gql4`
|
|
2430
|
+
query GetSettlementSummaries(
|
|
2431
|
+
$dateRange: DateRangeInput!
|
|
2432
|
+
$filter: PaymentReconciliationSettlementSummaryFilterInput
|
|
2433
|
+
$first: Int!
|
|
2434
|
+
$after: String
|
|
2435
|
+
) {
|
|
2436
|
+
merchant {
|
|
2437
|
+
...ErrorFragment
|
|
2438
|
+
... on Merchant {
|
|
2439
|
+
reconciliation {
|
|
2440
|
+
paymentReconciliationSettlementSummaries(
|
|
2441
|
+
dateRange: $dateRange
|
|
2442
|
+
filter: $filter
|
|
2443
|
+
first: $first
|
|
2444
|
+
after: $after
|
|
2445
|
+
) {
|
|
2446
|
+
edges {
|
|
2447
|
+
cursor
|
|
2448
|
+
node {
|
|
2449
|
+
date
|
|
2450
|
+
settlementCurrency
|
|
2451
|
+
transactionCurrency
|
|
2452
|
+
aggregate {
|
|
2453
|
+
settlementAmount
|
|
2454
|
+
settlementCount
|
|
2455
|
+
feeAmount
|
|
2456
|
+
feeVatAmount
|
|
2457
|
+
cancelAmount
|
|
2458
|
+
cancelCount
|
|
2459
|
+
transactionAmount
|
|
2460
|
+
postCorrectionCount
|
|
2461
|
+
postCorrectionAmount
|
|
2462
|
+
}
|
|
2463
|
+
details {
|
|
2464
|
+
storePlainId
|
|
2465
|
+
pgSpecifier {
|
|
2466
|
+
pgMerchantId
|
|
2467
|
+
pgProvider
|
|
2468
|
+
}
|
|
2469
|
+
settlementAmount
|
|
2470
|
+
settlementCount
|
|
2471
|
+
feeAmount
|
|
2472
|
+
feeVatAmount
|
|
2473
|
+
cancelAmount
|
|
2474
|
+
cancelCount
|
|
2475
|
+
transactionAmount
|
|
2476
|
+
postCorrectionCount
|
|
2477
|
+
postCorrectionAmount
|
|
2478
|
+
}
|
|
2479
|
+
}
|
|
2480
|
+
}
|
|
2481
|
+
pageInfo {
|
|
2482
|
+
startCursor
|
|
2483
|
+
endCursor
|
|
2484
|
+
hasPreviousPage
|
|
2485
|
+
hasNextPage
|
|
2486
|
+
}
|
|
2487
|
+
}
|
|
2488
|
+
}
|
|
2489
|
+
}
|
|
2490
|
+
}
|
|
2491
|
+
}
|
|
2492
|
+
|
|
2493
|
+
fragment ErrorFragment on Error {
|
|
2494
|
+
__typename
|
|
2495
|
+
message
|
|
2496
|
+
}
|
|
2497
|
+
`);
|
|
2498
|
+
async function getSettlementSummaries({
|
|
2499
|
+
client,
|
|
2500
|
+
authorization,
|
|
2501
|
+
from,
|
|
2502
|
+
until,
|
|
2503
|
+
filter,
|
|
2504
|
+
first,
|
|
2505
|
+
after
|
|
2506
|
+
}) {
|
|
2507
|
+
try {
|
|
2508
|
+
const response = await client.request({
|
|
2509
|
+
document: getSettlementSummariesQuery,
|
|
2510
|
+
requestHeaders: { authorization },
|
|
2511
|
+
variables: { dateRange: { from, until }, filter, first, after }
|
|
2512
|
+
});
|
|
2513
|
+
const parsed = await GetSettlementSummariesResponse.parseAsync(response);
|
|
2514
|
+
return match9(parsed).returnType().with({ __typename: P7.nonNullable }, ({ __typename, message }) => ({
|
|
2515
|
+
type: "error",
|
|
2516
|
+
data: { message, type: __typename }
|
|
2517
|
+
})).otherwise((data) => ({ type: "success", data }));
|
|
2518
|
+
} catch (error) {
|
|
2519
|
+
return toRequestError(error);
|
|
2520
|
+
}
|
|
2521
|
+
}
|
|
2522
|
+
var SettlementStatistic = z13.object({
|
|
2523
|
+
amount: z13.number(),
|
|
2524
|
+
count: z13.number(),
|
|
2525
|
+
pendingAmount: z13.number(),
|
|
2526
|
+
pendingCount: z13.number(),
|
|
2527
|
+
currency: z13.string()
|
|
2528
|
+
});
|
|
2529
|
+
var DailySettlementStatistics = z13.object({
|
|
2530
|
+
date: z13.string(),
|
|
2531
|
+
statistics: z13.array(SettlementStatistic)
|
|
2532
|
+
});
|
|
2533
|
+
var SettlementStatisticsPayload = z13.object({
|
|
2534
|
+
__typename: z13.literal("PaymentReconciliationSettlementStatisticsPayload"),
|
|
2535
|
+
rangeTotalStatistics: z13.array(SettlementStatistic),
|
|
2536
|
+
dailyStatistics: z13.array(DailySettlementStatistics)
|
|
2537
|
+
});
|
|
2538
|
+
var GetSettlementStatisticsResponse = z13.object({
|
|
2539
|
+
merchant: z13.object({
|
|
2540
|
+
reconciliation: z13.object({
|
|
2541
|
+
// Output 는 union 이므로 payload 또는 error typename 을 가짐
|
|
2542
|
+
paymentReconciliationSettlementStatistics: SettlementStatisticsPayload.or(ErrorResponse4)
|
|
2543
|
+
})
|
|
2544
|
+
}).or(ErrorResponse4)
|
|
2545
|
+
}).transform(({ merchant }) => {
|
|
2546
|
+
if ("__typename" in merchant) return merchant;
|
|
2547
|
+
return merchant.reconciliation.paymentReconciliationSettlementStatistics;
|
|
2548
|
+
});
|
|
2549
|
+
var getSettlementStatisticsQuery = parse4(gql4`
|
|
2550
|
+
query GetSettlementStatistics(
|
|
2551
|
+
$dateRange: DateRangeInput!
|
|
2552
|
+
$filter: PaymentReconciliationSettlementStatisticsFilterInput
|
|
2553
|
+
) {
|
|
2554
|
+
merchant {
|
|
2555
|
+
...ErrorFragment
|
|
2556
|
+
... on Merchant {
|
|
2557
|
+
reconciliation {
|
|
2558
|
+
paymentReconciliationSettlementStatistics(
|
|
2559
|
+
dateRange: $dateRange
|
|
2560
|
+
filter: $filter
|
|
2561
|
+
) {
|
|
2562
|
+
__typename
|
|
2563
|
+
...ErrorFragment
|
|
2564
|
+
... on PaymentReconciliationSettlementStatisticsPayload {
|
|
2565
|
+
rangeTotalStatistics {
|
|
2566
|
+
amount
|
|
2567
|
+
count
|
|
2568
|
+
pendingAmount
|
|
2569
|
+
pendingCount
|
|
2570
|
+
currency
|
|
2571
|
+
}
|
|
2572
|
+
dailyStatistics {
|
|
2573
|
+
date
|
|
2574
|
+
statistics {
|
|
2575
|
+
amount
|
|
2576
|
+
count
|
|
2577
|
+
pendingAmount
|
|
2578
|
+
pendingCount
|
|
2579
|
+
currency
|
|
2580
|
+
}
|
|
2581
|
+
}
|
|
2582
|
+
}
|
|
2583
|
+
}
|
|
2584
|
+
}
|
|
2585
|
+
}
|
|
2586
|
+
}
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
fragment ErrorFragment on Error {
|
|
2590
|
+
__typename
|
|
2591
|
+
message
|
|
2592
|
+
}
|
|
2593
|
+
`);
|
|
2594
|
+
async function getSettlementStatistics({
|
|
2595
|
+
client,
|
|
2596
|
+
authorization,
|
|
2597
|
+
from,
|
|
2598
|
+
until,
|
|
2599
|
+
filter
|
|
2600
|
+
}) {
|
|
2601
|
+
try {
|
|
2602
|
+
const response = await client.request({
|
|
2603
|
+
document: getSettlementStatisticsQuery,
|
|
2604
|
+
requestHeaders: { authorization },
|
|
2605
|
+
variables: { dateRange: { from, until }, filter }
|
|
2606
|
+
});
|
|
2607
|
+
const parsed = await GetSettlementStatisticsResponse.parseAsync(response);
|
|
2608
|
+
if ("rangeTotalStatistics" in parsed) {
|
|
2609
|
+
return { type: "success", data: parsed };
|
|
2610
|
+
}
|
|
2611
|
+
return {
|
|
2612
|
+
type: "error",
|
|
2613
|
+
data: { message: parsed.message, type: parsed.__typename }
|
|
2614
|
+
};
|
|
2615
|
+
} catch (error) {
|
|
2616
|
+
return toRequestError(error);
|
|
2617
|
+
}
|
|
2618
|
+
}
|
|
2619
|
+
function toRequestError(error) {
|
|
2620
|
+
if (error instanceof Error) {
|
|
2621
|
+
return { type: "error", data: error };
|
|
2622
|
+
}
|
|
2623
|
+
return {
|
|
2624
|
+
type: "error",
|
|
2625
|
+
data: { message: `\uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.`, cause: error }
|
|
2626
|
+
};
|
|
2627
|
+
}
|
|
2628
|
+
|
|
2629
|
+
// src/tools/getSettlementStatistics.ts
|
|
2630
|
+
var name6 = "getSettlementStatistics";
|
|
2631
|
+
var DateString2 = z14.string().regex(/^\d{4}-\d{2}-\d{2}$/, "YYYY-MM-DD \uD615\uC2DD\uC758 \uB0A0\uC9DC\uC5EC\uC57C \uD569\uB2C8\uB2E4.");
|
|
2632
|
+
var Statistic = z14.object({
|
|
2633
|
+
currency: z14.string().describe("\uD1B5\uD654"),
|
|
2634
|
+
amount: z14.number().describe("\uC815\uC0B0 \uAE08\uC561"),
|
|
2635
|
+
count: z14.number().describe("\uC815\uC0B0 \uAC74 \uC218"),
|
|
2636
|
+
pendingAmount: z14.number().describe("\uC815\uC0B0 \uC608\uC815 \uAE08\uC561"),
|
|
2637
|
+
pendingCount: z14.number().describe("\uC815\uC0B0 \uC608\uC815 \uAC74 \uC218")
|
|
2638
|
+
});
|
|
2639
|
+
var DailyStatistics = z14.object({
|
|
2640
|
+
date: z14.string().describe("\uC815\uC0B0\uC77C"),
|
|
2641
|
+
statistics: Statistic.array().describe("\uD574\uB2F9 \uC77C\uC790\uC758 \uD1B5\uD654\uBCC4 \uD1B5\uACC4")
|
|
2642
|
+
});
|
|
2643
|
+
var OutputSchema6 = z14.object({
|
|
2644
|
+
rangeTotalStatistics: Statistic.array().describe(
|
|
2645
|
+
"\uAC80\uC0C9 \uAD6C\uAC04 \uB0B4 \uD1B5\uD654\uBCC4 \uD569\uC0B0 \uD1B5\uACC4"
|
|
2646
|
+
),
|
|
2647
|
+
dailyStatistics: DailyStatistics.array().describe("\uC77C\uBCC4 \uC815\uC0B0 \uD1B5\uACC4")
|
|
2648
|
+
});
|
|
2649
|
+
var InputSchema5 = z14.object({
|
|
2650
|
+
store: z14.string().optional().describe(
|
|
2651
|
+
"\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."
|
|
2652
|
+
),
|
|
2653
|
+
from: DateString2.describe("\uC815\uC0B0\uC77C \uC870\uD68C \uC2DC\uC791\uC77C (YYYY-MM-DD)"),
|
|
2654
|
+
to: DateString2.describe("\uC815\uC0B0\uC77C \uC870\uD68C \uC885\uB8CC\uC77C (YYYY-MM-DD)")
|
|
2655
|
+
});
|
|
2656
|
+
var config6 = {
|
|
2657
|
+
title: "\uAC70\uB798\uB300\uC0AC \uC815\uC0B0 \uD1B5\uACC4 \uC870\uD68C",
|
|
2658
|
+
description: `\uD2B9\uC815 \uD558\uC704 \uC0C1\uC810(store)\uC758 \uAC70\uB798\uB300\uC0AC \uC815\uC0B0 \uD1B5\uACC4\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4.
|
|
2659
|
+
|
|
2660
|
+
\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.
|
|
2661
|
+
\uB0A0\uC9DC\uB294 \uBC18\uB4DC\uC2DC YYYY-MM-DD \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD569\uB2C8\uB2E4.
|
|
2662
|
+
\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 3\uAC1C\uC6D4\uC785\uB2C8\uB2E4.
|
|
2663
|
+
store \uC544\uC774\uB514\uB294 list_stores \uB3C4\uAD6C\uB85C \uBA3C\uC800 \uC870\uD68C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`,
|
|
2664
|
+
inputSchema: InputSchema5.shape,
|
|
2665
|
+
outputSchema: OutputSchema6.shape
|
|
2666
|
+
};
|
|
2667
|
+
function init6(tokenProvider, client) {
|
|
2668
|
+
return async ({ store, from, to }) => {
|
|
2669
|
+
const dateRangeError = validateReconciliationDateRange(from, to);
|
|
2670
|
+
if (dateRangeError != null) {
|
|
2671
|
+
return toolErrorResult({
|
|
2672
|
+
type: "error",
|
|
2673
|
+
data: { message: dateRangeError }
|
|
2674
|
+
});
|
|
2675
|
+
}
|
|
2676
|
+
const token = await getToken(tokenProvider);
|
|
2677
|
+
if (token.type === "error") {
|
|
2678
|
+
return toolErrorResult(token);
|
|
2679
|
+
}
|
|
2680
|
+
const result = await getSettlementStatistics({
|
|
2681
|
+
client,
|
|
2682
|
+
authorization: token.data,
|
|
2683
|
+
from,
|
|
2684
|
+
until: to,
|
|
2685
|
+
filter: { storeIds: store == null ? void 0 : [store] }
|
|
2686
|
+
});
|
|
2687
|
+
if (result.type === "error") {
|
|
2688
|
+
return toolErrorResult(result);
|
|
2689
|
+
}
|
|
2690
|
+
const structuredContent = {
|
|
2691
|
+
rangeTotalStatistics: result.data.rangeTotalStatistics,
|
|
2692
|
+
dailyStatistics: result.data.dailyStatistics
|
|
2693
|
+
};
|
|
2694
|
+
return {
|
|
2695
|
+
content: [
|
|
2696
|
+
{ type: "text", text: JSON.stringify(structuredContent, null, 2) }
|
|
2697
|
+
],
|
|
2698
|
+
structuredContent
|
|
2699
|
+
};
|
|
2700
|
+
};
|
|
2701
|
+
}
|
|
2702
|
+
|
|
2703
|
+
// src/tools/getSettlementSummaries.ts
|
|
2704
|
+
var getSettlementSummaries_exports = {};
|
|
2705
|
+
__export(getSettlementSummaries_exports, {
|
|
2706
|
+
config: () => config7,
|
|
2707
|
+
init: () => init7,
|
|
2708
|
+
name: () => name7
|
|
2709
|
+
});
|
|
2710
|
+
import z15 from "zod";
|
|
2711
|
+
var name7 = "getSettlementSummaries";
|
|
2712
|
+
var DateString3 = z15.string().regex(/^\d{4}-\d{2}-\d{2}$/, "YYYY-MM-DD \uD615\uC2DD\uC758 \uB0A0\uC9DC\uC5EC\uC57C \uD569\uB2C8\uB2E4.");
|
|
2713
|
+
var Aggregate = z15.object({
|
|
2714
|
+
settlementAmount: z15.number().describe("\uC815\uC0B0 \uAE08\uC561"),
|
|
2715
|
+
settlementCount: z15.number().describe("\uC815\uC0B0 \uAC74 \uC218"),
|
|
2716
|
+
feeAmount: z15.number().describe("PG \uC218\uC218\uB8CC"),
|
|
2717
|
+
feeVatAmount: z15.number().describe("PG \uC218\uC218\uB8CC \uBD80\uAC00\uC138"),
|
|
2718
|
+
cancelAmount: z15.number().describe("\uCDE8\uC18C \uAE08\uC561"),
|
|
2719
|
+
cancelCount: z15.number().describe("\uCDE8\uC18C \uAC74 \uC218"),
|
|
2720
|
+
transactionAmount: z15.number().describe("\uAC70\uB798 \uD569\uACC4 \uAE08\uC561"),
|
|
2721
|
+
postCorrectionCount: z15.number().describe("\uD6C4\uBCF4\uC815 \uAC74 \uC218"),
|
|
2722
|
+
postCorrectionAmount: z15.number().describe("\uD6C4\uBCF4\uC815 \uAE08\uC561")
|
|
2723
|
+
});
|
|
2724
|
+
var Detail = Aggregate.extend({
|
|
2725
|
+
storeId: z15.string().optional().describe("\uD558\uC704 \uC0C1\uC810 \uC544\uC774\uB514"),
|
|
2726
|
+
pgProvider: z15.string().optional().describe("\uB300\uC0AC\uC6A9 PG\uC0AC"),
|
|
2727
|
+
pgMerchantId: z15.string().optional().describe("PG\uC0AC \uAC00\uB9F9\uC810 \uC2DD\uBCC4 \uC544\uC774\uB514")
|
|
2728
|
+
});
|
|
2729
|
+
var Summary = z15.object({
|
|
2730
|
+
date: z15.string().describe("\uC815\uC0B0\uC77C"),
|
|
2731
|
+
settlementCurrency: z15.string().describe("\uC815\uC0B0 \uD1B5\uD654"),
|
|
2732
|
+
transactionCurrency: z15.string().describe("\uACB0\uC81C \uD1B5\uD654"),
|
|
2733
|
+
aggregate: Aggregate.describe("\uC815\uC0B0\uB0B4\uC5ED \uD569\uC0B0 \uB370\uC774\uD130"),
|
|
2734
|
+
details: Detail.array().describe("\uC0C1\uC810/PG \uBCC4 \uC0C1\uC138 \uB370\uC774\uD130")
|
|
2735
|
+
});
|
|
2736
|
+
var OutputSchema7 = z15.object({
|
|
2737
|
+
items: Summary.array().describe("\uC77C\uBCC4 \uC815\uC0B0 \uC694\uC57D \uBAA9\uB85D"),
|
|
2738
|
+
hasNextPage: z15.boolean().describe("\uB2E4\uC74C \uD398\uC774\uC9C0 \uC874\uC7AC \uC5EC\uBD80"),
|
|
2739
|
+
endCursor: z15.string().describe("\uB2E4\uC74C \uD398\uC774\uC9C0 \uC870\uD68C\uC5D0 \uC0AC\uC6A9\uD560 \uCEE4\uC11C")
|
|
2740
|
+
});
|
|
2741
|
+
var InputSchema6 = z15.object({
|
|
2742
|
+
store: z15.string().optional().describe(
|
|
2743
|
+
"\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."
|
|
2744
|
+
),
|
|
2745
|
+
from: DateString3.describe("\uC815\uC0B0\uC77C \uC870\uD68C \uC2DC\uC791\uC77C (YYYY-MM-DD)"),
|
|
2746
|
+
to: DateString3.describe("\uC815\uC0B0\uC77C \uC870\uD68C \uC885\uB8CC\uC77C (YYYY-MM-DD)"),
|
|
2747
|
+
first: z15.number().min(1).max(100).default(31).describe("\uC870\uD68C\uD560 \uC77C \uC218 (\uCD5C\uB300 100)"),
|
|
2748
|
+
after: z15.string().optional().describe("\uC774\uC804 \uD398\uC774\uC9C0\uC758 \uB9C8\uC9C0\uB9C9 \uCEE4\uC11C")
|
|
2749
|
+
});
|
|
2750
|
+
var config7 = {
|
|
2751
|
+
title: "\uAC70\uB798\uB300\uC0AC \uC815\uC0B0 \uC694\uC57D \uC870\uD68C",
|
|
2752
|
+
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.
|
|
2753
|
+
|
|
2754
|
+
\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.
|
|
2755
|
+
\uB0A0\uC9DC\uB294 \uBC18\uB4DC\uC2DC YYYY-MM-DD \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD569\uB2C8\uB2E4.
|
|
2756
|
+
\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 3\uAC1C\uC6D4\uC785\uB2C8\uB2E4.
|
|
2757
|
+
store \uC544\uC774\uB514\uB294 list_stores \uB3C4\uAD6C\uB85C \uBA3C\uC800 \uC870\uD68C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`,
|
|
2758
|
+
inputSchema: InputSchema6.shape,
|
|
2759
|
+
outputSchema: OutputSchema7.shape
|
|
2760
|
+
};
|
|
2761
|
+
function init7(tokenProvider, client) {
|
|
2762
|
+
return async ({ store, from, to, first, after }) => {
|
|
2763
|
+
const dateRangeError = validateReconciliationDateRange(from, to);
|
|
2764
|
+
if (dateRangeError != null) {
|
|
2765
|
+
return toolErrorResult({
|
|
2766
|
+
type: "error",
|
|
2767
|
+
data: { message: dateRangeError }
|
|
2768
|
+
});
|
|
2769
|
+
}
|
|
2770
|
+
const token = await getToken(tokenProvider);
|
|
2771
|
+
if (token.type === "error") {
|
|
2772
|
+
return toolErrorResult(token);
|
|
2773
|
+
}
|
|
2774
|
+
const result = await getSettlementSummaries({
|
|
2775
|
+
client,
|
|
2776
|
+
authorization: token.data,
|
|
2777
|
+
from,
|
|
2778
|
+
until: to,
|
|
2779
|
+
filter: { storeIds: store == null ? void 0 : [store] },
|
|
2780
|
+
first,
|
|
2781
|
+
after
|
|
2782
|
+
});
|
|
2783
|
+
if (result.type === "error") {
|
|
2784
|
+
return toolErrorResult(result);
|
|
2785
|
+
}
|
|
2786
|
+
try {
|
|
2787
|
+
const structuredContent = {
|
|
2788
|
+
items: result.data.edges.map(({ node }) => ({
|
|
2789
|
+
date: node.date,
|
|
2790
|
+
settlementCurrency: node.settlementCurrency,
|
|
2791
|
+
transactionCurrency: node.transactionCurrency,
|
|
2792
|
+
aggregate: node.aggregate,
|
|
2793
|
+
details: node.details.map((detail) => ({
|
|
2794
|
+
storeId: detail.storePlainId ?? void 0,
|
|
2795
|
+
pgProvider: detail.pgSpecifier?.pgProvider ?? void 0,
|
|
2796
|
+
pgMerchantId: detail.pgSpecifier?.pgMerchantId ?? void 0,
|
|
2797
|
+
settlementAmount: detail.settlementAmount,
|
|
2798
|
+
settlementCount: detail.settlementCount,
|
|
2799
|
+
feeAmount: detail.feeAmount,
|
|
2800
|
+
feeVatAmount: detail.feeVatAmount,
|
|
2801
|
+
cancelAmount: detail.cancelAmount,
|
|
2802
|
+
cancelCount: detail.cancelCount,
|
|
2803
|
+
transactionAmount: detail.transactionAmount,
|
|
2804
|
+
postCorrectionCount: detail.postCorrectionCount,
|
|
2805
|
+
postCorrectionAmount: detail.postCorrectionAmount
|
|
2806
|
+
}))
|
|
2807
|
+
})),
|
|
2808
|
+
hasNextPage: result.data.pageInfo.hasNextPage,
|
|
2809
|
+
endCursor: result.data.pageInfo.endCursor
|
|
2810
|
+
};
|
|
2811
|
+
return {
|
|
2812
|
+
content: [
|
|
2813
|
+
{ type: "text", text: JSON.stringify(structuredContent, null, 2) }
|
|
2814
|
+
],
|
|
2815
|
+
structuredContent
|
|
2816
|
+
};
|
|
2817
|
+
} catch {
|
|
2818
|
+
return {
|
|
2819
|
+
content: [{ type: "text", text: "\uC11C\uBC84\uB85C\uBD80\uD130 \uC798\uBABB\uB41C \uC751\uB2F5 \uC218\uC2E0" }],
|
|
2820
|
+
isError: true
|
|
2821
|
+
};
|
|
2822
|
+
}
|
|
2823
|
+
};
|
|
2824
|
+
}
|
|
2825
|
+
|
|
2826
|
+
// src/tools/listDocs.ts
|
|
2827
|
+
var listDocs_exports = {};
|
|
2828
|
+
__export(listDocs_exports, {
|
|
2829
|
+
config: () => config8,
|
|
2830
|
+
init: () => init8,
|
|
2831
|
+
name: () => name8
|
|
2832
|
+
});
|
|
2833
|
+
import z16 from "zod";
|
|
1756
2834
|
|
|
1757
2835
|
// src/tools/utils/markdown.ts
|
|
1758
2836
|
function formatDocumentMetadata(doc) {
|
|
@@ -1772,8 +2850,8 @@ function formatDocumentMetadata(doc) {
|
|
|
1772
2850
|
}
|
|
1773
2851
|
|
|
1774
2852
|
// src/tools/listDocs.ts
|
|
1775
|
-
var
|
|
1776
|
-
var
|
|
2853
|
+
var name8 = "listPortoneDocs";
|
|
2854
|
+
var config8 = {
|
|
1777
2855
|
title: "\uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uBAA9\uB85D \uC870\uD68C",
|
|
1778
2856
|
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
2857
|
\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 +2862,15 @@ Returns:
|
|
|
1784
2862
|
Note:
|
|
1785
2863
|
\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
2864
|
inputSchema: {
|
|
1787
|
-
paths:
|
|
2865
|
+
paths: z16.string().array().default([]).describe(
|
|
1788
2866
|
"\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
2867
|
),
|
|
1790
|
-
onlyPaths:
|
|
2868
|
+
onlyPaths: z16.boolean().default(false).describe(
|
|
1791
2869
|
"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
2870
|
)
|
|
1793
2871
|
}
|
|
1794
2872
|
};
|
|
1795
|
-
function
|
|
2873
|
+
function init8(documents) {
|
|
1796
2874
|
return ({ paths, onlyPaths }) => {
|
|
1797
2875
|
const { markdownDocs } = documents;
|
|
1798
2876
|
const filteredDocs = [];
|
|
@@ -1869,32 +2947,32 @@ function init5(documents) {
|
|
|
1869
2947
|
// src/tools/listSharedTestChannels.ts
|
|
1870
2948
|
var listSharedTestChannels_exports = {};
|
|
1871
2949
|
__export(listSharedTestChannels_exports, {
|
|
1872
|
-
config: () =>
|
|
1873
|
-
init: () =>
|
|
1874
|
-
name: () =>
|
|
2950
|
+
config: () => config9,
|
|
2951
|
+
init: () => init9,
|
|
2952
|
+
name: () => name9
|
|
1875
2953
|
});
|
|
1876
|
-
import
|
|
1877
|
-
var
|
|
1878
|
-
var SharedTestChannel =
|
|
1879
|
-
pg:
|
|
2954
|
+
import z17 from "zod";
|
|
2955
|
+
var name9 = "listSharedTestChannels";
|
|
2956
|
+
var SharedTestChannel = z17.object({
|
|
2957
|
+
pg: z17.string().describe(
|
|
1880
2958
|
"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
2959
|
),
|
|
1882
|
-
mid:
|
|
1883
|
-
name:
|
|
1884
|
-
usage:
|
|
2960
|
+
mid: z17.string().describe("PG\uC0AC\uC5D0\uC11C \uACE0\uAC1D\uC0AC\uB97C \uAD6C\uBD84\uD558\uAE30 \uC704\uD55C ID"),
|
|
2961
|
+
name: z17.string().describe("\uD3EC\uD2B8\uC6D0\uC5D0\uC11C \uC9C0\uC815\uD55C \uCC44\uB110\uC758 \uC774\uB984"),
|
|
2962
|
+
usage: z17.array(z17.enum(["PAYMENT", "IDENTITY"])).describe("\uCC44\uB110\uC744 \uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uC6A9\uB3C4")
|
|
1885
2963
|
});
|
|
1886
|
-
var
|
|
1887
|
-
items:
|
|
2964
|
+
var OutputSchema8 = z17.object({
|
|
2965
|
+
items: z17.array(SharedTestChannel).describe("\uC870\uD68C\uB41C \uCC44\uB110 \uBAA9\uB85D\uC73C\uB85C, MID\uAC00 \uD3EC\uD568\uB429\uB2C8\uB2E4.")
|
|
1888
2966
|
});
|
|
1889
|
-
var
|
|
2967
|
+
var config9 = {
|
|
1890
2968
|
title: "\uD3EC\uD2B8\uC6D0 \uACF5\uC6A9 \uD14C\uC2A4\uD2B8 \uCC44\uB110 \uBAA9\uB85D \uC870\uD68C",
|
|
1891
2969
|
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
2970
|
inputSchema: {
|
|
1893
|
-
pgProviders:
|
|
2971
|
+
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
2972
|
},
|
|
1895
|
-
outputSchema:
|
|
2973
|
+
outputSchema: OutputSchema8.shape
|
|
1896
2974
|
};
|
|
1897
|
-
function
|
|
2975
|
+
function init9(tokenProvider) {
|
|
1898
2976
|
return async () => {
|
|
1899
2977
|
const token = await getToken(tokenProvider);
|
|
1900
2978
|
if (token.type === "error") {
|
|
@@ -1942,31 +3020,31 @@ function init6(tokenProvider) {
|
|
|
1942
3020
|
// src/tools/listStores.ts
|
|
1943
3021
|
var listStores_exports = {};
|
|
1944
3022
|
__export(listStores_exports, {
|
|
1945
|
-
config: () =>
|
|
1946
|
-
init: () =>
|
|
1947
|
-
name: () =>
|
|
3023
|
+
config: () => config10,
|
|
3024
|
+
init: () => init10,
|
|
3025
|
+
name: () => name10
|
|
1948
3026
|
});
|
|
1949
|
-
import
|
|
1950
|
-
var
|
|
1951
|
-
var Store =
|
|
1952
|
-
id:
|
|
1953
|
-
storeId:
|
|
1954
|
-
name:
|
|
1955
|
-
userId:
|
|
1956
|
-
userCode:
|
|
1957
|
-
tierCode:
|
|
1958
|
-
});
|
|
1959
|
-
var
|
|
3027
|
+
import z18 from "zod";
|
|
3028
|
+
var name10 = "listStores";
|
|
3029
|
+
var Store = z18.object({
|
|
3030
|
+
id: z18.string().describe("\uAC70\uB798 \uB2E4\uAC74 \uC870\uD68C\uC6A9 \uC0C1\uC810 \uC2DD\uBCC4\uC790"),
|
|
3031
|
+
storeId: z18.string().describe("\uD3EC\uD2B8\uC6D0 \uC0C1\uC810\uC544\uC774\uB514"),
|
|
3032
|
+
name: z18.string().describe("\uC0C1\uC810\uBA85"),
|
|
3033
|
+
userId: z18.number().optional().describe("V1 \uC720\uC800 \uC544\uC774\uB514"),
|
|
3034
|
+
userCode: z18.string().optional().describe("V1 \uACE0\uAC1D \uC2DD\uBCC4\uBC88\uD638"),
|
|
3035
|
+
tierCode: z18.string().optional().describe("\uD2F0\uC5B4\uCF54\uB4DC")
|
|
3036
|
+
});
|
|
3037
|
+
var OutputSchema9 = z18.object({
|
|
1960
3038
|
main: Store.optional().describe("\uB300\uD45C\uC0C1\uC810"),
|
|
1961
|
-
items:
|
|
3039
|
+
items: z18.array(Store).describe("\uD558\uC704\uC0C1\uC810 \uBAA9\uB85D")
|
|
1962
3040
|
});
|
|
1963
|
-
var
|
|
3041
|
+
var config10 = {
|
|
1964
3042
|
title: "\uC0C1\uC810 \uBAA9\uB85D \uC870\uD68C",
|
|
1965
3043
|
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
3044
|
inputSchema: {},
|
|
1967
|
-
outputSchema:
|
|
3045
|
+
outputSchema: OutputSchema9.shape
|
|
1968
3046
|
};
|
|
1969
|
-
function
|
|
3047
|
+
function init10(tokenProvider, client) {
|
|
1970
3048
|
return async () => {
|
|
1971
3049
|
const token = await getToken(tokenProvider);
|
|
1972
3050
|
if (token.type === "error") {
|
|
@@ -2005,18 +3083,18 @@ function renameStore(store) {
|
|
|
2005
3083
|
// src/tools/readDoc.ts
|
|
2006
3084
|
var readDoc_exports = {};
|
|
2007
3085
|
__export(readDoc_exports, {
|
|
2008
|
-
config: () =>
|
|
2009
|
-
init: () =>
|
|
2010
|
-
name: () =>
|
|
3086
|
+
config: () => config11,
|
|
3087
|
+
init: () => init11,
|
|
3088
|
+
name: () => name11
|
|
2011
3089
|
});
|
|
2012
|
-
import
|
|
2013
|
-
var
|
|
2014
|
-
var
|
|
2015
|
-
content:
|
|
2016
|
-
metadata:
|
|
2017
|
-
url:
|
|
3090
|
+
import z19 from "zod";
|
|
3091
|
+
var name11 = "readPortoneDoc";
|
|
3092
|
+
var OutputSchema10 = z19.object({
|
|
3093
|
+
content: z19.string().describe("\uCC3E\uC740 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uB0B4\uC6A9"),
|
|
3094
|
+
metadata: z19.string().describe("\uCC3E\uC740 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uBA54\uD0C0 \uC815\uBCF4"),
|
|
3095
|
+
url: z19.string().describe("\uBB38\uC11C\uB97C \uC6F9\uC73C\uB85C \uC811\uADFC \uAC00\uB2A5\uD55C \uB9C1\uD06C")
|
|
2018
3096
|
}).partial();
|
|
2019
|
-
var
|
|
3097
|
+
var config11 = {
|
|
2020
3098
|
title: "\uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uC77D\uAE30",
|
|
2021
3099
|
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
3100
|
|
|
@@ -2024,14 +3102,14 @@ Note:
|
|
|
2024
3102
|
\uBA3C\uC800 listPortoneDocs\uC744 \uC0AC\uC6A9\uD574 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uBAA9\uB85D\uC744 \uD655\uC778\uD558\uACE0,
|
|
2025
3103
|
\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
3104
|
inputSchema: {
|
|
2027
|
-
path:
|
|
2028
|
-
fields:
|
|
2029
|
-
startIndex:
|
|
2030
|
-
endIndex:
|
|
3105
|
+
path: z19.string().describe("\uC77D\uC744 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uACBD\uB85C"),
|
|
3106
|
+
fields: OutputSchema10.keyof().array().describe("\uBC1B\uC744 \uD544\uB4DC \uBAA9\uB85D"),
|
|
3107
|
+
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."),
|
|
3108
|
+
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
3109
|
},
|
|
2032
|
-
outputSchema:
|
|
3110
|
+
outputSchema: OutputSchema10.shape
|
|
2033
3111
|
};
|
|
2034
|
-
function
|
|
3112
|
+
function init11(documents) {
|
|
2035
3113
|
return ({ path, fields, startIndex, endIndex }) => {
|
|
2036
3114
|
const { markdownDocs } = documents;
|
|
2037
3115
|
const doc = markdownDocs[path];
|
|
@@ -2069,11 +3147,11 @@ function init8(documents) {
|
|
|
2069
3147
|
// src/tools/readOpenapiSchema.ts
|
|
2070
3148
|
var readOpenapiSchema_exports = {};
|
|
2071
3149
|
__export(readOpenapiSchema_exports, {
|
|
2072
|
-
config: () =>
|
|
2073
|
-
init: () =>
|
|
2074
|
-
name: () =>
|
|
3150
|
+
config: () => config12,
|
|
3151
|
+
init: () => init12,
|
|
3152
|
+
name: () => name12
|
|
2075
3153
|
});
|
|
2076
|
-
import
|
|
3154
|
+
import z20 from "zod";
|
|
2077
3155
|
|
|
2078
3156
|
// src/tools/utils/yaml.ts
|
|
2079
3157
|
import yaml from "js-yaml";
|
|
@@ -2143,21 +3221,21 @@ function stringifyYaml(data) {
|
|
|
2143
3221
|
}
|
|
2144
3222
|
|
|
2145
3223
|
// src/tools/readOpenapiSchema.ts
|
|
2146
|
-
var
|
|
2147
|
-
var
|
|
3224
|
+
var name12 = "readPortoneOpenapiSchema";
|
|
3225
|
+
var config12 = {
|
|
2148
3226
|
title: "\uD3EC\uD2B8\uC6D0 OpenAPI \uC2A4\uD0A4\uB9C8 \uC77D\uAE30",
|
|
2149
3227
|
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
3228
|
inputSchema: {
|
|
2151
|
-
version:
|
|
2152
|
-
yaml_path:
|
|
3229
|
+
version: z20.enum(["V1", "V2"]).describe("\uD3EC\uD2B8\uC6D0 \uBC84\uC804"),
|
|
3230
|
+
yaml_path: z20.array(z20.string()).describe(
|
|
2153
3231
|
"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
3232
|
)
|
|
2155
3233
|
},
|
|
2156
3234
|
outputSchema: {
|
|
2157
|
-
result:
|
|
3235
|
+
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
3236
|
}
|
|
2159
3237
|
};
|
|
2160
|
-
function
|
|
3238
|
+
function init12(schema) {
|
|
2161
3239
|
return ({ version, yaml_path }) => {
|
|
2162
3240
|
let schemaData;
|
|
2163
3241
|
if (version === "V1") {
|
|
@@ -2218,23 +3296,23 @@ function init9(schema) {
|
|
|
2218
3296
|
// src/tools/readOpenapiSchemaSummary.ts
|
|
2219
3297
|
var readOpenapiSchemaSummary_exports = {};
|
|
2220
3298
|
__export(readOpenapiSchemaSummary_exports, {
|
|
2221
|
-
config: () =>
|
|
2222
|
-
init: () =>
|
|
2223
|
-
name: () =>
|
|
3299
|
+
config: () => config13,
|
|
3300
|
+
init: () => init13,
|
|
3301
|
+
name: () => name13
|
|
2224
3302
|
});
|
|
2225
|
-
import
|
|
2226
|
-
var
|
|
2227
|
-
var
|
|
3303
|
+
import z21 from "zod";
|
|
3304
|
+
var name13 = "readPortoneOpenapiSchemaSummary";
|
|
3305
|
+
var config13 = {
|
|
2228
3306
|
title: "\uD3EC\uD2B8\uC6D0 OpenAPI \uC2A4\uD0A4\uB9C8 \uC694\uC57D",
|
|
2229
3307
|
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
3308
|
inputSchema: {
|
|
2231
|
-
version:
|
|
3309
|
+
version: z21.enum(["V1", "V2"]).describe("\uD3EC\uD2B8\uC6D0 \uBC84\uC804")
|
|
2232
3310
|
},
|
|
2233
3311
|
outputSchema: {
|
|
2234
|
-
result:
|
|
3312
|
+
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
3313
|
}
|
|
2236
3314
|
};
|
|
2237
|
-
function
|
|
3315
|
+
function init13(schema) {
|
|
2238
3316
|
return ({ version }) => {
|
|
2239
3317
|
let schemaData;
|
|
2240
3318
|
if (version === "V1") {
|
|
@@ -2295,31 +3373,31 @@ function init10(schema) {
|
|
|
2295
3373
|
// src/tools/readV2BackendCode.ts
|
|
2296
3374
|
var readV2BackendCode_exports = {};
|
|
2297
3375
|
__export(readV2BackendCode_exports, {
|
|
2298
|
-
config: () =>
|
|
2299
|
-
init: () =>
|
|
2300
|
-
name: () =>
|
|
3376
|
+
config: () => config14,
|
|
3377
|
+
init: () => init14,
|
|
3378
|
+
name: () => name14
|
|
2301
3379
|
});
|
|
2302
|
-
import
|
|
2303
|
-
var
|
|
2304
|
-
var
|
|
3380
|
+
import z22 from "zod";
|
|
3381
|
+
var name14 = "readPortoneV2BackendCode";
|
|
3382
|
+
var config14 = {
|
|
2305
3383
|
title: "\uD3EC\uD2B8\uC6D0 V2 \uBC31\uC5D4\uB4DC \uCF54\uB4DC \uC608\uC81C \uC77D\uAE30",
|
|
2306
3384
|
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
3385
|
\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
3386
|
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
3387
|
inputSchema: {
|
|
2310
|
-
framework:
|
|
3388
|
+
framework: z22.string().describe(
|
|
2311
3389
|
"\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
3390
|
),
|
|
2313
|
-
pg:
|
|
3391
|
+
pg: z22.string().describe(
|
|
2314
3392
|
"\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
3393
|
),
|
|
2316
|
-
pay_method:
|
|
3394
|
+
pay_method: z22.string().describe(
|
|
2317
3395
|
"\uC0AC\uC6A9\uD560 \uACB0\uC81C \uBC29\uBC95. \uC635\uC158: card, virtualAccount, easyPay, transfer, mobile, giftCertificate"
|
|
2318
3396
|
),
|
|
2319
|
-
smart_routing:
|
|
3397
|
+
smart_routing: z22.boolean().optional().describe("\uC2A4\uB9C8\uD2B8 \uB77C\uC6B0\uD305 \uC0AC\uC6A9 \uC5EC\uBD80. \uC635\uC158: true \uB610\uB294 false")
|
|
2320
3398
|
}
|
|
2321
3399
|
};
|
|
2322
|
-
function
|
|
3400
|
+
function init14(apiBasePath) {
|
|
2323
3401
|
return async ({ framework, pg, pay_method, smart_routing }) => {
|
|
2324
3402
|
const url = new URL(
|
|
2325
3403
|
`${apiBasePath}/opi/ko/quick-guide/payment/backend-code`
|
|
@@ -2382,31 +3460,31 @@ ${errorText}`
|
|
|
2382
3460
|
// src/tools/readV2FrontendCode.ts
|
|
2383
3461
|
var readV2FrontendCode_exports = {};
|
|
2384
3462
|
__export(readV2FrontendCode_exports, {
|
|
2385
|
-
config: () =>
|
|
2386
|
-
init: () =>
|
|
2387
|
-
name: () =>
|
|
3463
|
+
config: () => config15,
|
|
3464
|
+
init: () => init15,
|
|
3465
|
+
name: () => name15
|
|
2388
3466
|
});
|
|
2389
|
-
import
|
|
2390
|
-
var
|
|
2391
|
-
var
|
|
3467
|
+
import z23 from "zod";
|
|
3468
|
+
var name15 = "readPortoneV2FrontendCode";
|
|
3469
|
+
var config15 = {
|
|
2392
3470
|
title: "\uD3EC\uD2B8\uC6D0 V2 \uD504\uB860\uD2B8\uC5D4\uB4DC \uCF54\uB4DC \uC608\uC81C \uC77D\uAE30",
|
|
2393
3471
|
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
3472
|
\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
3473
|
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
3474
|
inputSchema: {
|
|
2397
|
-
framework:
|
|
3475
|
+
framework: z23.string().describe(
|
|
2398
3476
|
"\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
3477
|
),
|
|
2400
|
-
pg:
|
|
3478
|
+
pg: z23.string().describe(
|
|
2401
3479
|
"\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
3480
|
),
|
|
2403
|
-
pay_method:
|
|
3481
|
+
pay_method: z23.string().describe(
|
|
2404
3482
|
"\uC0AC\uC6A9\uD560 \uACB0\uC81C \uBC29\uBC95. \uC635\uC158: card, virtualAccount, easyPay, transfer, mobile, giftCertificate"
|
|
2405
3483
|
),
|
|
2406
|
-
smart_routing:
|
|
3484
|
+
smart_routing: z23.boolean().optional().describe("\uC2A4\uB9C8\uD2B8 \uB77C\uC6B0\uD305 \uC0AC\uC6A9 \uC5EC\uBD80. \uC635\uC158: true \uB610\uB294 false")
|
|
2407
3485
|
}
|
|
2408
3486
|
};
|
|
2409
|
-
function
|
|
3487
|
+
function init15(apiBasePath) {
|
|
2410
3488
|
return async ({ framework, pg, pay_method, smart_routing }) => {
|
|
2411
3489
|
const url = new URL(
|
|
2412
3490
|
`${apiBasePath}/opi/ko/quick-guide/payment/frontend-code`
|
|
@@ -2469,11 +3547,11 @@ ${errorText}`
|
|
|
2469
3547
|
// src/tools/regexSearch.ts
|
|
2470
3548
|
var regexSearch_exports = {};
|
|
2471
3549
|
__export(regexSearch_exports, {
|
|
2472
|
-
config: () =>
|
|
2473
|
-
init: () =>
|
|
2474
|
-
name: () =>
|
|
3550
|
+
config: () => config16,
|
|
3551
|
+
init: () => init16,
|
|
3552
|
+
name: () => name16
|
|
2475
3553
|
});
|
|
2476
|
-
import
|
|
3554
|
+
import z24 from "zod";
|
|
2477
3555
|
|
|
2478
3556
|
// src/tools/utils/bm25.ts
|
|
2479
3557
|
function calculateBm25Scores(query, documents, k1 = 1.2, b = 0.75) {
|
|
@@ -2513,8 +3591,8 @@ ${searchableText}`;
|
|
|
2513
3591
|
);
|
|
2514
3592
|
if (matches.length > 0) {
|
|
2515
3593
|
const termCounts = {};
|
|
2516
|
-
for (const
|
|
2517
|
-
const term =
|
|
3594
|
+
for (const match10 of matches) {
|
|
3595
|
+
const term = match10[0].toLowerCase();
|
|
2518
3596
|
termCounts[term] = (termCounts[term] || 0) + 1;
|
|
2519
3597
|
}
|
|
2520
3598
|
termFrequencies[path] = termCounts;
|
|
@@ -2554,29 +3632,29 @@ ${searchableText}`;
|
|
|
2554
3632
|
}
|
|
2555
3633
|
|
|
2556
3634
|
// src/tools/regexSearch.ts
|
|
2557
|
-
var
|
|
2558
|
-
var
|
|
3635
|
+
var name16 = "regexSearchPortoneDocs";
|
|
3636
|
+
var config16 = {
|
|
2559
3637
|
title: "\uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uC815\uADDC\uD45C\uD604\uC2DD \uAC80\uC0C9",
|
|
2560
3638
|
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
3639
|
\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
3640
|
inputSchema: {
|
|
2563
|
-
paths:
|
|
3641
|
+
paths: z24.string().array().optional().describe(
|
|
2564
3642
|
"\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
3643
|
),
|
|
2566
|
-
query:
|
|
3644
|
+
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
3645
|
\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
3646
|
\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:
|
|
3647
|
+
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
3648
|
query \uB9E4\uCE58\uAC00 \uBC1C\uACAC\uB41C \uC2DC\uC791 \uC778\uB371\uC2A4\uB97C idx\uB77C\uACE0 \uD560 \uB54C,
|
|
2571
3649
|
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
3650
|
\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:
|
|
3651
|
+
limit: z24.number().default(1e3).describe(
|
|
2574
3652
|
`\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
3653
|
),
|
|
2576
|
-
page:
|
|
3654
|
+
page: z24.number().default(0).describe(
|
|
2577
3655
|
`\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
3656
|
),
|
|
2579
|
-
showMetadata:
|
|
3657
|
+
showMetadata: z24.boolean().default(false).describe(
|
|
2580
3658
|
"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
3659
|
)
|
|
2582
3660
|
}
|
|
@@ -2590,7 +3668,7 @@ ${occurrence.context}
|
|
|
2590
3668
|
\`\`\`
|
|
2591
3669
|
`;
|
|
2592
3670
|
}
|
|
2593
|
-
function
|
|
3671
|
+
function init16(documents) {
|
|
2594
3672
|
return ({ paths, query, contextSize, page, limit, showMetadata }) => {
|
|
2595
3673
|
const { markdownDocs } = documents;
|
|
2596
3674
|
let occurrenceCount = 0;
|
|
@@ -2617,14 +3695,14 @@ function init13(documents) {
|
|
|
2617
3695
|
});
|
|
2618
3696
|
}
|
|
2619
3697
|
const regex = new RegExp(query, "gi");
|
|
2620
|
-
let
|
|
2621
|
-
while (
|
|
2622
|
-
|
|
2623
|
-
if (
|
|
3698
|
+
let match10 = regex.exec(doc.content);
|
|
3699
|
+
while (match10 !== null) {
|
|
3700
|
+
match10 = regex.exec(doc.content);
|
|
3701
|
+
if (match10 === null) {
|
|
2624
3702
|
break;
|
|
2625
3703
|
}
|
|
2626
|
-
const idx =
|
|
2627
|
-
const matchLen =
|
|
3704
|
+
const idx = match10.index;
|
|
3705
|
+
const matchLen = match10[0].length;
|
|
2628
3706
|
const contextStart = Math.max(0, idx - contextSize);
|
|
2629
3707
|
const contextEnd = Math.min(contentLen, idx + matchLen + contextSize);
|
|
2630
3708
|
if (contextStart < lastContextEnd) {
|
|
@@ -2806,6 +3884,21 @@ ${documents.readme}`
|
|
|
2806
3884
|
getPaymentsByFilter_exports.config,
|
|
2807
3885
|
getPaymentsByFilter_exports.init(tokenProvider, graphClient)
|
|
2808
3886
|
);
|
|
3887
|
+
mcp.registerTool(
|
|
3888
|
+
getReconciliationsByFilter_exports.name,
|
|
3889
|
+
getReconciliationsByFilter_exports.config,
|
|
3890
|
+
getReconciliationsByFilter_exports.init(tokenProvider, graphClient)
|
|
3891
|
+
);
|
|
3892
|
+
mcp.registerTool(
|
|
3893
|
+
getSettlementSummaries_exports.name,
|
|
3894
|
+
getSettlementSummaries_exports.config,
|
|
3895
|
+
getSettlementSummaries_exports.init(tokenProvider, graphClient)
|
|
3896
|
+
);
|
|
3897
|
+
mcp.registerTool(
|
|
3898
|
+
getSettlementStatistics_exports.name,
|
|
3899
|
+
getSettlementStatistics_exports.config,
|
|
3900
|
+
getSettlementStatistics_exports.init(tokenProvider, graphClient)
|
|
3901
|
+
);
|
|
2809
3902
|
const transport = new StdioServerTransport();
|
|
2810
3903
|
await mcp.connect(transport);
|
|
2811
3904
|
}
|