@vcp-dev/contracts 0.6.11 → 0.7.1

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 (71) hide show
  1. package/README.md +5 -4
  2. package/dist/business-facts.d.ts +23 -0
  3. package/dist/cms-page-directory.d.ts +40 -4
  4. package/dist/colorway-distinctness.js +1 -1
  5. package/dist/connect-dynamic-collection.d.ts +6 -6
  6. package/dist/connect-form.d.ts +6 -6
  7. package/dist/conversion-hints.d.ts +38 -0
  8. package/dist/crawler-task-service.d.ts +244 -2
  9. package/dist/custom-domain.d.ts +119 -239
  10. package/dist/customer-materials.d.ts +5 -5
  11. package/dist/deployment-lifecycle.d.ts +45 -0
  12. package/dist/design-tokens.d.ts +1 -0
  13. package/dist/design-tokens.js +1 -1
  14. package/dist/e2b-preview-proxy.d.ts +5 -0
  15. package/dist/external-site-edit.d.ts +9 -0
  16. package/dist/firecrawl-internal.d.ts +19 -0
  17. package/dist/font-catalog.d.ts +5 -2
  18. package/dist/form-design.d.ts +54 -12
  19. package/dist/google-search-console.d.ts +1 -0
  20. package/dist/index.d.ts +3129 -818
  21. package/dist/index.js +1 -1
  22. package/dist/industry-classification.d.ts +43 -0
  23. package/dist/input-context-bundle.d.ts +10 -0
  24. package/dist/internal-entity-id.d.ts +1 -0
  25. package/dist/knowledge-category.d.ts +20 -0
  26. package/dist/knowledge-source-readiness.d.ts +94 -0
  27. package/dist/launcher-prompt-templates.d.ts +117 -14
  28. package/dist/migration-products.d.ts +45 -0
  29. package/dist/page-slug.d.ts +2 -0
  30. package/dist/page-template.d.ts +95 -0
  31. package/dist/site-build.d.ts +564 -0
  32. package/dist/site-design-presets.d.ts +20 -0
  33. package/dist/site-edit-capability.d.ts +13 -1
  34. package/dist/site-edit-class-name-source.d.ts +40 -8
  35. package/dist/site-edit-command-result.d.ts +15 -4
  36. package/dist/site-edit-composition.d.ts +13 -0
  37. package/dist/site-edit-event.d.ts +68 -14
  38. package/dist/site-edit-history-status.d.ts +193 -0
  39. package/dist/site-edit-operation.d.ts +152 -51
  40. package/dist/site-edit-page-composition.d.ts +101 -22
  41. package/dist/site-edit-patch-plan.d.ts +49 -3
  42. package/dist/site-edit-render-document.d.ts +54 -8
  43. package/dist/site-edit-session.d.ts +5 -2
  44. package/dist/site-edit-source.d.ts +60 -11
  45. package/dist/site-edit-version.d.ts +1 -1
  46. package/dist/site-extra-requirement.d.ts +39 -0
  47. package/dist/site-locale.d.ts +20 -0
  48. package/dist/site-localization-fields.d.ts +196 -0
  49. package/dist/site-localization-scope.d.ts +95 -0
  50. package/dist/site-preview.d.ts +15 -0
  51. package/dist/site-publish-domain.d.ts +680 -0
  52. package/dist/site-publish-workflow.d.ts +612 -0
  53. package/dist/site-workflow-completions.d.ts +163 -0
  54. package/dist/site-workflow.d.ts +231 -211
  55. package/dist/sitemap-navigation.d.ts +4 -1
  56. package/dist/step2-page-selection.d.ts +88 -0
  57. package/dist/step2-site-initialization.d.ts +321 -30
  58. package/dist/step3-digital-employee-analysis.d.ts +177 -211
  59. package/dist/step4-diagnosis.d.ts +72 -4
  60. package/dist/step5-strategy.d.ts +5901 -172
  61. package/dist/step6-design.d.ts +779 -464
  62. package/dist/subsite-localization-input.d.ts +121 -0
  63. package/dist/subsite-mount-path.d.ts +23 -0
  64. package/dist/subsite-sync-diff.d.ts +76 -0
  65. package/dist/subsite-visible-text-export.d.ts +34 -0
  66. package/dist/template-upgrade-observability.d.ts +2 -2
  67. package/dist/theme-presets.d.ts +56 -1
  68. package/dist/workspace-design-apply.d.ts +5 -0
  69. package/dist/workspace-resource-operation.d.ts +58 -24
  70. package/package.json +1 -1
  71. package/dist/publish-quality.d.ts +0 -92
package/README.md CHANGED
@@ -31,11 +31,12 @@ import {
31
31
 
32
32
  const request: SiteEditOperationRequest = SiteEditOperationRequestSchema.parse({
33
33
  id: "op_123",
34
- siteId: "site_123",
35
- baseSnapshotId: "snapshot_123",
34
+ siteId: "018f6f4d-a9b8-7401-8401-0123456789ab",
35
+ baseSnapshotId: "018f6f4d-a9b8-7402-8402-0123456789ab",
36
36
  kind: "update-text",
37
- target: { kind: "object", key: "hero-title" },
38
- payload: { text: "Hello VCP" },
37
+ target: { kind: "node", key: "hero-title" },
38
+ documentVersion: 3,
39
+ params: { kind: "update-text", segmentIndex: 0, value: "Hello VCP" },
39
40
  });
40
41
  ```
41
42
 
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * 用户在建站之前已经确认过的业务事实。
4
+ *
5
+ * 两条流都填这一个形状:
6
+ * - 有原站流:Step2 冻结结果里的主营产品、现有市场、资质;
7
+ * - 无原站流:客户资料表里的对应字段。
8
+ *
9
+ * 刻意只放中立短文本,三条硬边界:
10
+ * - **不含公司名**。站点名单独走现有的权威段落,两处同义但可能不同的值会打架。
11
+ * - **不含网址、不含证据数组**。那会把原站原文和链接带进提示词。
12
+ * - **不含行业码**。行业先验是另一条独立的判定链路,不从这里读。
13
+ *
14
+ * 全部可选:任一侧读不到就整个字段不注入,按原请求体转发,提示词与今天一致。
15
+ */
16
+ export declare const BusinessFactsSchema: z.ZodObject<{
17
+ primary_products: z.ZodOptional<z.ZodString>;
18
+ current_markets: z.ZodOptional<z.ZodString>;
19
+ qualifications: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$strict>;
21
+ export type BusinessFacts = z.infer<typeof BusinessFactsSchema>;
22
+ /** 一条都没有的业务事实等于没有,调用方据此整个不注入。 */
23
+ export declare function hasAnyBusinessFact(facts: BusinessFacts): boolean;
@@ -1,9 +1,26 @@
1
1
  import { z } from "zod";
2
2
  export declare const HOME_PAGE_URL_PATH = "/";
3
+ export declare const CMS_PAGE_URL_PATH_MAX_LENGTH = 255;
4
+ export declare const CMS_PAGE_DIRECTORY_MAX_NODES = 5000;
5
+ export declare const CMS_PAGE_DIRECTORY_MAX_DEPTH = 64;
6
+ /** CMS-managed, browser-safe site-relative identity. */
7
+ export declare const CmsPageUrlPathSchema: z.ZodString;
8
+ export declare const CmsManagedPageTypeSchema: z.ZodEnum<{
9
+ landing_page: "landing_page";
10
+ general_page: "general_page";
11
+ detail_page: "detail_page";
12
+ }>;
13
+ export type CmsManagedPageType = z.infer<typeof CmsManagedPageTypeSchema>;
3
14
  export declare const CmsPageTypeSchema: z.ZodEnum<{
4
15
  landing_page: "landing_page";
5
16
  general_page: "general_page";
6
17
  detail_page: "detail_page";
18
+ list_page: "list_page";
19
+ category_page: "category_page";
20
+ tag_page: "tag_page";
21
+ author_page: "author_page";
22
+ search_page: "search_page";
23
+ date_page: "date_page";
7
24
  }>;
8
25
  export type CmsPageType = z.infer<typeof CmsPageTypeSchema>;
9
26
  export interface CmsPageDirectoryNode {
@@ -33,12 +50,16 @@ export type CmsPageDirectory = z.infer<typeof CmsPageDirectorySchema>;
33
50
  /** 将 CMS 当前页面目录响应归一化为 VCP 内部目录模型。 */
34
51
  export declare function parseCmsPageDirectory(input: unknown): CmsPageDirectory | null;
35
52
  export declare const DesignerPageDisabledReasonSchema: z.ZodEnum<{
53
+ invalid_url_path: "invalid_url_path";
36
54
  missing_url: "missing_url";
37
55
  not_vcp_managed: "not_vcp_managed";
56
+ unsupported_page_type: "unsupported_page_type";
38
57
  }>;
39
58
  export type DesignerPageDisabledReason = z.infer<typeof DesignerPageDisabledReasonSchema>;
40
59
  export declare const DesignerPageDeleteBlockReasonSchema: z.ZodEnum<{
60
+ invalid_url_path: "invalid_url_path";
41
61
  not_vcp_managed: "not_vcp_managed";
62
+ unsupported_page_type: "unsupported_page_type";
42
63
  home_page: "home_page";
43
64
  not_selectable: "not_selectable";
44
65
  page_has_children: "page_has_children";
@@ -115,8 +136,8 @@ export declare const DeleteDesignerPageResultSchema: z.ZodObject<{
115
136
  updated_files: z.ZodArray<z.ZodString>;
116
137
  preserved_shared_files: z.ZodArray<z.ZodString>;
117
138
  warnings: z.ZodArray<z.ZodString>;
118
- next_url: z.ZodNullable<z.ZodURL>;
119
- previous_url: z.ZodNullable<z.ZodURL>;
139
+ next_url: z.ZodNullable<z.ZodUnion<readonly [z.ZodURL, z.ZodString]>>;
140
+ previous_url: z.ZodNullable<z.ZodUnion<readonly [z.ZodURL, z.ZodString]>>;
120
141
  cms_reconcile_result: z.ZodObject<{
121
142
  status: z.ZodEnum<{
122
143
  failed: "failed";
@@ -149,8 +170,8 @@ export declare const DeleteDesignerPageResponseSchema: z.ZodObject<{
149
170
  updated_files: z.ZodArray<z.ZodString>;
150
171
  preserved_shared_files: z.ZodArray<z.ZodString>;
151
172
  warnings: z.ZodArray<z.ZodString>;
152
- next_url: z.ZodNullable<z.ZodURL>;
153
- previous_url: z.ZodNullable<z.ZodURL>;
173
+ next_url: z.ZodNullable<z.ZodUnion<readonly [z.ZodURL, z.ZodString]>>;
174
+ previous_url: z.ZodNullable<z.ZodUnion<readonly [z.ZodURL, z.ZodString]>>;
154
175
  cms_reconcile_result: z.ZodObject<{
155
176
  status: z.ZodEnum<{
156
177
  failed: "failed";
@@ -202,6 +223,7 @@ export declare const DeleteDesignerPageErrorDetailsSchema: z.ZodObject<{
202
223
  }, z.core.$strict>;
203
224
  export type DeleteDesignerPageErrorDetails = z.infer<typeof DeleteDesignerPageErrorDetailsSchema>;
204
225
  export declare const PageTargetKindSchema: z.ZodEnum<{
226
+ landing_page: "landing_page";
205
227
  general_page: "general_page";
206
228
  detail_page: "detail_page";
207
229
  }>;
@@ -209,6 +231,7 @@ export declare const PageTargetSchema: z.ZodObject<{
209
231
  url_path: z.ZodString;
210
232
  title: z.ZodString;
211
233
  kind: z.ZodEnum<{
234
+ landing_page: "landing_page";
212
235
  general_page: "general_page";
213
236
  detail_page: "detail_page";
214
237
  }>;
@@ -222,6 +245,7 @@ export declare const PageTargetSetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
222
245
  url_path: z.ZodString;
223
246
  title: z.ZodString;
224
247
  kind: z.ZodEnum<{
248
+ landing_page: "landing_page";
225
249
  general_page: "general_page";
226
250
  detail_page: "detail_page";
227
251
  }>;
@@ -234,6 +258,7 @@ export declare const PageTargetSetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
234
258
  url_path: z.ZodString;
235
259
  title: z.ZodString;
236
260
  kind: z.ZodEnum<{
261
+ landing_page: "landing_page";
237
262
  general_page: "general_page";
238
263
  detail_page: "detail_page";
239
264
  }>;
@@ -243,3 +268,14 @@ export declare const PageTargetSetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
243
268
  errors: z.ZodArray<z.ZodString>;
244
269
  }, z.core.$strict>], "complete">;
245
270
  export type PageTargetSet = z.infer<typeof PageTargetSetSchema>;
271
+ export declare const PageTargetProjectionHashSchema: z.ZodString;
272
+ export type PageTargetProjectionHash = z.infer<typeof PageTargetProjectionHashSchema>;
273
+ export declare const PageDirectoryReconcileStateSchema: z.ZodObject<{
274
+ projection_hash: z.ZodNullable<z.ZodString>;
275
+ }, z.core.$strict>;
276
+ export type PageDirectoryReconcileState = z.infer<typeof PageDirectoryReconcileStateSchema>;
277
+ export declare const UpdatePageDirectoryReconcileStateRequestSchema: z.ZodObject<{
278
+ expected_projection_hash: z.ZodNullable<z.ZodString>;
279
+ projection_hash: z.ZodString;
280
+ }, z.core.$strict>;
281
+ export type UpdatePageDirectoryReconcileStateRequest = z.infer<typeof UpdatePageDirectoryReconcileStateRequestSchema>;
@@ -1 +1 @@
1
- import{converter as re,differenceCiede2000 as ne}from"culori";import{converter as K,parse as k,wcagContrast as b}from"culori";var p=K("oklch"),A=4.5,e={paper:"oklch(0.92 0.008 250)",cream:"oklch(0.90 0.035 85)",sand:"oklch(0.75 0.05 78)",stone:"oklch(0.60 0.02 75)",ash:"oklch(0.60 0.012 250)",slate:"oklch(0.45 0.025 250)",charcoal:"oklch(0.30 0.015 255)",ink:"oklch(0.25 0.04 260)",sky:"oklch(0.72 0.12 230)",blue:"oklch(0.58 0.17 250)","medical blue":"oklch(0.58 0.12 235)",indigo:"oklch(0.50 0.18 280)",navy:"oklch(0.40 0.10 258)",ocean:"oklch(0.55 0.13 220)","slate blue":"oklch(0.46 0.06 245)",teal:"oklch(0.60 0.12 195)","soft aqua":"oklch(0.78 0.07 190)",mint:"oklch(0.78 0.10 165)",sage:"oklch(0.65 0.05 145)",green:"oklch(0.58 0.15 145)","clinical green":"oklch(0.62 0.12 155)",emerald:"oklch(0.60 0.16 155)",forest:"oklch(0.45 0.10 145)",olive:"oklch(0.58 0.08 115)",lime:"oklch(0.72 0.17 130)",yellow:"oklch(0.82 0.15 100)",gold:"oklch(0.72 0.14 85)",amber:"oklch(0.70 0.16 70)",orange:"oklch(0.66 0.18 55)",coral:"oklch(0.68 0.16 32)",terracotta:"oklch(0.55 0.12 42)",rust:"oklch(0.50 0.13 38)",brown:"oklch(0.45 0.07 55)",rose:"oklch(0.65 0.16 18)",red:"oklch(0.58 0.20 25)",crimson:"oklch(0.52 0.20 22)",wine:"oklch(0.42 0.13 18)",pink:"oklch(0.72 0.14 0)",magenta:"oklch(0.60 0.22 345)",lavender:"oklch(0.72 0.08 295)",violet:"oklch(0.58 0.19 295)",purple:"oklch(0.52 0.19 305)",plum:"oklch(0.45 0.13 325)",electric:"oklch(0.62 0.23 285)","clean white":"oklch(0.97 0.01 245)","cool gray":"oklch(0.62 0.02 245)",zinc:"oklch(0.60 0.012 250)",gray:"oklch(0.60 0.012 250)",grey:"oklch(0.60 0.012 250)",neutral:"oklch(0.60 0.005 250)",gunmetal:"oklch(0.30 0.015 255)"},q={\u84DD:e.blue,\u84DD\u8272:e.blue,\u5929\u84DD:e.sky,\u5929\u84DD\u8272:e.sky,\u6D45\u84DD:e.sky,\u6E56\u84DD:e.ocean,\u6D77\u84DD:e.ocean,\u6DF1\u84DD:e.navy,\u85CF\u84DD:e.navy,\u85CF\u9752:e.navy,\u6D77\u519B\u84DD:e.navy,\u6DF1\u6D77\u519B\u84DD:e.navy,\u5348\u591C\u84DD:e.navy,\u975B\u84DD:e.indigo,\u975B\u9752:e.indigo,\u94A2\u84DD:e["slate blue"],\u9752:e.teal,\u9752\u8272:e.teal,\u84DD\u7EFF:e.teal,\u7EFF:e.green,\u7EFF\u8272:e.green,\u6D45\u7EFF:e.mint,\u8584\u8377\u7EFF:e.mint,\u8349\u7EFF:e.lime,\u6A44\u6984\u7EFF:e.olive,\u58A8\u7EFF:e.forest,\u6DF1\u7EFF:e.forest,\u68EE\u6797\u7EFF:e.forest,\u7FE0\u7EFF:e.emerald,\u7956\u6BCD\u7EFF:e.emerald,\u9EC4:e.yellow,\u9EC4\u8272:e.yellow,\u91D1:e.gold,\u91D1\u8272:e.gold,\u91D1\u9EC4:e.gold,\u7425\u73C0:e.amber,\u7425\u73C0\u8272:e.amber,\u6A59:e.orange,\u6A59\u8272:e.orange,\u6A58\u8272:e.orange,\u6A58\u9EC4:e.orange,\u6D3B\u529B\u6A59:e.orange,\u6696\u6A59:e.orange,\u73CA\u745A:e.coral,\u73CA\u745A\u6A59:e.coral,\u9676\u571F:e.terracotta,\u8D64\u9676:e.terracotta,\u9508\u7EA2:e.rust,\u68D5:e.brown,\u68D5\u8272:e.brown,\u8910\u8272:e.brown,\u5496\u5561\u8272:e.brown,\u7EA2:e.red,\u7EA2\u8272:e.red,\u6731\u7EA2:e.red,\u7EEF\u7EA2:e.crimson,\u6DF1\u7EA2:e.crimson,\u9152\u7EA2:e.wine,\u73AB\u7470:e.rose,\u73AB\u7EA2:e.rose,\u7C89:e.pink,\u7C89\u8272:e.pink,\u7C89\u7EA2:e.pink,\u6D0B\u7EA2:e.magenta,\u54C1\u7EA2:e.magenta,\u7D2B:e.purple,\u7D2B\u8272:e.purple,\u6DE1\u7D2B:e.lavender,\u85B0\u8863\u8349:e.lavender,\u7D2B\u7F57\u5170:e.violet,\u6885\u7EA2:e.plum,\u7070:e.gray,\u7070\u8272:e.gray,\u6D45\u7070:e.gray,\u6DE1\u7070:e.gray,\u51B7\u7070:e["cool gray"],\u51B7\u7070\u767D:e["cool gray"],\u6696\u7070:e.stone,\u6DF1\u7070:e.slate,\u77F3\u58A8\u7070:e.slate,\u77F3\u677F\u7070:e.slate,\u70AD\u7070:e.charcoal,\u70AD\u9ED1:e.charcoal,\u58A8:e.ink,\u58A8\u8272:e.ink,\u9ED1:e.ink,\u9ED1\u8272:e.ink,\u767D:e["clean white"],\u767D\u8272:e["clean white"],\u7C73\u767D:e.cream,\u7C73\u8272:e.cream,\u8C61\u7259\u767D:e.cream,\u5976\u6CB9\u767D:e.cream,\u6C99\u8272:e.sand},_={...e,...q};function F(t){let o=t.colorSeeds??{primary:"slate",accent:"blue",neutral:"zinc"},r=t.surfaceMode,n=v(o.primary||"slate"),c=s(n),l=s(v(o.accent||"blue")),h=o.neutral?v(o.neutral):Q(n),i=u(h.h),d,a,f,g,S,w;r==="dark"?(d=s({mode:"oklch",l:.14,c:.03,h:i}),a=s({mode:"oklch",l:.95,c:.02,h:i}),f=s({mode:"oklch",l:.2,c:.04,h:i}),g=s({mode:"oklch",l:.29,c:.05,h:i}),S=s({mode:"oklch",l:.78,c:.02,h:i}),w=s({mode:"oklch",l:.35,c:.06,h:i})):(d=s({mode:"oklch",l:.98,c:.01,h:i}),a=s({mode:"oklch",l:.2,c:.02,h:i}),f=s({mode:"oklch",l:.96,c:.015,h:i}),g=s({mode:"oklch",l:.92,c:.02,h:i}),S=s({mode:"oklch",l:.43,c:.02,h:i}),w=s({mode:"oklch",l:.84,c:.025,h:i}));let m=t.imagePalette;if(m){let M=typeof m.background=="string"&&E(m.background),x=M&&te(m.background,r);M&&x&&(d=s(v(m.background))),x&&typeof m.card=="string"&&E(m.card)&&(f=s(v(m.card))),x&&typeof m.muted=="string"&&E(m.muted)&&(g=s(v(m.muted))),typeof m.foreground=="string"&&E(m.foreground)?a=ee(s(v(m.foreground)),d,A):M&&x&&(a=y(d)),typeof m.border=="string"&&E(m.border)&&(w=oe(s(v(m.border)),d))}let I=r!=="dark",B={"--background":d,"--foreground":a,"--card":f,"--card-foreground":a,"--muted":g,"--muted-foreground":S,"--border":w,"--input":w,"--ring":l,"--primary":c,"--primary-foreground":y(c),"--primary-hover":O(c,I),"--accent":l,"--accent-foreground":y(l),"--accent-ink":C(l,d),"--accent-subtle":Y(l,I),"--accent-hover":O(l,I),"--overlay-on-dark":s({mode:"oklch",l:.96,c:.02,h:i}),"--overlay-on-light":s({mode:"oklch",l:.2,c:.02,h:i})},P=a,H=y(a),G=D(a,i),$=C(l,a),V=p(k(c)??c),z=u(V?.h),U=D(c,z),j=C(l,c);return J({...B,...{"--surface-inverse":P,"--surface-inverse-foreground":H,"--surface-inverse-muted":G,"--surface-inverse-accent-ink":$,"--surface-primary-muted":U,"--surface-primary-accent-ink":j}},o)}function J(t,o){let r=s({mode:"oklch",l:.58,c:.22,h:28}),n=s({mode:"oklch",l:.6,c:.14,h:150}),c=s({mode:"oklch",l:.75,c:.15,h:75}),l={...t,"--popover":"var(--card)","--popover-foreground":"var(--card-foreground)","--secondary":"var(--muted)","--secondary-foreground":"var(--foreground)","--destructive":r,"--destructive-foreground":y(r),"--success":n,"--success-foreground":y(n),"--warning":c,"--warning-foreground":y(c)},[h,i]=W(o,l);return l["--supporting-0"]=h,l["--supporting-1"]=i,Z(l["--accent"]).forEach((a,f)=>{l[`--chart-${f+1}`]=a}),l}function W(t,o){let c=(t.supporting??[]).filter(h=>!!(h&&h.trim())).slice(0,2).map(h=>s(v(h))),l=[o["--primary"],o["--accent"]];for(;c.length<2;)c.push(l[c.length]);return[c[0],c[1]]}function E(t){let o=(t??"").trim();if(!o||o.startsWith("#")&&!/^#[0-9A-Fa-f]{3,8}$/.test(o))return!1;let r=_[o.toLowerCase()]??o;return!!k(r)}function v(t,o="paper"){let r=(t??"").trim();if(!r)return v(o);let n=_[r.toLowerCase()]??r,c=k(n);if(c){let l=p(c);if(l)return l}return X(r)}function X(t){let o=2166136261,r=t.toLowerCase();for(let h=0;h<r.length;h++)o^=r.charCodeAt(h),o=Math.imul(o,16777619)>>>0;let n=o%360,c=.08+(o>>>9)%9/100;return{mode:"oklch",l:.52+(o>>>18)%16/100,c,h:n}}function Q(t){return{mode:"oklch",l:.6,c:.02,h:u(t.h)}}function O(t,o){let r=p(k(t)??t);if(!r)return t;let n=o?-.06:.06,c=Math.max(.06,Math.min(.97,u(r.l)+n));return s({mode:"oklch",l:c,c:u(r.c),h:u(r.h)})}function Y(t,o){let r=p(k(t)??t),n=u(r?.h),c=Math.min(u(r?.c),o?.05:.06);return s({mode:"oklch",l:o?.95:.24,c,h:n})}function Z(t){let o=p(k(t)??t),r=u(o?.h),n=Math.max(.12,Math.min(u(o?.c),.16));return[0,72,144,216,288].map(c=>s({mode:"oklch",l:.62,c:n,h:(r+c)%360}))}function y(t){let o=k(t),r=o?p(o):void 0,n=u(r?.h),c={mode:"oklch",l:.99,c:.01,h:n},l={mode:"oklch",l:.18,c:.02,h:n},h=b(o??t,c),i=b(o??t,l);return s(h>=i?c:l)}function ee(t,o,r){let n=p(k(t)??t);if(!n)return y(o);if(b(t,o)>=r)return s(n);let c=p(k(o)??o),h=(c?u(c.l)>=.5:!0)?-.02:.02,i=u(n.l),d=u(n.c),a=u(n.h);for(let f=1;f<=50;f++){let g=i+h*f;if(g<=0||g>=1)break;let S={mode:"oklch",l:g,c:d,h:a};if(b(S,o)>=r)return s(S)}return y(o)}var L=1.3;function oe(t,o){let r=p(k(t)??t);if(!r)return t;if(b(t,o)>=L)return s(r);let n=p(k(o)??o),l=(n?u(n.l)>=.5:!0)?-.03:.03,h=u(r.l),i=u(r.c),d=u(r.h);for(let a=1;a<=40;a++){let f=h+l*a;if(f<=0||f>=1)break;let g={mode:"oklch",l:f,c:i,h:d};if(b(g,o)>=L)return s(g)}return t}function te(t,o){let r=p(k(t)??t);if(!r)return!1;let n=u(r.l)>=.5;return o==="dark"?!n:n}function C(t,o){let r=p(k(t)??t);if(!r)return t;let n=u(r.h),c=u(r.c),l=u(r.l),h=p(k(o)??o),d=(h?u(h.l)>=.5:!0)?-.02:.02;for(let a=0;a<=50;a++){let f=l+d*a;if(f<=0||f>=1)break;let g={mode:"oklch",l:f,c,h:n};if(b(g,o)>=A)return s(g)}return y(o)}function D(t,o){let r=p(k(t)??t),c=(r?u(r.l):.5)>=.5,l=c?.75:.35,h=c?-.02:.02;for(let i=0;i<=50;i++){let d=l+h*i;if(d<=0||d>=1)break;let a={mode:"oklch",l:d,c:.02,h:o};if(b(a,t)>=A)return s(a)}return y(t)}function u(t){return typeof t=="number"&&Number.isFinite(t)?t:0}function s(t){let o=u(t.l),r=u(t.c),n=u(t.h);return`oklch(${o.toFixed(2)} ${r.toFixed(2)} ${n.toFixed(2)})`}var ce=10,T=25,le=re("oklch"),ae=ne();function se(t){return typeof t.colorSeeds?.primary=="string"&&t.colorSeeds.primary.trim().length>0}function N(t){let o=le(t);return o&&typeof o.h=="number"?o.h:void 0}function R(t){let o=0;for(let r=0;r<t.length;r+=1)for(let n=r+1;n<t.length;n+=1){let c=t[r],l=t[n];if(c===void 0||l===void 0)continue;let h=Math.abs(c-l)%360,i=h>180?360-h:h;i>o&&(o=i)}return o}function ie(t){let o=0,r=1/0;for(let n=0;n<t.length;n+=1)for(let c=n+1;c<t.length;c+=1){let l=ae(t[n],t[c]);l>o&&(o=l),l<r&&(r=l)}return{max:o,min:r===1/0?0:r}}function ke(t){let o=t.filter(se);if(o.length<2)return{minBackgroundDeltaE:null,tooSimilar:!1,insufficient:!0};let r=o.map(a=>a.surfaceMode??"light"),n=o.map((a,f)=>F({colorSeeds:a.colorSeeds,surfaceMode:r[f]})),c=ie(n.map(a=>a["--background"])),l=R(n.map(a=>N(a["--primary"]))),h=R(n.map(a=>N(a["--accent"]))),d=!(new Set(r).size===1)||c.max>=ce||l>=T||h>=T;return{minBackgroundDeltaE:c.min,tooSimilar:!d,insufficient:!1}}export{ke as measureColorwayDistinctness};
1
+ import{converter as re,differenceCiede2000 as ne}from"culori";import{converter as q,parse as k,wcagContrast as b}from"culori";var p=q("oklch"),I=4.5,e={paper:"oklch(0.92 0.008 250)",cream:"oklch(0.90 0.035 85)",sand:"oklch(0.75 0.05 78)",stone:"oklch(0.60 0.02 75)",ash:"oklch(0.60 0.012 250)",slate:"oklch(0.45 0.025 250)",charcoal:"oklch(0.30 0.015 255)",ink:"oklch(0.25 0.04 260)",sky:"oklch(0.72 0.12 230)",blue:"oklch(0.58 0.17 250)","medical blue":"oklch(0.58 0.12 235)",indigo:"oklch(0.50 0.18 280)",navy:"oklch(0.40 0.10 258)",ocean:"oklch(0.55 0.13 220)","slate blue":"oklch(0.46 0.06 245)",teal:"oklch(0.60 0.12 195)","soft aqua":"oklch(0.78 0.07 190)",mint:"oklch(0.78 0.10 165)",sage:"oklch(0.65 0.05 145)",green:"oklch(0.58 0.15 145)","clinical green":"oklch(0.62 0.12 155)",emerald:"oklch(0.60 0.16 155)",forest:"oklch(0.45 0.10 145)",olive:"oklch(0.58 0.08 115)",lime:"oklch(0.72 0.17 130)",yellow:"oklch(0.82 0.15 100)",gold:"oklch(0.72 0.14 85)",amber:"oklch(0.70 0.16 70)",orange:"oklch(0.66 0.18 55)",coral:"oklch(0.68 0.16 32)",terracotta:"oklch(0.55 0.12 42)",rust:"oklch(0.50 0.13 38)",brown:"oklch(0.45 0.07 55)",rose:"oklch(0.65 0.16 18)",red:"oklch(0.58 0.20 25)",crimson:"oklch(0.52 0.20 22)",wine:"oklch(0.42 0.13 18)",pink:"oklch(0.72 0.14 0)",magenta:"oklch(0.60 0.22 345)",lavender:"oklch(0.72 0.08 295)",violet:"oklch(0.58 0.19 295)",purple:"oklch(0.52 0.19 305)",plum:"oklch(0.45 0.13 325)",electric:"oklch(0.62 0.23 285)","clean white":"oklch(0.97 0.01 245)","cool gray":"oklch(0.62 0.02 245)",zinc:"oklch(0.60 0.012 250)",gray:"oklch(0.60 0.012 250)",grey:"oklch(0.60 0.012 250)",neutral:"oklch(0.60 0.005 250)",gunmetal:"oklch(0.30 0.015 255)"},J={\u84DD:e.blue,\u84DD\u8272:e.blue,\u5929\u84DD:e.sky,\u5929\u84DD\u8272:e.sky,\u6D45\u84DD:e.sky,\u6E56\u84DD:e.ocean,\u6D77\u84DD:e.ocean,\u6DF1\u84DD:e.navy,\u85CF\u84DD:e.navy,\u85CF\u9752:e.navy,\u6D77\u519B\u84DD:e.navy,\u6DF1\u6D77\u519B\u84DD:e.navy,\u5348\u591C\u84DD:e.navy,\u975B\u84DD:e.indigo,\u975B\u9752:e.indigo,\u94A2\u84DD:e["slate blue"],\u9752:e.teal,\u9752\u8272:e.teal,\u84DD\u7EFF:e.teal,\u7EFF:e.green,\u7EFF\u8272:e.green,\u6D45\u7EFF:e.mint,\u8584\u8377\u7EFF:e.mint,\u8349\u7EFF:e.lime,\u6A44\u6984\u7EFF:e.olive,\u58A8\u7EFF:e.forest,\u6DF1\u7EFF:e.forest,\u68EE\u6797\u7EFF:e.forest,\u7FE0\u7EFF:e.emerald,\u7956\u6BCD\u7EFF:e.emerald,\u9EC4:e.yellow,\u9EC4\u8272:e.yellow,\u91D1:e.gold,\u91D1\u8272:e.gold,\u91D1\u9EC4:e.gold,\u7425\u73C0:e.amber,\u7425\u73C0\u8272:e.amber,\u6A59:e.orange,\u6A59\u8272:e.orange,\u6A58\u8272:e.orange,\u6A58\u9EC4:e.orange,\u6D3B\u529B\u6A59:e.orange,\u6696\u6A59:e.orange,\u73CA\u745A:e.coral,\u73CA\u745A\u6A59:e.coral,\u9676\u571F:e.terracotta,\u8D64\u9676:e.terracotta,\u9508\u7EA2:e.rust,\u68D5:e.brown,\u68D5\u8272:e.brown,\u8910\u8272:e.brown,\u5496\u5561\u8272:e.brown,\u7EA2:e.red,\u7EA2\u8272:e.red,\u6731\u7EA2:e.red,\u7EEF\u7EA2:e.crimson,\u6DF1\u7EA2:e.crimson,\u9152\u7EA2:e.wine,\u73AB\u7470:e.rose,\u73AB\u7EA2:e.rose,\u7C89:e.pink,\u7C89\u8272:e.pink,\u7C89\u7EA2:e.pink,\u6D0B\u7EA2:e.magenta,\u54C1\u7EA2:e.magenta,\u7D2B:e.purple,\u7D2B\u8272:e.purple,\u6DE1\u7D2B:e.lavender,\u85B0\u8863\u8349:e.lavender,\u7D2B\u7F57\u5170:e.violet,\u6885\u7EA2:e.plum,\u7070:e.gray,\u7070\u8272:e.gray,\u6D45\u7070:e.gray,\u6DE1\u7070:e.gray,\u51B7\u7070:e["cool gray"],\u51B7\u7070\u767D:e["cool gray"],\u6696\u7070:e.stone,\u6DF1\u7070:e.slate,\u77F3\u58A8\u7070:e.slate,\u77F3\u677F\u7070:e.slate,\u70AD\u7070:e.charcoal,\u70AD\u9ED1:e.charcoal,\u58A8:e.ink,\u58A8\u8272:e.ink,\u9ED1:e.ink,\u9ED1\u8272:e.ink,\u767D:e["clean white"],\u767D\u8272:e["clean white"],\u7C73\u767D:e.cream,\u7C73\u8272:e.cream,\u8C61\u7259\u767D:e.cream,\u5976\u6CB9\u767D:e.cream,\u6C99\u8272:e.sand},F={...e,...J};function T(t){let o=t.colorSeeds??{primary:"slate",accent:"blue",neutral:"zinc"},r=t.surfaceMode,n=y(o.primary||"slate"),c=s(n),l=s(y(o.accent||"blue")),h=o.neutral?y(o.neutral):Y(n),i=u(h.h),d,a,f,g,S,E;r==="dark"?(d=s({mode:"oklch",l:.14,c:.03,h:i}),a=s({mode:"oklch",l:.95,c:.02,h:i}),f=s({mode:"oklch",l:.2,c:.04,h:i}),g=s({mode:"oklch",l:.29,c:.05,h:i}),S=s({mode:"oklch",l:.78,c:.02,h:i}),E=s({mode:"oklch",l:.35,c:.06,h:i})):(d=s({mode:"oklch",l:.98,c:.01,h:i}),a=s({mode:"oklch",l:.2,c:.02,h:i}),f=s({mode:"oklch",l:.96,c:.015,h:i}),g=s({mode:"oklch",l:.92,c:.02,h:i}),S=s({mode:"oklch",l:.43,c:.02,h:i}),E=s({mode:"oklch",l:.84,c:.025,h:i}));let m=t.imagePalette;if(m){let C=typeof m.background=="string"&&w(m.background),x=C&&te(m.background,r);C&&x&&(d=s(y(m.background))),x&&typeof m.card=="string"&&w(m.card)&&(f=s(y(m.card))),x&&typeof m.muted=="string"&&w(m.muted)&&(g=s(y(m.muted))),typeof m.foreground=="string"&&w(m.foreground)?a=L(s(y(m.foreground)),d,I):C&&x&&(a=v(d)),typeof m.border=="string"&&w(m.border)&&(E=oe(s(y(m.border)),d))}typeof o.foreground=="string"&&w(o.foreground)&&(a=L(s(y(o.foreground)),d,I));let M=r!=="dark",P={"--background":d,"--foreground":a,"--card":f,"--card-foreground":a,"--muted":g,"--muted-foreground":S,"--border":E,"--input":E,"--ring":l,"--primary":c,"--primary-foreground":v(c),"--primary-hover":O(c,M),"--accent":l,"--accent-foreground":v(l),"--accent-ink":A(l,d),"--accent-subtle":Z(l,M),"--accent-hover":O(l,M),"--overlay-on-dark":s({mode:"oklch",l:.96,c:.02,h:i}),"--overlay-on-light":s({mode:"oklch",l:.2,c:.02,h:i})},H=a,G=v(a),$=_(a,i),V=A(l,a),z=p(k(c)??c),U=u(z?.h),j=_(c,U),K=A(l,c);return W({...P,...{"--surface-inverse":H,"--surface-inverse-foreground":G,"--surface-inverse-muted":$,"--surface-inverse-accent-ink":V,"--surface-primary-muted":j,"--surface-primary-accent-ink":K}},o)}function W(t,o){let r=s({mode:"oklch",l:.58,c:.22,h:28}),n=s({mode:"oklch",l:.6,c:.14,h:150}),c=s({mode:"oklch",l:.75,c:.15,h:75}),l={...t,"--popover":"var(--card)","--popover-foreground":"var(--card-foreground)","--secondary":"var(--muted)","--secondary-foreground":"var(--foreground)","--destructive":r,"--destructive-foreground":v(r),"--success":n,"--success-foreground":v(n),"--warning":c,"--warning-foreground":v(c)},[h,i]=X(o,l);return l["--supporting-0"]=h,l["--supporting-1"]=i,ee(l["--accent"]).forEach((a,f)=>{l[`--chart-${f+1}`]=a}),l}function X(t,o){let c=(t.supporting??[]).filter(h=>!!(h&&h.trim())).slice(0,2).map(h=>s(y(h))),l=[o["--primary"],o["--accent"]];for(;c.length<2;)c.push(l[c.length]);return[c[0],c[1]]}function w(t){let o=(t??"").trim();if(!o||o.startsWith("#")&&!/^#[0-9A-Fa-f]{3,8}$/.test(o))return!1;let r=F[o.toLowerCase()]??o;return!!k(r)}function y(t,o="paper"){let r=(t??"").trim();if(!r)return y(o);let n=F[r.toLowerCase()]??r,c=k(n);if(c){let l=p(c);if(l)return l}return Q(r)}function Q(t){let o=2166136261,r=t.toLowerCase();for(let h=0;h<r.length;h++)o^=r.charCodeAt(h),o=Math.imul(o,16777619)>>>0;let n=o%360,c=.08+(o>>>9)%9/100;return{mode:"oklch",l:.52+(o>>>18)%16/100,c,h:n}}function Y(t){return{mode:"oklch",l:.6,c:.02,h:u(t.h)}}function O(t,o){let r=p(k(t)??t);if(!r)return t;let n=o?-.06:.06,c=Math.max(.06,Math.min(.97,u(r.l)+n));return s({mode:"oklch",l:c,c:u(r.c),h:u(r.h)})}function Z(t,o){let r=p(k(t)??t),n=u(r?.h),c=Math.min(u(r?.c),o?.05:.06);return s({mode:"oklch",l:o?.95:.24,c,h:n})}function ee(t){let o=p(k(t)??t),r=u(o?.h),n=Math.max(.12,Math.min(u(o?.c),.16));return[0,72,144,216,288].map(c=>s({mode:"oklch",l:.62,c:n,h:(r+c)%360}))}function v(t){let o=k(t),r=o?p(o):void 0,n=u(r?.h),c={mode:"oklch",l:.99,c:.01,h:n},l={mode:"oklch",l:.18,c:.02,h:n},h=b(o??t,c),i=b(o??t,l);return s(h>=i?c:l)}function L(t,o,r){let n=p(k(t)??t);if(!n)return v(o);if(b(t,o)>=r)return s(n);let c=p(k(o)??o),h=(c?u(c.l)>=.5:!0)?-.02:.02,i=u(n.l),d=u(n.c),a=u(n.h);for(let f=1;f<=50;f++){let g=i+h*f;if(g<=0||g>=1)break;let S={mode:"oklch",l:g,c:d,h:a};if(b(S,o)>=r)return s(S)}return v(o)}var D=1.3;function oe(t,o){let r=p(k(t)??t);if(!r)return t;if(b(t,o)>=D)return s(r);let n=p(k(o)??o),l=(n?u(n.l)>=.5:!0)?-.03:.03,h=u(r.l),i=u(r.c),d=u(r.h);for(let a=1;a<=40;a++){let f=h+l*a;if(f<=0||f>=1)break;let g={mode:"oklch",l:f,c:i,h:d};if(b(g,o)>=D)return s(g)}return t}function te(t,o){let r=p(k(t)??t);if(!r)return!1;let n=u(r.l)>=.5;return o==="dark"?!n:n}function A(t,o){let r=p(k(t)??t);if(!r)return t;let n=u(r.h),c=u(r.c),l=u(r.l),h=p(k(o)??o),d=(h?u(h.l)>=.5:!0)?-.02:.02;for(let a=0;a<=50;a++){let f=l+d*a;if(f<=0||f>=1)break;let g={mode:"oklch",l:f,c,h:n};if(b(g,o)>=I)return s(g)}return v(o)}function _(t,o){let r=p(k(t)??t),c=(r?u(r.l):.5)>=.5,l=c?.75:.35,h=c?-.02:.02;for(let i=0;i<=50;i++){let d=l+h*i;if(d<=0||d>=1)break;let a={mode:"oklch",l:d,c:.02,h:o};if(b(a,t)>=I)return s(a)}return v(t)}function u(t){return typeof t=="number"&&Number.isFinite(t)?t:0}function s(t){let o=u(t.l),r=u(t.c),n=u(t.h);return`oklch(${o.toFixed(2)} ${r.toFixed(2)} ${n.toFixed(2)})`}var ce=10,N=25,le=re("oklch"),ae=ne();function se(t){return typeof t.colorSeeds?.primary=="string"&&t.colorSeeds.primary.trim().length>0}function R(t){let o=le(t);return o&&typeof o.h=="number"?o.h:void 0}function B(t){let o=0;for(let r=0;r<t.length;r+=1)for(let n=r+1;n<t.length;n+=1){let c=t[r],l=t[n];if(c===void 0||l===void 0)continue;let h=Math.abs(c-l)%360,i=h>180?360-h:h;i>o&&(o=i)}return o}function ie(t){let o=0,r=1/0;for(let n=0;n<t.length;n+=1)for(let c=n+1;c<t.length;c+=1){let l=ae(t[n],t[c]);l>o&&(o=l),l<r&&(r=l)}return{max:o,min:r===1/0?0:r}}function ke(t){let o=t.filter(se);if(o.length<2)return{minBackgroundDeltaE:null,tooSimilar:!1,insufficient:!0};let r=o.map(a=>a.surfaceMode??"light"),n=o.map((a,f)=>T({colorSeeds:a.colorSeeds,surfaceMode:r[f]})),c=ie(n.map(a=>a["--background"])),l=B(n.map(a=>R(a["--primary"]))),h=B(n.map(a=>R(a["--accent"]))),d=!(new Set(r).size===1)||c.max>=ce||l>=N||h>=N;return{minBackgroundDeltaE:c.min,tooSimilar:!d,insufficient:!1}}export{ke as measureColorwayDistinctness};
@@ -10,10 +10,10 @@ export declare const FieldDeclSchema: z.ZodObject<{
10
10
  date: "date";
11
11
  url: "url";
12
12
  title: "title";
13
- email: "email";
14
- datetime: "datetime";
15
13
  text: "text";
16
14
  richtext: "richtext";
15
+ datetime: "datetime";
16
+ email: "email";
17
17
  color: "color";
18
18
  select: "select";
19
19
  multiselect: "multiselect";
@@ -58,10 +58,10 @@ export declare const ConnectDynamicCollectionInputSchema: z.ZodObject<{
58
58
  date: "date";
59
59
  url: "url";
60
60
  title: "title";
61
- email: "email";
62
- datetime: "datetime";
63
61
  text: "text";
64
62
  richtext: "richtext";
63
+ datetime: "datetime";
64
+ email: "email";
65
65
  color: "color";
66
66
  select: "select";
67
67
  multiselect: "multiselect";
@@ -87,10 +87,10 @@ export declare const ConnectDynamicCollectionInputSchema: z.ZodObject<{
87
87
  date: "date";
88
88
  url: "url";
89
89
  title: "title";
90
- email: "email";
91
- datetime: "datetime";
92
90
  text: "text";
93
91
  richtext: "richtext";
92
+ datetime: "datetime";
93
+ email: "email";
94
94
  color: "color";
95
95
  select: "select";
96
96
  multiselect: "multiselect";
@@ -13,8 +13,8 @@ export declare const FormFieldDeclSchema: z.ZodObject<{
13
13
  boolean: "boolean";
14
14
  date: "date";
15
15
  file: "file";
16
- email: "email";
17
16
  text: "text";
17
+ email: "email";
18
18
  select: "select";
19
19
  multiselect: "multiselect";
20
20
  textarea: "textarea";
@@ -42,8 +42,8 @@ export declare const ConnectFormInputSchema: z.ZodObject<{
42
42
  boolean: "boolean";
43
43
  date: "date";
44
44
  file: "file";
45
- email: "email";
46
45
  text: "text";
46
+ email: "email";
47
47
  select: "select";
48
48
  multiselect: "multiselect";
49
49
  textarea: "textarea";
@@ -72,9 +72,9 @@ export type ConnectFormResult = {
72
72
  fields: ResolvedFormField[];
73
73
  /** 历史表单来源页 id,仅用于旧生成站点兼容;当前提交按 url_path 解析真实页面。 */
74
74
  source_page_id: number | null;
75
- /** LLM 要写的表单 view 组件路径(必须 "use client")。 */
75
+ /** 公开 Workspace 工具已创建的标准表单容器路径;调用方只负责挂载。 */
76
76
  form_view: string;
77
- /** 逐字段人话渲染契约 + 提交链路用法(LLM 写 form view 的零猜测依据),确定性派生。 */
77
+ /** 标准容器挂载契约,确定性派生;不得据此另写 form view */
78
78
  form_contract: string;
79
79
  /** 工具已写入 working set 的确定性产物路径——LLM 绝不可再 create/覆盖。 */
80
80
  created_files: string[];
@@ -94,8 +94,8 @@ export type ConnectFormResult = {
94
94
  }
95
95
  /**
96
96
  * 幂等命中:该表单的 scaffold 已存在于 base snapshot(此前 run 绑定过),
97
- * 本次会补建或升级确定性提交基建。LLM 收到后下一步:按实时重算的 form_contract 写 form view,
98
- * 绝不重建 existing_files、绝不手写提交链路(与 connect_dynamic_collection
97
+ * 本次会补建或升级确定性提交基建。该状态只保留给旧内部调用方;公开 Workspace
98
+ * 工具不会再进入 legacy scaffold。绝不重建 existing_files、绝不手写提交链路(与 connect_dynamic_collection
99
99
  * 的 already_bound 同款)。
100
100
  */
101
101
  | {
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * 用户已确认的转化目标(访客该怎么迈出下一步)。
4
+ *
5
+ * 两条上游都写这个形状,下游只认这一个:
6
+ * - 旧 Clarify 流:转化题每个 option 自带 `conversionHints`,API 把选中项镜像到
7
+ * `SitemapAnswer.conversion`,sitemap.service 再提到
8
+ * `SitemapSchema.confirmedChoices.conversion`。
9
+ * - 新 Launcher 流:Step5 转化卡是自由文本,没有结构化协议可读;由 Step6 设计
10
+ * 推荐那一次已有的模型调用顺带产出,结构确认物化设计选择时写进同一个位置。
11
+ *
12
+ * 下游 inspect-sitemap / DesignPlan / worker prompt 据此读到用户确认的转化目标,
13
+ * 不依赖 block props。
14
+ *
15
+ * 字段语义:
16
+ * - protocol:访客怎么完成这个动作 —— phone(tel: 链接)、form(留资表单)、
17
+ * download(文件)、route(站内页面)、external(第三方地址)。
18
+ * - ctaLabel:具体的行动号召文案,能确定站点语种时就用站点语种,否则用需求
19
+ * 原文的语言(≤40 字),如「立即致电咨询」或 "Book a consultation"。
20
+ * - ctaTarget:可选的具体目标 —— 电话号码 / 站内路径 / 网址 / 锚点;缺省时由
21
+ * 站主稍后补。
22
+ * - requiresOwnerDetail:该协议需要一项需求里没有的站主信息时为 true(例如选了
23
+ * 电话但没给号码)。
24
+ */
25
+ export declare const CONVERSION_CTA_LABEL_MAX_LENGTH = 40;
26
+ export declare const ConversionHintsSchema: z.ZodObject<{
27
+ protocol: z.ZodEnum<{
28
+ external: "external";
29
+ phone: "phone";
30
+ form: "form";
31
+ download: "download";
32
+ route: "route";
33
+ }>;
34
+ ctaLabel: z.ZodString;
35
+ ctaTarget: z.ZodOptional<z.ZodString>;
36
+ requiresOwnerDetail: z.ZodOptional<z.ZodBoolean>;
37
+ }, z.core.$strip>;
38
+ export type ConversionHints = z.infer<typeof ConversionHintsSchema>;
@@ -34,6 +34,97 @@ export declare const CrawlerTaskFailureStageSchema: z.ZodEnum<{
34
34
  TASK_SCHEDULING: "TASK_SCHEDULING";
35
35
  RESULT_PERSISTENCE: "RESULT_PERSISTENCE";
36
36
  }>;
37
+ export declare const PageDiscoveryCoverageReasonSchema: z.ZodEnum<{
38
+ no_suitable_page_candidate: "no_suitable_page_candidate";
39
+ page_discovery_unavailable: "page_discovery_unavailable";
40
+ page_selection_unavailable: "page_selection_unavailable";
41
+ page_selection_invalid: "page_selection_invalid";
42
+ page_content_unavailable: "page_content_unavailable";
43
+ }>;
44
+ export declare const PageDiscoveryCoverageEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
45
+ role: z.ZodEnum<{
46
+ company: "company";
47
+ product_service: "product_service";
48
+ case_qualification: "case_qualification";
49
+ market: "market";
50
+ contact_inquiry: "contact_inquiry";
51
+ privacy_compliance: "privacy_compliance";
52
+ news_freshness: "news_freshness";
53
+ }>;
54
+ status: z.ZodLiteral<"selected">;
55
+ reason_code: z.ZodNull;
56
+ }, z.core.$strict>, z.ZodObject<{
57
+ role: z.ZodEnum<{
58
+ company: "company";
59
+ product_service: "product_service";
60
+ case_qualification: "case_qualification";
61
+ market: "market";
62
+ contact_inquiry: "contact_inquiry";
63
+ privacy_compliance: "privacy_compliance";
64
+ news_freshness: "news_freshness";
65
+ }>;
66
+ status: z.ZodLiteral<"not_found">;
67
+ reason_code: z.ZodLiteral<"no_suitable_page_candidate">;
68
+ }, z.core.$strict>, z.ZodObject<{
69
+ role: z.ZodEnum<{
70
+ company: "company";
71
+ product_service: "product_service";
72
+ case_qualification: "case_qualification";
73
+ market: "market";
74
+ contact_inquiry: "contact_inquiry";
75
+ privacy_compliance: "privacy_compliance";
76
+ news_freshness: "news_freshness";
77
+ }>;
78
+ status: z.ZodLiteral<"unknown">;
79
+ reason_code: z.ZodEnum<{
80
+ page_discovery_unavailable: "page_discovery_unavailable";
81
+ page_selection_unavailable: "page_selection_unavailable";
82
+ page_selection_invalid: "page_selection_invalid";
83
+ page_content_unavailable: "page_content_unavailable";
84
+ }>;
85
+ }, z.core.$strict>], "status">;
86
+ export declare const PageDiscoveryCoverageSchema: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
87
+ role: z.ZodEnum<{
88
+ company: "company";
89
+ product_service: "product_service";
90
+ case_qualification: "case_qualification";
91
+ market: "market";
92
+ contact_inquiry: "contact_inquiry";
93
+ privacy_compliance: "privacy_compliance";
94
+ news_freshness: "news_freshness";
95
+ }>;
96
+ status: z.ZodLiteral<"selected">;
97
+ reason_code: z.ZodNull;
98
+ }, z.core.$strict>, z.ZodObject<{
99
+ role: z.ZodEnum<{
100
+ company: "company";
101
+ product_service: "product_service";
102
+ case_qualification: "case_qualification";
103
+ market: "market";
104
+ contact_inquiry: "contact_inquiry";
105
+ privacy_compliance: "privacy_compliance";
106
+ news_freshness: "news_freshness";
107
+ }>;
108
+ status: z.ZodLiteral<"not_found">;
109
+ reason_code: z.ZodLiteral<"no_suitable_page_candidate">;
110
+ }, z.core.$strict>, z.ZodObject<{
111
+ role: z.ZodEnum<{
112
+ company: "company";
113
+ product_service: "product_service";
114
+ case_qualification: "case_qualification";
115
+ market: "market";
116
+ contact_inquiry: "contact_inquiry";
117
+ privacy_compliance: "privacy_compliance";
118
+ news_freshness: "news_freshness";
119
+ }>;
120
+ status: z.ZodLiteral<"unknown">;
121
+ reason_code: z.ZodEnum<{
122
+ page_discovery_unavailable: "page_discovery_unavailable";
123
+ page_selection_unavailable: "page_selection_unavailable";
124
+ page_selection_invalid: "page_selection_invalid";
125
+ page_content_unavailable: "page_content_unavailable";
126
+ }>;
127
+ }, z.core.$strict>], "status">>;
37
128
  export declare const CrawlerTaskFailureErrorCodeSchema: z.ZodEnum<{
38
129
  TASK_FAILED: "TASK_FAILED";
39
130
  PROVIDER_CAPABILITY_LIMIT: "PROVIDER_CAPABILITY_LIMIT";
@@ -50,6 +141,48 @@ export declare const CrawlerTaskStatusResponseSchema: z.ZodDiscriminatedUnion<[z
50
141
  task_uuid: z.ZodString;
51
142
  status: z.ZodLiteral<"SUCCEEDED">;
52
143
  total: z.ZodNumber;
144
+ discovery_coverage: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
145
+ role: z.ZodEnum<{
146
+ company: "company";
147
+ product_service: "product_service";
148
+ case_qualification: "case_qualification";
149
+ market: "market";
150
+ contact_inquiry: "contact_inquiry";
151
+ privacy_compliance: "privacy_compliance";
152
+ news_freshness: "news_freshness";
153
+ }>;
154
+ status: z.ZodLiteral<"selected">;
155
+ reason_code: z.ZodNull;
156
+ }, z.core.$strict>, z.ZodObject<{
157
+ role: z.ZodEnum<{
158
+ company: "company";
159
+ product_service: "product_service";
160
+ case_qualification: "case_qualification";
161
+ market: "market";
162
+ contact_inquiry: "contact_inquiry";
163
+ privacy_compliance: "privacy_compliance";
164
+ news_freshness: "news_freshness";
165
+ }>;
166
+ status: z.ZodLiteral<"not_found">;
167
+ reason_code: z.ZodLiteral<"no_suitable_page_candidate">;
168
+ }, z.core.$strict>, z.ZodObject<{
169
+ role: z.ZodEnum<{
170
+ company: "company";
171
+ product_service: "product_service";
172
+ case_qualification: "case_qualification";
173
+ market: "market";
174
+ contact_inquiry: "contact_inquiry";
175
+ privacy_compliance: "privacy_compliance";
176
+ news_freshness: "news_freshness";
177
+ }>;
178
+ status: z.ZodLiteral<"unknown">;
179
+ reason_code: z.ZodEnum<{
180
+ page_discovery_unavailable: "page_discovery_unavailable";
181
+ page_selection_unavailable: "page_selection_unavailable";
182
+ page_selection_invalid: "page_selection_invalid";
183
+ page_content_unavailable: "page_content_unavailable";
184
+ }>;
185
+ }, z.core.$strict>], "status">>>;
53
186
  }, z.core.$strict>, z.ZodObject<{
54
187
  task_uuid: z.ZodString;
55
188
  status: z.ZodLiteral<"FAILED">;
@@ -81,6 +214,48 @@ export declare const CrawlerTaskPagesResponseSchema: z.ZodObject<{
81
214
  url: z.ZodString;
82
215
  raw_html: z.ZodString;
83
216
  }, z.core.$strict>>;
217
+ discovery_coverage: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
218
+ role: z.ZodEnum<{
219
+ company: "company";
220
+ product_service: "product_service";
221
+ case_qualification: "case_qualification";
222
+ market: "market";
223
+ contact_inquiry: "contact_inquiry";
224
+ privacy_compliance: "privacy_compliance";
225
+ news_freshness: "news_freshness";
226
+ }>;
227
+ status: z.ZodLiteral<"selected">;
228
+ reason_code: z.ZodNull;
229
+ }, z.core.$strict>, z.ZodObject<{
230
+ role: z.ZodEnum<{
231
+ company: "company";
232
+ product_service: "product_service";
233
+ case_qualification: "case_qualification";
234
+ market: "market";
235
+ contact_inquiry: "contact_inquiry";
236
+ privacy_compliance: "privacy_compliance";
237
+ news_freshness: "news_freshness";
238
+ }>;
239
+ status: z.ZodLiteral<"not_found">;
240
+ reason_code: z.ZodLiteral<"no_suitable_page_candidate">;
241
+ }, z.core.$strict>, z.ZodObject<{
242
+ role: z.ZodEnum<{
243
+ company: "company";
244
+ product_service: "product_service";
245
+ case_qualification: "case_qualification";
246
+ market: "market";
247
+ contact_inquiry: "contact_inquiry";
248
+ privacy_compliance: "privacy_compliance";
249
+ news_freshness: "news_freshness";
250
+ }>;
251
+ status: z.ZodLiteral<"unknown">;
252
+ reason_code: z.ZodEnum<{
253
+ page_discovery_unavailable: "page_discovery_unavailable";
254
+ page_selection_unavailable: "page_selection_unavailable";
255
+ page_selection_invalid: "page_selection_invalid";
256
+ page_content_unavailable: "page_content_unavailable";
257
+ }>;
258
+ }, z.core.$strict>], "status">>>;
84
259
  }, z.core.$strict>;
85
260
  export declare const SitemapTaskCreateResponseSchema: z.ZodObject<{
86
261
  task_code: z.ZodString;
@@ -130,9 +305,75 @@ export declare const CompanyInfoSchema: z.ZodObject<{
130
305
  brand_tone: z.ZodString;
131
306
  timezone: z.ZodString;
132
307
  }, z.core.$strict>;
133
- export declare const CompanyInfoTaskCreateResponseSchema: z.ZodObject<{
308
+ export declare const CompanyInfoTaskCreateResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
134
309
  company_uuid: z.ZodString;
135
- }, z.core.$strict>;
310
+ company_info: z.ZodObject<{
311
+ company_name: z.ZodString;
312
+ brand_name: z.ZodString;
313
+ main_products: z.ZodArray<z.ZodString>;
314
+ industry: z.ZodArray<z.ZodString>;
315
+ subfields: z.ZodArray<z.ZodString>;
316
+ business_intro: z.ZodString;
317
+ registered_capital: z.ZodString;
318
+ legal_representative: z.ZodString;
319
+ target_markets: z.ZodArray<z.ZodString>;
320
+ target_customer_industries: z.ZodArray<z.ZodString>;
321
+ target_customer_roles: z.ZodArray<z.ZodString>;
322
+ purchase_scenarios: z.ZodString;
323
+ differentiators: z.ZodArray<z.ZodString>;
324
+ competitors: z.ZodArray<z.ZodObject<{
325
+ name: z.ZodString;
326
+ official_url: z.ZodString;
327
+ }, z.core.$strict>>;
328
+ qualifications: z.ZodArray<z.ZodString>;
329
+ representative_cases: z.ZodArray<z.ZodString>;
330
+ acquisition_channels: z.ZodArray<z.ZodString>;
331
+ desired_domain: z.ZodString;
332
+ brand_tone: z.ZodString;
333
+ timezone: z.ZodString;
334
+ }, z.core.$strict>;
335
+ created_at: z.ZodString;
336
+ updated_at: z.ZodString;
337
+ status: z.ZodLiteral<"SUCCEEDED">;
338
+ last_error_code: z.ZodNull;
339
+ last_error_message: z.ZodNull;
340
+ started_at: z.ZodString;
341
+ completed_at: z.ZodString;
342
+ }, z.core.$strict>, z.ZodObject<{
343
+ company_uuid: z.ZodString;
344
+ company_info: z.ZodObject<{
345
+ company_name: z.ZodString;
346
+ brand_name: z.ZodString;
347
+ main_products: z.ZodArray<z.ZodString>;
348
+ industry: z.ZodArray<z.ZodString>;
349
+ subfields: z.ZodArray<z.ZodString>;
350
+ business_intro: z.ZodString;
351
+ registered_capital: z.ZodString;
352
+ legal_representative: z.ZodString;
353
+ target_markets: z.ZodArray<z.ZodString>;
354
+ target_customer_industries: z.ZodArray<z.ZodString>;
355
+ target_customer_roles: z.ZodArray<z.ZodString>;
356
+ purchase_scenarios: z.ZodString;
357
+ differentiators: z.ZodArray<z.ZodString>;
358
+ competitors: z.ZodArray<z.ZodObject<{
359
+ name: z.ZodString;
360
+ official_url: z.ZodString;
361
+ }, z.core.$strict>>;
362
+ qualifications: z.ZodArray<z.ZodString>;
363
+ representative_cases: z.ZodArray<z.ZodString>;
364
+ acquisition_channels: z.ZodArray<z.ZodString>;
365
+ desired_domain: z.ZodString;
366
+ brand_tone: z.ZodString;
367
+ timezone: z.ZodString;
368
+ }, z.core.$strict>;
369
+ created_at: z.ZodString;
370
+ updated_at: z.ZodString;
371
+ status: z.ZodLiteral<"FAILED">;
372
+ last_error_code: z.ZodString;
373
+ last_error_message: z.ZodString;
374
+ started_at: z.ZodString;
375
+ completed_at: z.ZodString;
376
+ }, z.core.$strict>], "status">;
136
377
  export declare const CompanyInfoTaskResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
137
378
  company_uuid: z.ZodString;
138
379
  company_info: z.ZodObject<{
@@ -342,6 +583,7 @@ export type CrawlerTaskFailureStage = z.infer<typeof CrawlerTaskFailureStageSche
342
583
  export type CrawlerTaskStatusResponse = z.infer<typeof CrawlerTaskStatusResponseSchema>;
343
584
  export type CrawlerTaskPage = z.infer<typeof CrawlerTaskPageSchema>;
344
585
  export type CrawlerTaskPagesResponse = z.infer<typeof CrawlerTaskPagesResponseSchema>;
586
+ export type PageDiscoveryCoverage = z.infer<typeof PageDiscoveryCoverageSchema>;
345
587
  export type CreateSitemapTaskResponse = z.infer<typeof SitemapTaskCreateResponseSchema>;
346
588
  export type SitemapTaskResponse = z.infer<typeof SitemapTaskResponseSchema>;
347
589
  export type CompanyInfoTaskCreateRequest = z.infer<typeof CompanyInfoTaskCreateRequestSchema>;