@vcp-dev/contracts 0.10.23 → 0.10.25

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.
@@ -277,8 +277,7 @@ export declare const LauncherPromptTemplateApplyRequestSchema: z.ZodObject<{
277
277
  seoKeywords: z.ZodOptional<z.ZodArray<z.ZodObject<{
278
278
  id: z.ZodString;
279
279
  keyword: z.ZodString;
280
- business_id: z.ZodString;
281
- business_name: z.ZodString;
280
+ business_ids: z.ZodArray<z.ZodString>;
282
281
  category: z.ZodEnum<{
283
282
  产品: "产品";
284
283
  "\u90E8\u4EF6/\u8017\u6750": "部件/耗材";
@@ -288,19 +287,8 @@ export declare const LauncherPromptTemplateApplyRequestSchema: z.ZodObject<{
288
287
  "\u8D44\u8D28/\u80FD\u529B": "资质/能力";
289
288
  }>;
290
289
  selling_points: z.ZodString;
291
- section_id: z.ZodString;
292
- content_usage: z.ZodEnum<{
293
- product: "product";
294
- category: "category";
295
- solution: "solution";
296
- service: "service";
297
- capability: "capability";
298
- article: "article";
299
- faq: "faq";
300
- }>;
301
290
  intent: z.ZodString;
302
291
  semantic_group: z.ZodString;
303
- primary_business: z.ZodBoolean;
304
292
  monthly_volume: z.ZodNumber;
305
293
  keyword_difficulty: z.ZodNullable<z.ZodNumber>;
306
294
  variants: z.ZodArray<z.ZodString>;
@@ -469,8 +457,7 @@ export declare const LauncherPromptTemplateApplyResponseSchema: z.ZodObject<{
469
457
  seoKeywords: z.ZodOptional<z.ZodArray<z.ZodObject<{
470
458
  id: z.ZodString;
471
459
  keyword: z.ZodString;
472
- business_id: z.ZodString;
473
- business_name: z.ZodString;
460
+ business_ids: z.ZodArray<z.ZodString>;
474
461
  category: z.ZodEnum<{
475
462
  产品: "产品";
476
463
  "\u90E8\u4EF6/\u8017\u6750": "部件/耗材";
@@ -480,19 +467,8 @@ export declare const LauncherPromptTemplateApplyResponseSchema: z.ZodObject<{
480
467
  "\u8D44\u8D28/\u80FD\u529B": "资质/能力";
481
468
  }>;
482
469
  selling_points: z.ZodString;
483
- section_id: z.ZodString;
484
- content_usage: z.ZodEnum<{
485
- product: "product";
486
- category: "category";
487
- solution: "solution";
488
- service: "service";
489
- capability: "capability";
490
- article: "article";
491
- faq: "faq";
492
- }>;
493
470
  intent: z.ZodString;
494
471
  semantic_group: z.ZodString;
495
- primary_business: z.ZodBoolean;
496
472
  monthly_volume: z.ZodNumber;
497
473
  keyword_difficulty: z.ZodNullable<z.ZodNumber>;
498
474
  variants: z.ZodArray<z.ZodString>;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 详情页面包屑组件的确定性产出。
3
+ *
4
+ * 为什么单独成文件:路由文件只允许是纯组合(imports + 生成组件 + metadata),
5
+ * 访客 JSX 一律放在 `components/site/generated/*`,否则结构校验报
6
+ * `route-file.visitor-jsx`。
7
+ *
8
+ * 为什么不交给模型:详情页的导航层级是结构,不是创意。交给模型会时有时无,
9
+ * 缺了访客进到详情页就没有回列表的路径,SEO 也拿不到层级信号。
10
+ */
11
+ export interface DetailBreadcrumbOpts {
12
+ /** 集合 slug,决定组件文件名。 */
13
+ readonly slug: string;
14
+ /** 列表页地址,面包屑第二级指向它。 */
15
+ readonly detailPrefix: string;
16
+ /** 首页一级文案,跟站点语种。 */
17
+ readonly homeLabel: string;
18
+ /** 集合一级文案,跟站点语种。 */
19
+ readonly collectionLabel: string;
20
+ /**
21
+ * 本站 chrome 的 header 形态(DesignPlan `chromeDesign.header.shell`)。
22
+ *
23
+ * `floating` 的 header 是 `fixed`,不占布局空间,会盖住页面首元素——详情页的
24
+ * 首元素正是这个面包屑。header 形态在详情页确定性生成的同一轮里就已知,所以
25
+ * 让位写成编译期常量,不做客户端测量:SSR 首帧即最终值,没有水合跳动。
26
+ *
27
+ * 缺省(旧计划 / 未选形态)按 `solid` 处理,产出与引入本字段之前逐字节相同。
28
+ */
29
+ readonly headerShell?: {
30
+ readonly variant: "solid" | "floating";
31
+ readonly shape?: "bar" | "island";
32
+ };
33
+ }
34
+ export declare function breadcrumbClassName(shell: DetailBreadcrumbOpts["headerShell"]): string;
35
+ export declare function generateDetailBreadcrumb(o: DetailBreadcrumbOpts): string;
@@ -39,6 +39,8 @@ export interface MigrationProductsLocalizedCopy {
39
39
  readonly homeLabel: string;
40
40
  }
41
41
  export declare function migrationProductsCopyForLocale(locale: string | null | undefined): MigrationProductsLocalizedCopy;
42
+ /** 平台已知词条集合,用于确认规范产物;不将未知站点文案猜作平台 fallback。 */
43
+ export declare function migrationProductsKnownCopies(): readonly MigrationProductsLocalizedCopy[];
42
44
  /** 系统已知预置标题;仅这些标题允许随站点 locale 自动改写。 */
43
45
  export declare function isMigrationProductsPresetPageTitle(value: string): boolean;
44
46
  /** 系统已知预置区块名;用户自定义区块名不得被 locale 同步覆盖。 */
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ /** Bounded source diagnostics; never an error page, provider trace, or environment. */
3
+ export declare const NextPageCodeErrorSchema: z.ZodObject<{
4
+ code: z.ZodEnum<{
5
+ NEXT_PAGE_CODE_ERROR: "NEXT_PAGE_CODE_ERROR";
6
+ NEXT_CLIENT_COMPONENT_FUNCTION_PROP: "NEXT_CLIENT_COMPONENT_FUNCTION_PROP";
7
+ }>;
8
+ message: z.ZodString;
9
+ messages: z.ZodArray<z.ZodString>;
10
+ source_paths: z.ZodArray<z.ZodString>;
11
+ components: z.ZodArray<z.ZodString>;
12
+ stack: z.ZodArray<z.ZodObject<{
13
+ file: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
14
+ line: z.ZodNumber;
15
+ column: z.ZodNumber;
16
+ function: z.ZodString;
17
+ generated: z.ZodBoolean;
18
+ }, z.core.$strict>>;
19
+ }, z.core.$strict>;
20
+ export type NextPageCodeError = z.infer<typeof NextPageCodeErrorSchema>;
21
+ export declare function isNextPageCodeErrorCode(value: unknown): boolean;
@@ -11,6 +11,26 @@ export declare const ProductSearchValueShapeSchema: z.ZodEnum<{
11
11
  category_list: "category_list";
12
12
  }>;
13
13
  export declare const ProductSearchRouteIdSchema: z.ZodString;
14
+ export declare const ProductSearchPrepareFailureReasonSchema: z.ZodEnum<{
15
+ base_snapshot_missing: "base_snapshot_missing";
16
+ route_not_found: "route_not_found";
17
+ cms_unavailable: "cms_unavailable";
18
+ product_application_not_found: "product_application_not_found";
19
+ not_a_configuration_change: "not_a_configuration_change";
20
+ tool_execution_failed: "tool_execution_failed";
21
+ }>;
22
+ export declare const ProductSearchPrepareFailureSchema: z.ZodObject<{
23
+ status: z.ZodLiteral<"failed">;
24
+ reason: z.ZodEnum<{
25
+ base_snapshot_missing: "base_snapshot_missing";
26
+ route_not_found: "route_not_found";
27
+ cms_unavailable: "cms_unavailable";
28
+ product_application_not_found: "product_application_not_found";
29
+ not_a_configuration_change: "not_a_configuration_change";
30
+ tool_execution_failed: "tool_execution_failed";
31
+ }>;
32
+ }, z.core.$strict>;
33
+ export type ProductSearchPrepareFailure = z.infer<typeof ProductSearchPrepareFailureSchema>;
14
34
  export declare const ProductSearchFilterMetaSchema: z.ZodObject<{
15
35
  minimum: z.ZodNumber;
16
36
  maximum: z.ZodNumber;
@@ -212,6 +212,54 @@ export declare const SiteEditMoveTargetSchema: z.ZodUnion<readonly [z.ZodObject<
212
212
  }>;
213
213
  }, z.core.$strict>]>;
214
214
  export type SiteEditMoveTarget = z.infer<typeof SiteEditMoveTargetSchema>;
215
+ /** Move within a Fragment-backed component return whose parent is transparent
216
+ * in the render graph. This position is valid only for move-node. */
217
+ export declare const SiteEditSourceSiblingMoveTargetSchema: z.ZodObject<{
218
+ kind: z.ZodLiteral<"source-sibling">;
219
+ relation: z.ZodEnum<{
220
+ before: "before";
221
+ after: "after";
222
+ }>;
223
+ anchorKey: z.ZodString;
224
+ }, z.core.$strict>;
225
+ export type SiteEditSourceSiblingMoveTarget = z.infer<typeof SiteEditSourceSiblingMoveTargetSchema>;
226
+ export declare const SiteEditMoveNodeTargetSchema: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
227
+ relation: z.ZodEnum<{
228
+ before: "before";
229
+ after: "after";
230
+ }>;
231
+ anchorKey: z.ZodString;
232
+ parentKey: z.ZodString;
233
+ }, z.core.$strip>, z.ZodObject<{
234
+ relation: z.ZodEnum<{
235
+ prepend: "prepend";
236
+ append: "append";
237
+ }>;
238
+ parentKey: z.ZodString;
239
+ }, z.core.$strip>, z.ZodObject<{
240
+ kind: z.ZodLiteral<"page-composition">;
241
+ placementKey: z.ZodString;
242
+ documentVersion: z.ZodNumber;
243
+ composition: z.ZodObject<{
244
+ routeId: z.ZodString;
245
+ templateId: z.ZodOptional<z.ZodString>;
246
+ }, z.core.$strict>;
247
+ placementUnitKey: z.ZodString;
248
+ relation: z.ZodEnum<{
249
+ before: "before";
250
+ after: "after";
251
+ prepend: "prepend";
252
+ append: "append";
253
+ }>;
254
+ }, z.core.$strict>]>, z.ZodObject<{
255
+ kind: z.ZodLiteral<"source-sibling">;
256
+ relation: z.ZodEnum<{
257
+ before: "before";
258
+ after: "after";
259
+ }>;
260
+ anchorKey: z.ZodString;
261
+ }, z.core.$strict>]>;
262
+ export type SiteEditMoveNodeTarget = z.infer<typeof SiteEditMoveNodeTargetSchema>;
215
263
  export declare const SiteEditMaterializedComponentNodeSpecSchema: z.ZodObject<{
216
264
  kind: z.ZodLiteral<"component-call">;
217
265
  component: z.ZodOptional<z.ZodNever>;
@@ -384,7 +432,7 @@ export declare const SiteEditOperationParamsSchema: z.ZodDiscriminatedUnion<[z.Z
384
432
  }, z.core.$strict>;
385
433
  }, z.core.$strip>, z.ZodObject<{
386
434
  kind: z.ZodLiteral<"move-node">;
387
- target: z.ZodUnion<readonly [z.ZodObject<{
435
+ target: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
388
436
  relation: z.ZodEnum<{
389
437
  before: "before";
390
438
  after: "after";
@@ -412,6 +460,13 @@ export declare const SiteEditOperationParamsSchema: z.ZodDiscriminatedUnion<[z.Z
412
460
  prepend: "prepend";
413
461
  append: "append";
414
462
  }>;
463
+ }, z.core.$strict>]>, z.ZodObject<{
464
+ kind: z.ZodLiteral<"source-sibling">;
465
+ relation: z.ZodEnum<{
466
+ before: "before";
467
+ after: "after";
468
+ }>;
469
+ anchorKey: z.ZodString;
415
470
  }, z.core.$strict>]>;
416
471
  preserveBindings: z.ZodOptional<z.ZodBoolean>;
417
472
  }, z.core.$strip>, z.ZodObject<{
@@ -829,7 +884,7 @@ export declare const SiteEditOperationRequestSchema: z.ZodObject<{
829
884
  }, z.core.$strict>;
830
885
  }, z.core.$strip>, z.ZodObject<{
831
886
  kind: z.ZodLiteral<"move-node">;
832
- target: z.ZodUnion<readonly [z.ZodObject<{
887
+ target: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
833
888
  relation: z.ZodEnum<{
834
889
  before: "before";
835
890
  after: "after";
@@ -857,6 +912,13 @@ export declare const SiteEditOperationRequestSchema: z.ZodObject<{
857
912
  prepend: "prepend";
858
913
  append: "append";
859
914
  }>;
915
+ }, z.core.$strict>]>, z.ZodObject<{
916
+ kind: z.ZodLiteral<"source-sibling">;
917
+ relation: z.ZodEnum<{
918
+ before: "before";
919
+ after: "after";
920
+ }>;
921
+ anchorKey: z.ZodString;
860
922
  }, z.core.$strict>]>;
861
923
  preserveBindings: z.ZodOptional<z.ZodBoolean>;
862
924
  }, z.core.$strip>, z.ZodObject<{
@@ -1204,7 +1266,7 @@ export declare const SiteEditSignedOperationRequestSchema: z.ZodObject<{
1204
1266
  }, z.core.$strict>;
1205
1267
  }, z.core.$strip>, z.ZodObject<{
1206
1268
  kind: z.ZodLiteral<"move-node">;
1207
- target: z.ZodUnion<readonly [z.ZodObject<{
1269
+ target: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
1208
1270
  relation: z.ZodEnum<{
1209
1271
  before: "before";
1210
1272
  after: "after";
@@ -1232,6 +1294,13 @@ export declare const SiteEditSignedOperationRequestSchema: z.ZodObject<{
1232
1294
  prepend: "prepend";
1233
1295
  append: "append";
1234
1296
  }>;
1297
+ }, z.core.$strict>]>, z.ZodObject<{
1298
+ kind: z.ZodLiteral<"source-sibling">;
1299
+ relation: z.ZodEnum<{
1300
+ before: "before";
1301
+ after: "after";
1302
+ }>;
1303
+ anchorKey: z.ZodString;
1235
1304
  }, z.core.$strict>]>;
1236
1305
  preserveBindings: z.ZodOptional<z.ZodBoolean>;
1237
1306
  }, z.core.$strip>, z.ZodObject<{
@@ -150,10 +150,29 @@ export declare const SiteEditDynamicDataSummarySchema: z.ZodObject<{
150
150
  primaryFieldPath: z.ZodOptional<z.ZodString>;
151
151
  }, z.core.$strip>;
152
152
  export type SiteEditDynamicDataSummary = z.infer<typeof SiteEditDynamicDataSummarySchema>;
153
+ /** Source actions exposed for a page-composition member. This is derived from
154
+ * the current source AST and is omitted by older engine responses. */
155
+ export declare const SiteEditPageCompositionActionScopeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
156
+ kind: z.ZodLiteral<"route-unit">;
157
+ }, z.core.$strict>, z.ZodObject<{
158
+ kind: z.ZodLiteral<"source-siblings">;
159
+ siblingKeys: z.ZodArray<z.ZodString>;
160
+ }, z.core.$strict>, z.ZodObject<{
161
+ kind: z.ZodLiteral<"unavailable">;
162
+ }, z.core.$strict>], "kind">;
163
+ export type SiteEditPageCompositionActionScope = z.infer<typeof SiteEditPageCompositionActionScopeSchema>;
153
164
  export declare const SiteEditRenderEntrySchema: z.ZodObject<{
154
165
  key: z.ZodString;
155
166
  parentKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
156
167
  pageCompositionUnitKey: z.ZodOptional<z.ZodString>;
168
+ pageCompositionActionScope: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
169
+ kind: z.ZodLiteral<"route-unit">;
170
+ }, z.core.$strict>, z.ZodObject<{
171
+ kind: z.ZodLiteral<"source-siblings">;
172
+ siblingKeys: z.ZodArray<z.ZodString>;
173
+ }, z.core.$strict>, z.ZodObject<{
174
+ kind: z.ZodLiteral<"unavailable">;
175
+ }, z.core.$strict>], "kind">>;
157
176
  operationSummary: z.ZodObject<{
158
177
  canUpdateText: z.ZodBoolean;
159
178
  canInsertChild: z.ZodBoolean;
@@ -210,6 +229,14 @@ export declare const SiteEditRenderDocumentSchema: z.ZodObject<{
210
229
  key: z.ZodString;
211
230
  parentKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
212
231
  pageCompositionUnitKey: z.ZodOptional<z.ZodString>;
232
+ pageCompositionActionScope: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
233
+ kind: z.ZodLiteral<"route-unit">;
234
+ }, z.core.$strict>, z.ZodObject<{
235
+ kind: z.ZodLiteral<"source-siblings">;
236
+ siblingKeys: z.ZodArray<z.ZodString>;
237
+ }, z.core.$strict>, z.ZodObject<{
238
+ kind: z.ZodLiteral<"unavailable">;
239
+ }, z.core.$strict>], "kind">>;
213
240
  operationSummary: z.ZodObject<{
214
241
  canUpdateText: z.ZodBoolean;
215
242
  canInsertChild: z.ZodBoolean;
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * 由 release-edit-engine-packages.ts 在 bump 版本时自动更新。
7
7
  */
8
- export declare const CURRENT_EDIT_ENGINE_VERSION = "0.10.23";
8
+ export declare const CURRENT_EDIT_ENGINE_VERSION = "0.10.25";
9
9
  export declare const EDIT_ENGINE_VERSION_HEADER = "x-vcp-edit-engine-version";
10
10
  export declare const EDIT_ENGINE_VERSION_SOURCE_HEADER = "x-vcp-edit-engine-version-source";
11
11
  export type EditEngineVersionSource = "explicit" | "fallback_current" | "system_current";
@@ -11,7 +11,7 @@
11
11
  *
12
12
  * 决定性的机制是:**物化器重跑时整份覆写**。`materializeCanonicalFormRuntime` 读到
13
13
  * 快照里的 `FORM_RUNTIME_VERSION` 不高于平台当前版本,就把整份内容换成
14
- * `VCP_FORM_RUNTIME_SOURCE`;`buildMigrationProductFiles` 的五份产物走
14
+ * `VCP_FORM_RUNTIME_SOURCE`;`buildMigrationProductFiles` 的四份产物走
15
15
  * `apply_patch_batch` 的 `full_content` 整份写入;product-search 物化器逐份比对内容,
16
16
  * 不一致就覆写。也就是说,A2 往这些文件里写的译文会被**静默还原,且不报任何错**。
17
17
  * 翻译它们不只是越界,是做无用功且不可见。
@@ -35,6 +35,8 @@
35
35
  * - `components/site/generated/site-navigation.tsx` / `site-footer.tsx`:由 sitemap
36
36
  * 派生,装的是导航文字与页脚文案。
37
37
  * - 区块组件与静态路由页:由生成 Agent 按站点设计写。
38
+ * - 产品列表与详情 View:通常由专用 Worker 按站点设计生成;fallback 只是首次
39
+ * 无可用产出的安全网,不改变最终视图文案归站点的职责。
38
40
  *
39
41
  * ## 与模板受保护清单(`.donttouch_files.json`)的边界
40
42
  *
@@ -748,6 +748,7 @@ export declare const SitePublishWorkflowQualityDataSchema: z.ZodObject<{
748
748
  }, z.core.$strict>>;
749
749
  }, z.core.$strict>]>;
750
750
  }, z.core.$strict>>;
751
+ safety_gate_enabled: z.ZodOptional<z.ZodBoolean>;
751
752
  repair_result: z.ZodOptional<z.ZodObject<{
752
753
  items: z.ZodArray<z.ZodObject<{
753
754
  item_code: z.ZodString;
@@ -1006,6 +1007,7 @@ export declare const SitePublishWorkflowQualityResponseSchema: z.ZodObject<{
1006
1007
  }, z.core.$strict>>;
1007
1008
  }, z.core.$strict>]>;
1008
1009
  }, z.core.$strict>>;
1010
+ safety_gate_enabled: z.ZodOptional<z.ZodBoolean>;
1009
1011
  repair_result: z.ZodOptional<z.ZodObject<{
1010
1012
  items: z.ZodArray<z.ZodObject<{
1011
1013
  item_code: z.ZodString;
@@ -1121,4 +1123,11 @@ export declare const SitePublishWorkflowQualityResponseSchema: z.ZodObject<{
1121
1123
  export type SitePublishWorkflowQualityResponse = z.infer<typeof SitePublishWorkflowQualityResponseSchema>;
1122
1124
  export declare function getSitePublishRepairItems(qualityResult: VcpQualityResult): SitePublishRepairInputItem[];
1123
1125
  export declare function isSitePublishRepairResultSuccessful(expectedItems: readonly SitePublishRepairInputItem[], repairResult: SitePublishRepairResult): boolean;
1124
- export declare function buildFinalSitePublishQualityResult(qualityResult: VcpQualityResult, repairResult?: SitePublishRepairResult): VcpQualityResult | null;
1126
+ export declare function buildFinalSitePublishQualityResult(qualityResult: VcpQualityResult, _legacyRepairResult?: SitePublishRepairResult): VcpQualityResult | null;
1127
+ export declare function isSitePublishQualityItemIssue(item: Pick<z.infer<typeof VcpQualityRemediationItemSchema>, "status" | "score" | "total_score">): boolean;
1128
+ export interface SitePublishSafetyAssessment {
1129
+ status: "passed" | "blocked" | "unavailable";
1130
+ issueCount: number;
1131
+ }
1132
+ /** Current Crew item outcomes are authoritative, including deficits above the dimension threshold. */
1133
+ export declare function getSitePublishSafetyAssessment(qualityResult?: VcpQualityResult | null): SitePublishSafetyAssessment;
@@ -11,8 +11,7 @@ export declare const Step5KeywordCategorySchema: z.ZodEnum<{
11
11
  export declare const Step5KeywordEntrySchema: z.ZodObject<{
12
12
  id: z.ZodString;
13
13
  keyword: z.ZodString;
14
- business_id: z.ZodString;
15
- business_name: z.ZodString;
14
+ business_ids: z.ZodArray<z.ZodString>;
16
15
  category: z.ZodEnum<{
17
16
  产品: "产品";
18
17
  "\u90E8\u4EF6/\u8017\u6750": "部件/耗材";
@@ -22,19 +21,8 @@ export declare const Step5KeywordEntrySchema: z.ZodObject<{
22
21
  "\u8D44\u8D28/\u80FD\u529B": "资质/能力";
23
22
  }>;
24
23
  selling_points: z.ZodString;
25
- section_id: z.ZodString;
26
- content_usage: z.ZodEnum<{
27
- product: "product";
28
- category: "category";
29
- solution: "solution";
30
- service: "service";
31
- capability: "capability";
32
- article: "article";
33
- faq: "faq";
34
- }>;
35
24
  intent: z.ZodString;
36
25
  semantic_group: z.ZodString;
37
- primary_business: z.ZodBoolean;
38
26
  monthly_volume: z.ZodNumber;
39
27
  keyword_difficulty: z.ZodNullable<z.ZodNumber>;
40
28
  variants: z.ZodArray<z.ZodString>;
@@ -54,8 +42,7 @@ export declare const Step5KeywordLibrarySchema: z.ZodObject<{
54
42
  entries: z.ZodArray<z.ZodObject<{
55
43
  id: z.ZodString;
56
44
  keyword: z.ZodString;
57
- business_id: z.ZodString;
58
- business_name: z.ZodString;
45
+ business_ids: z.ZodArray<z.ZodString>;
59
46
  category: z.ZodEnum<{
60
47
  产品: "产品";
61
48
  "\u90E8\u4EF6/\u8017\u6750": "部件/耗材";
@@ -65,19 +52,8 @@ export declare const Step5KeywordLibrarySchema: z.ZodObject<{
65
52
  "\u8D44\u8D28/\u80FD\u529B": "资质/能力";
66
53
  }>;
67
54
  selling_points: z.ZodString;
68
- section_id: z.ZodString;
69
- content_usage: z.ZodEnum<{
70
- product: "product";
71
- category: "category";
72
- solution: "solution";
73
- service: "service";
74
- capability: "capability";
75
- article: "article";
76
- faq: "faq";
77
- }>;
78
55
  intent: z.ZodString;
79
56
  semantic_group: z.ZodString;
80
- primary_business: z.ZodBoolean;
81
57
  monthly_volume: z.ZodNumber;
82
58
  keyword_difficulty: z.ZodNullable<z.ZodNumber>;
83
59
  variants: z.ZodArray<z.ZodString>;
@@ -87,8 +63,7 @@ export declare const Step5KeywordLibrarySchema: z.ZodObject<{
87
63
  candidates: z.ZodArray<z.ZodObject<{
88
64
  id: z.ZodString;
89
65
  keyword: z.ZodString;
90
- business_id: z.ZodString;
91
- business_name: z.ZodString;
66
+ business_ids: z.ZodArray<z.ZodString>;
92
67
  category: z.ZodEnum<{
93
68
  产品: "产品";
94
69
  "\u90E8\u4EF6/\u8017\u6750": "部件/耗材";
@@ -98,19 +73,8 @@ export declare const Step5KeywordLibrarySchema: z.ZodObject<{
98
73
  "\u8D44\u8D28/\u80FD\u529B": "资质/能力";
99
74
  }>;
100
75
  selling_points: z.ZodString;
101
- section_id: z.ZodString;
102
- content_usage: z.ZodEnum<{
103
- product: "product";
104
- category: "category";
105
- solution: "solution";
106
- service: "service";
107
- capability: "capability";
108
- article: "article";
109
- faq: "faq";
110
- }>;
111
76
  intent: z.ZodString;
112
77
  semantic_group: z.ZodString;
113
- primary_business: z.ZodBoolean;
114
78
  monthly_volume: z.ZodNumber;
115
79
  keyword_difficulty: z.ZodNullable<z.ZodNumber>;
116
80
  variants: z.ZodArray<z.ZodString>;
@@ -120,9 +84,34 @@ export declare const Step5KeywordLibrarySchema: z.ZodObject<{
120
84
  search_result_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
121
85
  }, z.core.$strict>;
122
86
  export type Step5KeywordLibrary = z.infer<typeof Step5KeywordLibrarySchema>;
87
+ export declare const Step5KeywordEntryEditSchema: z.ZodObject<{
88
+ entry_id: z.ZodString;
89
+ category: z.ZodEnum<{
90
+ 产品: "产品";
91
+ "\u90E8\u4EF6/\u8017\u6750": "部件/耗材";
92
+ 应用方案: "应用方案";
93
+ "\u5B9A\u5236/OEM": "定制/OEM";
94
+ 服务: "服务";
95
+ "\u8D44\u8D28/\u80FD\u529B": "资质/能力";
96
+ }>;
97
+ selling_points: z.ZodString;
98
+ }, z.core.$strict>;
99
+ export type Step5KeywordEntryEdit = z.infer<typeof Step5KeywordEntryEditSchema>;
123
100
  export declare const Step5KeywordSelectionSchema: z.ZodObject<{
124
101
  snapshot_id: z.ZodString;
125
102
  entry_ids: z.ZodArray<z.ZodString>;
103
+ entry_edits: z.ZodOptional<z.ZodArray<z.ZodObject<{
104
+ entry_id: z.ZodString;
105
+ category: z.ZodEnum<{
106
+ 产品: "产品";
107
+ "\u90E8\u4EF6/\u8017\u6750": "部件/耗材";
108
+ 应用方案: "应用方案";
109
+ "\u5B9A\u5236/OEM": "定制/OEM";
110
+ 服务: "服务";
111
+ "\u8D44\u8D28/\u80FD\u529B": "资质/能力";
112
+ }>;
113
+ selling_points: z.ZodString;
114
+ }, z.core.$strict>>>;
126
115
  }, z.core.$strict>;
127
116
  export type Step5KeywordSelection = z.infer<typeof Step5KeywordSelectionSchema>;
128
117
  export declare const Step5KeywordSearchBodySchema: z.ZodObject<{