@vcp-dev/contracts 0.7.0 → 0.7.2

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.
@@ -117,6 +117,7 @@ export declare const PrepareSiteBuildInitialGenerationBaseRequestSchema: z.ZodOb
117
117
  }, z.core.$strict>>;
118
118
  }, z.core.$strict>;
119
119
  }, z.core.$strict>;
120
+ page_slugs: z.ZodOptional<z.ZodArray<z.ZodString>>;
120
121
  }, z.core.$strict>;
121
122
  export type PrepareSiteBuildInitialGenerationBaseRequest = z.infer<typeof PrepareSiteBuildInitialGenerationBaseRequestSchema>;
122
123
  export declare const PrepareSiteBuildInitialGenerationBaseResultSchema: z.ZodObject<{
@@ -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.7.0";
8
+ export declare const CURRENT_EDIT_ENGINE_VERSION = "0.7.2";
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";
@@ -6,8 +6,16 @@ import { z } from "zod";
6
6
  * 用户落到结构规划页的那一刻就自动开始生成,中间没有任何停顿 —— 离开 Step5 就
7
7
  * 来不及。也因此它不是卡内备注:卡内备注各限 200 字、只管那张卡的范围。
8
8
  *
9
- * 优先级:低于十一张卡已拍板的策略(那是用户逐项确认过的结论),高于单张卡的
10
- * 备注。原样透传,不做任何字符串替换、截断关键词或正则规整。
9
+ * 优先级:在所有用户意图信号里排最高 —— 压过十一张卡已拍板的策略、单张卡的
10
+ * 备注、已确认的业务事实、参考站信号和已冻结的 SEO 关键词。十一张卡是从给定
11
+ * 选项里挑出来的,这段话是用户自己写的;他会写,正是因为卡里没有对应的选项,
12
+ * 把它排在卡下面等于让这个框失去意义。
13
+ *
14
+ * 但它压不过平台硬约束:站点语种、页面预算、字体 / 圆角 / 动效 / 密度的目录
15
+ * 枚举、平台保留路由、可信站点名。那些不是跟它竞争的用户意图,而是产出能装进
16
+ * 系统的前提 —— 一段自由文本推翻不了目录里没有的字体。
17
+ *
18
+ * 原样透传,不做任何字符串替换、截断关键词或正则规整。
11
19
  */
12
20
  export declare const SITE_EXTRA_REQUIREMENT_MAX_LENGTH = 2000;
13
21
  export declare const SiteExtraRequirementSchema: z.ZodObject<{
@@ -197,6 +197,10 @@ export declare const Step5SemrushRecommendationSeedSchema: z.ZodObject<{
197
197
  }>;
198
198
  source_id: z.ZodString;
199
199
  field_path: z.ZodString;
200
+ source_field: z.ZodOptional<z.ZodString>;
201
+ source_evidence: z.ZodOptional<z.ZodString>;
202
+ business_subject: z.ZodOptional<z.ZodString>;
203
+ reason: z.ZodOptional<z.ZodString>;
200
204
  }, z.core.$strict>;
201
205
  export declare const Step5SemrushKeywordRecommendationSchema: z.ZodObject<{
202
206
  keyword: z.ZodString;
@@ -280,6 +284,23 @@ export declare const Step5SemrushIntentGroupSchema: z.ZodObject<{
280
284
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
281
285
  }, z.core.$strict>>;
282
286
  }, z.core.$strict>;
287
+ export declare const Step5SemrushEmptyReasonCodeSchema: z.ZodEnum<{
288
+ NO_SEEDS: "NO_SEEDS";
289
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
290
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
291
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
292
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
293
+ }>;
294
+ export type Step5SemrushEmptyReasonCode = z.infer<typeof Step5SemrushEmptyReasonCodeSchema>;
295
+ export declare const Step5SemrushSelectionSummarySchema: z.ZodObject<{
296
+ fetched_count: z.ZodNumber;
297
+ unique_count: z.ZodNumber;
298
+ metric_gate_pass_count: z.ZodNumber;
299
+ commercial_intent_pass_count: z.ZodNumber;
300
+ fit_pass_count: z.ZodNumber;
301
+ selected_count: z.ZodNumber;
302
+ }, z.core.$strict>;
303
+ export type Step5SemrushSelectionSummary = z.infer<typeof Step5SemrushSelectionSummarySchema>;
283
304
  export declare const Step5SemrushRecommendationSnapshotSchema: z.ZodObject<{
284
305
  schema_version: z.ZodLiteral<1>;
285
306
  provider: z.ZodLiteral<"semrush">;
@@ -307,6 +328,10 @@ export declare const Step5SemrushRecommendationSnapshotSchema: z.ZodObject<{
307
328
  }>;
308
329
  source_id: z.ZodString;
309
330
  field_path: z.ZodString;
331
+ source_field: z.ZodOptional<z.ZodString>;
332
+ source_evidence: z.ZodOptional<z.ZodString>;
333
+ business_subject: z.ZodOptional<z.ZodString>;
334
+ reason: z.ZodOptional<z.ZodString>;
310
335
  }, z.core.$strict>>;
311
336
  intent_groups: z.ZodArray<z.ZodObject<{
312
337
  id: z.ZodString;
@@ -357,9 +382,26 @@ export declare const Step5SemrushRecommendationSnapshotSchema: z.ZodObject<{
357
382
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
358
383
  }, z.core.$strict>>;
359
384
  }, z.core.$strict>>;
385
+ selection_summary: z.ZodOptional<z.ZodObject<{
386
+ fetched_count: z.ZodNumber;
387
+ unique_count: z.ZodNumber;
388
+ metric_gate_pass_count: z.ZodNumber;
389
+ commercial_intent_pass_count: z.ZodNumber;
390
+ fit_pass_count: z.ZodNumber;
391
+ selected_count: z.ZodNumber;
392
+ }, z.core.$strict>>;
393
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
394
+ NO_SEEDS: "NO_SEEDS";
395
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
396
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
397
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
398
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
399
+ }>>>;
360
400
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
361
401
  }, z.core.$strict>;
362
402
  export type Step5SemrushRecommendationSnapshot = z.infer<typeof Step5SemrushRecommendationSnapshotSchema>;
403
+ /** Cloud relevance is only a coarse noise filter, not the public 0-10 Fit. */
404
+ export declare const STEP5_SEMRUSH_MIN_RELEVANCE_SCORE: 1;
363
405
  /** Browser-safe request for the VCP Semrush keyword candidate proxy. */
364
406
  export declare const Step5SemrushKeywordCandidateSearchRequestSchema: z.ZodObject<{
365
407
  seed_keyword: z.ZodString;
@@ -368,7 +410,7 @@ export declare const Step5SemrushKeywordCandidateSearchRequestSchema: z.ZodObjec
368
410
  offset: z.ZodDefault<z.ZodNumber>;
369
411
  min_search_volume: z.ZodDefault<z.ZodNumber>;
370
412
  max_keyword_difficulty: z.ZodDefault<z.ZodNumber>;
371
- min_relevance_score: z.ZodDefault<z.ZodNumber>;
413
+ min_relevance_score: z.ZodDefault<z.ZodLiteral<1>>;
372
414
  }, z.core.$strict>;
373
415
  export type Step5SemrushKeywordCandidateSearchRequest = z.infer<typeof Step5SemrushKeywordCandidateSearchRequestSchema>;
374
416
  export declare const Step5SemrushKeywordCandidateSchema: z.ZodObject<{
@@ -462,8 +504,10 @@ export declare const Step5SemrushKeywordSelectionItemSchema: z.ZodObject<{
462
504
  export declare const Step5SemrushKeywordSelectionDataSchema: z.ZodObject<{
463
505
  selection_batch_id: z.ZodString;
464
506
  snapshot_id: z.ZodString;
465
- requested_count: z.ZodNumber;
466
507
  selected_count: z.ZodNumber;
508
+ created_count: z.ZodNumber;
509
+ updated_count: z.ZodNumber;
510
+ deselected_count: z.ZodNumber;
467
511
  items: z.ZodArray<z.ZodObject<{
468
512
  candidate_id: z.ZodString;
469
513
  keyword: z.ZodString;
@@ -479,8 +523,10 @@ export declare const Step5SemrushKeywordSelectionResponseSchema: z.ZodObject<{
479
523
  data: z.ZodObject<{
480
524
  selection_batch_id: z.ZodString;
481
525
  snapshot_id: z.ZodString;
482
- requested_count: z.ZodNumber;
483
526
  selected_count: z.ZodNumber;
527
+ created_count: z.ZodNumber;
528
+ updated_count: z.ZodNumber;
529
+ deselected_count: z.ZodNumber;
484
530
  items: z.ZodArray<z.ZodObject<{
485
531
  candidate_id: z.ZodString;
486
532
  keyword: z.ZodString;
@@ -878,6 +924,10 @@ export declare const Step5StrategyItemSchema: z.ZodObject<{
878
924
  }>;
879
925
  source_id: z.ZodString;
880
926
  field_path: z.ZodString;
927
+ source_field: z.ZodOptional<z.ZodString>;
928
+ source_evidence: z.ZodOptional<z.ZodString>;
929
+ business_subject: z.ZodOptional<z.ZodString>;
930
+ reason: z.ZodOptional<z.ZodString>;
881
931
  }, z.core.$strict>>;
882
932
  intent_groups: z.ZodArray<z.ZodObject<{
883
933
  id: z.ZodString;
@@ -928,6 +978,21 @@ export declare const Step5StrategyItemSchema: z.ZodObject<{
928
978
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
929
979
  }, z.core.$strict>>;
930
980
  }, z.core.$strict>>;
981
+ selection_summary: z.ZodOptional<z.ZodObject<{
982
+ fetched_count: z.ZodNumber;
983
+ unique_count: z.ZodNumber;
984
+ metric_gate_pass_count: z.ZodNumber;
985
+ commercial_intent_pass_count: z.ZodNumber;
986
+ fit_pass_count: z.ZodNumber;
987
+ selected_count: z.ZodNumber;
988
+ }, z.core.$strict>>;
989
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
990
+ NO_SEEDS: "NO_SEEDS";
991
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
992
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
993
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
994
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
995
+ }>>>;
931
996
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
932
997
  }, z.core.$strict>>>;
933
998
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -1004,6 +1069,18 @@ export declare const Step5LegacySeoKeywordSchema: z.ZodObject<{
1004
1069
  cpc: z.ZodNullable<z.ZodNumber>;
1005
1070
  }, z.core.$strict>;
1006
1071
  export type Step5LegacySeoKeyword = z.infer<typeof Step5LegacySeoKeywordSchema>;
1072
+ export declare const Step5LegacySeoKeywordInputSchema: z.ZodObject<{
1073
+ id: z.ZodString;
1074
+ keyword: z.ZodString;
1075
+ intent_code: z.ZodString;
1076
+ intent_type: z.ZodString;
1077
+ strength: z.ZodEnum<{
1078
+ high: "high";
1079
+ medium: "medium";
1080
+ }>;
1081
+ search_volume: z.ZodNullable<z.ZodNumber>;
1082
+ cpc: z.ZodNullable<z.ZodNumber>;
1083
+ }, z.core.$strict>;
1007
1084
  export declare const Step5SeoKeywordSchema: z.ZodObject<{
1008
1085
  id: z.ZodString;
1009
1086
  keyword: z.ZodString;
@@ -1092,6 +1169,51 @@ export declare const Step5SeoPayloadV2Schema: z.ZodObject<{
1092
1169
  }, z.core.$strict>>>;
1093
1170
  }, z.core.$strict>;
1094
1171
  export type Step5SeoPayloadV2 = z.infer<typeof Step5SeoPayloadV2Schema>;
1172
+ export declare const Step5SeoPayloadV2InputSchema: z.ZodObject<{
1173
+ schema_version: z.ZodLiteral<2>;
1174
+ seo_keywords: z.ZodArray<z.ZodObject<{
1175
+ id: z.ZodString;
1176
+ keyword: z.ZodString;
1177
+ normalized_keyword: z.ZodString;
1178
+ intc: z.ZodEnum<{
1179
+ C: "C";
1180
+ I: "I";
1181
+ N: "N";
1182
+ T: "T";
1183
+ }>;
1184
+ keyword_type: z.ZodString;
1185
+ intent_strength: z.ZodEnum<{
1186
+ high: "high";
1187
+ medium: "medium";
1188
+ low: "low";
1189
+ }>;
1190
+ monthly_volume: z.ZodNullable<z.ZodNumber>;
1191
+ keyword_difficulty: z.ZodNullable<z.ZodNumber>;
1192
+ fit: z.ZodNullable<z.ZodNumber>;
1193
+ sem_cpc: z.ZodNullable<z.ZodNumber>;
1194
+ currency: z.ZodNullable<z.ZodString>;
1195
+ landing_page: z.ZodString;
1196
+ content_format: z.ZodString;
1197
+ priority: z.ZodEnum<{
1198
+ P0: "P0";
1199
+ P1: "P1";
1200
+ P2: "P2";
1201
+ P3: "P3";
1202
+ }>;
1203
+ source: z.ZodEnum<{
1204
+ semrush: "semrush";
1205
+ step5_generation: "step5_generation";
1206
+ }>;
1207
+ source_market: z.ZodString;
1208
+ metric_timestamp: z.ZodNullable<z.ZodString>;
1209
+ }, z.core.$strict>>;
1210
+ semrush_snapshot_refs: z.ZodOptional<z.ZodArray<z.ZodObject<{
1211
+ request_id: z.ZodString;
1212
+ snapshot_id: z.ZodString;
1213
+ selected_keywords: z.ZodArray<z.ZodString>;
1214
+ }, z.core.$strict>>>;
1215
+ }, z.core.$strict>;
1216
+ export type Step5SeoPayloadV2Input = z.infer<typeof Step5SeoPayloadV2InputSchema>;
1095
1217
  export declare const Step5LegacyDecisionCustomPayloadSchema: z.ZodObject<{
1096
1218
  rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
1097
1219
  id: z.ZodString;
@@ -1112,6 +1234,25 @@ export declare const Step5LegacyDecisionCustomPayloadSchema: z.ZodObject<{
1112
1234
  }, z.core.$strict>>>;
1113
1235
  }, z.core.$strict>;
1114
1236
  export type Step5LegacyDecisionCustomPayload = z.infer<typeof Step5LegacyDecisionCustomPayloadSchema>;
1237
+ export declare const Step5LegacyDecisionCustomPayloadInputSchema: z.ZodObject<{
1238
+ rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
1239
+ id: z.ZodString;
1240
+ type: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
1241
+ cells: z.ZodTuple<[z.ZodString, z.ZodString, z.ZodString, z.ZodString, z.ZodString, z.ZodString], null>;
1242
+ }, z.core.$strict>>>;
1243
+ seo_keywords: z.ZodOptional<z.ZodArray<z.ZodObject<{
1244
+ id: z.ZodString;
1245
+ keyword: z.ZodString;
1246
+ intent_code: z.ZodString;
1247
+ intent_type: z.ZodString;
1248
+ strength: z.ZodEnum<{
1249
+ high: "high";
1250
+ medium: "medium";
1251
+ }>;
1252
+ search_volume: z.ZodNullable<z.ZodNumber>;
1253
+ cpc: z.ZodNullable<z.ZodNumber>;
1254
+ }, z.core.$strict>>>;
1255
+ }, z.core.$strict>;
1115
1256
  export declare const Step5DecisionCustomPayloadSchema: z.ZodUnion<readonly [z.ZodObject<{
1116
1257
  schema_version: z.ZodLiteral<2>;
1117
1258
  seo_keywords: z.ZodArray<z.ZodObject<{
@@ -1802,6 +1943,10 @@ export declare const Step5StrategyVersionSnapshotSchema: z.ZodObject<{
1802
1943
  }>;
1803
1944
  source_id: z.ZodString;
1804
1945
  field_path: z.ZodString;
1946
+ source_field: z.ZodOptional<z.ZodString>;
1947
+ source_evidence: z.ZodOptional<z.ZodString>;
1948
+ business_subject: z.ZodOptional<z.ZodString>;
1949
+ reason: z.ZodOptional<z.ZodString>;
1805
1950
  }, z.core.$strict>>;
1806
1951
  intent_groups: z.ZodArray<z.ZodObject<{
1807
1952
  id: z.ZodString;
@@ -1852,6 +1997,21 @@ export declare const Step5StrategyVersionSnapshotSchema: z.ZodObject<{
1852
1997
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
1853
1998
  }, z.core.$strict>>;
1854
1999
  }, z.core.$strict>>;
2000
+ selection_summary: z.ZodOptional<z.ZodObject<{
2001
+ fetched_count: z.ZodNumber;
2002
+ unique_count: z.ZodNumber;
2003
+ metric_gate_pass_count: z.ZodNumber;
2004
+ commercial_intent_pass_count: z.ZodNumber;
2005
+ fit_pass_count: z.ZodNumber;
2006
+ selected_count: z.ZodNumber;
2007
+ }, z.core.$strict>>;
2008
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
2009
+ NO_SEEDS: "NO_SEEDS";
2010
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
2011
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
2012
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
2013
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
2014
+ }>>>;
1855
2015
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1856
2016
  }, z.core.$strict>>>;
1857
2017
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -2390,6 +2550,10 @@ export declare const Step5CommittedVersionSchema: z.ZodObject<{
2390
2550
  }>;
2391
2551
  source_id: z.ZodString;
2392
2552
  field_path: z.ZodString;
2553
+ source_field: z.ZodOptional<z.ZodString>;
2554
+ source_evidence: z.ZodOptional<z.ZodString>;
2555
+ business_subject: z.ZodOptional<z.ZodString>;
2556
+ reason: z.ZodOptional<z.ZodString>;
2393
2557
  }, z.core.$strict>>;
2394
2558
  intent_groups: z.ZodArray<z.ZodObject<{
2395
2559
  id: z.ZodString;
@@ -2440,6 +2604,21 @@ export declare const Step5CommittedVersionSchema: z.ZodObject<{
2440
2604
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
2441
2605
  }, z.core.$strict>>;
2442
2606
  }, z.core.$strict>>;
2607
+ selection_summary: z.ZodOptional<z.ZodObject<{
2608
+ fetched_count: z.ZodNumber;
2609
+ unique_count: z.ZodNumber;
2610
+ metric_gate_pass_count: z.ZodNumber;
2611
+ commercial_intent_pass_count: z.ZodNumber;
2612
+ fit_pass_count: z.ZodNumber;
2613
+ selected_count: z.ZodNumber;
2614
+ }, z.core.$strict>>;
2615
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
2616
+ NO_SEEDS: "NO_SEEDS";
2617
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
2618
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
2619
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
2620
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
2621
+ }>>>;
2443
2622
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2444
2623
  }, z.core.$strict>>>;
2445
2624
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -2969,6 +3148,10 @@ export declare const Step5StrategyJobSchema: z.ZodObject<{
2969
3148
  }>;
2970
3149
  source_id: z.ZodString;
2971
3150
  field_path: z.ZodString;
3151
+ source_field: z.ZodOptional<z.ZodString>;
3152
+ source_evidence: z.ZodOptional<z.ZodString>;
3153
+ business_subject: z.ZodOptional<z.ZodString>;
3154
+ reason: z.ZodOptional<z.ZodString>;
2972
3155
  }, z.core.$strict>>;
2973
3156
  intent_groups: z.ZodArray<z.ZodObject<{
2974
3157
  id: z.ZodString;
@@ -3019,6 +3202,21 @@ export declare const Step5StrategyJobSchema: z.ZodObject<{
3019
3202
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
3020
3203
  }, z.core.$strict>>;
3021
3204
  }, z.core.$strict>>;
3205
+ selection_summary: z.ZodOptional<z.ZodObject<{
3206
+ fetched_count: z.ZodNumber;
3207
+ unique_count: z.ZodNumber;
3208
+ metric_gate_pass_count: z.ZodNumber;
3209
+ commercial_intent_pass_count: z.ZodNumber;
3210
+ fit_pass_count: z.ZodNumber;
3211
+ selected_count: z.ZodNumber;
3212
+ }, z.core.$strict>>;
3213
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
3214
+ NO_SEEDS: "NO_SEEDS";
3215
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
3216
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
3217
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
3218
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
3219
+ }>>>;
3022
3220
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3023
3221
  }, z.core.$strict>>>;
3024
3222
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -3558,6 +3756,10 @@ export declare const Step5StrategyJobSchema: z.ZodObject<{
3558
3756
  }>;
3559
3757
  source_id: z.ZodString;
3560
3758
  field_path: z.ZodString;
3759
+ source_field: z.ZodOptional<z.ZodString>;
3760
+ source_evidence: z.ZodOptional<z.ZodString>;
3761
+ business_subject: z.ZodOptional<z.ZodString>;
3762
+ reason: z.ZodOptional<z.ZodString>;
3561
3763
  }, z.core.$strict>>;
3562
3764
  intent_groups: z.ZodArray<z.ZodObject<{
3563
3765
  id: z.ZodString;
@@ -3608,6 +3810,21 @@ export declare const Step5StrategyJobSchema: z.ZodObject<{
3608
3810
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
3609
3811
  }, z.core.$strict>>;
3610
3812
  }, z.core.$strict>>;
3813
+ selection_summary: z.ZodOptional<z.ZodObject<{
3814
+ fetched_count: z.ZodNumber;
3815
+ unique_count: z.ZodNumber;
3816
+ metric_gate_pass_count: z.ZodNumber;
3817
+ commercial_intent_pass_count: z.ZodNumber;
3818
+ fit_pass_count: z.ZodNumber;
3819
+ selected_count: z.ZodNumber;
3820
+ }, z.core.$strict>>;
3821
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
3822
+ NO_SEEDS: "NO_SEEDS";
3823
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
3824
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
3825
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
3826
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
3827
+ }>>>;
3611
3828
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3612
3829
  }, z.core.$strict>>>;
3613
3830
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -4142,6 +4359,10 @@ export declare const Step5StartStrategyResponseSchema: z.ZodObject<{
4142
4359
  }>;
4143
4360
  source_id: z.ZodString;
4144
4361
  field_path: z.ZodString;
4362
+ source_field: z.ZodOptional<z.ZodString>;
4363
+ source_evidence: z.ZodOptional<z.ZodString>;
4364
+ business_subject: z.ZodOptional<z.ZodString>;
4365
+ reason: z.ZodOptional<z.ZodString>;
4145
4366
  }, z.core.$strict>>;
4146
4367
  intent_groups: z.ZodArray<z.ZodObject<{
4147
4368
  id: z.ZodString;
@@ -4192,6 +4413,21 @@ export declare const Step5StartStrategyResponseSchema: z.ZodObject<{
4192
4413
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
4193
4414
  }, z.core.$strict>>;
4194
4415
  }, z.core.$strict>>;
4416
+ selection_summary: z.ZodOptional<z.ZodObject<{
4417
+ fetched_count: z.ZodNumber;
4418
+ unique_count: z.ZodNumber;
4419
+ metric_gate_pass_count: z.ZodNumber;
4420
+ commercial_intent_pass_count: z.ZodNumber;
4421
+ fit_pass_count: z.ZodNumber;
4422
+ selected_count: z.ZodNumber;
4423
+ }, z.core.$strict>>;
4424
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
4425
+ NO_SEEDS: "NO_SEEDS";
4426
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
4427
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
4428
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
4429
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
4430
+ }>>>;
4195
4431
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4196
4432
  }, z.core.$strict>>>;
4197
4433
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -4731,6 +4967,10 @@ export declare const Step5StartStrategyResponseSchema: z.ZodObject<{
4731
4967
  }>;
4732
4968
  source_id: z.ZodString;
4733
4969
  field_path: z.ZodString;
4970
+ source_field: z.ZodOptional<z.ZodString>;
4971
+ source_evidence: z.ZodOptional<z.ZodString>;
4972
+ business_subject: z.ZodOptional<z.ZodString>;
4973
+ reason: z.ZodOptional<z.ZodString>;
4734
4974
  }, z.core.$strict>>;
4735
4975
  intent_groups: z.ZodArray<z.ZodObject<{
4736
4976
  id: z.ZodString;
@@ -4781,6 +5021,21 @@ export declare const Step5StartStrategyResponseSchema: z.ZodObject<{
4781
5021
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
4782
5022
  }, z.core.$strict>>;
4783
5023
  }, z.core.$strict>>;
5024
+ selection_summary: z.ZodOptional<z.ZodObject<{
5025
+ fetched_count: z.ZodNumber;
5026
+ unique_count: z.ZodNumber;
5027
+ metric_gate_pass_count: z.ZodNumber;
5028
+ commercial_intent_pass_count: z.ZodNumber;
5029
+ fit_pass_count: z.ZodNumber;
5030
+ selected_count: z.ZodNumber;
5031
+ }, z.core.$strict>>;
5032
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
5033
+ NO_SEEDS: "NO_SEEDS";
5034
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
5035
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
5036
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
5037
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
5038
+ }>>>;
4784
5039
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4785
5040
  }, z.core.$strict>>>;
4786
5041
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -5579,6 +5834,10 @@ export declare const Step5StrategySnapshotDataSchema: z.ZodObject<{
5579
5834
  }>;
5580
5835
  source_id: z.ZodString;
5581
5836
  field_path: z.ZodString;
5837
+ source_field: z.ZodOptional<z.ZodString>;
5838
+ source_evidence: z.ZodOptional<z.ZodString>;
5839
+ business_subject: z.ZodOptional<z.ZodString>;
5840
+ reason: z.ZodOptional<z.ZodString>;
5582
5841
  }, z.core.$strict>>;
5583
5842
  intent_groups: z.ZodArray<z.ZodObject<{
5584
5843
  id: z.ZodString;
@@ -5629,6 +5888,21 @@ export declare const Step5StrategySnapshotDataSchema: z.ZodObject<{
5629
5888
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
5630
5889
  }, z.core.$strict>>;
5631
5890
  }, z.core.$strict>>;
5891
+ selection_summary: z.ZodOptional<z.ZodObject<{
5892
+ fetched_count: z.ZodNumber;
5893
+ unique_count: z.ZodNumber;
5894
+ metric_gate_pass_count: z.ZodNumber;
5895
+ commercial_intent_pass_count: z.ZodNumber;
5896
+ fit_pass_count: z.ZodNumber;
5897
+ selected_count: z.ZodNumber;
5898
+ }, z.core.$strict>>;
5899
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
5900
+ NO_SEEDS: "NO_SEEDS";
5901
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
5902
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
5903
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
5904
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
5905
+ }>>>;
5632
5906
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5633
5907
  }, z.core.$strict>>>;
5634
5908
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -6168,6 +6442,10 @@ export declare const Step5StrategySnapshotDataSchema: z.ZodObject<{
6168
6442
  }>;
6169
6443
  source_id: z.ZodString;
6170
6444
  field_path: z.ZodString;
6445
+ source_field: z.ZodOptional<z.ZodString>;
6446
+ source_evidence: z.ZodOptional<z.ZodString>;
6447
+ business_subject: z.ZodOptional<z.ZodString>;
6448
+ reason: z.ZodOptional<z.ZodString>;
6171
6449
  }, z.core.$strict>>;
6172
6450
  intent_groups: z.ZodArray<z.ZodObject<{
6173
6451
  id: z.ZodString;
@@ -6218,6 +6496,21 @@ export declare const Step5StrategySnapshotDataSchema: z.ZodObject<{
6218
6496
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
6219
6497
  }, z.core.$strict>>;
6220
6498
  }, z.core.$strict>>;
6499
+ selection_summary: z.ZodOptional<z.ZodObject<{
6500
+ fetched_count: z.ZodNumber;
6501
+ unique_count: z.ZodNumber;
6502
+ metric_gate_pass_count: z.ZodNumber;
6503
+ commercial_intent_pass_count: z.ZodNumber;
6504
+ fit_pass_count: z.ZodNumber;
6505
+ selected_count: z.ZodNumber;
6506
+ }, z.core.$strict>>;
6507
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
6508
+ NO_SEEDS: "NO_SEEDS";
6509
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
6510
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
6511
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
6512
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
6513
+ }>>>;
6221
6514
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6222
6515
  }, z.core.$strict>>>;
6223
6516
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -6760,6 +7053,10 @@ export declare const Step5StrategySseFrameSchema: z.ZodDiscriminatedUnion<[z.Zod
6760
7053
  }>;
6761
7054
  source_id: z.ZodString;
6762
7055
  field_path: z.ZodString;
7056
+ source_field: z.ZodOptional<z.ZodString>;
7057
+ source_evidence: z.ZodOptional<z.ZodString>;
7058
+ business_subject: z.ZodOptional<z.ZodString>;
7059
+ reason: z.ZodOptional<z.ZodString>;
6763
7060
  }, z.core.$strict>>;
6764
7061
  intent_groups: z.ZodArray<z.ZodObject<{
6765
7062
  id: z.ZodString;
@@ -6810,6 +7107,21 @@ export declare const Step5StrategySseFrameSchema: z.ZodDiscriminatedUnion<[z.Zod
6810
7107
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
6811
7108
  }, z.core.$strict>>;
6812
7109
  }, z.core.$strict>>;
7110
+ selection_summary: z.ZodOptional<z.ZodObject<{
7111
+ fetched_count: z.ZodNumber;
7112
+ unique_count: z.ZodNumber;
7113
+ metric_gate_pass_count: z.ZodNumber;
7114
+ commercial_intent_pass_count: z.ZodNumber;
7115
+ fit_pass_count: z.ZodNumber;
7116
+ selected_count: z.ZodNumber;
7117
+ }, z.core.$strict>>;
7118
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
7119
+ NO_SEEDS: "NO_SEEDS";
7120
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
7121
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
7122
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
7123
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
7124
+ }>>>;
6813
7125
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6814
7126
  }, z.core.$strict>>>;
6815
7127
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -7349,6 +7661,10 @@ export declare const Step5StrategySseFrameSchema: z.ZodDiscriminatedUnion<[z.Zod
7349
7661
  }>;
7350
7662
  source_id: z.ZodString;
7351
7663
  field_path: z.ZodString;
7664
+ source_field: z.ZodOptional<z.ZodString>;
7665
+ source_evidence: z.ZodOptional<z.ZodString>;
7666
+ business_subject: z.ZodOptional<z.ZodString>;
7667
+ reason: z.ZodOptional<z.ZodString>;
7352
7668
  }, z.core.$strict>>;
7353
7669
  intent_groups: z.ZodArray<z.ZodObject<{
7354
7670
  id: z.ZodString;
@@ -7399,6 +7715,21 @@ export declare const Step5StrategySseFrameSchema: z.ZodDiscriminatedUnion<[z.Zod
7399
7715
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
7400
7716
  }, z.core.$strict>>;
7401
7717
  }, z.core.$strict>>;
7718
+ selection_summary: z.ZodOptional<z.ZodObject<{
7719
+ fetched_count: z.ZodNumber;
7720
+ unique_count: z.ZodNumber;
7721
+ metric_gate_pass_count: z.ZodNumber;
7722
+ commercial_intent_pass_count: z.ZodNumber;
7723
+ fit_pass_count: z.ZodNumber;
7724
+ selected_count: z.ZodNumber;
7725
+ }, z.core.$strict>>;
7726
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
7727
+ NO_SEEDS: "NO_SEEDS";
7728
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
7729
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
7730
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
7731
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
7732
+ }>>>;
7402
7733
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7403
7734
  }, z.core.$strict>>>;
7404
7735
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -7934,6 +8265,10 @@ export declare const Step5StrategySseFrameSchema: z.ZodDiscriminatedUnion<[z.Zod
7934
8265
  }>;
7935
8266
  source_id: z.ZodString;
7936
8267
  field_path: z.ZodString;
8268
+ source_field: z.ZodOptional<z.ZodString>;
8269
+ source_evidence: z.ZodOptional<z.ZodString>;
8270
+ business_subject: z.ZodOptional<z.ZodString>;
8271
+ reason: z.ZodOptional<z.ZodString>;
7937
8272
  }, z.core.$strict>>;
7938
8273
  intent_groups: z.ZodArray<z.ZodObject<{
7939
8274
  id: z.ZodString;
@@ -7984,6 +8319,21 @@ export declare const Step5StrategySseFrameSchema: z.ZodDiscriminatedUnion<[z.Zod
7984
8319
  page_level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
7985
8320
  }, z.core.$strict>>;
7986
8321
  }, z.core.$strict>>;
8322
+ selection_summary: z.ZodOptional<z.ZodObject<{
8323
+ fetched_count: z.ZodNumber;
8324
+ unique_count: z.ZodNumber;
8325
+ metric_gate_pass_count: z.ZodNumber;
8326
+ commercial_intent_pass_count: z.ZodNumber;
8327
+ fit_pass_count: z.ZodNumber;
8328
+ selected_count: z.ZodNumber;
8329
+ }, z.core.$strict>>;
8330
+ empty_reason_code: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
8331
+ NO_SEEDS: "NO_SEEDS";
8332
+ NO_PROVIDER_CANDIDATES: "NO_PROVIDER_CANDIDATES";
8333
+ NO_METRIC_ELIGIBLE_CANDIDATES: "NO_METRIC_ELIGIBLE_CANDIDATES";
8334
+ NO_COMMERCIAL_INTENT_CANDIDATES: "NO_COMMERCIAL_INTENT_CANDIDATES";
8335
+ NO_FIT_ELIGIBLE_CANDIDATES: "NO_FIT_ELIGIBLE_CANDIDATES";
8336
+ }>>>;
7987
8337
  error_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7988
8338
  }, z.core.$strict>>>;
7989
8339
  seo_payload: z.ZodOptional<z.ZodNullable<z.ZodLazy<z.ZodObject<{
@@ -895,6 +895,7 @@ export declare const Step6DesignRecommendationGenerationInputSchema: z.ZodObject
895
895
  strategy_checksum: z.ZodString;
896
896
  strategy_summary: z.ZodArray<z.ZodString>;
897
897
  reference_image_source_id: z.ZodOptional<z.ZodUUID>;
898
+ owner_whole_site_request: z.ZodOptional<z.ZodString>;
898
899
  }, z.core.$strict>;
899
900
  export type Step6DesignRecommendationGenerationInput = z.infer<typeof Step6DesignRecommendationGenerationInputSchema>;
900
901
  /**