@clize/clize 0.32.0 → 0.33.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 (110) hide show
  1. package/README.md +19 -17
  2. package/dist/cli.js +484 -373
  3. package/dist/cli.js.map +1 -1
  4. package/dist/core/addresses.js +12 -11
  5. package/dist/core/addresses.js.map +1 -1
  6. package/dist/core/analytics.js +6 -5
  7. package/dist/core/analytics.js.map +1 -1
  8. package/dist/core/authz.js +6 -5
  9. package/dist/core/authz.js.map +1 -1
  10. package/dist/core/billing.js +83 -12
  11. package/dist/core/billing.js.map +1 -1
  12. package/dist/core/credentials.js +3 -1
  13. package/dist/core/credentials.js.map +1 -1
  14. package/dist/core/dns.js +3 -2
  15. package/dist/core/dns.js.map +1 -1
  16. package/dist/core/domain-health.js +74 -50
  17. package/dist/core/domain-health.js.map +1 -1
  18. package/dist/core/domains.js +74 -44
  19. package/dist/core/domains.js.map +1 -1
  20. package/dist/core/email-tx.js +8 -6
  21. package/dist/core/email-tx.js.map +1 -1
  22. package/dist/core/email.js +13 -12
  23. package/dist/core/email.js.map +1 -1
  24. package/dist/core/env-detect.js +7 -14
  25. package/dist/core/env-detect.js.map +1 -1
  26. package/dist/core/handle.js +33 -30
  27. package/dist/core/handle.js.map +1 -1
  28. package/dist/core/install.js +114 -56
  29. package/dist/core/install.js.map +1 -1
  30. package/dist/core/media.js +37 -36
  31. package/dist/core/media.js.map +1 -1
  32. package/dist/core/payments.js +5 -4
  33. package/dist/core/payments.js.map +1 -1
  34. package/dist/core/projects.js +38 -26
  35. package/dist/core/projects.js.map +1 -1
  36. package/dist/core/redirect.js +4 -3
  37. package/dist/core/redirect.js.map +1 -1
  38. package/dist/core/serve.js +2 -1
  39. package/dist/core/serve.js.map +1 -1
  40. package/dist/core/setup.js +11 -9
  41. package/dist/core/setup.js.map +1 -1
  42. package/dist/core/shop.js +17 -16
  43. package/dist/core/shop.js.map +1 -1
  44. package/dist/core/site.js +2 -1
  45. package/dist/core/site.js.map +1 -1
  46. package/dist/core/sites.js +41 -40
  47. package/dist/core/sites.js.map +1 -1
  48. package/dist/core/triage.js +39 -5
  49. package/dist/core/triage.js.map +1 -1
  50. package/dist/core/video.js +45 -43
  51. package/dist/core/video.js.map +1 -1
  52. package/dist/github.js +4 -3
  53. package/dist/github.js.map +1 -1
  54. package/dist/i18n/t.js +65 -0
  55. package/dist/i18n/t.js.map +1 -0
  56. package/dist/i18n/zh.js +1265 -0
  57. package/dist/i18n/zh.js.map +1 -0
  58. package/dist/index.js +61 -40
  59. package/dist/index.js.map +1 -1
  60. package/dist/lib/cloudflare.js +8 -7
  61. package/dist/lib/cloudflare.js.map +1 -1
  62. package/dist/lib/crypto.js +2 -1
  63. package/dist/lib/crypto.js.map +1 -1
  64. package/dist/lib/vercel.js +2 -1
  65. package/dist/lib/vercel.js.map +1 -1
  66. package/dist/lib/zone.js +2 -1
  67. package/dist/lib/zone.js.map +1 -1
  68. package/dist/mcp-profiles.js +5 -1
  69. package/dist/mcp-profiles.js.map +1 -1
  70. package/dist/providers/deploy/cloudflare.js +3 -2
  71. package/dist/providers/deploy/cloudflare.js.map +1 -1
  72. package/dist/providers/email/cloudflare-inbound.js +4 -3
  73. package/dist/providers/email/cloudflare-inbound.js.map +1 -1
  74. package/dist/providers/email/cloudflare-outbound.js +2 -1
  75. package/dist/providers/email/cloudflare-outbound.js.map +1 -1
  76. package/dist/providers/email/resend.js +3 -2
  77. package/dist/providers/email/resend.js.map +1 -1
  78. package/dist/providers/email/ses.js +3 -2
  79. package/dist/providers/email/ses.js.map +1 -1
  80. package/dist/providers/index.js +3 -2
  81. package/dist/providers/index.js.map +1 -1
  82. package/dist/providers/media/google.js +10 -9
  83. package/dist/providers/media/google.js.map +1 -1
  84. package/dist/providers/media/kie.js +12 -11
  85. package/dist/providers/media/kie.js.map +1 -1
  86. package/dist/providers/media/kunavo.js +10 -9
  87. package/dist/providers/media/kunavo.js.map +1 -1
  88. package/dist/providers/media/openai.js +5 -4
  89. package/dist/providers/media/openai.js.map +1 -1
  90. package/dist/providers/media/suno.js +7 -6
  91. package/dist/providers/media/suno.js.map +1 -1
  92. package/dist/providers/registrar/routing.js +2 -1
  93. package/dist/providers/registrar/routing.js.map +1 -1
  94. package/dist/providers/registrar/vercel.js +2 -1
  95. package/dist/providers/registrar/vercel.js.map +1 -1
  96. package/dist/providers/seo/dataforseo.js +5 -4
  97. package/dist/providers/seo/dataforseo.js.map +1 -1
  98. package/dist/providers/seo/gsc.js +5 -4
  99. package/dist/providers/seo/gsc.js.map +1 -1
  100. package/dist/remote.js +25 -22
  101. package/dist/remote.js.map +1 -1
  102. package/dist/selfcheck.js +23 -22
  103. package/dist/selfcheck.js.map +1 -1
  104. package/dist/state/file-store.js +17 -16
  105. package/dist/state/file-store.js.map +1 -1
  106. package/package.json +4 -3
  107. package/skills/clize/SKILL.md +171 -143
  108. package/skills/clize-seo/SKILL.md +2 -2
  109. package/skills/clize-site-build/SKILL.md +97 -41
  110. package/skills/clize-site-debug/SKILL.md +73 -45
@@ -7,6 +7,7 @@ import path from "node:path";
7
7
  import { resolveDeployProject } from "./projects.js";
8
8
  import { nameserversOnVercel } from "../lib/zone.js";
9
9
  import { isPlatformHost, probeDelegation, probeHealthy, } from "./domain-health.js";
10
+ import { t } from "../i18n/t.js";
10
11
  const SITE_WORKER = "clize-handle-site";
11
12
  const SITE_KV_TITLE = "clize-sites";
12
13
  const SITE_R2_BUCKET = "clize-site-assets"; // 大资产(≥128KB/媒体/>25MiB)存这;KV 只留热小文件
@@ -26,8 +27,8 @@ export function isR2Asset(relPath, size) {
26
27
  * 否则自动判定 —— 有 404.html → 多页站 → 返 404.html + 真 404 状态;没有 → 当 SPA → 回退 index.html(200)。 */
27
28
  /** 店面购物车运行时(同源 `/_clize/cart.js` 提供):localStorage 购物车 + data-clize-* 按钮委托 → `/_clize/checkout`。
28
29
  * agent 只需在页里放 `<button data-clize-add="sku">` / `data-clize-checkout` / `data-clize-count` 并引这支脚本。 */
29
- const SHOP_CART_JS = `(function(){var K="__clize_cart";function L(){try{return JSON.parse(localStorage.getItem(K))||[]}catch(e){return[]}}function S(c){localStorage.setItem(K,JSON.stringify(c));R()}function add(s,q){if(!s)return;var c=L(),f=c.find(function(i){return i.sku===s});if(f)f.quantity+=q||1;else c.push({sku:s,quantity:q||1});S(c)}function cnt(){return L().reduce(function(n,i){return n+i.quantity},0)}function R(){if(typeof document==="undefined")return;document.querySelectorAll("[data-clize-count]").forEach(function(el){el.textContent=String(cnt())})}async function co(){var items=L();if(!items.length){alert("购物车为空");return}try{var r=await fetch("/_clize/checkout",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({items:items})});var d=await r.json();if(d&&d.checkoutUrl){localStorage.removeItem(K);location.href=d.checkoutUrl}else alert((d&&d.error)||"结账失败")}catch(e){alert("结账失败")}}if(typeof document!=="undefined"){document.addEventListener("click",function(e){var t=e.target;if(!t||!t.closest)return;var a=t.closest("[data-clize-add]");if(a){e.preventDefault();add(a.getAttribute("data-clize-add"),parseInt(a.getAttribute("data-clize-qty")||"1",10))}var c=t.closest("[data-clize-checkout]");if(c){e.preventDefault();co()}});if(document.readyState!=="loading")R();else document.addEventListener("DOMContentLoaded",R)}window.clizeCart={add:add,checkout:co,count:cnt,clear:function(){localStorage.removeItem(K);R()}}})();`;
30
- export const SITE_WORKER_SRC = `
30
+ const SHOP_CART_JS = `(function(){var K="__clize_cart";function L(){try{return JSON.parse(localStorage.getItem(K))||[]}catch(e){return[]}}function S(c){localStorage.setItem(K,JSON.stringify(c));R()}function add(s,q){if(!s)return;var c=L(),f=c.find(function(i){return i.sku===s});if(f)f.quantity+=q||1;else c.push({sku:s,quantity:q||1});S(c)}function cnt(){return L().reduce(function(n,i){return n+i.quantity},0)}function R(){if(typeof document==="undefined")return;document.querySelectorAll("[data-clize-count]").forEach(function(el){el.textContent=String(cnt())})}async function co(){var items=L();if(!items.length){alert("Your cart is empty");return}try{var r=await fetch("/_clize/checkout",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({items:items})});var d=await r.json();if(d&&d.checkoutUrl){localStorage.removeItem(K);location.href=d.checkoutUrl}else alert((d&&d.error)||"Checkout failed")}catch(e){alert("Checkout failed")}}if(typeof document!=="undefined"){document.addEventListener("click",function(e){var t=e.target;if(!t||!t.closest)return;var a=t.closest("[data-clize-add]");if(a){e.preventDefault();add(a.getAttribute("data-clize-add"),parseInt(a.getAttribute("data-clize-qty")||"1",10))}var c=t.closest("[data-clize-checkout]");if(c){e.preventDefault();co()}});if(document.readyState!=="loading")R();else document.addEventListener("DOMContentLoaded",R)}window.clizeCart={add:add,checkout:co,count:cnt,clear:function(){localStorage.removeItem(K);R()}}})();`;
31
+ export const SITE_WORKER_SRC = /* i18n-ignore: embedded worker source, comments only */ `
31
32
  // CF Web Analytics(统一属性 sites.clize.ai;后台按 hostname 拆分各托管站)。token 是公开值,直接内联。
32
33
  var BEACON_TOKEN = "e8668558620746debcb72066f06f8ce2";
33
34
  function beaconTag(){ return "<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='" + JSON.stringify({ token: BEACON_TOKEN }) + "'></script>"; }
@@ -216,7 +217,7 @@ export async function ensureSiteInfra(ctx) {
216
217
  }));
217
218
  form.append("worker.js", new Blob([SITE_WORKER_SRC], { type: "application/javascript+module" }), "worker.js");
218
219
  await ctx.cf.request("PUT", `/accounts/${ctx.cf.accountId}/workers/scripts/${SITE_WORKER}`, form);
219
- return { worker: SITE_WORKER, kvNamespaceId: kvId, r2Bucket: SITE_R2_BUCKET, message: "站点基建就绪(共享 worker + KV + R2)" };
220
+ return { worker: SITE_WORKER, kvNamespaceId: kvId, r2Bucket: SITE_R2_BUCKET, message: t("Site infrastructure ready (shared worker + KV + R2)") };
220
221
  }
221
222
  /** 按目录核购物车:只认目录里的 sku + 目录价(客户端传的价一律忽略),返回可信 line items。
222
223
  * 抛错 = 该单不该成(未知 sku / 价非正);纯函数,便于测。 */
@@ -225,9 +226,9 @@ export function priceCart(catalog, items) {
225
226
  return items.map((it) => {
226
227
  const p = it.sku ? bySku.get(it.sku) : undefined;
227
228
  if (!p)
228
- throw new Error(`无此商品:${it.sku ?? "()"}`);
229
+ throw new Error(t `No such product: ${it.sku ?? t("(empty)")}`);
229
230
  if (!(Number(p.price) > 0))
230
- throw new Error(`商品 ${p.sku} 价格无效`);
231
+ throw new Error(t `Product ${p.sku} has an invalid price`);
231
232
  return {
232
233
  name: p.name,
233
234
  amountUsd: Number(p.price),
@@ -243,20 +244,20 @@ export function validateCatalogText(text) {
243
244
  c = JSON.parse(text);
244
245
  }
245
246
  catch {
246
- throw new Error("_catalog.json 不是合法 JSON");
247
+ throw new Error(t("_catalog.json is not valid JSON"));
247
248
  }
248
249
  if (!c || !Array.isArray(c.products) || !c.products.length)
249
- throw new Error("_catalog.json 需要非空 products 数组");
250
+ throw new Error(t("_catalog.json needs a non-empty products array"));
250
251
  const seen = new Set();
251
252
  for (const p of c.products) {
252
253
  if (!p?.sku || typeof p.sku !== "string")
253
- throw new Error("每个商品需要 string sku");
254
+ throw new Error(t("Every product needs a string sku"));
254
255
  if (!p.name || typeof p.name !== "string")
255
- throw new Error(`商品 ${p.sku} name`);
256
+ throw new Error(t `Product ${p.sku} is missing name`);
256
257
  if (!(Number(p.price) > 0))
257
- throw new Error(`商品 ${p.sku} price 必须为正数`);
258
+ throw new Error(t `Product ${p.sku} needs a positive price`);
258
259
  if (seen.has(p.sku))
259
- throw new Error(`_catalog.json 有重复 sku:${p.sku}`);
260
+ throw new Error(t `_catalog.json has duplicate sku: ${p.sku}`);
260
261
  seen.add(p.sku);
261
262
  }
262
263
  }
@@ -279,7 +280,7 @@ export async function readCatalog(ctx, host) {
279
280
  parsed = JSON.parse(raw);
280
281
  }
281
282
  catch {
282
- throw new Error(`${host} _catalog.json 不是合法 JSON`);
283
+ throw new Error(t `The _catalog.json of ${host} is not valid JSON`);
283
284
  }
284
285
  return parsed && Array.isArray(parsed.products) ? parsed : null;
285
286
  }
@@ -393,12 +394,12 @@ export async function ensureZoneActiveForHandle(ctx, host) {
393
394
  if (zone.status === "active")
394
395
  return zone.id;
395
396
  }
396
- const nsHint = cfNs.length ? cfNs.join(", ") : " CF dashboard";
397
+ const nsHint = cfNs.length ? cfNs.join(", ") : t("see the CF dashboard");
397
398
  throw new Error(isVercel
398
- ? `已把 ${apex} NS 切到 Cloudflare(${nsHint}),但 zone pending —— ` +
399
- `注册局/DNS 传播需几分钟,稍后重跑 deploy 即可上线(站点内容已在 KV,不会丢)。`
400
- : `${apex} CF zone ${zone.status}:NS 没指向 Cloudflare。` +
401
- `请到注册商把 NS 改成 ${nsHint},生效后重跑 deploy。`);
399
+ ? t `Switched the NS of ${apex} to Cloudflare (${nsHint}), but the zone is still pending ` +
400
+ t("registry / DNS propagation takes a few minutes; rerun deploy later to go live (the site content is already in KV and will not be lost).")
401
+ : t `The CF zone of ${apex} is ${zone.status}: the NS does not point at Cloudflare.` +
402
+ t `Change the NS at the registrar to ${nsHint}, then rerun deploy once it takes effect.`);
402
403
  }
403
404
  /** 绑定 host → 共享站点 worker。已绑定=幂等忽略;其他错误抛出,不再静默吞掉(避免"假成功")。 */
404
405
  async function bindHandleDomain(ctx, host, zoneId) {
@@ -414,7 +415,7 @@ async function bindHandleDomain(ctx, host, zoneId) {
414
415
  const msg = e instanceof Error ? e.message : String(e);
415
416
  if (/already|exist|duplicate|conflict/i.test(msg))
416
417
  return; // 已绑定 = 幂等成功
417
- throw new Error(`绑定 ${host} 到站点 worker 失败:${msg}`);
418
+ throw new Error(t `Binding ${host} to the site worker failed: ${msg}`);
418
419
  }
419
420
  }
420
421
  /** 把一个域绑定到共享站点 worker(确保基建在)。claim 后让 handle 显示占位页 —— 此阶段绑不上不致命。 */
@@ -461,13 +462,13 @@ function walk(dir) {
461
462
  /** 读目录 → DeployFile[](fs 侧;CLI / MCP 用,worker 不调)。 */
462
463
  export function readDirFiles(dir) {
463
464
  if (!fs.existsSync(dir) || !fs.statSync(dir).isDirectory())
464
- throw new Error(`${dir} 不是目录(folder-deploy 需要一个目录)`);
465
+ throw new Error(t `${dir} is not a directory (folder deploy needs a directory)`);
465
466
  const files = walk(dir);
466
467
  if (!files.length) {
467
468
  // 目录本身非空但内容全被 hygiene 规则排除时,别笼统报「空目录」,点明是自动排除。
468
469
  if (fs.readdirSync(dir).length)
469
- throw new Error(`${dir} 里没有可部署文件(clize.json / .env* / .git / node_modules / .DS_Store 等已自动排除)`);
470
- throw new Error(`${dir} 是空目录`);
470
+ throw new Error(t `No deployable files in ${dir} (clize.json / .env* / .git / node_modules / .DS_Store etc. are excluded automatically)`);
471
+ throw new Error(t `${dir} is an empty directory`);
471
472
  }
472
473
  return files.map((f) => ({
473
474
  path: "/" + path.relative(dir, f).split(path.sep).join("/"),
@@ -479,12 +480,12 @@ export function readDirFiles(dir) {
479
480
  * 客户端据此算 hash 送 plan;分层决策(哪走 KV 哪走 R2)由服务端做,客户端只照单执行。 */
480
481
  export function readDirManifest(dir) {
481
482
  if (!fs.existsSync(dir) || !fs.statSync(dir).isDirectory())
482
- throw new Error(`${dir} 不是目录(folder-deploy 需要一个目录)`);
483
+ throw new Error(t `${dir} is not a directory (folder deploy needs a directory)`);
483
484
  const files = walk(dir);
484
485
  if (!files.length) {
485
486
  if (fs.readdirSync(dir).length)
486
- throw new Error(`${dir} 里没有可部署文件(clize.json / .env* / .git / node_modules / .DS_Store 等已自动排除)`);
487
- throw new Error(`${dir} 是空目录`);
487
+ throw new Error(t `No deployable files in ${dir} (clize.json / .env* / .git / node_modules / .DS_Store etc. are excluded automatically)`);
488
+ throw new Error(t `${dir} is an empty directory`);
488
489
  }
489
490
  return files.map((f) => ({
490
491
  path: "/" + path.relative(dir, f).split(path.sep).join("/"),
@@ -496,20 +497,20 @@ export function readDirManifest(dir) {
496
497
  /** deploy 输出里对「未知路径如何处理」的人话说明(P1 #4:让做 SEO 的人能预期 404 行为)。 */
497
498
  function notFoundNote(mode, has404) {
498
499
  if (mode === "spa")
499
- return ";未知路径回退首页(SPA)";
500
+ return t("; unknown paths fall back to the home page (SPA)");
500
501
  if (mode === "404-page")
501
- return has404 ? ";未知路径返回 404.html( 404)" : ";未知路径返回极简 404(本次未含 404.html)";
502
+ return has404 ? t("; unknown paths return 404.html (real 404)") : t("; unknown paths return a minimal 404 (no 404.html in this deploy)");
502
503
  if (mode === "none")
503
- return ";未知路径返回极简 404";
504
+ return t("; unknown paths return a minimal 404");
504
505
  return has404
505
- ? ";检测到 404.html → 未知路径返回真 404(SEO 友好)"
506
- : ";未知路径回退首页( 404.html;要真 404 就放一个 404.html,或加 --not-found 404-page)";
506
+ ? t("; 404.html detected unknown paths return a real 404 (SEO-friendly)")
507
+ : t("; unknown paths fall back to the home page (no 404.html; for a real 404 add a 404.html, or pass --not-found 404-page)");
507
508
  }
508
509
  /** 核心:把已读好的文件写进 KV(`host/relpath`)+ 绑定该域到共享 worker。无 fs,本地与云上共用。 */
509
510
  export async function deployFilesToHandle(ctx, handle, files, opts = {}) {
510
511
  const host = handle.toLowerCase();
511
512
  if (!files.length)
512
- throw new Error("没有文件可部署");
513
+ throw new Error(t("No files to deploy"));
513
514
  // 店面目录:deploy 前校验 _catalog.json,坏目录别上线(否则要到 checkout 才 422)。
514
515
  const catFile = files.find((f) => f.path.replace(/^\//, "").toLowerCase() === "_catalog.json");
515
516
  if (catFile) {
@@ -518,7 +519,7 @@ export async function deployFilesToHandle(ctx, handle, files, opts = {}) {
518
519
  text = new TextDecoder().decode(Uint8Array.from(atob(catFile.base64), (ch) => ch.charCodeAt(0)));
519
520
  }
520
521
  catch {
521
- throw new Error("_catalog.json 解码失败");
522
+ throw new Error(t("Failed to decode _catalog.json"));
522
523
  }
523
524
  validateCatalogText(text);
524
525
  }
@@ -605,15 +606,15 @@ export async function deployFilesToHandle(ctx, handle, files, opts = {}) {
605
606
  reachability = await probeDelegation(host);
606
607
  if (reachability.delegation !== "error" && !probeHealthy(reachability)) {
607
608
  const why = reachability.delegation === "elsewhere"
608
- ? `注册局 NS 委派指向 ${reachability.nameservers.join(", ")}( Cloudflare)`
609
+ ? t `registry NS delegation points at ${reachability.nameservers.join(", ")} (not Cloudflare)`
609
610
  : reachability.nxdomain
610
- ? "注册局对该域返回 NXDOMAIN(无委派记录)"
611
+ ? t("the registry returns NXDOMAIN for the domain (no delegation record)")
611
612
  : reachability.delegation === "cloudflare"
612
- ? `NS 委派正常但 ${host} 解析不出记录`
613
- : "权威侧查不到 NS 委派";
613
+ ? t `NS delegation is fine but ${host} resolves no records`
614
+ : t("no NS delegation found at the authoritative side");
614
615
  warning =
615
- `⚠️ 文件已部署,但 ${host} 当前从公网无法访问:${why}。` +
616
- `内容已在 KV 不会丢;若域名是刚接入(NS 传播中)可稍等重测,否则立即 \`clize domain check ${host}\` 分层排查。`;
616
+ t `⚠️ Files deployed, but ${host} is currently unreachable from the public internet: ${why}.` +
617
+ t `The content is in KV and will not be lost; if the domain was just added (NS propagating) wait and recheck, otherwise run \`clize domain check ${host}\` now for a layered diagnosis.`;
617
618
  }
618
619
  }
619
620
  const has404 = files.some((f) => f.path.toLowerCase() === "/404.html");
@@ -624,13 +625,13 @@ export async function deployFilesToHandle(ctx, handle, files, opts = {}) {
624
625
  // 真实所属项目 + 是否按域重路由 —— CLI 据 project 回写 clize.json(消除本地↔远端漂移)。
625
626
  ...(routed.project ? { project: routed.project } : {}),
626
627
  ...(routed.rerouted
627
- ? { rerouted: `已按域名所属项目 "${routed.project}" 部署(忽略陈旧检出 "${routed.checkout}")` }
628
+ ? { rerouted: t `Deployed to the domain's real project "${routed.project}" (stale checkout "${routed.checkout}" ignored)` }
628
629
  : {}),
629
- notFound: mode || (has404 ? "404-page(自动)" : "spa(自动)"),
630
+ notFound: mode || (has404 ? t("404-page (auto)") : t("spa (auto)")),
630
631
  // 公网可达性探测结论(权威 DoH 视角;delegation=cloudflare 且 resolves=true 为健康)。
631
632
  ...(reachability ? { reachability } : {}),
632
633
  ...(warning ? { warning } : {}),
633
- message: `已上线 https://${host}(${files.length} 个文件;TLS 自动)${notFoundNote(mode, has404)}${warning ? " ⚠️ 但公网可达性异常,见 warning" : ""}`,
634
+ message: t `Live at https://${host} (${files.length} files; TLS automatic)${notFoundNote(mode, has404)}${warning ? t(" ⚠️ but public reachability is broken, see warning") : ""}`,
634
635
  };
635
636
  }
636
637
  /** 把一个目录部署到 clize.app handle(本地:读 fs + 直接 CF)。 */
@@ -1 +1 @@
1
- {"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/core/sites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/core/sites.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,10 @@ export function extractSignals(headers) {
30
30
  const FREE_MAIL = /@(gmail|googlemail|outlook|hotmail|live|yahoo|ymail|aol|icloud|proton|protonmail|zoho|gmx|mail)\.(com|me|net|org|co\.uk)$/i;
31
31
  const OTP_SUBJECT = /\b(verif(y|ication)|confirm(ation)?|one[- ]time|otp|passcode|security code|login code|sign[- ]in code|magic link|activate)\b|验证码|校验码|验证你的|确认你的/i;
32
32
  const OTP_CODE = /\b\d{4,8}\b/;
33
- // 冷推广 / 外包骚扰(线上 30 天入站样本的真实模式):围着「你的网站」打转,发件人多为免费邮箱或代理域。
33
+ // R1:没人能回复的发件人(no-reply / 通知 / 退信机器人)永远不算「在等你回」。验证码判定在它之前,
34
+ // 所以 noreply 发来的验证码仍是 otp。用户 mark ham 更在前,人工裁定照旧压过一切。
35
+ const NOREPLY_SENDER = /^(no-?reply|noreply|do-?not-?reply|donotreply|notifications?|alerts?|mailer-daemon|postmaster|bounces?)([+.\-_][^@]*)?@/i;
36
+ // 冷推广 / 外包骚扰(线上入站样本的真实模式):围着「你的网站」打转,发件人多为免费邮箱或代理域。
34
37
  const COLD_OUTREACH = [
35
38
  /\b(regarding|about|concerning( to)?)\s+(your\s+)?[\w.-]+\.(com|app|io|ai|net|org)\b/i,
36
39
  /\b(fixing|improve|improving|redesign|re-design|design|revamp)\b.*\b(website|site|web)\b/i,
@@ -41,13 +44,34 @@ const COLD_OUTREACH = [
41
44
  /\bapp requirements?\b/i,
42
45
  /\bquick (note|question|proposal)\b/i,
43
46
  /\b(are you ready|do you want to|would you like to)\b.*\?/i,
47
+ // R3(2026-09 样本):搜索引擎收录推销、「提升你的 X」模板、投稿 / 外链交换、自封的客户经理、网站改版概念稿、DR 冷邮
48
+ /\b(search engines?|google'?s? (search )?index|showing up (in|on) google|get (found|listed|indexed) (on|in) google|(1st|first) page of google)\b/i,
49
+ /\b(unlock|streamline|elevate|boost|grow|scale|transform|supercharge) your (potential|processes|business|operations|brand|revenue|sales|traffic|online presence|growth)\b/i,
50
+ /\b(article ideas|guest post|sponsored (post|article|content)|link (exchange|insertion|building)|write for (you|your)|content collaboration|paid (post|placement))\b/i,
51
+ /\b(i'?ll be your|i will be your|your (new |dedicated )?(account manager|agent|point of contact|success manager))\b/i,
52
+ /\b(fresh look|new look|makeover|mock-?up|concept)\b.*\b(website|site|homepage)\b|\b(website|site|homepage)\b.*\b(fresh look|new look|makeover|mock-?up|concept)\b/i,
53
+ /\bDR for\b|\bdomain (rating|authority)\b|\bcold email\b/i,
44
54
  ];
45
- const PROMO_WORDS = /\b(\d+% off|sale|discount|deal|offer ends|last (day|chance)|limited time|webinar|save (up to|\$)|free trial|buy now|coupon|black friday|cyber monday)\b/i;
55
+ // R2:主题里出现收件方自己的域名 + 模板动词(推销员把域名当变量塞进主题;真客户说「你们的产品」)
56
+ // 只看主题、要求动词,避免误杀「Question about acme.com pricing」这类真客户来信。
57
+ const OWN_DOMAIN_VERBS = /\b(submit(ting)?|register(ing)?|index(ing)?|rank(ing)?|showing up|get found|fresh look|new look|makeover|redesign|mock-?up|concept|audit|proposal|quote for|services? for|not (showing|ranking|appearing))\b/i;
58
+ const PROMO_WORDS = /\b(\d+\s*% off|sale|discount|deal|offer ends|last (day|chance)|limited time|webinar|save (up to|\$)|free trial|buy now|coupon|black friday|cyber monday|early[- ]bird|register (now|today)|see you (in|at)|join us (in|at)|meet (us|the team) (in|at)|off your next order)\b|\$\s?\d+\s*off\b/i;
46
59
  const SCAM_WORDS = /\b(recover your (lost )?funds|lottery|inheritance|wire transfer|bitcoin wallet|database for sale|million leads|urgent response|dear (beneficiary|winner))\b/i;
47
60
  const NOTICE_SENDER = /^(no-?reply|noreply|notification[s]?|alerts?|billing|receipts?|invoice[s]?|support|security|account[s]?|team|hello|info)@/i;
48
- const NOTICE_SUBJECT = /\b(receipt|invoice|payment (received|failed)|your (order|account|subscription|password|statement)|order (confirmation|shipped)|welcome to|has been (updated|changed|shipped|delivered)|security alert|new sign[- ]in|action required)\b/i;
61
+ const NOTICE_SUBJECT = /\b(receipt|invoice|payment (received|failed)|your (order|account|subscription|password|statement)|order (confirmation|shipped)|welcome to|has been (updated|changed|shipped|delivered)|security alert|new sign[- ]in|action required|expir(e|es|ed|ing|ation)|renew(al|s|ed)?|auto-?renew|domain (transfer|lock|expiration)|invoice (due|overdue)|payment reminder)\b/i;
49
62
  const FAKE_REPLY = /^\s*re:\s*/i;
50
- /** 分类。顺序 = 优先级:人工裁定 > self > 已知联系人 > 验证码 > 垃圾 > 推广 / 冷推广 > 通知 > 真人(兜底) */
63
+ function escapeRegExp(s) {
64
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
65
+ }
66
+ /** R2:主题含收件方自家域名(整词)且含模板动词。 */
67
+ function ownDomainTemplate(subject, mailbox) {
68
+ const dom = (mailbox.split("@")[1] || "").toLowerCase();
69
+ if (!dom || !subject)
70
+ return false;
71
+ const mention = new RegExp(`(^|[^a-z0-9-])${escapeRegExp(dom)}(?![a-z0-9-])`, "i");
72
+ return mention.test(subject) && OWN_DOMAIN_VERBS.test(subject);
73
+ }
74
+ /** 分类。顺序 = 优先级:人工裁定 > self > 已知联系人 > 验证码 > noreply(永不在等)> 垃圾 > 推广 / 冷推广 > 通知 > 真人(兜底)。 */
51
75
  export function classify(input) {
52
76
  const from = (input.from || "").toLowerCase();
53
77
  const fromAddr = (from.match(/<([^>]+)>/)?.[1] || from).trim();
@@ -68,9 +92,19 @@ export function classify(input) {
68
92
  // 验证码 / 登录链接:主题含验证类词 + 正文有 4–8 位数字或"verify"链接语义
69
93
  if (OTP_SUBJECT.test(subject) && (OTP_CODE.test(text) || /verif|confirm|activate|magic link/i.test(subject)))
70
94
  return { class: "otp", by: "rule", reason: "otp:subject+code" };
95
+ const cold = COLD_OUTREACH.some((re) => re.test(subject)) ||
96
+ COLD_OUTREACH.some((re) => re.test(input.snippet || "")) ||
97
+ ownDomainTemplate(subject, input.mailbox);
98
+ // R1:noreply / 通知机器人 —— 没人在那头等回复。通知主题归 notice,促销 / 冷推广归 promo,其余 notice。
99
+ if (NOREPLY_SENDER.test(fromAddr)) {
100
+ if (NOTICE_SUBJECT.test(subject))
101
+ return { class: "notice", by: "rule", reason: "notice:noreply+system" };
102
+ if (cold || PROMO_WORDS.test(subject))
103
+ return { class: "promo", by: "rule", reason: "promo:noreply" };
104
+ return { class: "notice", by: "rule", reason: "notice:noreply" };
105
+ }
71
106
  if (SCAM_WORDS.test(text) || (authFail && FREE_MAIL.test(fromAddr) && FAKE_REPLY.test(subject)))
72
107
  return { class: "spam", by: "rule", reason: authFail ? "spam:auth-fail+pattern" : "spam:scam-words" };
73
- const cold = COLD_OUTREACH.some((re) => re.test(subject)) || COLD_OUTREACH.some((re) => re.test(input.snippet || ""));
74
108
  const fakeReply = FAKE_REPLY.test(subject) && !sig.inReplyTo && !sig.references;
75
109
  if (cold)
76
110
  return { class: "promo", by: "rule", reason: "promo:cold-outreach" };
@@ -1 +1 @@
1
- {"version":3,"file":"triage.js","sourceRoot":"","sources":["../../src/core/triage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triage.js","sourceRoot":"","sources":["../../src/core/triage.ts"],"names":[],"mappings":"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"}