@clize/clize 0.31.1 → 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.
- package/README.md +19 -17
- package/dist/cli.js +487 -375
- package/dist/cli.js.map +1 -1
- package/dist/core/addresses.js +12 -11
- package/dist/core/addresses.js.map +1 -1
- package/dist/core/analytics.js +6 -5
- package/dist/core/analytics.js.map +1 -1
- package/dist/core/authz.js +6 -5
- package/dist/core/authz.js.map +1 -1
- package/dist/core/billing.js +83 -12
- package/dist/core/billing.js.map +1 -1
- package/dist/core/credentials.js +3 -1
- package/dist/core/credentials.js.map +1 -1
- package/dist/core/dns.js +3 -2
- package/dist/core/dns.js.map +1 -1
- package/dist/core/domain-health.js +74 -50
- package/dist/core/domain-health.js.map +1 -1
- package/dist/core/domains.js +102 -45
- package/dist/core/domains.js.map +1 -1
- package/dist/core/email-tx.js +8 -6
- package/dist/core/email-tx.js.map +1 -1
- package/dist/core/email.js +13 -12
- package/dist/core/email.js.map +1 -1
- package/dist/core/env-detect.js +7 -14
- package/dist/core/env-detect.js.map +1 -1
- package/dist/core/handle.js +33 -30
- package/dist/core/handle.js.map +1 -1
- package/dist/core/install.js +114 -56
- package/dist/core/install.js.map +1 -1
- package/dist/core/media.js +37 -36
- package/dist/core/media.js.map +1 -1
- package/dist/core/payments.js +5 -4
- package/dist/core/payments.js.map +1 -1
- package/dist/core/projects.js +38 -26
- package/dist/core/projects.js.map +1 -1
- package/dist/core/redirect.js +4 -3
- package/dist/core/redirect.js.map +1 -1
- package/dist/core/seo-classify.js +23 -8
- package/dist/core/seo-classify.js.map +1 -1
- package/dist/core/seo.js +6 -0
- package/dist/core/seo.js.map +1 -1
- package/dist/core/serve.js +2 -1
- package/dist/core/serve.js.map +1 -1
- package/dist/core/setup.js +11 -9
- package/dist/core/setup.js.map +1 -1
- package/dist/core/shop.js +17 -16
- package/dist/core/shop.js.map +1 -1
- package/dist/core/site.js +2 -1
- package/dist/core/site.js.map +1 -1
- package/dist/core/sites.js +53 -40
- package/dist/core/sites.js.map +1 -1
- package/dist/core/triage.js +39 -5
- package/dist/core/triage.js.map +1 -1
- package/dist/core/video.js +45 -43
- package/dist/core/video.js.map +1 -1
- package/dist/github.js +4 -3
- package/dist/github.js.map +1 -1
- package/dist/i18n/t.js +65 -0
- package/dist/i18n/t.js.map +1 -0
- package/dist/i18n/zh.js +1265 -0
- package/dist/i18n/zh.js.map +1 -0
- package/dist/index.js +61 -40
- package/dist/index.js.map +1 -1
- package/dist/lib/cloudflare.js +8 -7
- package/dist/lib/cloudflare.js.map +1 -1
- package/dist/lib/crypto.js +2 -1
- package/dist/lib/crypto.js.map +1 -1
- package/dist/lib/vercel.js +2 -1
- package/dist/lib/vercel.js.map +1 -1
- package/dist/lib/zone.js +2 -1
- package/dist/lib/zone.js.map +1 -1
- package/dist/mcp-profiles.js +5 -1
- package/dist/mcp-profiles.js.map +1 -1
- package/dist/providers/deploy/cloudflare.js +3 -2
- package/dist/providers/deploy/cloudflare.js.map +1 -1
- package/dist/providers/email/cloudflare-inbound.js +4 -3
- package/dist/providers/email/cloudflare-inbound.js.map +1 -1
- package/dist/providers/email/cloudflare-outbound.js +2 -1
- package/dist/providers/email/cloudflare-outbound.js.map +1 -1
- package/dist/providers/email/resend.js +3 -2
- package/dist/providers/email/resend.js.map +1 -1
- package/dist/providers/email/ses.js +3 -2
- package/dist/providers/email/ses.js.map +1 -1
- package/dist/providers/index.js +3 -2
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/media/google.js +10 -9
- package/dist/providers/media/google.js.map +1 -1
- package/dist/providers/media/kie.js +12 -11
- package/dist/providers/media/kie.js.map +1 -1
- package/dist/providers/media/kunavo.js +10 -9
- package/dist/providers/media/kunavo.js.map +1 -1
- package/dist/providers/media/openai.js +5 -4
- package/dist/providers/media/openai.js.map +1 -1
- package/dist/providers/media/suno.js +7 -6
- package/dist/providers/media/suno.js.map +1 -1
- package/dist/providers/registrar/routing.js +2 -1
- package/dist/providers/registrar/routing.js.map +1 -1
- package/dist/providers/registrar/vercel.js +2 -1
- package/dist/providers/registrar/vercel.js.map +1 -1
- package/dist/providers/seo/dataforseo.js +5 -4
- package/dist/providers/seo/dataforseo.js.map +1 -1
- package/dist/providers/seo/gsc.js +5 -4
- package/dist/providers/seo/gsc.js.map +1 -1
- package/dist/remote.js +25 -22
- package/dist/remote.js.map +1 -1
- package/dist/selfcheck.js +23 -22
- package/dist/selfcheck.js.map +1 -1
- package/dist/state/file-store.js +17 -16
- package/dist/state/file-store.js.map +1 -1
- package/package.json +4 -3
- package/skills/clize/SKILL.md +171 -143
- package/skills/clize-seo/SKILL.md +52 -3
- package/skills/clize-site-build/SKILL.md +97 -41
- package/skills/clize-site-debug/SKILL.md +73 -45
package/dist/core/email.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { resolveZone } from "../lib/zone.js";
|
|
2
2
|
import { assertDomainInProject } from "./projects.js";
|
|
3
3
|
/** 免费 handle 根域(与 handle.ts 一致)。 */
|
|
4
|
+
import { t } from "../i18n/t.js";
|
|
4
5
|
const HANDLE_ROOT = process.env.CLIZE_HANDLE_ROOT || "clize.app";
|
|
5
6
|
/** 发件地址 → 它代表的「自然域」(resolveHostedSender 的逆运算,串台护栏按它查归属):
|
|
6
7
|
* `<slug>@mail.<HANDLE_ROOT>` → `<slug>.<HANDLE_ROOT>`;`x@mail.<domain>` → `<domain>`;其余 → @ 后原样。 */
|
|
@@ -60,16 +61,16 @@ export async function setupEmail(ctx, domain) {
|
|
|
60
61
|
});
|
|
61
62
|
return {
|
|
62
63
|
domain,
|
|
63
|
-
inbound: "Cloudflare Email Routing
|
|
64
|
+
inbound: t("Cloudflare Email Routing enabled (MX/SPF written)"),
|
|
64
65
|
outbound: sending,
|
|
65
|
-
note: "
|
|
66
|
+
note: t("Sending records were written to DNS and await verification; run again later to trigger it."),
|
|
66
67
|
};
|
|
67
68
|
}
|
|
68
69
|
/** 防重发窗口(分钟):窗口内同收件人 + 同主题视为疑似重试。 */
|
|
69
70
|
const DUP_SEND_WINDOW_MIN = 10;
|
|
70
71
|
export async function sendEmail(ctx, msg, opts) {
|
|
71
72
|
if (!msg.text && !msg.html)
|
|
72
|
-
throw new Error("text
|
|
73
|
+
throw new Error(t("Provide at least one of text or html"));
|
|
73
74
|
// 串台护栏:检出项目时,发件身份必须属于当前项目(防 agent 在 A 项目目录用 B 项目身份给客户发信)。
|
|
74
75
|
const natural = senderNaturalDomain(msg.from || "");
|
|
75
76
|
if (natural)
|
|
@@ -81,9 +82,9 @@ export async function sendEmail(ctx, msg, opts) {
|
|
|
81
82
|
const cutoff = Date.now() - DUP_SEND_WINDOW_MIN * 60_000;
|
|
82
83
|
const dup = (await ctx.store.listSent(ctx.tenantId)).find((s) => s.to === toStr && s.subject === msg.subject && Date.parse(s.ts) > cutoff);
|
|
83
84
|
if (dup)
|
|
84
|
-
throw new Error(
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
throw new Error(t `Possible duplicate: a mail with the same subject was sent to ${toStr} within the last ${DUP_SEND_WINDOW_MIN} minutes (${dup.ts}).` +
|
|
86
|
+
t("If the previous send reported an error it was most likely delivered anyway (verify with clize email thread); do not resend blindly;") +
|
|
87
|
+
t("to really send another one, add --allow-duplicate."));
|
|
87
88
|
}
|
|
88
89
|
if (ctx.tenant.dryRun) {
|
|
89
90
|
await ctx.store.appendAudit(ctx.tenantId, {
|
|
@@ -96,7 +97,7 @@ export async function sendEmail(ctx, msg, opts) {
|
|
|
96
97
|
},
|
|
97
98
|
dryRun: true,
|
|
98
99
|
});
|
|
99
|
-
return { dryRun: true, message: "
|
|
100
|
+
return { dryRun: true, message: t("Rehearsal mode: nothing was sent. Set DRY_RUN=false to execute.") };
|
|
100
101
|
}
|
|
101
102
|
const res = await ctx.providers.emailOutbound().send(msg);
|
|
102
103
|
await ctx.store.appendSent(ctx.tenantId, {
|
|
@@ -154,7 +155,7 @@ export function getMessage(ctx, domain, id) {
|
|
|
154
155
|
export async function routeEmail(ctx, from, to) {
|
|
155
156
|
const domain = from.split("@")[1];
|
|
156
157
|
if (!domain)
|
|
157
|
-
throw new Error(
|
|
158
|
+
throw new Error(t `Invalid address: ${from} (expected something like support@hello.clize.app)`);
|
|
158
159
|
const zoneId = await resolveZone(ctx, domain);
|
|
159
160
|
const result = await ctx.providers.emailInbound.addRoute({ zoneId, from, to });
|
|
160
161
|
await ctx.store.appendAudit(ctx.tenantId, {
|
|
@@ -196,7 +197,7 @@ export async function emailThread(ctx, domain, contact) {
|
|
|
196
197
|
return all;
|
|
197
198
|
return {
|
|
198
199
|
thread: all.slice(-THREAD_CAP), // 对话续上要的是最近的
|
|
199
|
-
truncated:
|
|
200
|
+
truncated: t `Only the latest ${THREAD_CAP}/${all.length}; read older ones by id with clize email show ${domain} <id>`,
|
|
200
201
|
};
|
|
201
202
|
}
|
|
202
203
|
/** 配置某地址的入站 webhook(来信 POST 到 url)。重部署含 webhook 逻辑的 worker + 写 KV 配置。 */
|
|
@@ -204,13 +205,13 @@ export async function setEmailWebhook(ctx, address, url) {
|
|
|
204
205
|
await setupInbox(ctx, address); // 确保(重)部署含 webhook 逻辑的 worker + 路由
|
|
205
206
|
await ctx.providers.emailInbound.setWebhook(address, url);
|
|
206
207
|
await ctx.store.appendAudit(ctx.tenantId, { action: "email_webhook", detail: { address, url } });
|
|
207
|
-
return { address, webhook: url, message:
|
|
208
|
+
return { address, webhook: url, message: t `Mail to ${address} will POST its envelope to ${url}` };
|
|
208
209
|
}
|
|
209
210
|
/** 开启 agent 自持收信:把发往 address 的邮件捕获到 agent 收件箱(Email Worker + KV),可选同时转发。 */
|
|
210
211
|
export async function setupInbox(ctx, address, forwardTo) {
|
|
211
212
|
const domain = address.split("@")[1];
|
|
212
213
|
if (!domain)
|
|
213
|
-
throw new Error(
|
|
214
|
+
throw new Error(t `Invalid address: ${address} (expected something like support@hello.clize.app)`);
|
|
214
215
|
const zoneId = await resolveZone(ctx, domain);
|
|
215
216
|
const result = await ctx.providers.emailInbound.setupInbox({ address, zoneId, forwardTo });
|
|
216
217
|
await ctx.store.appendAudit(ctx.tenantId, {
|
|
@@ -219,7 +220,7 @@ export async function setupInbox(ctx, address, forwardTo) {
|
|
|
219
220
|
});
|
|
220
221
|
return {
|
|
221
222
|
...result,
|
|
222
|
-
message:
|
|
223
|
+
message: t `Agent inbound enabled: mail to ${address} lands in the inbox; read it with \`clize email inbox ${domain}\`${forwardTo ? t `; also forwarded to ${forwardTo}` : ""}`,
|
|
223
224
|
};
|
|
224
225
|
}
|
|
225
226
|
//# sourceMappingURL=email.js.map
|
package/dist/core/email.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/core/email.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/core/email.ts"],"names":[],"mappings":"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"}
|
package/dist/core/env-detect.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
//
|
|
3
|
-
// 痛点(本模块存在的理由):volta / asdf / nodenv / pnpm / bun 用 shim 或独立全局区,
|
|
4
|
-
// 裸 `npm i -g @clize/clize@latest` 在它们下面是**静默空操作**——npm 把新版写进某个目录,
|
|
5
|
-
// 但被实际调用的 shim / 二进制仍指向旧版,`npm ls -g` 还显示新版,三个信号一起骗人。
|
|
6
|
-
// 这正是 CLI 被钉死在旧版、shop 等新能力「装了却看不到」的根因。
|
|
7
|
-
//
|
|
8
|
-
// 纯函数(从路径串推断),便于测试:detectManager(paths) 不碰真实环境。
|
|
1
|
+
import { t } from "../i18n/t.js";
|
|
9
2
|
export const PKG = "@clize/clize";
|
|
10
3
|
const SPEC = `${PKG}@latest`;
|
|
11
4
|
/** 从运行时路径串(node execPath + 当前模块路径等)嗅探安装器。大小写不敏感,跨平台。 */
|
|
@@ -42,7 +35,7 @@ export function upgradePlan(manager) {
|
|
|
42
35
|
upgradeCmd: `volta install ${SPEC}`,
|
|
43
36
|
argv: { cmd: "volta", args: ["install", SPEC] },
|
|
44
37
|
npmNoop: true,
|
|
45
|
-
hint: "volta
|
|
38
|
+
hint: t("Global packages managed by volta must be upgraded with `volta install`; `npm i -g` only writes the new version into the image while the shim keeps pointing at the old one (false success)."),
|
|
46
39
|
};
|
|
47
40
|
case "asdf":
|
|
48
41
|
return {
|
|
@@ -50,7 +43,7 @@ export function upgradePlan(manager) {
|
|
|
50
43
|
upgradeCmd: `npm i -g ${SPEC} && asdf reshim nodejs`,
|
|
51
44
|
argv: { cmd: "npm", args: ["install", "-g", SPEC] },
|
|
52
45
|
npmNoop: true,
|
|
53
|
-
hint: "asdf
|
|
46
|
+
hint: t("After installing a global package with asdf, run `asdf reshim nodejs` to update the shim, otherwise `clize` still runs the old version."),
|
|
54
47
|
};
|
|
55
48
|
case "nodenv":
|
|
56
49
|
return {
|
|
@@ -58,7 +51,7 @@ export function upgradePlan(manager) {
|
|
|
58
51
|
upgradeCmd: `npm i -g ${SPEC} && nodenv rehash`,
|
|
59
52
|
argv: { cmd: "npm", args: ["install", "-g", SPEC] },
|
|
60
53
|
npmNoop: true,
|
|
61
|
-
hint: "nodenv
|
|
54
|
+
hint: t("After installing a global package with nodenv, run `nodenv rehash` to update the shim, otherwise `clize` still runs the old version."),
|
|
62
55
|
};
|
|
63
56
|
case "pnpm":
|
|
64
57
|
return {
|
|
@@ -66,7 +59,7 @@ export function upgradePlan(manager) {
|
|
|
66
59
|
upgradeCmd: `pnpm add -g ${SPEC}`,
|
|
67
60
|
argv: { cmd: "pnpm", args: ["add", "-g", SPEC] },
|
|
68
61
|
npmNoop: true,
|
|
69
|
-
hint: "
|
|
62
|
+
hint: t("Global packages installed with pnpm are upgraded with `pnpm add -g`; pnpm's global store is separate from npm's."),
|
|
70
63
|
};
|
|
71
64
|
case "bun":
|
|
72
65
|
return {
|
|
@@ -74,7 +67,7 @@ export function upgradePlan(manager) {
|
|
|
74
67
|
upgradeCmd: `bun add -g ${SPEC}`,
|
|
75
68
|
argv: { cmd: "bun", args: ["add", "-g", SPEC] },
|
|
76
69
|
npmNoop: true,
|
|
77
|
-
hint: "
|
|
70
|
+
hint: t("Global packages installed with bun are upgraded with `bun add -g`."),
|
|
78
71
|
};
|
|
79
72
|
// nvm / fnm / homebrew / 纯 npm:全局区即 node prefix,npm i -g 会真生效。
|
|
80
73
|
case "nvm":
|
|
@@ -84,7 +77,7 @@ export function upgradePlan(manager) {
|
|
|
84
77
|
upgradeCmd: `npm i -g ${SPEC}`,
|
|
85
78
|
argv: { cmd: "npm", args: ["install", "-g", SPEC] },
|
|
86
79
|
npmNoop: false,
|
|
87
|
-
hint:
|
|
80
|
+
hint: t `Global packages under ${manager} follow the current node version; after switching node versions they may need reinstalling.`,
|
|
88
81
|
};
|
|
89
82
|
case "homebrew":
|
|
90
83
|
case "npm":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-detect.js","sourceRoot":"","sources":["../../src/core/env-detect.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"env-detect.js","sourceRoot":"","sources":["../../src/core/env-detect.ts"],"names":[],"mappings":"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"}
|
package/dist/core/handle.js
CHANGED
|
@@ -2,6 +2,7 @@ import { setupInbox } from "./email.js";
|
|
|
2
2
|
import { bindHandleSite } from "./sites.js";
|
|
3
3
|
import { requireProjectId } from "./projects.js";
|
|
4
4
|
/** 免费 handle 的根域。 */
|
|
5
|
+
import { t } from "../i18n/t.js";
|
|
5
6
|
const HANDLE_ROOT = process.env.CLIZE_HANDLE_ROOT || "clize.app";
|
|
6
7
|
/** 一次 claim 在共享 zone 上要写的 DNS 记录条数(预检用)。
|
|
7
8
|
* 占名本身 2 条:claim 标记 TXT + 站点 worker 自定义域(CF 自动建的代理记录);
|
|
@@ -38,7 +39,7 @@ async function provisionSubdomainEmailDns(ctx, zoneId, fqdn) {
|
|
|
38
39
|
return true;
|
|
39
40
|
});
|
|
40
41
|
if (!targets.length)
|
|
41
|
-
throw new Error("
|
|
42
|
+
throw new Error(t("The zone has no existing CF Email Routing MX to copy (Email Routing may not be enabled at the zone level)"));
|
|
42
43
|
for (const t of targets) {
|
|
43
44
|
await ctx.cf
|
|
44
45
|
.request("POST", `/zones/${zoneId}/dns_records`, {
|
|
@@ -68,10 +69,10 @@ async function preflightZoneCapacity(ctx, zoneId, need) {
|
|
|
68
69
|
const cap = await ctx.cf.dnsCapacity(zoneId).catch(() => undefined);
|
|
69
70
|
if (!cap || cap.remaining === undefined || cap.remaining >= need)
|
|
70
71
|
return;
|
|
71
|
-
throw new Error(
|
|
72
|
-
`(${cap.used}/${cap.limit}
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
throw new Error(t `Free handles cannot be issued right now: the shared zone ${HANDLE_ROOT} is out of DNS record quota` +
|
|
73
|
+
t ` (${cap.used}/${cap.limit}, ${cap.planLabel}; this needs ${need} records). This is a platform capacity issue, not something you did wrong,` +
|
|
74
|
+
t(" and retrying will not help. Two paths that work right now: ① use your own domain — clize domain buy <domain> or ") +
|
|
75
|
+
t("clize domain import <domain>, then clize email setup <domain>; ② retry claim after the platform adds capacity."));
|
|
75
76
|
}
|
|
76
77
|
/** 释放一个免费 handle:删 claim 标记 + 子域 DNS(MX/SPF/站点)+ 身份,腾出名字供再占。
|
|
77
78
|
* best-effort 拆除站点 worker 自定义域绑定;仅能释放属于自己的 handle。 */
|
|
@@ -81,10 +82,10 @@ export async function releaseHandle(ctx, slug) {
|
|
|
81
82
|
const marker = `_clize-handle.${fqdn}`;
|
|
82
83
|
const zoneId = await ctx.cf.findZoneId(HANDLE_ROOT);
|
|
83
84
|
if (!zoneId)
|
|
84
|
-
throw new Error(`${HANDLE_ROOT}
|
|
85
|
+
throw new Error(t `${HANDLE_ROOT} is not in the current CF account`);
|
|
85
86
|
const markerRecs = await recordsAt(ctx, zoneId, marker);
|
|
86
87
|
if (markerRecs.length && !markerRecs.find((r) => r.content.includes(`owner:${ctx.tenantId}`)))
|
|
87
|
-
throw new Error(`${fqdn}
|
|
88
|
+
throw new Error(t `${fqdn} is not yours; it cannot be released`);
|
|
88
89
|
// best-effort 解绑站点 worker 自定义域
|
|
89
90
|
try {
|
|
90
91
|
const doms = await ctx.cf.request("GET", `/accounts/${ctx.cf.accountId}/workers/domains?hostname=${encodeURIComponent(fqdn)}`);
|
|
@@ -104,6 +105,7 @@ export async function releaseHandle(ctx, slug) {
|
|
|
104
105
|
.request("DELETE", `/zones/${zoneId}/dns_records/${r.id}`)
|
|
105
106
|
.then(() => deleted++)
|
|
106
107
|
.catch(() => { });
|
|
108
|
+
await ctx.store.deleteDomainHealth?.(fqdn).catch(() => { }); // 巡检行别成孤儿(handle 自 2026-09-01 起也进巡检)
|
|
107
109
|
await ctx.store.removeIdentity(ctx.tenantId, fqdn);
|
|
108
110
|
await ctx.store.deleteSiteUsage(fqdn).catch(() => { }); // 停止存储计费(best-effort)
|
|
109
111
|
await ctx.store.appendAudit(ctx.tenantId, { action: "handle_release", detail: { handle: fqdn } });
|
|
@@ -134,8 +136,8 @@ export async function releaseHandle(ctx, slug) {
|
|
|
134
136
|
released: true,
|
|
135
137
|
dnsDeleted: deleted,
|
|
136
138
|
...(projectRemoved ? { projectRemoved: true } : {}),
|
|
137
|
-
message:
|
|
138
|
-
(projectRemoved ?
|
|
139
|
+
message: t `Released ${fqdn} (${deleted} DNS records + the identity deleted); the name can be claimed again.` +
|
|
140
|
+
(projectRemoved ? t `The empty project of the same name "${s}" was removed as well.` : ""),
|
|
139
141
|
};
|
|
140
142
|
}
|
|
141
143
|
/**
|
|
@@ -149,16 +151,16 @@ export async function releaseHandle(ctx, slug) {
|
|
|
149
151
|
export async function claimHandle(ctx, slug, opts) {
|
|
150
152
|
const s = slug.toLowerCase();
|
|
151
153
|
if (!slugValid(s))
|
|
152
|
-
throw new Error(
|
|
154
|
+
throw new Error(t `Invalid handle: ${slug} (lowercase letters / digits / hyphens only, no leading or trailing hyphen)`);
|
|
153
155
|
// 项目归属先行解析(fail fast):检出名无效要在写 DNS 标记之前就报,绝不静默落错项目。
|
|
154
156
|
const projectId = await requireProjectId(ctx);
|
|
155
157
|
const fqdn = `${s}.${HANDLE_ROOT}`;
|
|
156
158
|
const marker = `_clize-handle.${fqdn}`; // 标记放在子名,避免与未来站点 CNAME 冲突
|
|
157
159
|
const zoneId = await ctx.cf.findZoneId(HANDLE_ROOT);
|
|
158
160
|
if (!zoneId)
|
|
159
|
-
throw new Error(`${HANDLE_ROOT}
|
|
160
|
-
|
|
161
|
-
|
|
161
|
+
throw new Error(t `${HANDLE_ROOT} is not in the current CF account; free handles cannot be issued.` +
|
|
162
|
+
t `Free handles are issued by the hosted side (the owner of ${HANDLE_ROOT}) — in bring-your-own-Cloudflare mode switch to hosted (clize login),` +
|
|
163
|
+
t(" or use your own domain: clize domain import <domain> + clize email setup <domain>."));
|
|
162
164
|
const [siteRecs, markerRecs] = await Promise.all([
|
|
163
165
|
recordsAt(ctx, zoneId, fqdn),
|
|
164
166
|
recordsAt(ctx, zoneId, marker),
|
|
@@ -168,7 +170,7 @@ export async function claimHandle(ctx, slug, opts) {
|
|
|
168
170
|
if (mine)
|
|
169
171
|
return { handle: fqdn, status: "already-yours", site: `https://${fqdn}`, email: `support@${fqdn}` };
|
|
170
172
|
const alts = [`${s}-hq`, `get${s}`, `${s}app`, `${s}io`];
|
|
171
|
-
throw new Error(`${fqdn}
|
|
173
|
+
throw new Error(t `${fqdn} is taken. Available alternatives: ${alts.join(" / ")}`);
|
|
172
174
|
}
|
|
173
175
|
const wantEmail = opts?.provisionEmail === true;
|
|
174
176
|
await preflightZoneCapacity(ctx, zoneId, RECORDS_PER_CLAIM + (wantEmail ? RECORDS_PER_INBOX : 0));
|
|
@@ -176,7 +178,7 @@ export async function claimHandle(ctx, slug, opts) {
|
|
|
176
178
|
return {
|
|
177
179
|
dryRun: true,
|
|
178
180
|
handle: fqdn,
|
|
179
|
-
message: "
|
|
181
|
+
message: t("Rehearsal: available. Set DRY_RUN=false to execute."),
|
|
180
182
|
site: `https://${fqdn}`,
|
|
181
183
|
...(wantEmail ? { email: `support@${fqdn}` } : {}),
|
|
182
184
|
};
|
|
@@ -194,14 +196,14 @@ export async function claimHandle(ctx, slug, opts) {
|
|
|
194
196
|
catch (e) {
|
|
195
197
|
const msg = e instanceof Error ? e.message : String(e);
|
|
196
198
|
if (/exceed|maximum|limit|quota/i.test(msg))
|
|
197
|
-
throw new Error(
|
|
198
|
-
|
|
199
|
+
throw new Error(t `Free handles cannot be issued right now: the shared zone ${HANDLE_ROOT} is out of DNS record quota (a platform capacity issue; retrying will not help).` +
|
|
200
|
+
t("Continue with your own domain instead: clize domain buy <domain> or clize domain import <domain>, then clize email setup <domain>."));
|
|
199
201
|
throw e;
|
|
200
202
|
}
|
|
201
203
|
await ctx.store.upsertIdentity(ctx.tenantId, {
|
|
202
204
|
domain: fqdn,
|
|
203
|
-
status: "
|
|
204
|
-
notes: "
|
|
205
|
+
status: "handle",
|
|
206
|
+
notes: t("free handle (clize.app subdomain)"),
|
|
205
207
|
projectId,
|
|
206
208
|
});
|
|
207
209
|
await ctx.store.appendAudit(ctx.tenantId, { action: "handle_claim", detail: { handle: fqdn } });
|
|
@@ -211,7 +213,7 @@ export async function claimHandle(ctx, slug, opts) {
|
|
|
211
213
|
const email = { address: emailAddress };
|
|
212
214
|
if (!wantEmail) {
|
|
213
215
|
email.status = "not-provisioned";
|
|
214
|
-
email.hint =
|
|
216
|
+
email.hint = t `Open inbound when needed: clize email setup ${fqdn} (or pass --email at claim time)`;
|
|
215
217
|
}
|
|
216
218
|
else {
|
|
217
219
|
try {
|
|
@@ -238,7 +240,7 @@ export async function claimHandle(ctx, slug, opts) {
|
|
|
238
240
|
const site = { url: `https://${fqdn}` };
|
|
239
241
|
try {
|
|
240
242
|
await bindHandleSite(ctx, fqdn);
|
|
241
|
-
site.status = "ready(
|
|
243
|
+
site.status = t("ready (placeholder page; replaced by your site on deploy)");
|
|
242
244
|
}
|
|
243
245
|
catch (e) {
|
|
244
246
|
site.status = "failed";
|
|
@@ -247,25 +249,26 @@ export async function claimHandle(ctx, slug, opts) {
|
|
|
247
249
|
// 邮箱 / 站点是 best-effort:单项失败不影响「占名已成功」—— message 必须把这点说清,
|
|
248
250
|
// 否则新用户看到 email.status="failed" 会以为整个 claim 失败而重试 / 放弃。
|
|
249
251
|
const failedParts = [
|
|
250
|
-
...(email.status === "failed" ? ["
|
|
251
|
-
...(site.status === "failed" ? ["
|
|
252
|
+
...(email.status === "failed" ? [t("the mailbox")] : []),
|
|
253
|
+
...(site.status === "failed" ? [t("the placeholder site")] : []),
|
|
252
254
|
];
|
|
253
255
|
return {
|
|
254
256
|
handle: fqdn,
|
|
255
257
|
status: "claimed",
|
|
256
258
|
message: failedParts.length
|
|
257
|
-
? `✓ ${fqdn}
|
|
259
|
+
? t `✓ ${fqdn} is yours (the handle is claimed; this step did not fail). Only ${failedParts.join(" + ")} is not ready yet; follow nextSteps.`
|
|
258
260
|
: wantEmail
|
|
259
|
-
? `✓ ${fqdn}
|
|
260
|
-
: `✓ ${fqdn}
|
|
261
|
+
? t `✓ ${fqdn} is yours; the site and ${emailAddress} are in place.`
|
|
262
|
+
: t `✓ ${fqdn} is yours; the placeholder site is in place. Inbound is not open (off by default to save the shared zone's quota) — one command adds it.`,
|
|
261
263
|
site,
|
|
262
264
|
email,
|
|
263
265
|
nextSteps: [
|
|
264
|
-
|
|
265
|
-
`部署站点:clize deploy <dir> --domain ${fqdn}(init 过则 clize deploy <dir> 即可)`,
|
|
266
|
+
t `Bind the project directory: clize init --handle ${s} (deploy then needs no --domain; email send / inbox need no arguments)`,
|
|
266
267
|
email.status === "ready"
|
|
267
|
-
?
|
|
268
|
-
:
|
|
268
|
+
? t `Sign up for services with ${emailAddress} and read the code: clize email inbox ${fqdn} --wait-for <text>`
|
|
269
|
+
: t `To receive mail (verification codes, incoming messages): clize email setup ${fqdn} (also creates the ${emailAddress} inbox)`,
|
|
270
|
+
t("Pick up where you left off: clize status (who is waiting, this month's spend)"),
|
|
271
|
+
t `Deploy a site: clize deploy <dir> --domain ${fqdn} (just clize deploy <dir> after init)`,
|
|
269
272
|
],
|
|
270
273
|
};
|
|
271
274
|
}
|
package/dist/core/handle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../src/core/handle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../src/core/handle.ts"],"names":[],"mappings":"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"}
|