smart-web-mcp 0.44.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/CHANGELOG.md +352 -1
  2. package/README.md +33 -566
  3. package/dist/assessment.d.ts +10 -3
  4. package/dist/assessment.js +21 -6
  5. package/dist/assessment.js.map +1 -1
  6. package/dist/body-export.d.ts +10 -0
  7. package/dist/body-export.js +28 -0
  8. package/dist/body-export.js.map +1 -0
  9. package/dist/browser-session.d.ts +32 -1
  10. package/dist/browser-session.js +373 -3
  11. package/dist/browser-session.js.map +1 -1
  12. package/dist/cli-fetch-options.d.ts +7 -0
  13. package/dist/cli-fetch-options.js +41 -0
  14. package/dist/cli-fetch-options.js.map +1 -0
  15. package/dist/cli.js +31 -12
  16. package/dist/cli.js.map +1 -1
  17. package/dist/comment-export.d.ts +10 -0
  18. package/dist/comment-export.js +39 -0
  19. package/dist/comment-export.js.map +1 -0
  20. package/dist/composition.d.ts +1 -22
  21. package/dist/composition.js +0 -16
  22. package/dist/composition.js.map +1 -1
  23. package/dist/extraction/budget.d.ts +3 -0
  24. package/dist/extraction/budget.js +88 -7
  25. package/dist/extraction/budget.js.map +1 -1
  26. package/dist/extraction/document.js +134 -9
  27. package/dist/extraction/document.js.map +1 -1
  28. package/dist/korea/coupang-filters.d.ts +5 -0
  29. package/dist/korea/coupang-filters.js +87 -0
  30. package/dist/korea/coupang-filters.js.map +1 -0
  31. package/dist/korea/coupang.d.ts +27 -6
  32. package/dist/korea/coupang.js +202 -82
  33. package/dist/korea/coupang.js.map +1 -1
  34. package/dist/korea/proxy-client.d.ts +1 -0
  35. package/dist/korea/proxy-client.js +6 -2
  36. package/dist/korea/proxy-client.js.map +1 -1
  37. package/dist/korea/smartvertical.d.ts +1 -0
  38. package/dist/korea/smartvertical.js +39 -25
  39. package/dist/korea/smartvertical.js.map +1 -1
  40. package/dist/lib.d.ts +4 -2
  41. package/dist/lib.js +2 -1
  42. package/dist/lib.js.map +1 -1
  43. package/dist/mcp-server.js +39 -15
  44. package/dist/mcp-server.js.map +1 -1
  45. package/dist/operator-browser-fixture.d.ts +7 -0
  46. package/dist/operator-browser-fixture.js +19 -0
  47. package/dist/operator-browser-fixture.js.map +1 -0
  48. package/dist/operator-canary-cli.d.ts +6 -0
  49. package/dist/operator-canary-cli.js +190 -0
  50. package/dist/operator-canary-cli.js.map +1 -0
  51. package/dist/operator-canary.d.ts +74 -0
  52. package/dist/operator-canary.js +135 -0
  53. package/dist/operator-canary.js.map +1 -0
  54. package/dist/operator-cdp.d.ts +15 -0
  55. package/dist/operator-cdp.js +195 -0
  56. package/dist/operator-cdp.js.map +1 -0
  57. package/dist/operator-frame.d.ts +3 -0
  58. package/dist/operator-frame.js +55 -0
  59. package/dist/operator-frame.js.map +1 -0
  60. package/dist/settings.d.ts +3 -0
  61. package/dist/settings.js +1 -0
  62. package/dist/settings.js.map +1 -1
  63. package/dist/shared.d.ts +47 -10
  64. package/dist/shared.js +15 -9
  65. package/dist/shared.js.map +1 -1
  66. package/dist/smartbrowser.d.ts +169 -0
  67. package/dist/smartbrowser.js +288 -0
  68. package/dist/smartbrowser.js.map +1 -0
  69. package/dist/smartcrawl.js +16 -21
  70. package/dist/smartcrawl.js.map +1 -1
  71. package/dist/smartfetch/academic-fallback.js +3 -5
  72. package/dist/smartfetch/academic-fallback.js.map +1 -1
  73. package/dist/smartfetch/archive-fallback.js +2 -5
  74. package/dist/smartfetch/archive-fallback.js.map +1 -1
  75. package/dist/smartfetch/assets.d.ts +1 -1
  76. package/dist/smartfetch/assets.js +28 -1
  77. package/dist/smartfetch/assets.js.map +1 -1
  78. package/dist/smartfetch/jina-reader.d.ts +1 -0
  79. package/dist/smartfetch/jina-reader.js +17 -3
  80. package/dist/smartfetch/jina-reader.js.map +1 -1
  81. package/dist/smartfetch/pipeline.js +15 -25
  82. package/dist/smartfetch/pipeline.js.map +1 -1
  83. package/dist/smartfetch/provider-policy.d.ts +3 -0
  84. package/dist/smartfetch/provider-policy.js +45 -2
  85. package/dist/smartfetch/provider-policy.js.map +1 -1
  86. package/dist/smartfetch/provider-types.d.ts +8 -0
  87. package/dist/smartfetch/providers/article.js +76 -10
  88. package/dist/smartfetch/providers/article.js.map +1 -1
  89. package/dist/smartfetch/providers/blind-post.d.ts +2 -0
  90. package/dist/smartfetch/providers/blind-post.js +167 -0
  91. package/dist/smartfetch/providers/blind-post.js.map +1 -0
  92. package/dist/smartfetch/providers/clien.d.ts +2 -0
  93. package/dist/smartfetch/providers/clien.js +157 -0
  94. package/dist/smartfetch/providers/clien.js.map +1 -0
  95. package/dist/smartfetch/providers/commerce.d.ts +15 -0
  96. package/dist/smartfetch/providers/commerce.js +123 -7
  97. package/dist/smartfetch/providers/commerce.js.map +1 -1
  98. package/dist/smartfetch/providers/dcinside.js +313 -20
  99. package/dist/smartfetch/providers/dcinside.js.map +1 -1
  100. package/dist/smartfetch/providers/hackernews-html.d.ts +21 -0
  101. package/dist/smartfetch/providers/hackernews-html.js +148 -0
  102. package/dist/smartfetch/providers/hackernews-html.js.map +1 -0
  103. package/dist/smartfetch/providers/hackernews.js +76 -14
  104. package/dist/smartfetch/providers/hackernews.js.map +1 -1
  105. package/dist/smartfetch/providers/index.js +7 -1
  106. package/dist/smartfetch/providers/index.js.map +1 -1
  107. package/dist/smartfetch/providers/linkedin.js +2 -1
  108. package/dist/smartfetch/providers/linkedin.js.map +1 -1
  109. package/dist/smartfetch/providers/naver-blog.d.ts +2 -0
  110. package/dist/smartfetch/providers/naver-blog.js +87 -45
  111. package/dist/smartfetch/providers/naver-blog.js.map +1 -1
  112. package/dist/smartfetch/providers/naver-cafe-native.d.ts +7 -0
  113. package/dist/smartfetch/providers/naver-cafe-native.js +188 -0
  114. package/dist/smartfetch/providers/naver-cafe-native.js.map +1 -0
  115. package/dist/smartfetch/providers/naver-cafe.js +165 -4
  116. package/dist/smartfetch/providers/naver-cafe.js.map +1 -1
  117. package/dist/smartfetch/providers/naver-map-search.js +1 -1
  118. package/dist/smartfetch/providers/naver-map-search.js.map +1 -1
  119. package/dist/smartfetch/providers/ppomppu.d.ts +2 -0
  120. package/dist/smartfetch/providers/ppomppu.js +289 -0
  121. package/dist/smartfetch/providers/ppomppu.js.map +1 -0
  122. package/dist/smartfetch/providers/reddit.js +24 -3
  123. package/dist/smartfetch/providers/reddit.js.map +1 -1
  124. package/dist/smartfetch/providers/threads.js +1 -1
  125. package/dist/smartfetch/providers/threads.js.map +1 -1
  126. package/dist/smartfetch/providers/wikipedia.js +138 -0
  127. package/dist/smartfetch/providers/wikipedia.js.map +1 -1
  128. package/dist/smartfetch.d.ts +11 -2
  129. package/dist/smartfetch.js +369 -78
  130. package/dist/smartfetch.js.map +1 -1
  131. package/dist/smartsearch-brave.d.ts +2 -0
  132. package/dist/smartsearch-brave.js +43 -0
  133. package/dist/smartsearch-brave.js.map +1 -0
  134. package/dist/smartsearch-browser.d.ts +5 -0
  135. package/dist/smartsearch-browser.js +116 -0
  136. package/dist/smartsearch-browser.js.map +1 -0
  137. package/dist/smartsearch-ddg.d.ts +2 -0
  138. package/dist/smartsearch-ddg.js +46 -0
  139. package/dist/smartsearch-ddg.js.map +1 -0
  140. package/dist/smartsearch-node.d.ts +6 -0
  141. package/dist/smartsearch-node.js +21 -0
  142. package/dist/smartsearch-node.js.map +1 -0
  143. package/dist/smartsearch-postgresql.d.ts +7 -0
  144. package/dist/smartsearch-postgresql.js +44 -0
  145. package/dist/smartsearch-postgresql.js.map +1 -0
  146. package/dist/smartsearch-python.d.ts +8 -0
  147. package/dist/smartsearch-python.js +87 -0
  148. package/dist/smartsearch-python.js.map +1 -0
  149. package/dist/smartsearch-quality.d.ts +6 -0
  150. package/dist/smartsearch-quality.js +47 -0
  151. package/dist/smartsearch-quality.js.map +1 -0
  152. package/dist/smartsearch-youtube.d.ts +7 -0
  153. package/dist/smartsearch-youtube.js +76 -0
  154. package/dist/smartsearch-youtube.js.map +1 -0
  155. package/dist/smartsearch.d.ts +3 -0
  156. package/dist/smartsearch.js +617 -132
  157. package/dist/smartsearch.js.map +1 -1
  158. package/package.json +8 -5
  159. package/python/requirements-undetected-chromedriver.txt +2 -2
@@ -9,17 +9,20 @@
9
9
  * Calls https://a.retn.kr/v1/public/assist with X-OpenClaw-Client-Id: openclaw-skill.
10
10
  * This path works without any credentials.
11
11
  *
12
- * This module implements the hosted fallback path only.
12
+ * This module implements the hosted path and one explicitly approved local-CDP
13
+ * continuation for failed keyword searches. Filtered actions are never silently
14
+ * downgraded to an unfiltered storefront search.
13
15
  * For URL-based product pages (www.coupang.com/vp/products/...), the existing
14
16
  * commerce provider in smartfetch handles fetching and anti-bot fallback.
15
17
  *
16
18
  * Affiliate disclosure: links from this endpoint are Retention Corp affiliate links
17
19
  * (https://a.retn.kr/s/...). Disclose to users per the SKILL.md policy.
18
20
  */
21
+ import { type BrowserSessionOptions, type BrowserPageResult } from "../browser-session.js";
19
22
  export type CoupangProduct = {
20
23
  title: string;
21
24
  price?: string;
22
- is_rocket: boolean;
25
+ is_rocket: boolean | null;
23
26
  url: string;
24
27
  image_url?: string;
25
28
  rating?: string;
@@ -32,6 +35,26 @@ export type CoupangResult = {
32
35
  products: CoupangProduct[];
33
36
  disclosure: string;
34
37
  note: string;
38
+ retrieval_method?: "hosted_api" | "local_browser_cdp";
39
+ partial?: boolean;
40
+ warnings?: string[];
41
+ attempts?: CoupangAttempt[];
42
+ };
43
+ type CoupangAttempt = {
44
+ method: "hosted_api" | "local_browser_cdp";
45
+ status: "success" | "partial" | "failed";
46
+ code?: string;
47
+ };
48
+ type CoupangFailure = {
49
+ ok: false;
50
+ message: string;
51
+ code?: string;
52
+ status?: number;
53
+ retry_after?: string;
54
+ attempts?: CoupangAttempt[];
55
+ };
56
+ type CoupangRuntime = {
57
+ runBrowserSession?: (options: BrowserSessionOptions) => Promise<BrowserPageResult>;
35
58
  };
36
59
  export declare function runCoupang(options: {
37
60
  action?: "search" | "rocket" | "budget" | "compare" | "goldbox";
@@ -39,8 +62,6 @@ export declare function runCoupang(options: {
39
62
  maxPrice?: number;
40
63
  limit?: number;
41
64
  timeoutMs?: number;
42
- }): Promise<CoupangResult | {
43
- ok: false;
44
- message: string;
45
- }>;
65
+ }, runtime?: CoupangRuntime): Promise<CoupangResult | CoupangFailure>;
46
66
  export declare function renderCoupang(result: CoupangResult): string;
67
+ export {};
@@ -9,7 +9,9 @@
9
9
  * Calls https://a.retn.kr/v1/public/assist with X-OpenClaw-Client-Id: openclaw-skill.
10
10
  * This path works without any credentials.
11
11
  *
12
- * This module implements the hosted fallback path only.
12
+ * This module implements the hosted path and one explicitly approved local-CDP
13
+ * continuation for failed keyword searches. Filtered actions are never silently
14
+ * downgraded to an unfiltered storefront search.
13
15
  * For URL-based product pages (www.coupang.com/vp/products/...), the existing
14
16
  * commerce provider in smartfetch handles fetching and anti-bot fallback.
15
17
  *
@@ -17,6 +19,11 @@
17
19
  * (https://a.retn.kr/s/...). Disclose to users per the SKILL.md policy.
18
20
  */
19
21
  import { httpPost } from "./proxy-client.js";
22
+ import { filteredCoupangBrowserProducts, matchesCoupangFilter } from "./coupang-filters.js";
23
+ import { runBrowserSession } from "../browser-session.js";
24
+ import { configText } from "../settings.js";
25
+ import { configFlag } from "../shared.js";
26
+ import { coupangTitleQueryEvidence, extractCoupangBrowserItems, isCoupangStorefrontProductUrl } from "../smartfetch/providers/commerce.js";
20
27
  const RETN_BASE = (process.env["OPENCLAW_SHOPPING_BASE_URL"] || "https://a.retn.kr").replace(/\/$/, "");
21
28
  const RETN_ASSIST = `${RETN_BASE}/v1/public/assist`;
22
29
  const CLIENT_ID = process.env["OPENCLAW_SHOPPING_CLIENT_ID"] || "openclaw-skill";
@@ -25,7 +32,7 @@ function isRecord(value) {
25
32
  }
26
33
  function firstString(...values) {
27
34
  for (const value of values) {
28
- if (value !== undefined && value !== null && value !== "")
35
+ if ((typeof value === "string" && value.trim()) || (typeof value === "number" && Number.isFinite(value)))
29
36
  return String(value);
30
37
  }
31
38
  return undefined;
@@ -42,7 +49,7 @@ function firstBoolean(...values) {
42
49
  return false;
43
50
  }
44
51
  }
45
- return false;
52
+ return null;
46
53
  }
47
54
  function normalizeProduct(raw) {
48
55
  if (!isRecord(raw))
@@ -50,7 +57,7 @@ function normalizeProduct(raw) {
50
57
  const metadata = isRecord(raw["metadata"]) ? raw["metadata"] : {};
51
58
  const title = firstString(raw["productName"], raw["product_name"], raw["title"], raw["name"], metadata["productName"], metadata["title"], metadata["name"]) ?? "";
52
59
  const url = firstString(raw["url"], raw["deeplink"], raw["short_deeplink"], raw["shortDeeplink"], raw["productUrl"], raw["product_url"], raw["link"], metadata["url"], metadata["deeplink"], metadata["short_deeplink"], metadata["productUrl"], metadata["product_url"], metadata["link"]) ?? "";
53
- if (!title && !url)
60
+ if (!title || !validProductUrl(url))
54
61
  return undefined;
55
62
  const price = firstString(raw["price"], raw["salePrice"], raw["sale_price"], raw["currentPrice"], raw["current_price"], metadata["price"], metadata["salePrice"], metadata["sale_price"]);
56
63
  const imageUrl = firstString(raw["image_url"], raw["imageUrl"], raw["image"], raw["thumbnail"], metadata["image_url"], metadata["imageUrl"], metadata["image"], metadata["thumbnail"]);
@@ -66,54 +73,102 @@ function normalizeProduct(raw) {
66
73
  ...(reviewCount !== undefined ? { review_count: reviewCount } : {}),
67
74
  };
68
75
  }
69
- function parseProducts(raw) {
70
- if (!Array.isArray(raw)) {
71
- // Try text extraction if result is a string
72
- if (typeof raw === "string") {
73
- return parseProductsFromText(raw);
74
- }
75
- const product = normalizeProduct(raw);
76
- return product ? [product] : [];
76
+ function validProductUrl(value) {
77
+ try {
78
+ const url = new URL(value);
79
+ if (url.protocol !== "https:" || url.username || url.password || url.port)
80
+ return false;
81
+ return (url.hostname === "a.retn.kr" && /^\/s\/[^/]+/.test(url.pathname))
82
+ || (url.hostname === "link.coupang.com" && (/^\/a\/[^/]+/.test(url.pathname)
83
+ || (url.pathname === "/re/AFFSDP" && ["pageKey", "itemId", "vendorItemId"].every((key) => /^\d+$/.test(url.searchParams.get(key) || "")))))
84
+ || isCoupangStorefrontProductUrl(value);
77
85
  }
78
- return raw.map((item) => normalizeProduct(item)).filter((p) => Boolean(p));
86
+ catch {
87
+ return false;
88
+ }
89
+ }
90
+ // Recognized empty collections are valid results; arbitrary objects, failed
91
+ // envelopes and malformed product rows must never become "no results".
92
+ function invalidPayload() {
93
+ return { ok: false, code: "invalid_payload", message: "Coupang hosted backend returned an invalid product payload" };
79
94
  }
80
- function parseDirectProducts(raw) {
81
- if (!isRecord(raw)) {
82
- return parseProducts(raw);
95
+ function hostedError(raw) {
96
+ const details = isRecord(raw["data"]) ? raw["data"] : {};
97
+ const rawStatus = raw["status"] ?? details["status"] ?? raw["code"];
98
+ const status = typeof rawStatus === "number" && rawStatus >= 100 && rawStatus <= 599 ? rawStatus : undefined;
99
+ const retryAfter = firstString(raw["retry_after"], details["retry_after"]);
100
+ return {
101
+ ok: false, message: errorMessage(raw, "Coupang hosted API failed").slice(0, 500),
102
+ ...(status !== undefined ? { status } : {}), ...(retryAfter ? { retry_after: retryAfter } : {}),
103
+ code: typeof raw["code"] === "string" ? raw["code"] : status ? `http_${status}` : "hosted_api_failed",
104
+ };
105
+ }
106
+ function hostedRows(raw, depth = 0) {
107
+ if (depth > 6)
108
+ return invalidPayload();
109
+ if (Array.isArray(raw))
110
+ return raw;
111
+ if (typeof raw === "string") {
112
+ try {
113
+ return hostedRows(JSON.parse(raw), depth + 1);
114
+ }
115
+ catch {
116
+ return invalidPayload();
117
+ }
118
+ }
119
+ if (!isRecord(raw))
120
+ return invalidPayload();
121
+ if (isFailure(raw))
122
+ return hostedError(raw);
123
+ if (raw["error"])
124
+ return hostedError(isRecord(raw["error"]) ? raw["error"] : raw);
125
+ if (raw["isError"] === true) {
126
+ const nested = hostedRows({ content: raw["content"] }, depth + 1);
127
+ return !Array.isArray(nested) && nested.code !== "invalid_payload" ? nested : hostedError(raw);
128
+ }
129
+ if (raw["ok"] === true)
130
+ return hostedRows(raw["data"], depth + 1);
131
+ if ("payload" in raw)
132
+ return hostedRows(raw["payload"], depth + 1);
133
+ if ("result" in raw)
134
+ return hostedRows(raw["result"], depth + 1);
135
+ if (Array.isArray(raw["content"])) {
136
+ const textBlocks = raw["content"].filter((block) => isRecord(block) && block["type"] === "text");
137
+ if (textBlocks.length !== 1)
138
+ return invalidPayload();
139
+ return hostedRows(textBlocks[0]["text"], depth + 1);
140
+ }
141
+ const rows = [];
142
+ let recognized = false;
143
+ for (const key of ["shortlist", "products", "items", "results"]) {
144
+ if (!(key in raw))
145
+ continue;
146
+ if (!Array.isArray(raw[key]))
147
+ return invalidPayload();
148
+ rows.push(...raw[key]);
149
+ recognized = true;
83
150
  }
84
- const products = [];
85
- products.push(...parseProducts(raw["best_fit"]));
86
- products.push(...parseProducts(raw["shortlist"]));
87
- products.push(...parseProducts(raw["products"]));
88
- products.push(...parseProducts(raw["items"]));
89
- products.push(...parseProducts(raw["results"]));
90
- if (products.length === 0) {
91
- return parseProducts(raw);
151
+ if (raw["best_fit"] !== undefined && raw["best_fit"] !== null) {
152
+ rows.unshift(raw["best_fit"]);
153
+ recognized = true;
92
154
  }
155
+ return recognized ? rows : normalizeProduct(raw) ? [raw] : invalidPayload();
156
+ }
157
+ function validatedHostedProducts(raw) {
158
+ const rows = hostedRows(raw);
159
+ if (!Array.isArray(rows))
160
+ return rows;
161
+ const products = rows.map(normalizeProduct);
162
+ if (products.some((item) => !item))
163
+ return invalidPayload();
93
164
  const seen = new Set();
94
- return products.filter((product) => {
95
- const key = product.url || product.title;
96
- if (!key || seen.has(key))
165
+ return products.filter((item) => {
166
+ if (!item || seen.has(item.url))
97
167
  return false;
98
- seen.add(key);
168
+ seen.add(item.url);
99
169
  return true;
100
170
  });
101
171
  }
102
- function parseProductsFromText(text) {
103
- // Best-effort: extract JSON array from MCP content text
104
- try {
105
- const jsonMatch = text.match(/\[[\s\S]*\]/);
106
- if (jsonMatch) {
107
- const arr = JSON.parse(jsonMatch[0]);
108
- if (Array.isArray(arr))
109
- return parseProducts(arr);
110
- }
111
- }
112
- catch {
113
- // ignore
114
- }
115
- return [];
116
- }
117
172
  function parseJsonResponse(raw) {
118
173
  if (typeof raw !== "string")
119
174
  return raw;
@@ -140,7 +195,7 @@ function isFailure(value) {
140
195
  return isRecord(value) && value["ok"] === false;
141
196
  }
142
197
  function errorMessage(value, fallback) {
143
- return firstString(value.message, value.error) ?? fallback;
198
+ return firstString(value["message"], value["error"]) ?? fallback;
144
199
  }
145
200
  async function callRetentionAssist(tool, args, timeoutMs) {
146
201
  const body = JSON.stringify(directPayload(tool, args));
@@ -150,42 +205,32 @@ async function callRetentionAssist(tool, args, timeoutMs) {
150
205
  accept: "application/json",
151
206
  }, timeoutMs);
152
207
  if (!result.ok)
153
- return { ok: false, message: result.message };
208
+ return result;
154
209
  return parseJsonResponse(result.data);
155
210
  }
156
- function extractProducts(envelope) {
157
- const payload = envelope.data?.payload;
158
- const resultContent = payload?.["result"]?.["content"];
159
- if (Array.isArray(resultContent)) {
160
- for (const block of resultContent) {
161
- if (block["type"] === "text") {
162
- const text = String(block["text"] ?? "");
163
- const products = parseProductsFromText(text);
164
- if (products.length > 0)
165
- return products;
166
- }
167
- }
168
- }
169
- if (envelope.data?.result)
170
- return parseProducts(envelope.data.result);
171
- return [];
172
- }
173
- function extractHostedProducts(response) {
174
- if (isRecord(response) && response["ok"] === true && isRecord(response["data"])) {
175
- return extractProducts(response);
176
- }
177
- return parseDirectProducts(response);
178
- }
179
- export async function runCoupang(options) {
211
+ export async function runCoupang(options, runtime = {}) {
180
212
  const { action = "search", query, maxPrice, limit = 10, timeoutMs = 20000 } = options;
213
+ if (action === "budget" && (typeof maxPrice !== "number" || !Number.isSafeInteger(maxPrice) || maxPrice <= 0)) {
214
+ return { ok: false, code: "invalid_max_price", message: "budget 검색에는 양의 정수 max_price(KRW)가 필요합니다." };
215
+ }
216
+ const startedAt = Date.now();
217
+ const cdpUrl = configText("fetch.browserCdpUrl");
218
+ // Reserve time for the actual browser continuation instead of spending the
219
+ // entire caller budget on an unavailable hosted API.
220
+ const browserSupported = ["search", "rocket", "budget"].includes(action);
221
+ const apiTimeoutMs = cdpUrl && browserSupported ? Math.max(1, Math.floor(timeoutMs * 0.4)) : timeoutMs;
181
222
  const disclosure = "파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음";
182
- const note = "가격·품절·배송 정보는 실시간으로 변동될 수 있습니다.";
223
+ const note = "가격·품절·배송 정보는 실시간으로 변동될 수 있습니다." + (action === "budget" ? " max_price는 표시 상품가 기준이며 별도 배송비는 포함하지 않습니다." : "");
224
+ const expired = () => Date.now() - startedAt >= timeoutMs;
225
+ const lateHosted = () => ({ ok: false, code: "deadline_exhausted", message: "Coupang call budget exhausted before hosted evidence was accepted", attempts: [{ method: "hosted_api", status: "failed", code: "deadline_exhausted" }] });
183
226
  if (action === "goldbox") {
184
227
  const envelope = await callRetentionAssist("get_coupang_goldbox", { limit }, timeoutMs);
185
- if (isFailure(envelope))
186
- return { ok: false, message: errorMessage(envelope, "Coupang goldbox failed") };
187
- const products = extractHostedProducts(envelope);
188
- return { source: "coupang", action: "goldbox", query: "골드박스 특가", products, disclosure, note };
228
+ const products = validatedHostedProducts(envelope);
229
+ if (!Array.isArray(products))
230
+ return { ...products, attempts: [{ method: "hosted_api", status: "failed", code: products.code || "hosted_api_failed" }] };
231
+ if (expired())
232
+ return lateHosted();
233
+ return { source: "coupang", action: "goldbox", query: "골드박스 특가", products: products.slice(0, limit), disclosure, note, retrieval_method: "hosted_api", partial: false, attempts: [{ method: "hosted_api", status: "success" }] };
189
234
  }
190
235
  if (!query)
191
236
  return { ok: false, message: "검색어(query)가 필요합니다." };
@@ -202,15 +247,81 @@ export async function runCoupang(options) {
202
247
  tool = "compare_coupang_products";
203
248
  args["query"] = query;
204
249
  }
205
- const envelope = await callRetentionAssist(tool, args, timeoutMs);
206
- if (isFailure(envelope)) {
207
- return { ok: false, message: errorMessage(envelope, "Coupang search failed") };
250
+ const envelope = await callRetentionAssist(tool, args, apiTimeoutMs);
251
+ let parsed = validatedHostedProducts(envelope);
252
+ let retainedProducts = [];
253
+ if (Array.isArray(parsed)) {
254
+ if (expired())
255
+ return lateHosted();
256
+ // A broad one-word category can be implicit (e.g. water brand names).
257
+ // Multi-keyword searches need title evidence before candidates consume limit.
258
+ const relevant = parsed.filter((product) => coupangTitleQueryEvidence(product.title, query) !== false);
259
+ const products = relevant.filter(product => matchesCoupangFilter(product, action, maxPrice));
260
+ const warnings = [
261
+ ...(relevant.length < parsed.length ? ["검색어 전체가 상품명에서 확인되지 않은 API 후보를 제외했습니다."] : []),
262
+ ...(products.length < relevant.length ? ["요청한 배송/가격 조건이 확인되지 않은 API 후보를 제외했습니다."] : []),
263
+ ];
264
+ if (!warnings.length || products.length >= limit) {
265
+ return { source: "coupang", action, query, products: products.slice(0, limit), disclosure, note, retrieval_method: "hosted_api", partial: false, warnings, attempts: [{ method: "hosted_api", status: "success" }] };
266
+ }
267
+ retainedProducts = products.slice(0, limit);
268
+ parsed = { ok: false, code: products.length < relevant.length ? "filter_unverified" : "query_unverified", message: warnings.join(" ") };
269
+ }
270
+ const attempts = [{ method: "hosted_api", status: retainedProducts.length ? "partial" : "failed", code: parsed.code || "hosted_api_failed" }];
271
+ const failure = (message) => retainedProducts.length
272
+ ? { source: "coupang", action, query, products: retainedProducts, disclosure, note, retrieval_method: "hosted_api", partial: true, warnings: [message], attempts }
273
+ : { ...parsed, message, attempts };
274
+ if (parsed.status === 429 || parsed.retry_after || ["blocked_url", "invalid_url", "redirect_not_allowed"].includes(parsed.code || ""))
275
+ return failure(parsed.message);
276
+ if (!cdpUrl)
277
+ return failure(`${parsed.message}; approved browser recovery requires fetch.browserCdpUrl`);
278
+ if (!browserSupported)
279
+ return failure(`${parsed.message}; browser recovery for ${action} is not yet verified; no unfiltered search was substituted`);
280
+ const remaining = timeoutMs - (Date.now() - startedAt);
281
+ if (remaining <= 0)
282
+ return failure(`${parsed.message}; call budget exhausted before browser continuation`);
283
+ const searchUrl = `https://www.coupang.com/np/search?q=${encodeURIComponent(query)}`;
284
+ let snapshot;
285
+ try {
286
+ snapshot = await (runtime.runBrowserSession || runBrowserSession)({
287
+ url: searchUrl, cdpUrl, timeoutMs: remaining, allowPrivateHosts: configFlag("network.allowPrivateHosts"),
288
+ });
289
+ }
290
+ catch {
291
+ attempts.push({ method: "local_browser_cdp", status: "failed", code: "browser_exception" });
292
+ return failure(`${parsed.message}; browser continuation failed unexpectedly`);
293
+ }
294
+ if (!snapshot.ok) {
295
+ attempts.push({ method: "local_browser_cdp", status: "failed", code: snapshot.error.code });
296
+ return failure(`${parsed.message}; browser continuation failed: ${snapshot.error.message}`);
297
+ }
298
+ if (expired()) {
299
+ attempts.push({ method: "local_browser_cdp", status: "failed", code: "deadline_exhausted" });
300
+ return failure(`${parsed.message}; call budget exhausted before browser evidence was accepted`);
208
301
  }
209
- if (isRecord(envelope) && envelope["ok"] === true && !envelope["data"]) {
210
- return { ok: false, message: "Coupang hosted backend error: no data returned" };
302
+ let identityMatches = false;
303
+ try {
304
+ const finalUrl = new URL(snapshot.final_url);
305
+ identityMatches = finalUrl.protocol === "https:" && !finalUrl.username && !finalUrl.password && !finalUrl.port
306
+ && finalUrl.hostname === "www.coupang.com" && finalUrl.pathname === "/np/search"
307
+ && finalUrl.searchParams.getAll("q").length === 1 && finalUrl.searchParams.get("q") === query;
308
+ }
309
+ catch { /* Invalid browser identity cannot provide product evidence. */ }
310
+ const candidates = !identityMatches ? [] : action === "search" ? extractCoupangBrowserItems(snapshot, query).map((item) => ({
311
+ title: item.title, url: item.url, is_rocket: null,
312
+ ...(item.price ? { price: item.price } : {}),
313
+ })) : filteredCoupangBrowserProducts(snapshot, query, action, maxPrice);
314
+ if (expired()) {
315
+ attempts.push({ method: "local_browser_cdp", status: "failed", code: "deadline_exhausted" });
316
+ return failure(`${parsed.message}; call budget exhausted while checking browser evidence`);
317
+ }
318
+ const products = candidates.slice(0, limit);
319
+ if (!products.length) {
320
+ attempts.push({ method: "local_browser_cdp", status: "failed", code: "storefront_unverified" });
321
+ return failure(`${parsed.message}; browser storefront did not verify matching products for the exact query`);
211
322
  }
212
- const products = extractHostedProducts(envelope);
213
- return { source: "coupang", action, query, products, disclosure, note };
323
+ attempts.push({ method: "local_browser_cdp", status: "success" });
324
+ return { source: "coupang", action, query, products, disclosure: "공개 쿠팡 상품 링크입니다. API 제휴 링크로 대체하지 않았습니다.", note, retrieval_method: "local_browser_cdp", partial: false, warnings: [parsed.message, action === "search" ? "브라우저 카드에서 읽은 가격이며 배송 종류는 검증하지 않았습니다." : "현재 읽은 상품 카드에서 요청 조건을 검증한 후보입니다. 쿠폰·회원 조건 및 배송비는 예산 가격에 합산하지 않았으며 전체 재고 검색이 아닙니다."], attempts };
214
325
  }
215
326
  export function renderCoupang(result) {
216
327
  const lines = [
@@ -223,7 +334,8 @@ export function renderCoupang(result) {
223
334
  lines.push("");
224
335
  }
225
336
  const rocket = result.products.filter((p) => p.is_rocket);
226
- const normal = result.products.filter((p) => !p.is_rocket);
337
+ const normal = result.products.filter((p) => p.is_rocket === false);
338
+ const unknownDelivery = result.products.filter((p) => p.is_rocket === null);
227
339
  if (rocket.length > 0) {
228
340
  lines.push("## 로켓배송");
229
341
  for (const p of rocket.slice(0, 5)) {
@@ -242,6 +354,14 @@ export function renderCoupang(result) {
242
354
  }
243
355
  lines.push("");
244
356
  }
357
+ if (unknownDelivery.length > 0) {
358
+ lines.push("## 배송 미확인");
359
+ for (const p of unknownDelivery)
360
+ lines.push(`- **${p.title}**${p.price ? ` — ${p.price}` : ""}\n [보러가기](${p.url})`);
361
+ lines.push("");
362
+ }
363
+ for (const warning of result.warnings || [])
364
+ lines.push(`주의: ${warning}`);
245
365
  lines.push(`_${result.disclosure}_`);
246
366
  lines.push(`_${result.note}_`);
247
367
  return lines.join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"coupang.js","sourceRoot":"","sources":["../../src/korea/coupang.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coupang.js","sourceRoot":"","sources":["../../src/korea/coupang.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export type KrError = {
8
8
  status: number;
9
9
  message: string;
10
10
  code: string;
11
+ retry_after?: string;
11
12
  };
12
13
  export type KrResult<T> = {
13
14
  ok: true;
@@ -77,10 +77,14 @@ async function validatedFetchText(url, init, timeoutMs, options = {}) {
77
77
  redirect: "manual",
78
78
  });
79
79
  if (!isRedirectStatus(res.status)) {
80
- const text = await res.text();
81
80
  if (!res.ok) {
82
- return { ok: false, status: res.status, message: redactErrorMessage(text.slice(0, 500)), code: `http_${res.status}` };
81
+ // Keep status/backoff authoritative even if reading the error body
82
+ // is interrupted; do not reclassify a 429 as a transport retry.
83
+ const text = await res.text().catch(() => "");
84
+ const retryAfter = res.headers.get("retry-after");
85
+ return { ok: false, status: res.status, message: redactErrorMessage(text.slice(0, 500) || `HTTP ${res.status}`), code: `http_${res.status}`, ...(retryAfter ? { retry_after: retryAfter } : {}) };
83
86
  }
87
+ const text = await res.text();
84
88
  return { ok: true, data: text };
85
89
  }
86
90
  if (!followRedirects) {
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-client.js","sourceRoot":"","sources":["../../src/korea/proxy-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-client.js","sourceRoot":"","sources":["../../src/korea/proxy-client.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,7 @@ export type SmartverticalOutput = {
62
62
  budget?: SmartfetchBudgetMetadata;
63
63
  };
64
64
  export declare function projectSmartverticalOutput(output: SmartverticalOutput, preset?: SmartfetchBudgetPreset): SmartverticalOutput;
65
+ export declare function isSmartverticalExecutionFailure(output: SmartverticalOutput): boolean;
65
66
  export declare function runSmartvertical(input: SmartverticalInput): Promise<SmartverticalOutput>;
66
67
  export declare function renderSmartvertical(output: SmartverticalOutput): string;
67
68
  export {};