@syntrologie/adapt-faq 2.2.0-canary.8 → 2.2.0

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.
package/dist/schema.d.ts CHANGED
@@ -8,7 +8,7 @@ import { z } from 'zod';
8
8
  /**
9
9
  * Schema for a single FAQ question (compositional action).
10
10
  */
11
- export declare const FAQQuestionSchema: z.ZodObject<{
11
+ export declare const FAQQuestionSchema: z.ZodEffects<z.ZodObject<{
12
12
  kind: z.ZodLiteral<"faq:question">;
13
13
  config: z.ZodObject<{
14
14
  /** Unique identifier for this question */
@@ -244,6 +244,20 @@ export declare const FAQQuestionSchema: z.ZodObject<{
244
244
  method?: "GET" | "POST" | undefined;
245
245
  timeoutMs?: number | undefined;
246
246
  }>]>>>;
247
+ /** Toast config when showWhen transitions false → true. Required when showWhen is set (use null to opt out). */
248
+ notify: z.ZodOptional<z.ZodNullable<z.ZodObject<{
249
+ title: z.ZodOptional<z.ZodString>;
250
+ body: z.ZodOptional<z.ZodString>;
251
+ icon: z.ZodOptional<z.ZodString>;
252
+ }, "strip", z.ZodTypeAny, {
253
+ body?: string | undefined;
254
+ title?: string | undefined;
255
+ icon?: string | undefined;
256
+ }, {
257
+ body?: string | undefined;
258
+ title?: string | undefined;
259
+ icon?: string | undefined;
260
+ }>>>;
247
261
  }, "strip", z.ZodTypeAny, {
248
262
  config: {
249
263
  question: string;
@@ -301,6 +315,135 @@ export declare const FAQQuestionSchema: z.ZodObject<{
301
315
  method?: "GET" | "POST" | undefined;
302
316
  timeoutMs?: number | undefined;
303
317
  } | null | undefined;
318
+ notify?: {
319
+ body?: string | undefined;
320
+ title?: string | undefined;
321
+ icon?: string | undefined;
322
+ } | null | undefined;
323
+ }, {
324
+ config: {
325
+ question: string;
326
+ answer: string | {
327
+ type: "rich";
328
+ html: string;
329
+ } | {
330
+ type: "markdown";
331
+ content: string;
332
+ assets?: {
333
+ type: "image" | "video";
334
+ id: string;
335
+ src: string;
336
+ height?: number | undefined;
337
+ width?: number | undefined;
338
+ alt?: string | undefined;
339
+ }[] | undefined;
340
+ };
341
+ id: string;
342
+ priority?: number | undefined;
343
+ category?: string | undefined;
344
+ answerStrategy?: {
345
+ endpoint: string;
346
+ context?: string[] | undefined;
347
+ cache?: "session" | "none" | undefined;
348
+ fallback?: string | undefined;
349
+ } | undefined;
350
+ };
351
+ kind: "faq:question";
352
+ showWhen?: {
353
+ rules: {
354
+ conditions: z.objectInputType<{
355
+ type: z.ZodString;
356
+ }, z.ZodTypeAny, "passthrough">[];
357
+ value?: unknown;
358
+ }[];
359
+ type: "rules";
360
+ default?: unknown;
361
+ } | {
362
+ type: "score";
363
+ threshold: number;
364
+ field: string;
365
+ above?: unknown;
366
+ below?: unknown;
367
+ } | {
368
+ type: "model";
369
+ modelId: string;
370
+ inputs: string[];
371
+ outputMapping: Record<string, unknown>;
372
+ default?: unknown;
373
+ } | {
374
+ type: "external";
375
+ endpoint: string;
376
+ default?: unknown;
377
+ method?: "GET" | "POST" | undefined;
378
+ timeoutMs?: number | undefined;
379
+ } | null | undefined;
380
+ notify?: {
381
+ body?: string | undefined;
382
+ title?: string | undefined;
383
+ icon?: string | undefined;
384
+ } | null | undefined;
385
+ }>, {
386
+ config: {
387
+ question: string;
388
+ answer: string | {
389
+ type: "rich";
390
+ html: string;
391
+ } | {
392
+ type: "markdown";
393
+ content: string;
394
+ assets?: {
395
+ type: "image" | "video";
396
+ id: string;
397
+ src: string;
398
+ height?: number | undefined;
399
+ width?: number | undefined;
400
+ alt?: string | undefined;
401
+ }[] | undefined;
402
+ };
403
+ id: string;
404
+ priority?: number | undefined;
405
+ category?: string | undefined;
406
+ answerStrategy?: {
407
+ endpoint: string;
408
+ context?: string[] | undefined;
409
+ cache?: "session" | "none" | undefined;
410
+ fallback?: string | undefined;
411
+ } | undefined;
412
+ };
413
+ kind: "faq:question";
414
+ showWhen?: {
415
+ rules: {
416
+ conditions: z.objectOutputType<{
417
+ type: z.ZodString;
418
+ }, z.ZodTypeAny, "passthrough">[];
419
+ value?: unknown;
420
+ }[];
421
+ type: "rules";
422
+ default?: unknown;
423
+ } | {
424
+ type: "score";
425
+ threshold: number;
426
+ field: string;
427
+ above?: unknown;
428
+ below?: unknown;
429
+ } | {
430
+ type: "model";
431
+ modelId: string;
432
+ inputs: string[];
433
+ outputMapping: Record<string, unknown>;
434
+ default?: unknown;
435
+ } | {
436
+ type: "external";
437
+ endpoint: string;
438
+ default?: unknown;
439
+ method?: "GET" | "POST" | undefined;
440
+ timeoutMs?: number | undefined;
441
+ } | null | undefined;
442
+ notify?: {
443
+ body?: string | undefined;
444
+ title?: string | undefined;
445
+ icon?: string | undefined;
446
+ } | null | undefined;
304
447
  }, {
305
448
  config: {
306
449
  question: string;
@@ -358,6 +501,11 @@ export declare const FAQQuestionSchema: z.ZodObject<{
358
501
  method?: "GET" | "POST" | undefined;
359
502
  timeoutMs?: number | undefined;
360
503
  } | null | undefined;
504
+ notify?: {
505
+ body?: string | undefined;
506
+ title?: string | undefined;
507
+ icon?: string | undefined;
508
+ } | null | undefined;
361
509
  }>;
362
510
  export type FAQQuestionSchemaType = z.infer<typeof FAQQuestionSchema>;
363
511
  /**
@@ -373,7 +521,7 @@ export declare const configSchema: z.ZodObject<{
373
521
  /** Color theme */
374
522
  theme: z.ZodDefault<z.ZodEnum<["light", "dark", "auto"]>>;
375
523
  /** FAQ questions (compositional actions) */
376
- actions: z.ZodDefault<z.ZodArray<z.ZodObject<{
524
+ actions: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
377
525
  kind: z.ZodLiteral<"faq:question">;
378
526
  config: z.ZodObject<{
379
527
  /** Unique identifier for this question */
@@ -609,6 +757,20 @@ export declare const configSchema: z.ZodObject<{
609
757
  method?: "GET" | "POST" | undefined;
610
758
  timeoutMs?: number | undefined;
611
759
  }>]>>>;
760
+ /** Toast config when showWhen transitions false → true. Required when showWhen is set (use null to opt out). */
761
+ notify: z.ZodOptional<z.ZodNullable<z.ZodObject<{
762
+ title: z.ZodOptional<z.ZodString>;
763
+ body: z.ZodOptional<z.ZodString>;
764
+ icon: z.ZodOptional<z.ZodString>;
765
+ }, "strip", z.ZodTypeAny, {
766
+ body?: string | undefined;
767
+ title?: string | undefined;
768
+ icon?: string | undefined;
769
+ }, {
770
+ body?: string | undefined;
771
+ title?: string | undefined;
772
+ icon?: string | undefined;
773
+ }>>>;
612
774
  }, "strip", z.ZodTypeAny, {
613
775
  config: {
614
776
  question: string;
@@ -666,6 +828,11 @@ export declare const configSchema: z.ZodObject<{
666
828
  method?: "GET" | "POST" | undefined;
667
829
  timeoutMs?: number | undefined;
668
830
  } | null | undefined;
831
+ notify?: {
832
+ body?: string | undefined;
833
+ title?: string | undefined;
834
+ icon?: string | undefined;
835
+ } | null | undefined;
669
836
  }, {
670
837
  config: {
671
838
  question: string;
@@ -723,6 +890,135 @@ export declare const configSchema: z.ZodObject<{
723
890
  method?: "GET" | "POST" | undefined;
724
891
  timeoutMs?: number | undefined;
725
892
  } | null | undefined;
893
+ notify?: {
894
+ body?: string | undefined;
895
+ title?: string | undefined;
896
+ icon?: string | undefined;
897
+ } | null | undefined;
898
+ }>, {
899
+ config: {
900
+ question: string;
901
+ answer: string | {
902
+ type: "rich";
903
+ html: string;
904
+ } | {
905
+ type: "markdown";
906
+ content: string;
907
+ assets?: {
908
+ type: "image" | "video";
909
+ id: string;
910
+ src: string;
911
+ height?: number | undefined;
912
+ width?: number | undefined;
913
+ alt?: string | undefined;
914
+ }[] | undefined;
915
+ };
916
+ id: string;
917
+ priority?: number | undefined;
918
+ category?: string | undefined;
919
+ answerStrategy?: {
920
+ endpoint: string;
921
+ context?: string[] | undefined;
922
+ cache?: "session" | "none" | undefined;
923
+ fallback?: string | undefined;
924
+ } | undefined;
925
+ };
926
+ kind: "faq:question";
927
+ showWhen?: {
928
+ rules: {
929
+ conditions: z.objectOutputType<{
930
+ type: z.ZodString;
931
+ }, z.ZodTypeAny, "passthrough">[];
932
+ value?: unknown;
933
+ }[];
934
+ type: "rules";
935
+ default?: unknown;
936
+ } | {
937
+ type: "score";
938
+ threshold: number;
939
+ field: string;
940
+ above?: unknown;
941
+ below?: unknown;
942
+ } | {
943
+ type: "model";
944
+ modelId: string;
945
+ inputs: string[];
946
+ outputMapping: Record<string, unknown>;
947
+ default?: unknown;
948
+ } | {
949
+ type: "external";
950
+ endpoint: string;
951
+ default?: unknown;
952
+ method?: "GET" | "POST" | undefined;
953
+ timeoutMs?: number | undefined;
954
+ } | null | undefined;
955
+ notify?: {
956
+ body?: string | undefined;
957
+ title?: string | undefined;
958
+ icon?: string | undefined;
959
+ } | null | undefined;
960
+ }, {
961
+ config: {
962
+ question: string;
963
+ answer: string | {
964
+ type: "rich";
965
+ html: string;
966
+ } | {
967
+ type: "markdown";
968
+ content: string;
969
+ assets?: {
970
+ type: "image" | "video";
971
+ id: string;
972
+ src: string;
973
+ height?: number | undefined;
974
+ width?: number | undefined;
975
+ alt?: string | undefined;
976
+ }[] | undefined;
977
+ };
978
+ id: string;
979
+ priority?: number | undefined;
980
+ category?: string | undefined;
981
+ answerStrategy?: {
982
+ endpoint: string;
983
+ context?: string[] | undefined;
984
+ cache?: "session" | "none" | undefined;
985
+ fallback?: string | undefined;
986
+ } | undefined;
987
+ };
988
+ kind: "faq:question";
989
+ showWhen?: {
990
+ rules: {
991
+ conditions: z.objectInputType<{
992
+ type: z.ZodString;
993
+ }, z.ZodTypeAny, "passthrough">[];
994
+ value?: unknown;
995
+ }[];
996
+ type: "rules";
997
+ default?: unknown;
998
+ } | {
999
+ type: "score";
1000
+ threshold: number;
1001
+ field: string;
1002
+ above?: unknown;
1003
+ below?: unknown;
1004
+ } | {
1005
+ type: "model";
1006
+ modelId: string;
1007
+ inputs: string[];
1008
+ outputMapping: Record<string, unknown>;
1009
+ default?: unknown;
1010
+ } | {
1011
+ type: "external";
1012
+ endpoint: string;
1013
+ default?: unknown;
1014
+ method?: "GET" | "POST" | undefined;
1015
+ timeoutMs?: number | undefined;
1016
+ } | null | undefined;
1017
+ notify?: {
1018
+ body?: string | undefined;
1019
+ title?: string | undefined;
1020
+ icon?: string | undefined;
1021
+ } | null | undefined;
726
1022
  }>, "many">>;
727
1023
  /** Feedback widget configuration */
728
1024
  feedback: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
@@ -844,7 +1140,7 @@ export declare const configSchema: z.ZodObject<{
844
1140
  method?: "GET" | "POST" | undefined;
845
1141
  timeoutMs?: number | undefined;
846
1142
  }>]>;
847
- items: z.ZodArray<z.ZodLazy<z.ZodObject<{
1143
+ items: z.ZodArray<z.ZodLazy<z.ZodEffects<z.ZodObject<{
848
1144
  kind: z.ZodLiteral<"faq:question">;
849
1145
  config: z.ZodObject<{
850
1146
  /** Unique identifier for this question */
@@ -1080,6 +1376,20 @@ export declare const configSchema: z.ZodObject<{
1080
1376
  method?: "GET" | "POST" | undefined;
1081
1377
  timeoutMs?: number | undefined;
1082
1378
  }>]>>>;
1379
+ /** Toast config when showWhen transitions false → true. Required when showWhen is set (use null to opt out). */
1380
+ notify: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1381
+ title: z.ZodOptional<z.ZodString>;
1382
+ body: z.ZodOptional<z.ZodString>;
1383
+ icon: z.ZodOptional<z.ZodString>;
1384
+ }, "strip", z.ZodTypeAny, {
1385
+ body?: string | undefined;
1386
+ title?: string | undefined;
1387
+ icon?: string | undefined;
1388
+ }, {
1389
+ body?: string | undefined;
1390
+ title?: string | undefined;
1391
+ icon?: string | undefined;
1392
+ }>>>;
1083
1393
  }, "strip", z.ZodTypeAny, {
1084
1394
  config: {
1085
1395
  question: string;
@@ -1137,6 +1447,11 @@ export declare const configSchema: z.ZodObject<{
1137
1447
  method?: "GET" | "POST" | undefined;
1138
1448
  timeoutMs?: number | undefined;
1139
1449
  } | null | undefined;
1450
+ notify?: {
1451
+ body?: string | undefined;
1452
+ title?: string | undefined;
1453
+ icon?: string | undefined;
1454
+ } | null | undefined;
1140
1455
  }, {
1141
1456
  config: {
1142
1457
  question: string;
@@ -1194,6 +1509,135 @@ export declare const configSchema: z.ZodObject<{
1194
1509
  method?: "GET" | "POST" | undefined;
1195
1510
  timeoutMs?: number | undefined;
1196
1511
  } | null | undefined;
1512
+ notify?: {
1513
+ body?: string | undefined;
1514
+ title?: string | undefined;
1515
+ icon?: string | undefined;
1516
+ } | null | undefined;
1517
+ }>, {
1518
+ config: {
1519
+ question: string;
1520
+ answer: string | {
1521
+ type: "rich";
1522
+ html: string;
1523
+ } | {
1524
+ type: "markdown";
1525
+ content: string;
1526
+ assets?: {
1527
+ type: "image" | "video";
1528
+ id: string;
1529
+ src: string;
1530
+ height?: number | undefined;
1531
+ width?: number | undefined;
1532
+ alt?: string | undefined;
1533
+ }[] | undefined;
1534
+ };
1535
+ id: string;
1536
+ priority?: number | undefined;
1537
+ category?: string | undefined;
1538
+ answerStrategy?: {
1539
+ endpoint: string;
1540
+ context?: string[] | undefined;
1541
+ cache?: "session" | "none" | undefined;
1542
+ fallback?: string | undefined;
1543
+ } | undefined;
1544
+ };
1545
+ kind: "faq:question";
1546
+ showWhen?: {
1547
+ rules: {
1548
+ conditions: z.objectOutputType<{
1549
+ type: z.ZodString;
1550
+ }, z.ZodTypeAny, "passthrough">[];
1551
+ value?: unknown;
1552
+ }[];
1553
+ type: "rules";
1554
+ default?: unknown;
1555
+ } | {
1556
+ type: "score";
1557
+ threshold: number;
1558
+ field: string;
1559
+ above?: unknown;
1560
+ below?: unknown;
1561
+ } | {
1562
+ type: "model";
1563
+ modelId: string;
1564
+ inputs: string[];
1565
+ outputMapping: Record<string, unknown>;
1566
+ default?: unknown;
1567
+ } | {
1568
+ type: "external";
1569
+ endpoint: string;
1570
+ default?: unknown;
1571
+ method?: "GET" | "POST" | undefined;
1572
+ timeoutMs?: number | undefined;
1573
+ } | null | undefined;
1574
+ notify?: {
1575
+ body?: string | undefined;
1576
+ title?: string | undefined;
1577
+ icon?: string | undefined;
1578
+ } | null | undefined;
1579
+ }, {
1580
+ config: {
1581
+ question: string;
1582
+ answer: string | {
1583
+ type: "rich";
1584
+ html: string;
1585
+ } | {
1586
+ type: "markdown";
1587
+ content: string;
1588
+ assets?: {
1589
+ type: "image" | "video";
1590
+ id: string;
1591
+ src: string;
1592
+ height?: number | undefined;
1593
+ width?: number | undefined;
1594
+ alt?: string | undefined;
1595
+ }[] | undefined;
1596
+ };
1597
+ id: string;
1598
+ priority?: number | undefined;
1599
+ category?: string | undefined;
1600
+ answerStrategy?: {
1601
+ endpoint: string;
1602
+ context?: string[] | undefined;
1603
+ cache?: "session" | "none" | undefined;
1604
+ fallback?: string | undefined;
1605
+ } | undefined;
1606
+ };
1607
+ kind: "faq:question";
1608
+ showWhen?: {
1609
+ rules: {
1610
+ conditions: z.objectInputType<{
1611
+ type: z.ZodString;
1612
+ }, z.ZodTypeAny, "passthrough">[];
1613
+ value?: unknown;
1614
+ }[];
1615
+ type: "rules";
1616
+ default?: unknown;
1617
+ } | {
1618
+ type: "score";
1619
+ threshold: number;
1620
+ field: string;
1621
+ above?: unknown;
1622
+ below?: unknown;
1623
+ } | {
1624
+ type: "model";
1625
+ modelId: string;
1626
+ inputs: string[];
1627
+ outputMapping: Record<string, unknown>;
1628
+ default?: unknown;
1629
+ } | {
1630
+ type: "external";
1631
+ endpoint: string;
1632
+ default?: unknown;
1633
+ method?: "GET" | "POST" | undefined;
1634
+ timeoutMs?: number | undefined;
1635
+ } | null | undefined;
1636
+ notify?: {
1637
+ body?: string | undefined;
1638
+ title?: string | undefined;
1639
+ icon?: string | undefined;
1640
+ } | null | undefined;
1197
1641
  }>>, "many">;
1198
1642
  position: z.ZodOptional<z.ZodEnum<["prepend", "append"]>>;
1199
1643
  once: z.ZodOptional<z.ZodBoolean>;
@@ -1255,6 +1699,11 @@ export declare const configSchema: z.ZodObject<{
1255
1699
  method?: "GET" | "POST" | undefined;
1256
1700
  timeoutMs?: number | undefined;
1257
1701
  } | null | undefined;
1702
+ notify?: {
1703
+ body?: string | undefined;
1704
+ title?: string | undefined;
1705
+ icon?: string | undefined;
1706
+ } | null | undefined;
1258
1707
  }[];
1259
1708
  trigger: {
1260
1709
  rules: {
@@ -1344,6 +1793,11 @@ export declare const configSchema: z.ZodObject<{
1344
1793
  method?: "GET" | "POST" | undefined;
1345
1794
  timeoutMs?: number | undefined;
1346
1795
  } | null | undefined;
1796
+ notify?: {
1797
+ body?: string | undefined;
1798
+ title?: string | undefined;
1799
+ icon?: string | undefined;
1800
+ } | null | undefined;
1347
1801
  }[];
1348
1802
  trigger: {
1349
1803
  rules: {
@@ -1451,6 +1905,11 @@ export declare const configSchema: z.ZodObject<{
1451
1905
  method?: "GET" | "POST" | undefined;
1452
1906
  timeoutMs?: number | undefined;
1453
1907
  } | null | undefined;
1908
+ notify?: {
1909
+ body?: string | undefined;
1910
+ title?: string | undefined;
1911
+ icon?: string | undefined;
1912
+ } | null | undefined;
1454
1913
  }[];
1455
1914
  feedback?: boolean | {
1456
1915
  style: "thumbs" | "rating";
@@ -1518,6 +1977,11 @@ export declare const configSchema: z.ZodObject<{
1518
1977
  method?: "GET" | "POST" | undefined;
1519
1978
  timeoutMs?: number | undefined;
1520
1979
  } | null | undefined;
1980
+ notify?: {
1981
+ body?: string | undefined;
1982
+ title?: string | undefined;
1983
+ icon?: string | undefined;
1984
+ } | null | undefined;
1521
1985
  }[];
1522
1986
  trigger: {
1523
1987
  rules: {
@@ -1617,6 +2081,11 @@ export declare const configSchema: z.ZodObject<{
1617
2081
  method?: "GET" | "POST" | undefined;
1618
2082
  timeoutMs?: number | undefined;
1619
2083
  } | null | undefined;
2084
+ notify?: {
2085
+ body?: string | undefined;
2086
+ title?: string | undefined;
2087
+ icon?: string | undefined;
2088
+ } | null | undefined;
1620
2089
  }[] | undefined;
1621
2090
  feedback?: boolean | {
1622
2091
  style: "thumbs" | "rating";
@@ -1684,6 +2153,11 @@ export declare const configSchema: z.ZodObject<{
1684
2153
  method?: "GET" | "POST" | undefined;
1685
2154
  timeoutMs?: number | undefined;
1686
2155
  } | null | undefined;
2156
+ notify?: {
2157
+ body?: string | undefined;
2158
+ title?: string | undefined;
2159
+ icon?: string | undefined;
2160
+ } | null | undefined;
1687
2161
  }[];
1688
2162
  trigger: {
1689
2163
  rules: {
@@ -1795,7 +2269,7 @@ export declare const ToggleFaqItemSchema: z.ZodEffects<z.ZodObject<{
1795
2269
  export declare const UpdateFaqSchema: z.ZodObject<{
1796
2270
  kind: z.ZodLiteral<"faq:update">;
1797
2271
  operation: z.ZodEnum<["add", "remove", "reorder", "replace"]>;
1798
- items: z.ZodOptional<z.ZodArray<z.ZodObject<{
2272
+ items: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
1799
2273
  kind: z.ZodLiteral<"faq:question">;
1800
2274
  config: z.ZodObject<{
1801
2275
  /** Unique identifier for this question */
@@ -2031,6 +2505,20 @@ export declare const UpdateFaqSchema: z.ZodObject<{
2031
2505
  method?: "GET" | "POST" | undefined;
2032
2506
  timeoutMs?: number | undefined;
2033
2507
  }>]>>>;
2508
+ /** Toast config when showWhen transitions false → true. Required when showWhen is set (use null to opt out). */
2509
+ notify: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2510
+ title: z.ZodOptional<z.ZodString>;
2511
+ body: z.ZodOptional<z.ZodString>;
2512
+ icon: z.ZodOptional<z.ZodString>;
2513
+ }, "strip", z.ZodTypeAny, {
2514
+ body?: string | undefined;
2515
+ title?: string | undefined;
2516
+ icon?: string | undefined;
2517
+ }, {
2518
+ body?: string | undefined;
2519
+ title?: string | undefined;
2520
+ icon?: string | undefined;
2521
+ }>>>;
2034
2522
  }, "strip", z.ZodTypeAny, {
2035
2523
  config: {
2036
2524
  question: string;
@@ -2088,6 +2576,135 @@ export declare const UpdateFaqSchema: z.ZodObject<{
2088
2576
  method?: "GET" | "POST" | undefined;
2089
2577
  timeoutMs?: number | undefined;
2090
2578
  } | null | undefined;
2579
+ notify?: {
2580
+ body?: string | undefined;
2581
+ title?: string | undefined;
2582
+ icon?: string | undefined;
2583
+ } | null | undefined;
2584
+ }, {
2585
+ config: {
2586
+ question: string;
2587
+ answer: string | {
2588
+ type: "rich";
2589
+ html: string;
2590
+ } | {
2591
+ type: "markdown";
2592
+ content: string;
2593
+ assets?: {
2594
+ type: "image" | "video";
2595
+ id: string;
2596
+ src: string;
2597
+ height?: number | undefined;
2598
+ width?: number | undefined;
2599
+ alt?: string | undefined;
2600
+ }[] | undefined;
2601
+ };
2602
+ id: string;
2603
+ priority?: number | undefined;
2604
+ category?: string | undefined;
2605
+ answerStrategy?: {
2606
+ endpoint: string;
2607
+ context?: string[] | undefined;
2608
+ cache?: "session" | "none" | undefined;
2609
+ fallback?: string | undefined;
2610
+ } | undefined;
2611
+ };
2612
+ kind: "faq:question";
2613
+ showWhen?: {
2614
+ rules: {
2615
+ conditions: z.objectInputType<{
2616
+ type: z.ZodString;
2617
+ }, z.ZodTypeAny, "passthrough">[];
2618
+ value?: unknown;
2619
+ }[];
2620
+ type: "rules";
2621
+ default?: unknown;
2622
+ } | {
2623
+ type: "score";
2624
+ threshold: number;
2625
+ field: string;
2626
+ above?: unknown;
2627
+ below?: unknown;
2628
+ } | {
2629
+ type: "model";
2630
+ modelId: string;
2631
+ inputs: string[];
2632
+ outputMapping: Record<string, unknown>;
2633
+ default?: unknown;
2634
+ } | {
2635
+ type: "external";
2636
+ endpoint: string;
2637
+ default?: unknown;
2638
+ method?: "GET" | "POST" | undefined;
2639
+ timeoutMs?: number | undefined;
2640
+ } | null | undefined;
2641
+ notify?: {
2642
+ body?: string | undefined;
2643
+ title?: string | undefined;
2644
+ icon?: string | undefined;
2645
+ } | null | undefined;
2646
+ }>, {
2647
+ config: {
2648
+ question: string;
2649
+ answer: string | {
2650
+ type: "rich";
2651
+ html: string;
2652
+ } | {
2653
+ type: "markdown";
2654
+ content: string;
2655
+ assets?: {
2656
+ type: "image" | "video";
2657
+ id: string;
2658
+ src: string;
2659
+ height?: number | undefined;
2660
+ width?: number | undefined;
2661
+ alt?: string | undefined;
2662
+ }[] | undefined;
2663
+ };
2664
+ id: string;
2665
+ priority?: number | undefined;
2666
+ category?: string | undefined;
2667
+ answerStrategy?: {
2668
+ endpoint: string;
2669
+ context?: string[] | undefined;
2670
+ cache?: "session" | "none" | undefined;
2671
+ fallback?: string | undefined;
2672
+ } | undefined;
2673
+ };
2674
+ kind: "faq:question";
2675
+ showWhen?: {
2676
+ rules: {
2677
+ conditions: z.objectOutputType<{
2678
+ type: z.ZodString;
2679
+ }, z.ZodTypeAny, "passthrough">[];
2680
+ value?: unknown;
2681
+ }[];
2682
+ type: "rules";
2683
+ default?: unknown;
2684
+ } | {
2685
+ type: "score";
2686
+ threshold: number;
2687
+ field: string;
2688
+ above?: unknown;
2689
+ below?: unknown;
2690
+ } | {
2691
+ type: "model";
2692
+ modelId: string;
2693
+ inputs: string[];
2694
+ outputMapping: Record<string, unknown>;
2695
+ default?: unknown;
2696
+ } | {
2697
+ type: "external";
2698
+ endpoint: string;
2699
+ default?: unknown;
2700
+ method?: "GET" | "POST" | undefined;
2701
+ timeoutMs?: number | undefined;
2702
+ } | null | undefined;
2703
+ notify?: {
2704
+ body?: string | undefined;
2705
+ title?: string | undefined;
2706
+ icon?: string | undefined;
2707
+ } | null | undefined;
2091
2708
  }, {
2092
2709
  config: {
2093
2710
  question: string;
@@ -2145,6 +2762,11 @@ export declare const UpdateFaqSchema: z.ZodObject<{
2145
2762
  method?: "GET" | "POST" | undefined;
2146
2763
  timeoutMs?: number | undefined;
2147
2764
  } | null | undefined;
2765
+ notify?: {
2766
+ body?: string | undefined;
2767
+ title?: string | undefined;
2768
+ icon?: string | undefined;
2769
+ } | null | undefined;
2148
2770
  }>, "many">>;
2149
2771
  itemId: z.ZodOptional<z.ZodString>;
2150
2772
  order: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -2211,6 +2833,11 @@ export declare const UpdateFaqSchema: z.ZodObject<{
2211
2833
  method?: "GET" | "POST" | undefined;
2212
2834
  timeoutMs?: number | undefined;
2213
2835
  } | null | undefined;
2836
+ notify?: {
2837
+ body?: string | undefined;
2838
+ title?: string | undefined;
2839
+ icon?: string | undefined;
2840
+ } | null | undefined;
2214
2841
  }[] | undefined;
2215
2842
  position?: "prepend" | "append" | "before" | "after" | undefined;
2216
2843
  anchorId?: string | undefined;
@@ -2276,6 +2903,11 @@ export declare const UpdateFaqSchema: z.ZodObject<{
2276
2903
  method?: "GET" | "POST" | undefined;
2277
2904
  timeoutMs?: number | undefined;
2278
2905
  } | null | undefined;
2906
+ notify?: {
2907
+ body?: string | undefined;
2908
+ title?: string | undefined;
2909
+ icon?: string | undefined;
2910
+ } | null | undefined;
2279
2911
  }[] | undefined;
2280
2912
  position?: "prepend" | "append" | "before" | "after" | undefined;
2281
2913
  anchorId?: string | undefined;
@@ -2341,6 +2973,11 @@ export declare function validateFAQQuestion(data: unknown): z.SafeParseReturnTyp
2341
2973
  method?: "GET" | "POST" | undefined;
2342
2974
  timeoutMs?: number | undefined;
2343
2975
  } | null | undefined;
2976
+ notify?: {
2977
+ body?: string | undefined;
2978
+ title?: string | undefined;
2979
+ icon?: string | undefined;
2980
+ } | null | undefined;
2344
2981
  }, {
2345
2982
  config: {
2346
2983
  question: string;
@@ -2398,6 +3035,11 @@ export declare function validateFAQQuestion(data: unknown): z.SafeParseReturnTyp
2398
3035
  method?: "GET" | "POST" | undefined;
2399
3036
  timeoutMs?: number | undefined;
2400
3037
  } | null | undefined;
3038
+ notify?: {
3039
+ body?: string | undefined;
3040
+ title?: string | undefined;
3041
+ icon?: string | undefined;
3042
+ } | null | undefined;
2401
3043
  }>;
2402
3044
  /**
2403
3045
  * Validate the full FAQ config.
@@ -2463,6 +3105,11 @@ export declare function validateFAQConfig(data: unknown): z.SafeParseReturnType<
2463
3105
  method?: "GET" | "POST" | undefined;
2464
3106
  timeoutMs?: number | undefined;
2465
3107
  } | null | undefined;
3108
+ notify?: {
3109
+ body?: string | undefined;
3110
+ title?: string | undefined;
3111
+ icon?: string | undefined;
3112
+ } | null | undefined;
2466
3113
  }[] | undefined;
2467
3114
  feedback?: boolean | {
2468
3115
  style: "thumbs" | "rating";
@@ -2530,6 +3177,11 @@ export declare function validateFAQConfig(data: unknown): z.SafeParseReturnType<
2530
3177
  method?: "GET" | "POST" | undefined;
2531
3178
  timeoutMs?: number | undefined;
2532
3179
  } | null | undefined;
3180
+ notify?: {
3181
+ body?: string | undefined;
3182
+ title?: string | undefined;
3183
+ icon?: string | undefined;
3184
+ } | null | undefined;
2533
3185
  }[];
2534
3186
  trigger: {
2535
3187
  rules: {
@@ -2629,6 +3281,11 @@ export declare function validateFAQConfig(data: unknown): z.SafeParseReturnType<
2629
3281
  method?: "GET" | "POST" | undefined;
2630
3282
  timeoutMs?: number | undefined;
2631
3283
  } | null | undefined;
3284
+ notify?: {
3285
+ body?: string | undefined;
3286
+ title?: string | undefined;
3287
+ icon?: string | undefined;
3288
+ } | null | undefined;
2632
3289
  }[];
2633
3290
  feedback?: boolean | {
2634
3291
  style: "thumbs" | "rating";
@@ -2696,6 +3353,11 @@ export declare function validateFAQConfig(data: unknown): z.SafeParseReturnType<
2696
3353
  method?: "GET" | "POST" | undefined;
2697
3354
  timeoutMs?: number | undefined;
2698
3355
  } | null | undefined;
3356
+ notify?: {
3357
+ body?: string | undefined;
3358
+ title?: string | undefined;
3359
+ icon?: string | undefined;
3360
+ } | null | undefined;
2699
3361
  }[];
2700
3362
  trigger: {
2701
3363
  rules: {
@@ -2981,6 +3643,20 @@ export declare const actionStepSchemas: ({
2981
3643
  method?: "GET" | "POST" | undefined;
2982
3644
  timeoutMs?: number | undefined;
2983
3645
  }>]>>>;
3646
+ /** Toast config when showWhen transitions false → true. Required when showWhen is set (use null to opt out). */
3647
+ notify: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3648
+ title: z.ZodOptional<z.ZodString>;
3649
+ body: z.ZodOptional<z.ZodString>;
3650
+ icon: z.ZodOptional<z.ZodString>;
3651
+ }, "strip", z.ZodTypeAny, {
3652
+ body?: string | undefined;
3653
+ title?: string | undefined;
3654
+ icon?: string | undefined;
3655
+ }, {
3656
+ body?: string | undefined;
3657
+ title?: string | undefined;
3658
+ icon?: string | undefined;
3659
+ }>>>;
2984
3660
  }, "strip", z.ZodTypeAny, {
2985
3661
  config: {
2986
3662
  question: string;
@@ -3038,6 +3714,11 @@ export declare const actionStepSchemas: ({
3038
3714
  method?: "GET" | "POST" | undefined;
3039
3715
  timeoutMs?: number | undefined;
3040
3716
  } | null | undefined;
3717
+ notify?: {
3718
+ body?: string | undefined;
3719
+ title?: string | undefined;
3720
+ icon?: string | undefined;
3721
+ } | null | undefined;
3041
3722
  }, {
3042
3723
  config: {
3043
3724
  question: string;
@@ -3095,6 +3776,11 @@ export declare const actionStepSchemas: ({
3095
3776
  method?: "GET" | "POST" | undefined;
3096
3777
  timeoutMs?: number | undefined;
3097
3778
  } | null | undefined;
3779
+ notify?: {
3780
+ body?: string | undefined;
3781
+ title?: string | undefined;
3782
+ icon?: string | undefined;
3783
+ } | null | undefined;
3098
3784
  }>;
3099
3785
  } | {
3100
3786
  defName: string;
@@ -3140,7 +3826,7 @@ export declare const actionStepSchemas: ({
3140
3826
  schema: z.ZodObject<{
3141
3827
  kind: z.ZodLiteral<"faq:update">;
3142
3828
  operation: z.ZodEnum<["add", "remove", "reorder", "replace"]>;
3143
- items: z.ZodOptional<z.ZodArray<z.ZodObject<{
3829
+ items: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
3144
3830
  kind: z.ZodLiteral<"faq:question">;
3145
3831
  config: z.ZodObject<{
3146
3832
  /** Unique identifier for this question */
@@ -3367,16 +4053,154 @@ export declare const actionStepSchemas: ({
3367
4053
  type: "external";
3368
4054
  endpoint: string;
3369
4055
  default?: unknown;
3370
- method?: "GET" | "POST" | undefined;
3371
- timeoutMs?: number | undefined;
3372
- }, {
4056
+ method?: "GET" | "POST" | undefined;
4057
+ timeoutMs?: number | undefined;
4058
+ }, {
4059
+ type: "external";
4060
+ endpoint: string;
4061
+ default?: unknown;
4062
+ method?: "GET" | "POST" | undefined;
4063
+ timeoutMs?: number | undefined;
4064
+ }>]>>>;
4065
+ /** Toast config when showWhen transitions false → true. Required when showWhen is set (use null to opt out). */
4066
+ notify: z.ZodOptional<z.ZodNullable<z.ZodObject<{
4067
+ title: z.ZodOptional<z.ZodString>;
4068
+ body: z.ZodOptional<z.ZodString>;
4069
+ icon: z.ZodOptional<z.ZodString>;
4070
+ }, "strip", z.ZodTypeAny, {
4071
+ body?: string | undefined;
4072
+ title?: string | undefined;
4073
+ icon?: string | undefined;
4074
+ }, {
4075
+ body?: string | undefined;
4076
+ title?: string | undefined;
4077
+ icon?: string | undefined;
4078
+ }>>>;
4079
+ }, "strip", z.ZodTypeAny, {
4080
+ config: {
4081
+ question: string;
4082
+ answer: string | {
4083
+ type: "rich";
4084
+ html: string;
4085
+ } | {
4086
+ type: "markdown";
4087
+ content: string;
4088
+ assets?: {
4089
+ type: "image" | "video";
4090
+ id: string;
4091
+ src: string;
4092
+ height?: number | undefined;
4093
+ width?: number | undefined;
4094
+ alt?: string | undefined;
4095
+ }[] | undefined;
4096
+ };
4097
+ id: string;
4098
+ priority?: number | undefined;
4099
+ category?: string | undefined;
4100
+ answerStrategy?: {
4101
+ endpoint: string;
4102
+ context?: string[] | undefined;
4103
+ cache?: "session" | "none" | undefined;
4104
+ fallback?: string | undefined;
4105
+ } | undefined;
4106
+ };
4107
+ kind: "faq:question";
4108
+ showWhen?: {
4109
+ rules: {
4110
+ conditions: z.objectOutputType<{
4111
+ type: z.ZodString;
4112
+ }, z.ZodTypeAny, "passthrough">[];
4113
+ value?: unknown;
4114
+ }[];
4115
+ type: "rules";
4116
+ default?: unknown;
4117
+ } | {
4118
+ type: "score";
4119
+ threshold: number;
4120
+ field: string;
4121
+ above?: unknown;
4122
+ below?: unknown;
4123
+ } | {
4124
+ type: "model";
4125
+ modelId: string;
4126
+ inputs: string[];
4127
+ outputMapping: Record<string, unknown>;
4128
+ default?: unknown;
4129
+ } | {
4130
+ type: "external";
4131
+ endpoint: string;
4132
+ default?: unknown;
4133
+ method?: "GET" | "POST" | undefined;
4134
+ timeoutMs?: number | undefined;
4135
+ } | null | undefined;
4136
+ notify?: {
4137
+ body?: string | undefined;
4138
+ title?: string | undefined;
4139
+ icon?: string | undefined;
4140
+ } | null | undefined;
4141
+ }, {
4142
+ config: {
4143
+ question: string;
4144
+ answer: string | {
4145
+ type: "rich";
4146
+ html: string;
4147
+ } | {
4148
+ type: "markdown";
4149
+ content: string;
4150
+ assets?: {
4151
+ type: "image" | "video";
4152
+ id: string;
4153
+ src: string;
4154
+ height?: number | undefined;
4155
+ width?: number | undefined;
4156
+ alt?: string | undefined;
4157
+ }[] | undefined;
4158
+ };
4159
+ id: string;
4160
+ priority?: number | undefined;
4161
+ category?: string | undefined;
4162
+ answerStrategy?: {
4163
+ endpoint: string;
4164
+ context?: string[] | undefined;
4165
+ cache?: "session" | "none" | undefined;
4166
+ fallback?: string | undefined;
4167
+ } | undefined;
4168
+ };
4169
+ kind: "faq:question";
4170
+ showWhen?: {
4171
+ rules: {
4172
+ conditions: z.objectInputType<{
4173
+ type: z.ZodString;
4174
+ }, z.ZodTypeAny, "passthrough">[];
4175
+ value?: unknown;
4176
+ }[];
4177
+ type: "rules";
4178
+ default?: unknown;
4179
+ } | {
4180
+ type: "score";
4181
+ threshold: number;
4182
+ field: string;
4183
+ above?: unknown;
4184
+ below?: unknown;
4185
+ } | {
4186
+ type: "model";
4187
+ modelId: string;
4188
+ inputs: string[];
4189
+ outputMapping: Record<string, unknown>;
4190
+ default?: unknown;
4191
+ } | {
3373
4192
  type: "external";
3374
4193
  endpoint: string;
3375
4194
  default?: unknown;
3376
4195
  method?: "GET" | "POST" | undefined;
3377
4196
  timeoutMs?: number | undefined;
3378
- }>]>>>;
3379
- }, "strip", z.ZodTypeAny, {
4197
+ } | null | undefined;
4198
+ notify?: {
4199
+ body?: string | undefined;
4200
+ title?: string | undefined;
4201
+ icon?: string | undefined;
4202
+ } | null | undefined;
4203
+ }>, {
3380
4204
  config: {
3381
4205
  question: string;
3382
4206
  answer: string | {
@@ -3433,6 +4257,11 @@ export declare const actionStepSchemas: ({
3433
4257
  method?: "GET" | "POST" | undefined;
3434
4258
  timeoutMs?: number | undefined;
3435
4259
  } | null | undefined;
4260
+ notify?: {
4261
+ body?: string | undefined;
4262
+ title?: string | undefined;
4263
+ icon?: string | undefined;
4264
+ } | null | undefined;
3436
4265
  }, {
3437
4266
  config: {
3438
4267
  question: string;
@@ -3490,6 +4319,11 @@ export declare const actionStepSchemas: ({
3490
4319
  method?: "GET" | "POST" | undefined;
3491
4320
  timeoutMs?: number | undefined;
3492
4321
  } | null | undefined;
4322
+ notify?: {
4323
+ body?: string | undefined;
4324
+ title?: string | undefined;
4325
+ icon?: string | undefined;
4326
+ } | null | undefined;
3493
4327
  }>, "many">>;
3494
4328
  itemId: z.ZodOptional<z.ZodString>;
3495
4329
  order: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -3556,6 +4390,11 @@ export declare const actionStepSchemas: ({
3556
4390
  method?: "GET" | "POST" | undefined;
3557
4391
  timeoutMs?: number | undefined;
3558
4392
  } | null | undefined;
4393
+ notify?: {
4394
+ body?: string | undefined;
4395
+ title?: string | undefined;
4396
+ icon?: string | undefined;
4397
+ } | null | undefined;
3559
4398
  }[] | undefined;
3560
4399
  position?: "prepend" | "append" | "before" | "after" | undefined;
3561
4400
  anchorId?: string | undefined;
@@ -3621,6 +4460,11 @@ export declare const actionStepSchemas: ({
3621
4460
  method?: "GET" | "POST" | undefined;
3622
4461
  timeoutMs?: number | undefined;
3623
4462
  } | null | undefined;
4463
+ notify?: {
4464
+ body?: string | undefined;
4465
+ title?: string | undefined;
4466
+ icon?: string | undefined;
4467
+ } | null | undefined;
3624
4468
  }[] | undefined;
3625
4469
  position?: "prepend" | "append" | "before" | "after" | undefined;
3626
4470
  anchorId?: string | undefined;
@@ -3645,7 +4489,7 @@ export declare const tileWidgets: {
3645
4489
  /** Color theme */
3646
4490
  theme: z.ZodDefault<z.ZodEnum<["light", "dark", "auto"]>>;
3647
4491
  /** FAQ questions (compositional actions) */
3648
- actions: z.ZodDefault<z.ZodArray<z.ZodObject<{
4492
+ actions: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
3649
4493
  kind: z.ZodLiteral<"faq:question">;
3650
4494
  config: z.ZodObject<{
3651
4495
  /** Unique identifier for this question */
@@ -3881,6 +4725,20 @@ export declare const tileWidgets: {
3881
4725
  method?: "GET" | "POST" | undefined;
3882
4726
  timeoutMs?: number | undefined;
3883
4727
  }>]>>>;
4728
+ /** Toast config when showWhen transitions false → true. Required when showWhen is set (use null to opt out). */
4729
+ notify: z.ZodOptional<z.ZodNullable<z.ZodObject<{
4730
+ title: z.ZodOptional<z.ZodString>;
4731
+ body: z.ZodOptional<z.ZodString>;
4732
+ icon: z.ZodOptional<z.ZodString>;
4733
+ }, "strip", z.ZodTypeAny, {
4734
+ body?: string | undefined;
4735
+ title?: string | undefined;
4736
+ icon?: string | undefined;
4737
+ }, {
4738
+ body?: string | undefined;
4739
+ title?: string | undefined;
4740
+ icon?: string | undefined;
4741
+ }>>>;
3884
4742
  }, "strip", z.ZodTypeAny, {
3885
4743
  config: {
3886
4744
  question: string;
@@ -3938,6 +4796,135 @@ export declare const tileWidgets: {
3938
4796
  method?: "GET" | "POST" | undefined;
3939
4797
  timeoutMs?: number | undefined;
3940
4798
  } | null | undefined;
4799
+ notify?: {
4800
+ body?: string | undefined;
4801
+ title?: string | undefined;
4802
+ icon?: string | undefined;
4803
+ } | null | undefined;
4804
+ }, {
4805
+ config: {
4806
+ question: string;
4807
+ answer: string | {
4808
+ type: "rich";
4809
+ html: string;
4810
+ } | {
4811
+ type: "markdown";
4812
+ content: string;
4813
+ assets?: {
4814
+ type: "image" | "video";
4815
+ id: string;
4816
+ src: string;
4817
+ height?: number | undefined;
4818
+ width?: number | undefined;
4819
+ alt?: string | undefined;
4820
+ }[] | undefined;
4821
+ };
4822
+ id: string;
4823
+ priority?: number | undefined;
4824
+ category?: string | undefined;
4825
+ answerStrategy?: {
4826
+ endpoint: string;
4827
+ context?: string[] | undefined;
4828
+ cache?: "session" | "none" | undefined;
4829
+ fallback?: string | undefined;
4830
+ } | undefined;
4831
+ };
4832
+ kind: "faq:question";
4833
+ showWhen?: {
4834
+ rules: {
4835
+ conditions: z.objectInputType<{
4836
+ type: z.ZodString;
4837
+ }, z.ZodTypeAny, "passthrough">[];
4838
+ value?: unknown;
4839
+ }[];
4840
+ type: "rules";
4841
+ default?: unknown;
4842
+ } | {
4843
+ type: "score";
4844
+ threshold: number;
4845
+ field: string;
4846
+ above?: unknown;
4847
+ below?: unknown;
4848
+ } | {
4849
+ type: "model";
4850
+ modelId: string;
4851
+ inputs: string[];
4852
+ outputMapping: Record<string, unknown>;
4853
+ default?: unknown;
4854
+ } | {
4855
+ type: "external";
4856
+ endpoint: string;
4857
+ default?: unknown;
4858
+ method?: "GET" | "POST" | undefined;
4859
+ timeoutMs?: number | undefined;
4860
+ } | null | undefined;
4861
+ notify?: {
4862
+ body?: string | undefined;
4863
+ title?: string | undefined;
4864
+ icon?: string | undefined;
4865
+ } | null | undefined;
4866
+ }>, {
4867
+ config: {
4868
+ question: string;
4869
+ answer: string | {
4870
+ type: "rich";
4871
+ html: string;
4872
+ } | {
4873
+ type: "markdown";
4874
+ content: string;
4875
+ assets?: {
4876
+ type: "image" | "video";
4877
+ id: string;
4878
+ src: string;
4879
+ height?: number | undefined;
4880
+ width?: number | undefined;
4881
+ alt?: string | undefined;
4882
+ }[] | undefined;
4883
+ };
4884
+ id: string;
4885
+ priority?: number | undefined;
4886
+ category?: string | undefined;
4887
+ answerStrategy?: {
4888
+ endpoint: string;
4889
+ context?: string[] | undefined;
4890
+ cache?: "session" | "none" | undefined;
4891
+ fallback?: string | undefined;
4892
+ } | undefined;
4893
+ };
4894
+ kind: "faq:question";
4895
+ showWhen?: {
4896
+ rules: {
4897
+ conditions: z.objectOutputType<{
4898
+ type: z.ZodString;
4899
+ }, z.ZodTypeAny, "passthrough">[];
4900
+ value?: unknown;
4901
+ }[];
4902
+ type: "rules";
4903
+ default?: unknown;
4904
+ } | {
4905
+ type: "score";
4906
+ threshold: number;
4907
+ field: string;
4908
+ above?: unknown;
4909
+ below?: unknown;
4910
+ } | {
4911
+ type: "model";
4912
+ modelId: string;
4913
+ inputs: string[];
4914
+ outputMapping: Record<string, unknown>;
4915
+ default?: unknown;
4916
+ } | {
4917
+ type: "external";
4918
+ endpoint: string;
4919
+ default?: unknown;
4920
+ method?: "GET" | "POST" | undefined;
4921
+ timeoutMs?: number | undefined;
4922
+ } | null | undefined;
4923
+ notify?: {
4924
+ body?: string | undefined;
4925
+ title?: string | undefined;
4926
+ icon?: string | undefined;
4927
+ } | null | undefined;
3941
4928
  }, {
3942
4929
  config: {
3943
4930
  question: string;
@@ -3995,6 +4982,11 @@ export declare const tileWidgets: {
3995
4982
  method?: "GET" | "POST" | undefined;
3996
4983
  timeoutMs?: number | undefined;
3997
4984
  } | null | undefined;
4985
+ notify?: {
4986
+ body?: string | undefined;
4987
+ title?: string | undefined;
4988
+ icon?: string | undefined;
4989
+ } | null | undefined;
3998
4990
  }>, "many">>;
3999
4991
  /** Feedback widget configuration */
4000
4992
  feedback: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
@@ -4116,7 +5108,7 @@ export declare const tileWidgets: {
4116
5108
  method?: "GET" | "POST" | undefined;
4117
5109
  timeoutMs?: number | undefined;
4118
5110
  }>]>;
4119
- items: z.ZodArray<z.ZodLazy<z.ZodObject<{
5111
+ items: z.ZodArray<z.ZodLazy<z.ZodEffects<z.ZodObject<{
4120
5112
  kind: z.ZodLiteral<"faq:question">;
4121
5113
  config: z.ZodObject<{
4122
5114
  /** Unique identifier for this question */
@@ -4352,6 +5344,20 @@ export declare const tileWidgets: {
4352
5344
  method?: "GET" | "POST" | undefined;
4353
5345
  timeoutMs?: number | undefined;
4354
5346
  }>]>>>;
5347
+ /** Toast config when showWhen transitions false → true. Required when showWhen is set (use null to opt out). */
5348
+ notify: z.ZodOptional<z.ZodNullable<z.ZodObject<{
5349
+ title: z.ZodOptional<z.ZodString>;
5350
+ body: z.ZodOptional<z.ZodString>;
5351
+ icon: z.ZodOptional<z.ZodString>;
5352
+ }, "strip", z.ZodTypeAny, {
5353
+ body?: string | undefined;
5354
+ title?: string | undefined;
5355
+ icon?: string | undefined;
5356
+ }, {
5357
+ body?: string | undefined;
5358
+ title?: string | undefined;
5359
+ icon?: string | undefined;
5360
+ }>>>;
4355
5361
  }, "strip", z.ZodTypeAny, {
4356
5362
  config: {
4357
5363
  question: string;
@@ -4409,6 +5415,135 @@ export declare const tileWidgets: {
4409
5415
  method?: "GET" | "POST" | undefined;
4410
5416
  timeoutMs?: number | undefined;
4411
5417
  } | null | undefined;
5418
+ notify?: {
5419
+ body?: string | undefined;
5420
+ title?: string | undefined;
5421
+ icon?: string | undefined;
5422
+ } | null | undefined;
5423
+ }, {
5424
+ config: {
5425
+ question: string;
5426
+ answer: string | {
5427
+ type: "rich";
5428
+ html: string;
5429
+ } | {
5430
+ type: "markdown";
5431
+ content: string;
5432
+ assets?: {
5433
+ type: "image" | "video";
5434
+ id: string;
5435
+ src: string;
5436
+ height?: number | undefined;
5437
+ width?: number | undefined;
5438
+ alt?: string | undefined;
5439
+ }[] | undefined;
5440
+ };
5441
+ id: string;
5442
+ priority?: number | undefined;
5443
+ category?: string | undefined;
5444
+ answerStrategy?: {
5445
+ endpoint: string;
5446
+ context?: string[] | undefined;
5447
+ cache?: "session" | "none" | undefined;
5448
+ fallback?: string | undefined;
5449
+ } | undefined;
5450
+ };
5451
+ kind: "faq:question";
5452
+ showWhen?: {
5453
+ rules: {
5454
+ conditions: z.objectInputType<{
5455
+ type: z.ZodString;
5456
+ }, z.ZodTypeAny, "passthrough">[];
5457
+ value?: unknown;
5458
+ }[];
5459
+ type: "rules";
5460
+ default?: unknown;
5461
+ } | {
5462
+ type: "score";
5463
+ threshold: number;
5464
+ field: string;
5465
+ above?: unknown;
5466
+ below?: unknown;
5467
+ } | {
5468
+ type: "model";
5469
+ modelId: string;
5470
+ inputs: string[];
5471
+ outputMapping: Record<string, unknown>;
5472
+ default?: unknown;
5473
+ } | {
5474
+ type: "external";
5475
+ endpoint: string;
5476
+ default?: unknown;
5477
+ method?: "GET" | "POST" | undefined;
5478
+ timeoutMs?: number | undefined;
5479
+ } | null | undefined;
5480
+ notify?: {
5481
+ body?: string | undefined;
5482
+ title?: string | undefined;
5483
+ icon?: string | undefined;
5484
+ } | null | undefined;
5485
+ }>, {
5486
+ config: {
5487
+ question: string;
5488
+ answer: string | {
5489
+ type: "rich";
5490
+ html: string;
5491
+ } | {
5492
+ type: "markdown";
5493
+ content: string;
5494
+ assets?: {
5495
+ type: "image" | "video";
5496
+ id: string;
5497
+ src: string;
5498
+ height?: number | undefined;
5499
+ width?: number | undefined;
5500
+ alt?: string | undefined;
5501
+ }[] | undefined;
5502
+ };
5503
+ id: string;
5504
+ priority?: number | undefined;
5505
+ category?: string | undefined;
5506
+ answerStrategy?: {
5507
+ endpoint: string;
5508
+ context?: string[] | undefined;
5509
+ cache?: "session" | "none" | undefined;
5510
+ fallback?: string | undefined;
5511
+ } | undefined;
5512
+ };
5513
+ kind: "faq:question";
5514
+ showWhen?: {
5515
+ rules: {
5516
+ conditions: z.objectOutputType<{
5517
+ type: z.ZodString;
5518
+ }, z.ZodTypeAny, "passthrough">[];
5519
+ value?: unknown;
5520
+ }[];
5521
+ type: "rules";
5522
+ default?: unknown;
5523
+ } | {
5524
+ type: "score";
5525
+ threshold: number;
5526
+ field: string;
5527
+ above?: unknown;
5528
+ below?: unknown;
5529
+ } | {
5530
+ type: "model";
5531
+ modelId: string;
5532
+ inputs: string[];
5533
+ outputMapping: Record<string, unknown>;
5534
+ default?: unknown;
5535
+ } | {
5536
+ type: "external";
5537
+ endpoint: string;
5538
+ default?: unknown;
5539
+ method?: "GET" | "POST" | undefined;
5540
+ timeoutMs?: number | undefined;
5541
+ } | null | undefined;
5542
+ notify?: {
5543
+ body?: string | undefined;
5544
+ title?: string | undefined;
5545
+ icon?: string | undefined;
5546
+ } | null | undefined;
4412
5547
  }, {
4413
5548
  config: {
4414
5549
  question: string;
@@ -4466,6 +5601,11 @@ export declare const tileWidgets: {
4466
5601
  method?: "GET" | "POST" | undefined;
4467
5602
  timeoutMs?: number | undefined;
4468
5603
  } | null | undefined;
5604
+ notify?: {
5605
+ body?: string | undefined;
5606
+ title?: string | undefined;
5607
+ icon?: string | undefined;
5608
+ } | null | undefined;
4469
5609
  }>>, "many">;
4470
5610
  position: z.ZodOptional<z.ZodEnum<["prepend", "append"]>>;
4471
5611
  once: z.ZodOptional<z.ZodBoolean>;
@@ -4527,6 +5667,11 @@ export declare const tileWidgets: {
4527
5667
  method?: "GET" | "POST" | undefined;
4528
5668
  timeoutMs?: number | undefined;
4529
5669
  } | null | undefined;
5670
+ notify?: {
5671
+ body?: string | undefined;
5672
+ title?: string | undefined;
5673
+ icon?: string | undefined;
5674
+ } | null | undefined;
4530
5675
  }[];
4531
5676
  trigger: {
4532
5677
  rules: {
@@ -4616,6 +5761,11 @@ export declare const tileWidgets: {
4616
5761
  method?: "GET" | "POST" | undefined;
4617
5762
  timeoutMs?: number | undefined;
4618
5763
  } | null | undefined;
5764
+ notify?: {
5765
+ body?: string | undefined;
5766
+ title?: string | undefined;
5767
+ icon?: string | undefined;
5768
+ } | null | undefined;
4619
5769
  }[];
4620
5770
  trigger: {
4621
5771
  rules: {
@@ -4723,6 +5873,11 @@ export declare const tileWidgets: {
4723
5873
  method?: "GET" | "POST" | undefined;
4724
5874
  timeoutMs?: number | undefined;
4725
5875
  } | null | undefined;
5876
+ notify?: {
5877
+ body?: string | undefined;
5878
+ title?: string | undefined;
5879
+ icon?: string | undefined;
5880
+ } | null | undefined;
4726
5881
  }[];
4727
5882
  feedback?: boolean | {
4728
5883
  style: "thumbs" | "rating";
@@ -4790,6 +5945,11 @@ export declare const tileWidgets: {
4790
5945
  method?: "GET" | "POST" | undefined;
4791
5946
  timeoutMs?: number | undefined;
4792
5947
  } | null | undefined;
5948
+ notify?: {
5949
+ body?: string | undefined;
5950
+ title?: string | undefined;
5951
+ icon?: string | undefined;
5952
+ } | null | undefined;
4793
5953
  }[];
4794
5954
  trigger: {
4795
5955
  rules: {
@@ -4889,6 +6049,11 @@ export declare const tileWidgets: {
4889
6049
  method?: "GET" | "POST" | undefined;
4890
6050
  timeoutMs?: number | undefined;
4891
6051
  } | null | undefined;
6052
+ notify?: {
6053
+ body?: string | undefined;
6054
+ title?: string | undefined;
6055
+ icon?: string | undefined;
6056
+ } | null | undefined;
4892
6057
  }[] | undefined;
4893
6058
  feedback?: boolean | {
4894
6059
  style: "thumbs" | "rating";
@@ -4956,6 +6121,11 @@ export declare const tileWidgets: {
4956
6121
  method?: "GET" | "POST" | undefined;
4957
6122
  timeoutMs?: number | undefined;
4958
6123
  } | null | undefined;
6124
+ notify?: {
6125
+ body?: string | undefined;
6126
+ title?: string | undefined;
6127
+ icon?: string | undefined;
6128
+ } | null | undefined;
4959
6129
  }[];
4960
6130
  trigger: {
4961
6131
  rules: {