@growth-labs/cms 0.8.26 → 0.8.30

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 (85) hide show
  1. package/README.md +23 -0
  2. package/dist/engine/content-insights.d.ts +27 -3
  3. package/dist/engine/content-insights.d.ts.map +1 -1
  4. package/dist/engine/content-insights.js +83 -4
  5. package/dist/engine/content-insights.js.map +1 -1
  6. package/dist/engine/index.d.ts +1 -0
  7. package/dist/engine/index.d.ts.map +1 -1
  8. package/dist/engine/index.js +1 -0
  9. package/dist/engine/index.js.map +1 -1
  10. package/dist/engine/publication-receipt/receipt.d.ts +4 -4
  11. package/dist/engine/published-content.d.ts +4 -0
  12. package/dist/engine/published-content.d.ts.map +1 -1
  13. package/dist/engine/published-content.js +52 -16
  14. package/dist/engine/published-content.js.map +1 -1
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/integration/options.d.ts +226 -13
  20. package/dist/integration/options.d.ts.map +1 -1
  21. package/dist/integration/options.js +17 -2
  22. package/dist/integration/options.js.map +1 -1
  23. package/dist/providers/types.d.ts +10 -0
  24. package/dist/providers/types.d.ts.map +1 -1
  25. package/dist/providers/types.js.map +1 -1
  26. package/dist/routes/content-insights.d.ts +4 -0
  27. package/dist/routes/content-insights.d.ts.map +1 -1
  28. package/dist/routes/content-insights.js +137 -3
  29. package/dist/routes/content-insights.js.map +1 -1
  30. package/dist/routes/fronts-publish.d.ts +1 -1
  31. package/dist/routes/fronts-publish.d.ts.map +1 -1
  32. package/dist/routes/fronts-publish.js +2 -2
  33. package/dist/routes/fronts-publish.js.map +1 -1
  34. package/dist/routes/surveys.d.ts.map +1 -1
  35. package/dist/routes/surveys.js +80 -4
  36. package/dist/routes/surveys.js.map +1 -1
  37. package/dist/schema/insights-ingest.d.ts +961 -97
  38. package/dist/schema/insights-ingest.d.ts.map +1 -1
  39. package/dist/schema/insights-ingest.js +38 -0
  40. package/dist/schema/insights-ingest.js.map +1 -1
  41. package/dist/schema/types.d.ts +20 -0
  42. package/dist/schema/types.d.ts.map +1 -1
  43. package/dist/schema/types.js.map +1 -1
  44. package/dist/surveys/auto-label.d.ts +31 -4
  45. package/dist/surveys/auto-label.d.ts.map +1 -1
  46. package/dist/surveys/auto-label.js +160 -29
  47. package/dist/surveys/auto-label.js.map +1 -1
  48. package/dist/surveys/schema.d.ts +155 -0
  49. package/dist/surveys/schema.d.ts.map +1 -1
  50. package/dist/surveys/schema.js +49 -0
  51. package/dist/surveys/schema.js.map +1 -1
  52. package/dist/ui/api/content/insights-inputs.d.ts.map +1 -1
  53. package/dist/ui/api/content/insights-inputs.js +11 -1
  54. package/dist/ui/api/content/insights-inputs.js.map +1 -1
  55. package/dist/ui/client/mount.d.ts.map +1 -1
  56. package/dist/ui/client/mount.js +1 -0
  57. package/dist/ui/client/mount.js.map +1 -1
  58. package/dist/ui/screens/SurveyResponsesScreen.d.ts +18 -3
  59. package/dist/ui/screens/SurveyResponsesScreen.d.ts.map +1 -1
  60. package/dist/ui/screens/SurveyResponsesScreen.js +75 -18
  61. package/dist/ui/screens/SurveyResponsesScreen.js.map +1 -1
  62. package/dist/ui/screens/registry.d.ts +3 -1
  63. package/dist/ui/screens/registry.d.ts.map +1 -1
  64. package/dist/ui/screens/registry.js +4 -2
  65. package/dist/ui/screens/registry.js.map +1 -1
  66. package/dist/ui/styles/broadsheet.css +1 -0
  67. package/package.json +1 -1
  68. package/src/engine/content-insights.ts +99 -6
  69. package/src/engine/index.ts +1 -0
  70. package/src/engine/published-content.ts +75 -16
  71. package/src/index.ts +1 -0
  72. package/src/integration/options.ts +21 -1
  73. package/src/providers/types.ts +9 -0
  74. package/src/routes/content-insights.ts +144 -2
  75. package/src/routes/fronts-publish.ts +2 -1
  76. package/src/routes/surveys.ts +106 -4
  77. package/src/schema/insights-ingest.ts +45 -0
  78. package/src/schema/types.ts +10 -0
  79. package/src/surveys/auto-label.ts +204 -33
  80. package/src/surveys/schema.ts +58 -0
  81. package/src/ui/api/content/insights-inputs.ts +8 -1
  82. package/src/ui/client/mount.tsx +1 -0
  83. package/src/ui/screens/SurveyResponsesScreen.tsx +198 -18
  84. package/src/ui/screens/registry.tsx +6 -2
  85. package/src/ui/styles/broadsheet.css +1 -0
@@ -932,18 +932,290 @@ export declare const InsightCompetitorArticleSchema: z.ZodObject<{
932
932
  outlet?: string | undefined;
933
933
  covered?: boolean | undefined;
934
934
  }>;
935
+ export declare const InsightSelectedClusterMembershipSchema: z.ZodEffects<z.ZodObject<{
936
+ site_id: z.ZodString;
937
+ run_id: z.ZodString;
938
+ intent_key: z.ZodString;
939
+ desk: z.ZodString;
940
+ decision_ref: z.ZodString;
941
+ taxonomy_ref: z.ZodString;
942
+ hub: z.ZodObject<{
943
+ content_id: z.ZodString;
944
+ revision_id: z.ZodString;
945
+ url: z.ZodString;
946
+ title: z.ZodString;
947
+ }, "strict", z.ZodTypeAny, {
948
+ title: string;
949
+ url: string;
950
+ content_id: string;
951
+ revision_id: string;
952
+ }, {
953
+ title: string;
954
+ url: string;
955
+ content_id: string;
956
+ revision_id: string;
957
+ }>;
958
+ children: z.ZodArray<z.ZodObject<{
959
+ content_id: z.ZodString;
960
+ revision_id: z.ZodString;
961
+ url: z.ZodString;
962
+ title: z.ZodString;
963
+ }, "strict", z.ZodTypeAny, {
964
+ title: string;
965
+ url: string;
966
+ content_id: string;
967
+ revision_id: string;
968
+ }, {
969
+ title: string;
970
+ url: string;
971
+ content_id: string;
972
+ revision_id: string;
973
+ }>, "many">;
974
+ }, "strict", z.ZodTypeAny, {
975
+ desk: string;
976
+ site_id: string;
977
+ run_id: string;
978
+ intent_key: string;
979
+ decision_ref: string;
980
+ taxonomy_ref: string;
981
+ hub: {
982
+ title: string;
983
+ url: string;
984
+ content_id: string;
985
+ revision_id: string;
986
+ };
987
+ children: {
988
+ title: string;
989
+ url: string;
990
+ content_id: string;
991
+ revision_id: string;
992
+ }[];
993
+ }, {
994
+ desk: string;
995
+ site_id: string;
996
+ run_id: string;
997
+ intent_key: string;
998
+ decision_ref: string;
999
+ taxonomy_ref: string;
1000
+ hub: {
1001
+ title: string;
1002
+ url: string;
1003
+ content_id: string;
1004
+ revision_id: string;
1005
+ };
1006
+ children: {
1007
+ title: string;
1008
+ url: string;
1009
+ content_id: string;
1010
+ revision_id: string;
1011
+ }[];
1012
+ }>, {
1013
+ desk: string;
1014
+ site_id: string;
1015
+ run_id: string;
1016
+ intent_key: string;
1017
+ decision_ref: string;
1018
+ taxonomy_ref: string;
1019
+ hub: {
1020
+ title: string;
1021
+ url: string;
1022
+ content_id: string;
1023
+ revision_id: string;
1024
+ };
1025
+ children: {
1026
+ title: string;
1027
+ url: string;
1028
+ content_id: string;
1029
+ revision_id: string;
1030
+ }[];
1031
+ }, {
1032
+ desk: string;
1033
+ site_id: string;
1034
+ run_id: string;
1035
+ intent_key: string;
1036
+ decision_ref: string;
1037
+ taxonomy_ref: string;
1038
+ hub: {
1039
+ title: string;
1040
+ url: string;
1041
+ content_id: string;
1042
+ revision_id: string;
1043
+ };
1044
+ children: {
1045
+ title: string;
1046
+ url: string;
1047
+ content_id: string;
1048
+ revision_id: string;
1049
+ }[];
1050
+ }>;
935
1051
  export declare const InsightBriefSchema: z.ZodObject<{
936
1052
  why_now: z.ZodString;
937
1053
  angle: z.ZodString;
938
1054
  cluster: z.ZodObject<{
939
1055
  canonical: z.ZodString;
940
1056
  spokes: z.ZodArray<z.ZodString, "many">;
1057
+ selected: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1058
+ site_id: z.ZodString;
1059
+ run_id: z.ZodString;
1060
+ intent_key: z.ZodString;
1061
+ desk: z.ZodString;
1062
+ decision_ref: z.ZodString;
1063
+ taxonomy_ref: z.ZodString;
1064
+ hub: z.ZodObject<{
1065
+ content_id: z.ZodString;
1066
+ revision_id: z.ZodString;
1067
+ url: z.ZodString;
1068
+ title: z.ZodString;
1069
+ }, "strict", z.ZodTypeAny, {
1070
+ title: string;
1071
+ url: string;
1072
+ content_id: string;
1073
+ revision_id: string;
1074
+ }, {
1075
+ title: string;
1076
+ url: string;
1077
+ content_id: string;
1078
+ revision_id: string;
1079
+ }>;
1080
+ children: z.ZodArray<z.ZodObject<{
1081
+ content_id: z.ZodString;
1082
+ revision_id: z.ZodString;
1083
+ url: z.ZodString;
1084
+ title: z.ZodString;
1085
+ }, "strict", z.ZodTypeAny, {
1086
+ title: string;
1087
+ url: string;
1088
+ content_id: string;
1089
+ revision_id: string;
1090
+ }, {
1091
+ title: string;
1092
+ url: string;
1093
+ content_id: string;
1094
+ revision_id: string;
1095
+ }>, "many">;
1096
+ }, "strict", z.ZodTypeAny, {
1097
+ desk: string;
1098
+ site_id: string;
1099
+ run_id: string;
1100
+ intent_key: string;
1101
+ decision_ref: string;
1102
+ taxonomy_ref: string;
1103
+ hub: {
1104
+ title: string;
1105
+ url: string;
1106
+ content_id: string;
1107
+ revision_id: string;
1108
+ };
1109
+ children: {
1110
+ title: string;
1111
+ url: string;
1112
+ content_id: string;
1113
+ revision_id: string;
1114
+ }[];
1115
+ }, {
1116
+ desk: string;
1117
+ site_id: string;
1118
+ run_id: string;
1119
+ intent_key: string;
1120
+ decision_ref: string;
1121
+ taxonomy_ref: string;
1122
+ hub: {
1123
+ title: string;
1124
+ url: string;
1125
+ content_id: string;
1126
+ revision_id: string;
1127
+ };
1128
+ children: {
1129
+ title: string;
1130
+ url: string;
1131
+ content_id: string;
1132
+ revision_id: string;
1133
+ }[];
1134
+ }>, {
1135
+ desk: string;
1136
+ site_id: string;
1137
+ run_id: string;
1138
+ intent_key: string;
1139
+ decision_ref: string;
1140
+ taxonomy_ref: string;
1141
+ hub: {
1142
+ title: string;
1143
+ url: string;
1144
+ content_id: string;
1145
+ revision_id: string;
1146
+ };
1147
+ children: {
1148
+ title: string;
1149
+ url: string;
1150
+ content_id: string;
1151
+ revision_id: string;
1152
+ }[];
1153
+ }, {
1154
+ desk: string;
1155
+ site_id: string;
1156
+ run_id: string;
1157
+ intent_key: string;
1158
+ decision_ref: string;
1159
+ taxonomy_ref: string;
1160
+ hub: {
1161
+ title: string;
1162
+ url: string;
1163
+ content_id: string;
1164
+ revision_id: string;
1165
+ };
1166
+ children: {
1167
+ title: string;
1168
+ url: string;
1169
+ content_id: string;
1170
+ revision_id: string;
1171
+ }[];
1172
+ }>>;
941
1173
  }, "strip", z.ZodTypeAny, {
942
1174
  canonical: string;
943
1175
  spokes: string[];
1176
+ selected?: {
1177
+ desk: string;
1178
+ site_id: string;
1179
+ run_id: string;
1180
+ intent_key: string;
1181
+ decision_ref: string;
1182
+ taxonomy_ref: string;
1183
+ hub: {
1184
+ title: string;
1185
+ url: string;
1186
+ content_id: string;
1187
+ revision_id: string;
1188
+ };
1189
+ children: {
1190
+ title: string;
1191
+ url: string;
1192
+ content_id: string;
1193
+ revision_id: string;
1194
+ }[];
1195
+ } | undefined;
944
1196
  }, {
945
1197
  canonical: string;
946
1198
  spokes: string[];
1199
+ selected?: {
1200
+ desk: string;
1201
+ site_id: string;
1202
+ run_id: string;
1203
+ intent_key: string;
1204
+ decision_ref: string;
1205
+ taxonomy_ref: string;
1206
+ hub: {
1207
+ title: string;
1208
+ url: string;
1209
+ content_id: string;
1210
+ revision_id: string;
1211
+ };
1212
+ children: {
1213
+ title: string;
1214
+ url: string;
1215
+ content_id: string;
1216
+ revision_id: string;
1217
+ }[];
1218
+ } | undefined;
947
1219
  }>;
948
1220
  sources: z.ZodArray<z.ZodObject<{
949
1221
  title: z.ZodString;
@@ -1023,6 +1295,26 @@ export declare const InsightBriefSchema: z.ZodObject<{
1023
1295
  cluster: {
1024
1296
  canonical: string;
1025
1297
  spokes: string[];
1298
+ selected?: {
1299
+ desk: string;
1300
+ site_id: string;
1301
+ run_id: string;
1302
+ intent_key: string;
1303
+ decision_ref: string;
1304
+ taxonomy_ref: string;
1305
+ hub: {
1306
+ title: string;
1307
+ url: string;
1308
+ content_id: string;
1309
+ revision_id: string;
1310
+ };
1311
+ children: {
1312
+ title: string;
1313
+ url: string;
1314
+ content_id: string;
1315
+ revision_id: string;
1316
+ }[];
1317
+ } | undefined;
1026
1318
  };
1027
1319
  sources: {
1028
1320
  title: string;
@@ -1052,6 +1344,26 @@ export declare const InsightBriefSchema: z.ZodObject<{
1052
1344
  cluster: {
1053
1345
  canonical: string;
1054
1346
  spokes: string[];
1347
+ selected?: {
1348
+ desk: string;
1349
+ site_id: string;
1350
+ run_id: string;
1351
+ intent_key: string;
1352
+ decision_ref: string;
1353
+ taxonomy_ref: string;
1354
+ hub: {
1355
+ title: string;
1356
+ url: string;
1357
+ content_id: string;
1358
+ revision_id: string;
1359
+ };
1360
+ children: {
1361
+ title: string;
1362
+ url: string;
1363
+ content_id: string;
1364
+ revision_id: string;
1365
+ }[];
1366
+ } | undefined;
1055
1367
  };
1056
1368
  sources: {
1057
1369
  title: string;
@@ -1487,12 +1799,168 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
1487
1799
  cluster: z.ZodObject<{
1488
1800
  canonical: z.ZodString;
1489
1801
  spokes: z.ZodArray<z.ZodString, "many">;
1802
+ selected: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1803
+ site_id: z.ZodString;
1804
+ run_id: z.ZodString;
1805
+ intent_key: z.ZodString;
1806
+ desk: z.ZodString;
1807
+ decision_ref: z.ZodString;
1808
+ taxonomy_ref: z.ZodString;
1809
+ hub: z.ZodObject<{
1810
+ content_id: z.ZodString;
1811
+ revision_id: z.ZodString;
1812
+ url: z.ZodString;
1813
+ title: z.ZodString;
1814
+ }, "strict", z.ZodTypeAny, {
1815
+ title: string;
1816
+ url: string;
1817
+ content_id: string;
1818
+ revision_id: string;
1819
+ }, {
1820
+ title: string;
1821
+ url: string;
1822
+ content_id: string;
1823
+ revision_id: string;
1824
+ }>;
1825
+ children: z.ZodArray<z.ZodObject<{
1826
+ content_id: z.ZodString;
1827
+ revision_id: z.ZodString;
1828
+ url: z.ZodString;
1829
+ title: z.ZodString;
1830
+ }, "strict", z.ZodTypeAny, {
1831
+ title: string;
1832
+ url: string;
1833
+ content_id: string;
1834
+ revision_id: string;
1835
+ }, {
1836
+ title: string;
1837
+ url: string;
1838
+ content_id: string;
1839
+ revision_id: string;
1840
+ }>, "many">;
1841
+ }, "strict", z.ZodTypeAny, {
1842
+ desk: string;
1843
+ site_id: string;
1844
+ run_id: string;
1845
+ intent_key: string;
1846
+ decision_ref: string;
1847
+ taxonomy_ref: string;
1848
+ hub: {
1849
+ title: string;
1850
+ url: string;
1851
+ content_id: string;
1852
+ revision_id: string;
1853
+ };
1854
+ children: {
1855
+ title: string;
1856
+ url: string;
1857
+ content_id: string;
1858
+ revision_id: string;
1859
+ }[];
1860
+ }, {
1861
+ desk: string;
1862
+ site_id: string;
1863
+ run_id: string;
1864
+ intent_key: string;
1865
+ decision_ref: string;
1866
+ taxonomy_ref: string;
1867
+ hub: {
1868
+ title: string;
1869
+ url: string;
1870
+ content_id: string;
1871
+ revision_id: string;
1872
+ };
1873
+ children: {
1874
+ title: string;
1875
+ url: string;
1876
+ content_id: string;
1877
+ revision_id: string;
1878
+ }[];
1879
+ }>, {
1880
+ desk: string;
1881
+ site_id: string;
1882
+ run_id: string;
1883
+ intent_key: string;
1884
+ decision_ref: string;
1885
+ taxonomy_ref: string;
1886
+ hub: {
1887
+ title: string;
1888
+ url: string;
1889
+ content_id: string;
1890
+ revision_id: string;
1891
+ };
1892
+ children: {
1893
+ title: string;
1894
+ url: string;
1895
+ content_id: string;
1896
+ revision_id: string;
1897
+ }[];
1898
+ }, {
1899
+ desk: string;
1900
+ site_id: string;
1901
+ run_id: string;
1902
+ intent_key: string;
1903
+ decision_ref: string;
1904
+ taxonomy_ref: string;
1905
+ hub: {
1906
+ title: string;
1907
+ url: string;
1908
+ content_id: string;
1909
+ revision_id: string;
1910
+ };
1911
+ children: {
1912
+ title: string;
1913
+ url: string;
1914
+ content_id: string;
1915
+ revision_id: string;
1916
+ }[];
1917
+ }>>;
1490
1918
  }, "strip", z.ZodTypeAny, {
1491
1919
  canonical: string;
1492
1920
  spokes: string[];
1921
+ selected?: {
1922
+ desk: string;
1923
+ site_id: string;
1924
+ run_id: string;
1925
+ intent_key: string;
1926
+ decision_ref: string;
1927
+ taxonomy_ref: string;
1928
+ hub: {
1929
+ title: string;
1930
+ url: string;
1931
+ content_id: string;
1932
+ revision_id: string;
1933
+ };
1934
+ children: {
1935
+ title: string;
1936
+ url: string;
1937
+ content_id: string;
1938
+ revision_id: string;
1939
+ }[];
1940
+ } | undefined;
1493
1941
  }, {
1494
1942
  canonical: string;
1495
1943
  spokes: string[];
1944
+ selected?: {
1945
+ desk: string;
1946
+ site_id: string;
1947
+ run_id: string;
1948
+ intent_key: string;
1949
+ decision_ref: string;
1950
+ taxonomy_ref: string;
1951
+ hub: {
1952
+ title: string;
1953
+ url: string;
1954
+ content_id: string;
1955
+ revision_id: string;
1956
+ };
1957
+ children: {
1958
+ title: string;
1959
+ url: string;
1960
+ content_id: string;
1961
+ revision_id: string;
1962
+ }[];
1963
+ } | undefined;
1496
1964
  }>;
1497
1965
  sources: z.ZodArray<z.ZodObject<{
1498
1966
  title: z.ZodString;
@@ -1572,6 +2040,26 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
1572
2040
  cluster: {
1573
2041
  canonical: string;
1574
2042
  spokes: string[];
2043
+ selected?: {
2044
+ desk: string;
2045
+ site_id: string;
2046
+ run_id: string;
2047
+ intent_key: string;
2048
+ decision_ref: string;
2049
+ taxonomy_ref: string;
2050
+ hub: {
2051
+ title: string;
2052
+ url: string;
2053
+ content_id: string;
2054
+ revision_id: string;
2055
+ };
2056
+ children: {
2057
+ title: string;
2058
+ url: string;
2059
+ content_id: string;
2060
+ revision_id: string;
2061
+ }[];
2062
+ } | undefined;
1575
2063
  };
1576
2064
  sources: {
1577
2065
  title: string;
@@ -1601,6 +2089,26 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
1601
2089
  cluster: {
1602
2090
  canonical: string;
1603
2091
  spokes: string[];
2092
+ selected?: {
2093
+ desk: string;
2094
+ site_id: string;
2095
+ run_id: string;
2096
+ intent_key: string;
2097
+ decision_ref: string;
2098
+ taxonomy_ref: string;
2099
+ hub: {
2100
+ title: string;
2101
+ url: string;
2102
+ content_id: string;
2103
+ revision_id: string;
2104
+ };
2105
+ children: {
2106
+ title: string;
2107
+ url: string;
2108
+ content_id: string;
2109
+ revision_id: string;
2110
+ }[];
2111
+ } | undefined;
1604
2112
  };
1605
2113
  sources: {
1606
2114
  title: string;
@@ -1631,14 +2139,6 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
1631
2139
  beat: z.ZodNullable<z.ZodEnum<["defense", "intelligence", "diplomacy", "analysis"]>>;
1632
2140
  }, "strip", z.ZodTypeAny, {
1633
2141
  desk: string;
1634
- site_id: string;
1635
- run_date: string;
1636
- suggestion_type: "cluster" | "tracker";
1637
- signal_type: "demand" | "opportunity";
1638
- is_best_bet: 0 | 1;
1639
- best_bet_rank: number | null;
1640
- desk_rank: number;
1641
- headline: string;
1642
2142
  evidence: {
1643
2143
  position: number;
1644
2144
  query: string;
@@ -1720,10 +2220,39 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
1720
2220
  } | undefined;
1721
2221
  } | undefined;
1722
2222
  };
2223
+ site_id: string;
2224
+ intent_key: string;
2225
+ run_date: string;
2226
+ suggestion_type: "cluster" | "tracker";
2227
+ signal_type: "demand" | "opportunity";
2228
+ is_best_bet: 0 | 1;
2229
+ best_bet_rank: number | null;
2230
+ desk_rank: number;
2231
+ headline: string;
1723
2232
  brief: {
1724
2233
  cluster: {
1725
2234
  canonical: string;
1726
2235
  spokes: string[];
2236
+ selected?: {
2237
+ desk: string;
2238
+ site_id: string;
2239
+ run_id: string;
2240
+ intent_key: string;
2241
+ decision_ref: string;
2242
+ taxonomy_ref: string;
2243
+ hub: {
2244
+ title: string;
2245
+ url: string;
2246
+ content_id: string;
2247
+ revision_id: string;
2248
+ };
2249
+ children: {
2250
+ title: string;
2251
+ url: string;
2252
+ content_id: string;
2253
+ revision_id: string;
2254
+ }[];
2255
+ } | undefined;
1727
2256
  };
1728
2257
  sources: {
1729
2258
  title: string;
@@ -1750,18 +2279,9 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
1750
2279
  covered?: boolean | undefined;
1751
2280
  }[] | undefined;
1752
2281
  };
1753
- intent_key: string;
1754
2282
  beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
1755
2283
  }, {
1756
2284
  desk: string;
1757
- site_id: string;
1758
- run_date: string;
1759
- suggestion_type: "cluster" | "tracker";
1760
- signal_type: "demand" | "opportunity";
1761
- is_best_bet: 0 | 1;
1762
- best_bet_rank: number | null;
1763
- desk_rank: number;
1764
- headline: string;
1765
2285
  evidence: {
1766
2286
  position: number;
1767
2287
  query: string;
@@ -1843,10 +2363,39 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
1843
2363
  } | undefined;
1844
2364
  } | undefined;
1845
2365
  };
2366
+ site_id: string;
2367
+ intent_key: string;
2368
+ run_date: string;
2369
+ suggestion_type: "cluster" | "tracker";
2370
+ signal_type: "demand" | "opportunity";
2371
+ is_best_bet: 0 | 1;
2372
+ best_bet_rank: number | null;
2373
+ desk_rank: number;
2374
+ headline: string;
1846
2375
  brief: {
1847
2376
  cluster: {
1848
2377
  canonical: string;
1849
2378
  spokes: string[];
2379
+ selected?: {
2380
+ desk: string;
2381
+ site_id: string;
2382
+ run_id: string;
2383
+ intent_key: string;
2384
+ decision_ref: string;
2385
+ taxonomy_ref: string;
2386
+ hub: {
2387
+ title: string;
2388
+ url: string;
2389
+ content_id: string;
2390
+ revision_id: string;
2391
+ };
2392
+ children: {
2393
+ title: string;
2394
+ url: string;
2395
+ content_id: string;
2396
+ revision_id: string;
2397
+ }[];
2398
+ } | undefined;
1850
2399
  };
1851
2400
  sources: {
1852
2401
  title: string;
@@ -1873,7 +2422,6 @@ export declare const InsightSuggestionRowSchema: z.ZodObject<{
1873
2422
  covered?: boolean | undefined;
1874
2423
  }[] | undefined;
1875
2424
  };
1876
- intent_key: string;
1877
2425
  beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
1878
2426
  }>;
1879
2427
  export declare const InsightsIngestMetaSchema: z.ZodObject<{
@@ -1903,9 +2451,9 @@ export declare const InsightsIngestMetaSchema: z.ZodObject<{
1903
2451
  opportunity_count: number;
1904
2452
  };
1905
2453
  site_id: string;
2454
+ run_id: string;
1906
2455
  run_date: string;
1907
2456
  event_id: string;
1908
- run_id: string;
1909
2457
  run_attempt: number;
1910
2458
  generated_at: number;
1911
2459
  content_hash: string;
@@ -1917,9 +2465,9 @@ export declare const InsightsIngestMetaSchema: z.ZodObject<{
1917
2465
  opportunity_count: number;
1918
2466
  };
1919
2467
  site_id: string;
2468
+ run_id: string;
1920
2469
  run_date: string;
1921
2470
  event_id: string;
1922
- run_id: string;
1923
2471
  run_attempt: number;
1924
2472
  generated_at: number;
1925
2473
  content_hash: string;
@@ -1953,9 +2501,9 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
1953
2501
  opportunity_count: number;
1954
2502
  };
1955
2503
  site_id: string;
2504
+ run_id: string;
1956
2505
  run_date: string;
1957
2506
  event_id: string;
1958
- run_id: string;
1959
2507
  run_attempt: number;
1960
2508
  generated_at: number;
1961
2509
  content_hash: string;
@@ -1967,9 +2515,9 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
1967
2515
  opportunity_count: number;
1968
2516
  };
1969
2517
  site_id: string;
2518
+ run_id: string;
1970
2519
  run_date: string;
1971
2520
  event_id: string;
1972
- run_id: string;
1973
2521
  run_attempt: number;
1974
2522
  generated_at: number;
1975
2523
  content_hash: string;
@@ -2384,12 +2932,168 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2384
2932
  cluster: z.ZodObject<{
2385
2933
  canonical: z.ZodString;
2386
2934
  spokes: z.ZodArray<z.ZodString, "many">;
2935
+ selected: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2936
+ site_id: z.ZodString;
2937
+ run_id: z.ZodString;
2938
+ intent_key: z.ZodString;
2939
+ desk: z.ZodString;
2940
+ decision_ref: z.ZodString;
2941
+ taxonomy_ref: z.ZodString;
2942
+ hub: z.ZodObject<{
2943
+ content_id: z.ZodString;
2944
+ revision_id: z.ZodString;
2945
+ url: z.ZodString;
2946
+ title: z.ZodString;
2947
+ }, "strict", z.ZodTypeAny, {
2948
+ title: string;
2949
+ url: string;
2950
+ content_id: string;
2951
+ revision_id: string;
2952
+ }, {
2953
+ title: string;
2954
+ url: string;
2955
+ content_id: string;
2956
+ revision_id: string;
2957
+ }>;
2958
+ children: z.ZodArray<z.ZodObject<{
2959
+ content_id: z.ZodString;
2960
+ revision_id: z.ZodString;
2961
+ url: z.ZodString;
2962
+ title: z.ZodString;
2963
+ }, "strict", z.ZodTypeAny, {
2964
+ title: string;
2965
+ url: string;
2966
+ content_id: string;
2967
+ revision_id: string;
2968
+ }, {
2969
+ title: string;
2970
+ url: string;
2971
+ content_id: string;
2972
+ revision_id: string;
2973
+ }>, "many">;
2974
+ }, "strict", z.ZodTypeAny, {
2975
+ desk: string;
2976
+ site_id: string;
2977
+ run_id: string;
2978
+ intent_key: string;
2979
+ decision_ref: string;
2980
+ taxonomy_ref: string;
2981
+ hub: {
2982
+ title: string;
2983
+ url: string;
2984
+ content_id: string;
2985
+ revision_id: string;
2986
+ };
2987
+ children: {
2988
+ title: string;
2989
+ url: string;
2990
+ content_id: string;
2991
+ revision_id: string;
2992
+ }[];
2993
+ }, {
2994
+ desk: string;
2995
+ site_id: string;
2996
+ run_id: string;
2997
+ intent_key: string;
2998
+ decision_ref: string;
2999
+ taxonomy_ref: string;
3000
+ hub: {
3001
+ title: string;
3002
+ url: string;
3003
+ content_id: string;
3004
+ revision_id: string;
3005
+ };
3006
+ children: {
3007
+ title: string;
3008
+ url: string;
3009
+ content_id: string;
3010
+ revision_id: string;
3011
+ }[];
3012
+ }>, {
3013
+ desk: string;
3014
+ site_id: string;
3015
+ run_id: string;
3016
+ intent_key: string;
3017
+ decision_ref: string;
3018
+ taxonomy_ref: string;
3019
+ hub: {
3020
+ title: string;
3021
+ url: string;
3022
+ content_id: string;
3023
+ revision_id: string;
3024
+ };
3025
+ children: {
3026
+ title: string;
3027
+ url: string;
3028
+ content_id: string;
3029
+ revision_id: string;
3030
+ }[];
3031
+ }, {
3032
+ desk: string;
3033
+ site_id: string;
3034
+ run_id: string;
3035
+ intent_key: string;
3036
+ decision_ref: string;
3037
+ taxonomy_ref: string;
3038
+ hub: {
3039
+ title: string;
3040
+ url: string;
3041
+ content_id: string;
3042
+ revision_id: string;
3043
+ };
3044
+ children: {
3045
+ title: string;
3046
+ url: string;
3047
+ content_id: string;
3048
+ revision_id: string;
3049
+ }[];
3050
+ }>>;
2387
3051
  }, "strip", z.ZodTypeAny, {
2388
3052
  canonical: string;
2389
3053
  spokes: string[];
3054
+ selected?: {
3055
+ desk: string;
3056
+ site_id: string;
3057
+ run_id: string;
3058
+ intent_key: string;
3059
+ decision_ref: string;
3060
+ taxonomy_ref: string;
3061
+ hub: {
3062
+ title: string;
3063
+ url: string;
3064
+ content_id: string;
3065
+ revision_id: string;
3066
+ };
3067
+ children: {
3068
+ title: string;
3069
+ url: string;
3070
+ content_id: string;
3071
+ revision_id: string;
3072
+ }[];
3073
+ } | undefined;
2390
3074
  }, {
2391
3075
  canonical: string;
2392
3076
  spokes: string[];
3077
+ selected?: {
3078
+ desk: string;
3079
+ site_id: string;
3080
+ run_id: string;
3081
+ intent_key: string;
3082
+ decision_ref: string;
3083
+ taxonomy_ref: string;
3084
+ hub: {
3085
+ title: string;
3086
+ url: string;
3087
+ content_id: string;
3088
+ revision_id: string;
3089
+ };
3090
+ children: {
3091
+ title: string;
3092
+ url: string;
3093
+ content_id: string;
3094
+ revision_id: string;
3095
+ }[];
3096
+ } | undefined;
2393
3097
  }>;
2394
3098
  sources: z.ZodArray<z.ZodObject<{
2395
3099
  title: z.ZodString;
@@ -2469,6 +3173,26 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2469
3173
  cluster: {
2470
3174
  canonical: string;
2471
3175
  spokes: string[];
3176
+ selected?: {
3177
+ desk: string;
3178
+ site_id: string;
3179
+ run_id: string;
3180
+ intent_key: string;
3181
+ decision_ref: string;
3182
+ taxonomy_ref: string;
3183
+ hub: {
3184
+ title: string;
3185
+ url: string;
3186
+ content_id: string;
3187
+ revision_id: string;
3188
+ };
3189
+ children: {
3190
+ title: string;
3191
+ url: string;
3192
+ content_id: string;
3193
+ revision_id: string;
3194
+ }[];
3195
+ } | undefined;
2472
3196
  };
2473
3197
  sources: {
2474
3198
  title: string;
@@ -2498,6 +3222,26 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2498
3222
  cluster: {
2499
3223
  canonical: string;
2500
3224
  spokes: string[];
3225
+ selected?: {
3226
+ desk: string;
3227
+ site_id: string;
3228
+ run_id: string;
3229
+ intent_key: string;
3230
+ decision_ref: string;
3231
+ taxonomy_ref: string;
3232
+ hub: {
3233
+ title: string;
3234
+ url: string;
3235
+ content_id: string;
3236
+ revision_id: string;
3237
+ };
3238
+ children: {
3239
+ title: string;
3240
+ url: string;
3241
+ content_id: string;
3242
+ revision_id: string;
3243
+ }[];
3244
+ } | undefined;
2501
3245
  };
2502
3246
  sources: {
2503
3247
  title: string;
@@ -2528,14 +3272,6 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2528
3272
  beat: z.ZodNullable<z.ZodEnum<["defense", "intelligence", "diplomacy", "analysis"]>>;
2529
3273
  }, "strip", z.ZodTypeAny, {
2530
3274
  desk: string;
2531
- site_id: string;
2532
- run_date: string;
2533
- suggestion_type: "cluster" | "tracker";
2534
- signal_type: "demand" | "opportunity";
2535
- is_best_bet: 0 | 1;
2536
- best_bet_rank: number | null;
2537
- desk_rank: number;
2538
- headline: string;
2539
3275
  evidence: {
2540
3276
  position: number;
2541
3277
  query: string;
@@ -2617,10 +3353,39 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2617
3353
  } | undefined;
2618
3354
  } | undefined;
2619
3355
  };
3356
+ site_id: string;
3357
+ intent_key: string;
3358
+ run_date: string;
3359
+ suggestion_type: "cluster" | "tracker";
3360
+ signal_type: "demand" | "opportunity";
3361
+ is_best_bet: 0 | 1;
3362
+ best_bet_rank: number | null;
3363
+ desk_rank: number;
3364
+ headline: string;
2620
3365
  brief: {
2621
3366
  cluster: {
2622
3367
  canonical: string;
2623
3368
  spokes: string[];
3369
+ selected?: {
3370
+ desk: string;
3371
+ site_id: string;
3372
+ run_id: string;
3373
+ intent_key: string;
3374
+ decision_ref: string;
3375
+ taxonomy_ref: string;
3376
+ hub: {
3377
+ title: string;
3378
+ url: string;
3379
+ content_id: string;
3380
+ revision_id: string;
3381
+ };
3382
+ children: {
3383
+ title: string;
3384
+ url: string;
3385
+ content_id: string;
3386
+ revision_id: string;
3387
+ }[];
3388
+ } | undefined;
2624
3389
  };
2625
3390
  sources: {
2626
3391
  title: string;
@@ -2647,18 +3412,9 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2647
3412
  covered?: boolean | undefined;
2648
3413
  }[] | undefined;
2649
3414
  };
2650
- intent_key: string;
2651
3415
  beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
2652
3416
  }, {
2653
3417
  desk: string;
2654
- site_id: string;
2655
- run_date: string;
2656
- suggestion_type: "cluster" | "tracker";
2657
- signal_type: "demand" | "opportunity";
2658
- is_best_bet: 0 | 1;
2659
- best_bet_rank: number | null;
2660
- desk_rank: number;
2661
- headline: string;
2662
3418
  evidence: {
2663
3419
  position: number;
2664
3420
  query: string;
@@ -2740,10 +3496,39 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2740
3496
  } | undefined;
2741
3497
  } | undefined;
2742
3498
  };
3499
+ site_id: string;
3500
+ intent_key: string;
3501
+ run_date: string;
3502
+ suggestion_type: "cluster" | "tracker";
3503
+ signal_type: "demand" | "opportunity";
3504
+ is_best_bet: 0 | 1;
3505
+ best_bet_rank: number | null;
3506
+ desk_rank: number;
3507
+ headline: string;
2743
3508
  brief: {
2744
3509
  cluster: {
2745
3510
  canonical: string;
2746
3511
  spokes: string[];
3512
+ selected?: {
3513
+ desk: string;
3514
+ site_id: string;
3515
+ run_id: string;
3516
+ intent_key: string;
3517
+ decision_ref: string;
3518
+ taxonomy_ref: string;
3519
+ hub: {
3520
+ title: string;
3521
+ url: string;
3522
+ content_id: string;
3523
+ revision_id: string;
3524
+ };
3525
+ children: {
3526
+ title: string;
3527
+ url: string;
3528
+ content_id: string;
3529
+ revision_id: string;
3530
+ }[];
3531
+ } | undefined;
2747
3532
  };
2748
3533
  sources: {
2749
3534
  title: string;
@@ -2770,20 +3555,26 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2770
3555
  covered?: boolean | undefined;
2771
3556
  }[] | undefined;
2772
3557
  };
2773
- intent_key: string;
2774
3558
  beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
2775
3559
  }>, "many">;
2776
3560
  }, "strip", z.ZodTypeAny, {
2777
- rows: {
2778
- desk: string;
3561
+ meta: {
3562
+ status: "failed" | "running" | "completed" | "partial";
3563
+ counts: {
3564
+ demand_count: number;
3565
+ opportunity_count: number;
3566
+ };
2779
3567
  site_id: string;
3568
+ run_id: string;
2780
3569
  run_date: string;
2781
- suggestion_type: "cluster" | "tracker";
2782
- signal_type: "demand" | "opportunity";
2783
- is_best_bet: 0 | 1;
2784
- best_bet_rank: number | null;
2785
- desk_rank: number;
2786
- headline: string;
3570
+ event_id: string;
3571
+ run_attempt: number;
3572
+ generated_at: number;
3573
+ content_hash: string;
3574
+ error?: string | null | undefined;
3575
+ };
3576
+ rows: {
3577
+ desk: string;
2787
3578
  evidence: {
2788
3579
  position: number;
2789
3580
  query: string;
@@ -2865,10 +3656,39 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2865
3656
  } | undefined;
2866
3657
  } | undefined;
2867
3658
  };
3659
+ site_id: string;
3660
+ intent_key: string;
3661
+ run_date: string;
3662
+ suggestion_type: "cluster" | "tracker";
3663
+ signal_type: "demand" | "opportunity";
3664
+ is_best_bet: 0 | 1;
3665
+ best_bet_rank: number | null;
3666
+ desk_rank: number;
3667
+ headline: string;
2868
3668
  brief: {
2869
3669
  cluster: {
2870
3670
  canonical: string;
2871
3671
  spokes: string[];
3672
+ selected?: {
3673
+ desk: string;
3674
+ site_id: string;
3675
+ run_id: string;
3676
+ intent_key: string;
3677
+ decision_ref: string;
3678
+ taxonomy_ref: string;
3679
+ hub: {
3680
+ title: string;
3681
+ url: string;
3682
+ content_id: string;
3683
+ revision_id: string;
3684
+ };
3685
+ children: {
3686
+ title: string;
3687
+ url: string;
3688
+ content_id: string;
3689
+ revision_id: string;
3690
+ }[];
3691
+ } | undefined;
2872
3692
  };
2873
3693
  sources: {
2874
3694
  title: string;
@@ -2895,9 +3715,9 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2895
3715
  covered?: boolean | undefined;
2896
3716
  }[] | undefined;
2897
3717
  };
2898
- intent_key: string;
2899
3718
  beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
2900
3719
  }[];
3720
+ }, {
2901
3721
  meta: {
2902
3722
  status: "failed" | "running" | "completed" | "partial";
2903
3723
  counts: {
@@ -2905,25 +3725,16 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
2905
3725
  opportunity_count: number;
2906
3726
  };
2907
3727
  site_id: string;
3728
+ run_id: string;
2908
3729
  run_date: string;
2909
3730
  event_id: string;
2910
- run_id: string;
2911
3731
  run_attempt: number;
2912
3732
  generated_at: number;
2913
3733
  content_hash: string;
2914
3734
  error?: string | null | undefined;
2915
3735
  };
2916
- }, {
2917
3736
  rows: {
2918
3737
  desk: string;
2919
- site_id: string;
2920
- run_date: string;
2921
- suggestion_type: "cluster" | "tracker";
2922
- signal_type: "demand" | "opportunity";
2923
- is_best_bet: 0 | 1;
2924
- best_bet_rank: number | null;
2925
- desk_rank: number;
2926
- headline: string;
2927
3738
  evidence: {
2928
3739
  position: number;
2929
3740
  query: string;
@@ -3005,10 +3816,39 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
3005
3816
  } | undefined;
3006
3817
  } | undefined;
3007
3818
  };
3819
+ site_id: string;
3820
+ intent_key: string;
3821
+ run_date: string;
3822
+ suggestion_type: "cluster" | "tracker";
3823
+ signal_type: "demand" | "opportunity";
3824
+ is_best_bet: 0 | 1;
3825
+ best_bet_rank: number | null;
3826
+ desk_rank: number;
3827
+ headline: string;
3008
3828
  brief: {
3009
3829
  cluster: {
3010
3830
  canonical: string;
3011
3831
  spokes: string[];
3832
+ selected?: {
3833
+ desk: string;
3834
+ site_id: string;
3835
+ run_id: string;
3836
+ intent_key: string;
3837
+ decision_ref: string;
3838
+ taxonomy_ref: string;
3839
+ hub: {
3840
+ title: string;
3841
+ url: string;
3842
+ content_id: string;
3843
+ revision_id: string;
3844
+ };
3845
+ children: {
3846
+ title: string;
3847
+ url: string;
3848
+ content_id: string;
3849
+ revision_id: string;
3850
+ }[];
3851
+ } | undefined;
3012
3852
  };
3013
3853
  sources: {
3014
3854
  title: string;
@@ -3035,9 +3875,9 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
3035
3875
  covered?: boolean | undefined;
3036
3876
  }[] | undefined;
3037
3877
  };
3038
- intent_key: string;
3039
3878
  beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
3040
3879
  }[];
3880
+ }>, {
3041
3881
  meta: {
3042
3882
  status: "failed" | "running" | "completed" | "partial";
3043
3883
  counts: {
@@ -3045,25 +3885,16 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
3045
3885
  opportunity_count: number;
3046
3886
  };
3047
3887
  site_id: string;
3888
+ run_id: string;
3048
3889
  run_date: string;
3049
3890
  event_id: string;
3050
- run_id: string;
3051
3891
  run_attempt: number;
3052
3892
  generated_at: number;
3053
3893
  content_hash: string;
3054
3894
  error?: string | null | undefined;
3055
3895
  };
3056
- }>, {
3057
3896
  rows: {
3058
3897
  desk: string;
3059
- site_id: string;
3060
- run_date: string;
3061
- suggestion_type: "cluster" | "tracker";
3062
- signal_type: "demand" | "opportunity";
3063
- is_best_bet: 0 | 1;
3064
- best_bet_rank: number | null;
3065
- desk_rank: number;
3066
- headline: string;
3067
3898
  evidence: {
3068
3899
  position: number;
3069
3900
  query: string;
@@ -3145,10 +3976,39 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
3145
3976
  } | undefined;
3146
3977
  } | undefined;
3147
3978
  };
3979
+ site_id: string;
3980
+ intent_key: string;
3981
+ run_date: string;
3982
+ suggestion_type: "cluster" | "tracker";
3983
+ signal_type: "demand" | "opportunity";
3984
+ is_best_bet: 0 | 1;
3985
+ best_bet_rank: number | null;
3986
+ desk_rank: number;
3987
+ headline: string;
3148
3988
  brief: {
3149
3989
  cluster: {
3150
3990
  canonical: string;
3151
3991
  spokes: string[];
3992
+ selected?: {
3993
+ desk: string;
3994
+ site_id: string;
3995
+ run_id: string;
3996
+ intent_key: string;
3997
+ decision_ref: string;
3998
+ taxonomy_ref: string;
3999
+ hub: {
4000
+ title: string;
4001
+ url: string;
4002
+ content_id: string;
4003
+ revision_id: string;
4004
+ };
4005
+ children: {
4006
+ title: string;
4007
+ url: string;
4008
+ content_id: string;
4009
+ revision_id: string;
4010
+ }[];
4011
+ } | undefined;
3152
4012
  };
3153
4013
  sources: {
3154
4014
  title: string;
@@ -3175,9 +4035,9 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
3175
4035
  covered?: boolean | undefined;
3176
4036
  }[] | undefined;
3177
4037
  };
3178
- intent_key: string;
3179
4038
  beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
3180
4039
  }[];
4040
+ }, {
3181
4041
  meta: {
3182
4042
  status: "failed" | "running" | "completed" | "partial";
3183
4043
  counts: {
@@ -3185,25 +4045,16 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
3185
4045
  opportunity_count: number;
3186
4046
  };
3187
4047
  site_id: string;
4048
+ run_id: string;
3188
4049
  run_date: string;
3189
4050
  event_id: string;
3190
- run_id: string;
3191
4051
  run_attempt: number;
3192
4052
  generated_at: number;
3193
4053
  content_hash: string;
3194
4054
  error?: string | null | undefined;
3195
4055
  };
3196
- }, {
3197
4056
  rows: {
3198
4057
  desk: string;
3199
- site_id: string;
3200
- run_date: string;
3201
- suggestion_type: "cluster" | "tracker";
3202
- signal_type: "demand" | "opportunity";
3203
- is_best_bet: 0 | 1;
3204
- best_bet_rank: number | null;
3205
- desk_rank: number;
3206
- headline: string;
3207
4058
  evidence: {
3208
4059
  position: number;
3209
4060
  query: string;
@@ -3285,10 +4136,39 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
3285
4136
  } | undefined;
3286
4137
  } | undefined;
3287
4138
  };
4139
+ site_id: string;
4140
+ intent_key: string;
4141
+ run_date: string;
4142
+ suggestion_type: "cluster" | "tracker";
4143
+ signal_type: "demand" | "opportunity";
4144
+ is_best_bet: 0 | 1;
4145
+ best_bet_rank: number | null;
4146
+ desk_rank: number;
4147
+ headline: string;
3288
4148
  brief: {
3289
4149
  cluster: {
3290
4150
  canonical: string;
3291
4151
  spokes: string[];
4152
+ selected?: {
4153
+ desk: string;
4154
+ site_id: string;
4155
+ run_id: string;
4156
+ intent_key: string;
4157
+ decision_ref: string;
4158
+ taxonomy_ref: string;
4159
+ hub: {
4160
+ title: string;
4161
+ url: string;
4162
+ content_id: string;
4163
+ revision_id: string;
4164
+ };
4165
+ children: {
4166
+ title: string;
4167
+ url: string;
4168
+ content_id: string;
4169
+ revision_id: string;
4170
+ }[];
4171
+ } | undefined;
3292
4172
  };
3293
4173
  sources: {
3294
4174
  title: string;
@@ -3315,24 +4195,8 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
3315
4195
  covered?: boolean | undefined;
3316
4196
  }[] | undefined;
3317
4197
  };
3318
- intent_key: string;
3319
4198
  beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
3320
4199
  }[];
3321
- meta: {
3322
- status: "failed" | "running" | "completed" | "partial";
3323
- counts: {
3324
- demand_count: number;
3325
- opportunity_count: number;
3326
- };
3327
- site_id: string;
3328
- run_date: string;
3329
- event_id: string;
3330
- run_id: string;
3331
- run_attempt: number;
3332
- generated_at: number;
3333
- content_hash: string;
3334
- error?: string | null | undefined;
3335
- };
3336
4200
  }>;
3337
4201
  export type InsightsIngestPayload = z.infer<typeof InsightsIngestPayloadSchema>;
3338
4202
  export type InsightsIngestMeta = z.infer<typeof InsightsIngestMetaSchema>;