@clize/clize 0.7.6 → 0.7.8

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 (46) hide show
  1. package/README.md +14 -13
  2. package/dist/cli.js +207 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.js +6 -0
  5. package/dist/config.js.map +1 -1
  6. package/dist/core/addresses.js +1 -1
  7. package/dist/core/addresses.js.map +1 -1
  8. package/dist/core/billing.js +1 -1
  9. package/dist/core/billing.js.map +1 -1
  10. package/dist/core/domains.js +39 -3
  11. package/dist/core/domains.js.map +1 -1
  12. package/dist/core/email.js +13 -2
  13. package/dist/core/email.js.map +1 -1
  14. package/dist/core/media.js +409 -0
  15. package/dist/core/media.js.map +1 -0
  16. package/dist/index.js +4 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/providers/email/cloudflare-outbound.js +8 -0
  19. package/dist/providers/email/cloudflare-outbound.js.map +1 -1
  20. package/dist/providers/email/resend.js +1 -0
  21. package/dist/providers/email/resend.js.map +1 -1
  22. package/dist/providers/email/ses.js +2 -0
  23. package/dist/providers/email/ses.js.map +1 -1
  24. package/dist/providers/index.js +20 -0
  25. package/dist/providers/index.js.map +1 -1
  26. package/dist/providers/media/google.js +153 -0
  27. package/dist/providers/media/google.js.map +1 -0
  28. package/dist/providers/media/kunavo.js +156 -0
  29. package/dist/providers/media/kunavo.js.map +1 -0
  30. package/dist/providers/media/openai.js +102 -0
  31. package/dist/providers/media/openai.js.map +1 -0
  32. package/dist/providers/media/suno.js +71 -0
  33. package/dist/providers/media/suno.js.map +1 -0
  34. package/dist/remote.js +12 -1
  35. package/dist/remote.js.map +1 -1
  36. package/dist/state/file-store.js +62 -0
  37. package/dist/state/file-store.js.map +1 -1
  38. package/package.json +4 -2
  39. package/skills/clize/SKILL.md +18 -4
  40. package/skills/clize-site-build/SKILL.md +17 -18
  41. package/dist/server/stripe.js +0 -68
  42. package/dist/server/stripe.js.map +0 -1
  43. package/dist/server/worker.js +0 -407
  44. package/dist/server/worker.js.map +0 -1
  45. package/dist/state/d1-store.js +0 -315
  46. package/dist/state/d1-store.js.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Clize
2
2
 
3
- **The real-world capability layer for AI agents.** Your agent already has a brain — Clize gives it hands: a domain, a working inbox, a live website. One CLI (plus an MCP server) so coding agents in Claude Code / Codex can register domains, run real email, and ship sites.
3
+ **The real-world capability layer for AI agents.** Your agent already has a brain — Clize gives it hands: a domain, a working inbox, a live website. One CLI (plus an MCP server) so coding agents in Claude Code / Codex can register domains, run real email, ship sites, and generate media.
4
4
 
5
5
  → **[clize.ai](https://clize.ai)**
6
6
 
@@ -21,41 +21,42 @@ clize update # or `clize update --check` to only check for a newer ve
21
21
 
22
22
  ## Quickstart (hosted)
23
23
 
24
- Register, log in, go — your agent never touches Cloudflare:
24
+ Log in and go — your agent never touches Cloudflare:
25
25
 
26
26
  ```bash
27
- clize signup --email you@example.com #a clize_… API key (shown once)
28
- clize login --api https://clize-control-plane.cool-zdk.workers.dev --token clize_…
29
- clize check # connected to the hosted backend
30
- clize claim acme # free handle: acme.clize.app (+ hi@ inbox)
31
- clize status # who's waiting, this month's spend
32
- clize email inbox acme.clize.app # read what customers sent
27
+ clize login # GitHub authorizecreates your account, saves a clize key
28
+ clize check # connected to the hosted backend
29
+ clize claim acme # free handle: acme.clize.app (+ hi@ inbox)
30
+ clize status # who's waiting, this month's spend
31
+ clize email inbox acme.clize.app # read what customers sent
33
32
  ```
34
33
 
35
34
  ## Two ways to run
36
35
 
37
36
  | Mode | Log in with | What runs where |
38
37
  |---|---|---|
39
- | **Hosted** (recommended) | `clize signup` `clize login --api <url> --token clize_…` | Commands call the clize backend; resources run on clize's infra. You never handle Cloudflare. |
38
+ | **Hosted** (recommended) | `clize login` (GitHub) — or `clize login --api <url> --token clize_…` if you already have a key | Commands call the clize backend; resources run on clize's infra. You never handle Cloudflare. |
40
39
  | **Self-host** (bring your own Cloudflare) | `clize login --token <CF_API_TOKEN> --account <CF_ACCOUNT_ID>` | Commands run locally against *your* Cloudflare account. |
41
40
 
42
- Hosted mode covers `status · check · context · claim · domain search · domain list · audit · email inbox|show|thread|send`. Spend/deploy commands (`domain buy`, `deploy`, custom-domain `email setup`) currently require self-host mode.
41
+ Hosted mode covers the full core — `status · check · context · balance · recharge · claim · domain search|list|buy · deploy · audit · email inbox|show|thread|send`. Self-host adds custom-domain email plumbing (`domain import`, `email setup` / `inbox-setup` / `route` / `webhook` / `address`) and `release`.
43
42
 
44
43
  ## What it does
45
44
 
46
45
  | Area | Commands |
47
46
  |---|---|
48
47
  | **Claim** | `clize claim <slug>` — first-come, free `<slug>.clize.app` handle with inbox + site in one shot |
49
- | **Domains** | `clize domain search / buy / import / list` |
50
- | **Email** | `clize email setup / send / inbox / show / thread / route`, agent-owned inboxes, per-address `--tag` + `--knowledge` |
48
+ | **Domains** | `clize domain search / tlds / buy / import / list` |
49
+ | **Email** | `clize email setup` → `inbox-setup` → `address add` (`--tag` / `--knowledge`) wires a real send/receive inbox on your domain — or get `hi@` instantly with `clize claim`. Then `send` (`--attach`) / `inbox` / `show` / `thread` / `route` / `webhook`. (`address add` only stores tag + knowledge; `inbox-setup` is what opens receiving.) |
50
+ | **Media** | `clize gen image / video / music` — text→image (`gpt-image-2` / `nano-banana-2`), text/image→video (`veo`), text→music (`suno`); long tasks via `gen jobs / status`, spend-gated via `gen budget`. Results land as local files, ready to `deploy` or `email --attach`. |
51
51
  | **Deploy** | `clize deploy <dir> --domain <host>` — multi-file static sites; free `*.clize.app` or your own domain |
52
52
  | **Context** | `clize status [--assets]`, `clize context [address]` — rehydrate who's waiting + identity/knowledge at the start of a session |
53
+ | **Billing** (hosted) | `clize balance` / `clize recharge --amount <usd>` — prepaid clize balance that domain/media spends draw from (Stripe top-up); `clize audit` for the spend log |
53
54
 
54
55
  Run `clize --help` for the full surface.
55
56
 
56
57
  ## Safety, by default
57
58
 
58
- - 💰 **Money gate** — `clize domain buy` never spends without `--confirm`; without it you just get a quote.
59
+ - 💰 **Money gate** — spends (`clize domain buy`, `clize gen image/video/music`) never go through without `--confirm`; without it you just get a quote.
59
60
  - 📨 **Identity gate** — replying as you to a real customer is **draft → human approve → send**, never auto.
60
61
  - 📥 **Inbound is untrusted** — email you receive is treated as data, never as instructions to the agent.
61
62
 
package/dist/cli.js CHANGED
@@ -8,6 +8,7 @@
8
8
  // 判定:remote.loadRemote() 非空 = 托管模式。
9
9
  // ============================================================
10
10
  import fs from "node:fs";
11
+ import path from "node:path";
11
12
  import { spawn } from "node:child_process";
12
13
  import { Command } from "commander";
13
14
  import { createLocalContext } from "./context.js";
@@ -21,6 +22,7 @@ import * as sitesCore from "./core/sites.js";
21
22
  import * as setupCore from "./core/setup.js";
22
23
  import * as billingCore from "./core/billing.js";
23
24
  import * as installCore from "./core/install.js";
25
+ import * as mediaCore from "./core/media.js";
24
26
  import { selfcheck } from "./selfcheck.js";
25
27
  import * as remoteClient from "./remote.js";
26
28
  import { VERSION } from "./version.js";
@@ -77,10 +79,51 @@ async function githubLogin(apiOpt) {
77
79
  message: `已登录为 @${out.githubLogin}(GitHub);凭证已保存到 ~/.clize。跑 clize balance / status 试试。`,
78
80
  };
79
81
  }
82
+ /** 把 --attach 的逗号分隔路径读成邮件附件(base64);读不到则报错。 */
83
+ function loadAttachments(spec) {
84
+ if (!spec)
85
+ return undefined;
86
+ const paths = String(spec)
87
+ .split(",")
88
+ .map((s) => s.trim())
89
+ .filter(Boolean);
90
+ if (!paths.length)
91
+ return undefined;
92
+ return paths.map((p) => {
93
+ let buf;
94
+ try {
95
+ buf = fs.readFileSync(p);
96
+ }
97
+ catch {
98
+ throw new Error(`读不到附件:${p}`);
99
+ }
100
+ return {
101
+ filename: path.basename(p),
102
+ content: buf.toString("base64"),
103
+ contentType: guessContentType(p),
104
+ };
105
+ });
106
+ }
107
+ /** 由扩展名猜 content-type(够用即可)。 */
108
+ function guessContentType(p) {
109
+ const map = {
110
+ ".png": "image/png",
111
+ ".jpg": "image/jpeg",
112
+ ".jpeg": "image/jpeg",
113
+ ".webp": "image/webp",
114
+ ".gif": "image/gif",
115
+ ".svg": "image/svg+xml",
116
+ ".pdf": "application/pdf",
117
+ ".mp4": "video/mp4",
118
+ ".mp3": "audio/mpeg",
119
+ ".txt": "text/plain",
120
+ };
121
+ return map[path.extname(p).toLowerCase()] ?? "application/octet-stream";
122
+ }
80
123
  const program = new Command();
81
124
  program
82
125
  .name("clize")
83
- .description("Clize —— 给 agent 的真实世界能力层:域名 / 邮箱 / 部署")
126
+ .description("Clize —— 给 agent 的真实世界能力层:域名 / 邮箱 / 部署 / 媒体")
84
127
  .version(VERSION)
85
128
  .showHelpAfterError();
86
129
  // 「未登录」闸:既没有 clize key(托管)也没有 Cloudflare 凭证(自带-CF)时,
@@ -89,6 +132,9 @@ const NO_AUTH_CMDS = new Set(["login", "signup", "init", "install", "update", "h
89
132
  program.hook("preAction", (_thisCmd, actionCmd) => {
90
133
  if (NO_AUTH_CMDS.has(actionCmd.name()))
91
134
  return;
135
+ // 生成式媒体(gen *):本地只需自带 OPENAI / GEMINI key(由 core 自检),不要求 CF / clize 凭证。
136
+ if (actionCmd.name() === "gen" || actionCmd.parent?.name() === "gen")
137
+ return;
92
138
  if (remote || remoteClient.hasLocalCfCreds())
93
139
  return;
94
140
  console.error("❌ 未登录。\n" +
@@ -169,11 +215,26 @@ program
169
215
  .action(() => emit(remote ? remoteClient.api.balance(remote) : billingCore.balance(ctx())));
170
216
  program
171
217
  .command("recharge")
172
- .description("充值 clize 余额(托管模式):返回 Stripe 支付链接,浏览器付款后自动到账")
218
+ .description("充值 clize 余额(托管模式):自动打开 Stripe 付款页,付完余额自动到账")
173
219
  .requiredOption("--amount <usd>", "充值金额(美元)")
174
- .action((opts) => emit(remote
175
- ? remoteClient.api.rechargeSession(remote, Number(opts.amount))
176
- : Promise.reject(new Error("充值仅托管模式可用;本地自带-CF 模式费用直接走你的 Cloudflare 账户。"))));
220
+ .option("--no-open", "不自动打开浏览器,只返回付款链接(headless / agent 用)")
221
+ .action((opts) => {
222
+ if (!remote)
223
+ return emit(Promise.reject(new Error("充值仅托管模式可用;本地自带-CF 模式费用直接走你的 Cloudflare 账户。")));
224
+ return emit((async () => {
225
+ const r = (await remoteClient.api.rechargeSession(remote, Number(opts.amount)));
226
+ const opened = opts.open !== false && !!r.checkoutUrl;
227
+ if (opened)
228
+ openBrowser(r.checkoutUrl);
229
+ return {
230
+ ...r,
231
+ opened,
232
+ message: opened
233
+ ? "已在浏览器打开付款页;没弹出就手动打开上面的 checkoutUrl。付完 `clize balance` 查看。"
234
+ : "在浏览器打开 checkoutUrl 完成支付;付完 `clize balance` 查看。",
235
+ };
236
+ })());
237
+ });
177
238
  program
178
239
  .command("context [address]")
179
240
  .description("会话开头 rehydrate:某地址的 身份+知识+操作规约 → 进 agent 的 system prompt(无地址=列地址)")
@@ -244,11 +305,13 @@ email
244
305
  .option("--from <addr>", "发件人(默认项目地址)")
245
306
  .option("--text <t>", "纯文本正文")
246
307
  .option("--html <h>", "HTML 正文")
308
+ .option("--attach <paths>", "附件路径(逗号分隔多个;如 gen image 生成的图)")
247
309
  .option("--confirm", "确认发送(缺省只返回草稿供人核)")
248
310
  .action((opts) => {
249
311
  const to = String(opts.to).includes(",")
250
312
  ? String(opts.to).split(",").map((s) => s.trim())
251
313
  : opts.to;
314
+ const attachments = loadAttachments(opts.attach);
252
315
  // 托管模式:from 必填(无本地 clize.json 推断),confirm 透传给后端裁决草稿/真发。
253
316
  if (remote) {
254
317
  if (!opts.from)
@@ -259,6 +322,7 @@ email
259
322
  subject: opts.subject,
260
323
  text: opts.text,
261
324
  html: opts.html,
325
+ attachments,
262
326
  confirm: !!opts.confirm,
263
327
  }));
264
328
  }
@@ -273,10 +337,15 @@ email
273
337
  text: opts.text,
274
338
  html: opts.html,
275
339
  replyTo: sender.replyTo,
340
+ attachments,
276
341
  };
277
342
  if (!opts.confirm)
278
343
  return emit({
279
- draft: msg,
344
+ // 草稿里把附件 base64 折叠成「文件名 (类型, ~大小)」摘要,不污染 transcript。
345
+ draft: {
346
+ ...msg,
347
+ attachments: attachments?.map((a) => `${a.filename} (${a.contentType ?? "?"}, ~${Math.round((a.content.length * 0.75) / 1024)}KB)`),
348
+ },
280
349
  message: "📨 这是草稿,还没发。把它给用户看、确认后加 --confirm 才真发:clize email send … --confirm",
281
350
  });
282
351
  return emit(emailCore.sendEmail(ctx(), msg));
@@ -380,5 +449,137 @@ program
380
449
  const html = opts.htmlFile ? fs.readFileSync(opts.htmlFile, "utf8") : opts.html;
381
450
  return emit(siteCore.deploySite(ctx(), { workerName: p, html, domain: opts.domain }));
382
451
  });
452
+ // ───────── 生成式媒体(gen:图 / 视频 / 音乐)─────────
453
+ // G1 = 本地算力 + 你自带的 model key,与 clize 登录模式无关(remote 登录也在本地跑、写本地盘);
454
+ // 托管(clize 代付 + R2 托管)是 G2,所以这里不按 remote 分流。
455
+ const gen = program
456
+ .command("gen")
457
+ .description("生成式媒体:你写 prompt,clize 产字节落盘(图 / 视频 / 音乐)");
458
+ gen
459
+ .command("image <prompt>")
460
+ .description("文生图 / 图生图(💰:--confirm 才生成,缺则只报价;可先 gen budget 预批免逐次确认)")
461
+ .option("--model <m>", "模型:gpt-image-2(OpenAI)| nano-banana-2(Google)", "gpt-image-2")
462
+ .option("--n <k>", "出几张", "1")
463
+ .option("--size <s>", "尺寸,如 1024x1024")
464
+ .option("--ref <paths>", "参考图(逗号分隔多张;图生图 / 改图)")
465
+ .option("--mask <path>", "局部重绘蒙版")
466
+ .option("--out <path>", "落盘路径(默认 ./clize-assets/<id>_<i>.png)")
467
+ .option("--confirm", "确认花钱生成")
468
+ .action((prompt, opts) => emit(mediaCore.genImage(ctx(), {
469
+ prompt,
470
+ model: opts.model,
471
+ n: Number(opts.n),
472
+ size: opts.size,
473
+ refs: opts.ref
474
+ ? String(opts.ref)
475
+ .split(",")
476
+ .map((s) => s.trim())
477
+ : undefined,
478
+ mask: opts.mask,
479
+ out: opts.out,
480
+ }, { confirm: !!opts.confirm })));
481
+ gen
482
+ .command("list")
483
+ .description("列已生成资产(id / 模型 / prompt / 路径 / 花费)")
484
+ .option("--modality <m>", "只看某模态:image | video | music")
485
+ .action((opts) => emit(mediaCore.listAssets(ctx(), opts.modality)));
486
+ gen
487
+ .command("show <id>")
488
+ .description("看单个生成任务 / 资产全貌")
489
+ .action((id) => emit(mediaCore.getAsset(ctx(), id)));
490
+ gen
491
+ .command("budget [set] [usd]")
492
+ .description("设 / 查生成预批额度:额度内免逐次 --confirm(clize gen budget set 2.00 / clize gen budget)")
493
+ .action((setOrUsd, usd) => {
494
+ const raw = setOrUsd === "set" ? usd : setOrUsd;
495
+ const amount = raw != null && raw !== "" && !Number.isNaN(Number(raw)) ? Number(raw) : undefined;
496
+ return emit(amount != null ? mediaCore.setGenBudget(ctx(), amount) : mediaCore.genBudget(ctx()));
497
+ });
498
+ gen
499
+ .command("video <prompt>")
500
+ .description("文生视频 / 图生视频(长任务:默认等到完成,--async 后台返 job id)")
501
+ .option("--model <m>", "模型(默认 veo)", "veo")
502
+ .option("--from-image <path>", "首帧图(图生视频)")
503
+ .option("--duration <sec>", "时长(秒)")
504
+ .option("--aspect <r>", "画幅,如 16:9")
505
+ .option("--out <path>", "落盘路径(--wait 时;--async 走默认 ./clize-assets)")
506
+ .option("--async", "后台生成,只返 job id(默认等到完成)")
507
+ .option("--timeout <sec>", "默认等待上限(秒)", "300")
508
+ .option("--confirm", "确认花钱生成")
509
+ .action((prompt, opts) => emit(mediaCore.genVideo(ctx(), {
510
+ prompt,
511
+ model: opts.model,
512
+ fromImage: opts.fromImage,
513
+ durationSec: opts.duration ? Number(opts.duration) : undefined,
514
+ aspect: opts.aspect,
515
+ out: opts.out,
516
+ }, { confirm: !!opts.confirm, async: !!opts.async, timeoutSec: Number(opts.timeout) })));
517
+ gen
518
+ .command("music <prompt>")
519
+ .description("文生音乐(长任务:默认等到完成,--async 后台返 job id)")
520
+ .option("--model <m>", "模型(默认 suno)", "suno")
521
+ .option("--instrumental", "纯器乐(无人声)")
522
+ .option("--duration <sec>", "时长(秒)")
523
+ .option("--out <path>", "落盘路径(--wait 时;--async 走默认 ./clize-assets)")
524
+ .option("--async", "后台生成,只返 job id(默认等到完成)")
525
+ .option("--timeout <sec>", "默认等待上限(秒)", "300")
526
+ .option("--confirm", "确认花钱生成")
527
+ .action((prompt, opts) => emit(mediaCore.genMusic(ctx(), {
528
+ prompt,
529
+ model: opts.model,
530
+ instrumental: !!opts.instrumental,
531
+ durationSec: opts.duration ? Number(opts.duration) : undefined,
532
+ out: opts.out,
533
+ }, { confirm: !!opts.confirm, async: !!opts.async, timeoutSec: Number(opts.timeout) })));
534
+ gen
535
+ .command("jobs")
536
+ .description("列生成任务(running 置顶;断会话后重连长任务用)")
537
+ .action(() => emit(mediaCore.genJobs(ctx())));
538
+ gen
539
+ .command("status <id>")
540
+ .description("查单任务:running 则向 provider 轮询一次(可能就此完成落盘)")
541
+ .action((id) => emit(mediaCore.genJobStatus(ctx(), id)));
542
+ gen
543
+ .command("rm <id>")
544
+ .description("删任务记录 + 本地文件")
545
+ .action((id) => emit(mediaCore.genRm(ctx(), id)));
546
+ // ───────── 设计系统(lokuma,仅托管:宪法库 + 方法在 clize 云端,运行时下发)─────────
547
+ const hostedDesign = (fn) => emit(remote
548
+ ? fn(remote)
549
+ : Promise.reject(new Error("clize design 需登录托管模式:先 `clize login`(设计宪法库在 clize 云端,只发登录用户)")));
550
+ const design = program
551
+ .command("design")
552
+ .description("从风格宪法库设计站点(托管):start 取方法+推荐 · get 取整套宪法 · list / stack / search / review");
553
+ design
554
+ .command("start <brief...>")
555
+ .description("开工:返回方法(4 阶段 + DESIGN.md 模板)+ 风格目录 + 针对 brief 的推荐")
556
+ .option("--project <name>", "项目名")
557
+ .action((brief, opts) => hostedDesign((rc) => remoteClient.api.designStart(rc, brief.join(" "), opts.project)));
558
+ design
559
+ .command("recommend <brief...>")
560
+ .description("按 brief 推荐:风格 + 调色板 + 字体对 + 反模式")
561
+ .option("--project <name>", "项目名")
562
+ .action((brief, opts) => hostedDesign((rc) => remoteClient.api.designRecommend(rc, brief.join(" "), opts.project)));
563
+ design
564
+ .command("list")
565
+ .description("列出全部风格宪法(slug + 一句话 best-for)")
566
+ .action(() => hostedDesign((rc) => remoteClient.api.designList(rc)));
567
+ design
568
+ .command("get <slug>")
569
+ .description("取某风格的完整宪法(色 / 字 / 形 / 签名手法)+ 调色板 + 字体对")
570
+ .action((slug) => hostedDesign((rc) => remoteClient.api.designGet(rc, slug)));
571
+ design
572
+ .command("stack <stack> [query...]")
573
+ .description("取某技术栈实现指南(React/Next/SwiftUI/Flutter/shadcn… 惯用法 + 行为规则)")
574
+ .action((stack, query) => hostedDesign((rc) => remoteClient.api.designStack(rc, stack, (query || []).join(" "))));
575
+ design
576
+ .command("search <query...>")
577
+ .description("查 UUPM 库(ux/color/chart/landing/product/typography/icons…;默认自动判域)")
578
+ .option("--domain <d>", "限定域")
579
+ .action((query, opts) => hostedDesign((rc) => remoteClient.api.designSearch(rc, query.join(" "), opts.domain)));
580
+ design
581
+ .command("review")
582
+ .description("取合并自审清单(anti-slop + DESIGN.md 保真 + UX 行为)")
583
+ .action(() => hostedDesign((rc) => remoteClient.api.designReview(rc)));
383
584
  program.parseAsync(process.argv);
384
585
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,+DAA+D;AAC/D,6BAA6B;AAC7B,8DAA8D;AAC9D,kEAAkE;AAClE,wDAAwD;AACxD,4BAA4B;AAC5B,qCAAqC;AACrC,+DAA+D;AAC/D,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,kCAAkC;AAClC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;AAEzC,6CAA6C;AAC7C,IAAI,IAAuD,CAAC;AAC5D,MAAM,GAAG,GAAG,GAA0C,EAAE,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC,CAAC;AAEzF,mDAAmD;AACnD,KAAK,UAAU,IAAI,CAAC,KAAiC;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;QAC3B,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,8BAA8B;AAC9B,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GACf,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC3B,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAC5B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,KAAK,UAAU,WAAW,CAAC,MAAe;IACxC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,YAAY,CAAC,gBAAgB,CAAC;IAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;IACtG,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0BAA0B,EAAE,CAAC,gBAAgB,WAAW,EAAE,CAAC,SAAS,6BAA6B,CAClG,CAAC;IACF,WAAW,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAC1B,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,CAAC,MAAM,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAIvD,CAAC;IACF,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,QAAQ;QACd,GAAG;QACH,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,SAAS,GAAG,CAAC,WAAW,uDAAuD;KACzF,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,wCAAwC,CAAC;KACrD,OAAO,CAAC,OAAO,CAAC;KAChB,kBAAkB,EAAE,CAAC;AAExB,qDAAqD;AACrD,sDAAsD;AACtD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACvF,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;IAChD,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO;IAC/C,IAAI,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE;QAAE,OAAO;IACrD,OAAO,CAAC,KAAK,CACX,UAAU;QACR,yEAAyE;QACzE,4EAA4E,CAC/E,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,mCAAmC;AACnC,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC;KACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CACF,MAAM;IACJ,CAAC,CAAC,IAAI,CAAC,MAAM;QACX,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,iBAAiB,CAAC;QAC7C,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,MAAM;QACX,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACjC,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CACzC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;KAC5C,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC;KAC9C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAErE,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,4CAA4C,CAAC;KACvE,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC;KAChC,MAAM,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACf,IAAI,IAAI,CAAC,KAAK;QACZ,OAAO,IAAI,CACT,IAAI,CAAC,GAAG;YACN,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAClD,CAAC;IACJ,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC;KACtC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC;KACpC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/F,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mFAAmF,CAAC;KAChG,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC;KACpC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;KAC7B,MAAM,CAAC,OAAO,EAAE,mDAAmD,CAAC;KACpE,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC;KACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CACF,WAAW,CAAC,OAAO,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,MAAM;IACnB,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,GAAG,EAAE,IAAI,CAAC,GAAG;IACb,MAAM,EAAE,IAAI,CAAC,MAAM;CACpB,CAAC,CACH,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,OAAO,EAAE,8BAA8B,CAAC;KAC/C,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;KAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpF,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,CAAC,MAAe,EAAE,EAAE,CAC1B,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CACrE,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC;KACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CACF,MAAM;IACJ,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACpD,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAE9F,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,cAAc,CAAC,gBAAgB,EAAE,UAAU,CAAC;KAC5C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CACF,MAAM;IACJ,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC,CAAC,OAAO,CAAC,MAAM,CACZ,IAAI,KAAK,CAAC,4CAA4C,CAAC,CACxD,CACN,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,mEAAmE,CAAC;KAChF,MAAM,CAAC,CAAC,OAAgB,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CACxG,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;KAClC,MAAM,CAAC,CAAC,IAAY,EAAE,IAAI,EAAE,EAAE,CAC7B,IAAI,CACF,MAAM;IACJ,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;IACtC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CACxE,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CACvB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAC3F,CAAC;AAEJ,yBAAyB;AACzB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAC9E,MAAM;KACH,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,aAAa,EAAE,kBAAkB,EAAE,KAAK,CAAC;KAChD,MAAM,CAAC,CAAC,KAAe,EAAE,IAAI,EAAE,EAAE;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC7E,OAAO,IAAI,CACT,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CACpG,CAAC;AACJ,CAAC,CAAC,CAAC;AACL,MAAM;KACH,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,GAAG,EAAE,CACX,IAAI,CAAC;IACH,aAAa,EAAE,WAAW,CAAC,cAAc;IACzC,IAAI,EAAE,oEAAoE;CAC3E,CAAC,CACH,CAAC;AACJ,MAAM;KACH,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;KAC7B,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;KAC5C,MAAM,CAAC,CAAC,CAAS,EAAE,IAAI,EAAE,EAAE;IAC1B,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CACT,WAAW,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrD,KAAK;YACL,OAAO,EAAE,8CAA8C,CAAC,YAAY;SACrE,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC;AACL,MAAM;KACH,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAC9F,CAAC;AACJ,MAAM;KACH,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,UAAU,CAAC;KACvB,MAAM,CAAC,GAAG,EAAE,CACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CACpF,CAAC;AAEJ,yBAAyB;AACzB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AACtE,KAAK;KACF,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CACxF,CAAC;AACJ,KAAK;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sCAAsC,CAAC;KACnD,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC;KAC5C,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC;KACrC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC;KACtC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC;KAC7B,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC;KAC/B,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC;KACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACf,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QACtC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACZ,wDAAwD;IACxD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,IAAI;YACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CACT,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE;YACF,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;SACxB,CAAC,CACH,CAAC;IACJ,CAAC;IACD,sCAAsC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAc,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACzG,IAAI,CAAC,MAAM,EAAE,IAAI;QACf,OAAO,IAAI,CACT,OAAO,CAAC,MAAM,CACZ,IAAI,KAAK,CAAC,4DAA4D,CAAC,CACxE,CACF,CAAC;IACJ,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,EAAE;QACF,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,OAAO;QACf,OAAO,IAAI,CAAC;YACV,KAAK,EAAE,GAAG;YACV,OAAO,EACL,oEAAoE;SACvE,CAAC,CAAC;IACL,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AACL,KAAK;KACF,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC;KACvC,MAAM,CAAC,sBAAsB,EAAE,sCAAsC,CAAC;KACtE,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,KAAK,CAAC;KACxD,MAAM,CAAC,CAAC,CAAS,EAAE,IAAI,EAAE,EAAE,CAC1B,IAAI,CACF,MAAM;IACJ,CAAC,CAAC,IAAI,CAAC,OAAO;QACZ,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,wBAAwB,CAAC;QACpD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,IAAI,CAAC,OAAO;QACZ,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtF,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACzD,CACF,CAAC;AACJ,KAAK;KACF,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,SAAS,CAAC;KACtB,MAAM,CAAC,CAAC,CAAS,EAAE,EAAU,EAAE,EAAE,CAChC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAC9F,CAAC;AACJ,KAAK;KACF,OAAO,CAAC,2BAA2B,CAAC;KACpC,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,CAAC,CAAS,EAAE,OAAe,EAAE,EAAE,CACrC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAC3G,CAAC;AACJ,KAAK;KACF,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC;KACrC,MAAM,CAAC,CAAC,OAAe,EAAE,IAAI,EAAE,EAAE,CAChC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAClH,CAAC;AACJ,KAAK;KACF,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAU,EAAE,EAAE,CACnC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAC/F,CAAC;AACJ,KAAK;KACF,OAAO,CAAC,yBAAyB,CAAC;KAClC,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,CAAC,OAAe,EAAE,GAAW,EAAE,EAAE,CACvC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAC1G,CAAC;AAEJ,8CAA8C;AAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;AACpF,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC;KAC9B,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC;KACvC,MAAM,CAAC,CAAC,IAAY,EAAE,IAAI,EAAE,EAAE,CAC7B,IAAI,CACF,MAAM;IACJ,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAC/C,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAC5F,CACF,CAAC;AACJ,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC;KACzB,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC;KACvC,MAAM,CAAC,CAAC,IAAY,EAAE,IAAI,EAAE,EAAE,CAC7B,IAAI,CACF,MAAM;IACJ,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,sBAAsB,CAAC;IAClD,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAC/F,CACF,CAAC;AACJ,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CACvB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAC3G,CAAC;AACJ,KAAK;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,cAAc,CAAC;KAC3B,MAAM,CAAC,GAAG,EAAE,CACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAC3F,CAAC;AAEJ,yBAAyB;AACzB,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;KAC/D,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;KAClD,MAAM,CAAC,oBAAoB,EAAE,WAAW,CAAC;KACzC,MAAM,CAAC,CAAC,CAAS,EAAE,IAAI,EAAE,EAAE;IAC1B,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;YACtB,OAAO,IAAI,CACT,OAAO,CAAC,MAAM,CACZ,IAAI,KAAK,CACP,uEAAuE,CACxE,CACF,CACF,CAAC;QACJ,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,IAAI,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;YAC1B,OAAO,IAAI,CACT,OAAO,CAAC,MAAM,CACZ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CACrE,CACF,CAAC;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,MAAM;YACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAChF,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -30,6 +30,12 @@ export function loadPlatformConfig(e, opts) {
30
30
  region: env(e, "AWS_REGION") || "us-east-1",
31
31
  },
32
32
  resend: { apiKey: env(e, "RESEND_API_KEY") },
33
+ media: {
34
+ kunavoApiKey: env(e, "KUNAVO_API_KEY"),
35
+ openaiApiKey: env(e, "OPENAI_API_KEY"),
36
+ googleApiKey: env(e, "GEMINI_API_KEY") || env(e, "GOOGLE_API_KEY"),
37
+ sunoApiKey: env(e, "SUNO_API_KEY"),
38
+ },
33
39
  billing: { markupPct: markupRaw ? Number(markupRaw) : 0.2 },
34
40
  workspaceDir: env(e, "WORKSPACE_DIR") || opts?.defaultWorkspaceDir || "workspace",
35
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,7 @@ export async function addressContext(ctx, address) {
72
72
  if (!address) {
73
73
  const all = await ctx.store.listAddresses(ctx.tenantId);
74
74
  if (!all.length)
75
- return "(还没有地址。用 `clize email address add <addr> --tag 客服 --knowledge ./docs` 加一个。)";
75
+ return "(还没有地址。托管:`clize claim <slug>` 自带 hi@ 收信;自定义域:`clize email address add <addr> --tag 客服 --knowledge ./docs`。)";
76
76
  return [
77
77
  "# 本项目的地址",
78
78
  ...all.map((a) => `- ${a.address}${a.tag ? ` [${a.tag}]` : ""}`),
@@ -1 +1 @@
1
- {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../src/core/addresses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../src/core/addresses.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,10 @@ export function chargedAmount(ctx, costUsd) {
6
6
  export async function balance(ctx) {
7
7
  const bal = await ctx.store.getBalanceUsd(ctx.tenantId);
8
8
  const ledger = await ctx.store.listLedger(ctx.tenantId, 20);
9
+ // 注意:绝不返回 markupPct / 成本 —— 那是内部毛利,不给用户看。只给余额 + 流水。
9
10
  return {
10
11
  balanceUsd: bal ?? 0,
11
12
  billing: bal === null ? "本地模式:无 clize 余额(费用走你自己的 Cloudflare)" : "active",
12
- markupPct: ctx.platform.billing.markupPct,
13
13
  ledger,
14
14
  };
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/core/billing.ts"],"names":[],"mappings":"AAOA,0CAA0C;AAC1C,MAAM,UAAU,aAAa,CAAC,GAAY,EAAE,OAAe;IACzD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAChF,CAAC;AAED,6BAA6B;AAC7B,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAY;IACxC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5D,OAAO;QACL,UAAU,EAAE,GAAG,IAAI,CAAC;QACpB,OAAO,EACL,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,QAAQ;QACjE,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS;QACzC,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/core/billing.ts"],"names":[],"mappings":"AAOA,0CAA0C;AAC1C,MAAM,UAAU,aAAa,CAAC,GAAY,EAAE,OAAe;IACzD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAChF,CAAC;AAED,6BAA6B;AAC7B,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAY;IACxC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5D,oDAAoD;IACpD,OAAO;QACL,UAAU,EAAE,GAAG,IAAI,CAAC;QACpB,OAAO,EACL,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,QAAQ;QACjE,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -262,12 +262,48 @@ export async function setAutoRenew(ctx, domain, enabled) {
262
262
  export function listRegistered(ctx) {
263
263
  return ctx.providers.registrar.listRegistered();
264
264
  }
265
- /** 资产健康:工作空间总览 + 注册商处真实到期列表(防过期)。`status --assets` 用。 */
265
+ /** 资产健康:工作空间总览 + 注册商处真实到期列表(防过期)+ 生成式媒体资产。`status --assets` 用。 */
266
266
  export async function assetsHealth(ctx) {
267
- const [overview, registered] = await Promise.all([
267
+ const [overview, registered, gen] = await Promise.all([
268
268
  workspaceStatus(ctx),
269
269
  listRegistered(ctx).catch(() => []),
270
+ genAssetsHealth(ctx),
270
271
  ]);
271
- return { ...overview, registered };
272
+ return { ...overview, registered, gen };
273
+ }
274
+ /** 生成式媒体资产健康:数量 / 存储占用 / 按模态 / 预批额度 / 最近几条(与域名 / 邮箱并列)。 */
275
+ async function genAssetsHealth(ctx) {
276
+ const jobs = await ctx.store.listJobs(ctx.tenantId).catch(() => []);
277
+ const budget = await ctx.store.getGenBudget(ctx.tenantId).catch(() => undefined);
278
+ const storageBytes = jobs.reduce((n, j) => n + (j.files ?? []).reduce((m, f) => m + (f.bytes ?? 0), 0), 0);
279
+ const byModality = {};
280
+ for (const j of jobs)
281
+ byModality[j.modality] = (byModality[j.modality] ?? 0) + 1;
282
+ return {
283
+ assetCount: jobs.length,
284
+ storage: humanBytes(storageBytes),
285
+ byModality,
286
+ budget: budget
287
+ ? {
288
+ capUsd: budget.capUsd,
289
+ spentUsd: Math.round(budget.spentUsd * 100) / 100,
290
+ remainingUsd: Math.round(Math.max(0, budget.capUsd - budget.spentUsd) * 100) / 100,
291
+ }
292
+ : null,
293
+ recent: jobs.slice(0, 5).map((j) => ({
294
+ id: j.id,
295
+ modality: j.modality,
296
+ model: j.model,
297
+ files: (j.files ?? []).map((f) => f.path ?? f.url),
298
+ createdAt: j.createdAt,
299
+ })),
300
+ };
301
+ }
302
+ function humanBytes(n) {
303
+ if (n < 1024)
304
+ return `${n} B`;
305
+ if (n < 1024 * 1024)
306
+ return `${(n / 1024).toFixed(1)} KB`;
307
+ return `${(n / (1024 * 1024)).toFixed(1)} MB`;
272
308
  }
273
309
  //# sourceMappingURL=domains.js.map