react-semaphor 0.1.315 → 0.1.316

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 (46) hide show
  1. package/dist/brand-studio/index.js +65 -65
  2. package/dist/briefings/index.cjs +1 -0
  3. package/dist/briefings/index.js +848 -0
  4. package/dist/chunks/{braces-CWi8x9ww.js → braces-CDPz6CF2.js} +1 -1
  5. package/dist/chunks/{calendar-preferences-dialog-B3JYKgek.js → calendar-preferences-dialog-9NlFzHX8.js} +3 -3
  6. package/dist/chunks/{calendar-preferences-dialog-aODuCeYE.js → calendar-preferences-dialog-BDdxi7Xm.js} +1 -1
  7. package/dist/chunks/{chevrons-up-down-B2viXO2I.js → chevrons-up-down-BsdQRmJL.js} +1 -1
  8. package/dist/chunks/dashboard-briefing-launcher-5fM_KJoT.js +7321 -0
  9. package/dist/chunks/dashboard-briefing-launcher-CVxLt10p.js +96 -0
  10. package/dist/chunks/dashboard-controls-9YV-D1tD.js +2009 -0
  11. package/dist/chunks/dashboard-controls-UR_m0wD1.js +57 -0
  12. package/dist/chunks/{dashboard-json-zKDTezgS.js → dashboard-json-CKPID8Am.js} +2 -2
  13. package/dist/chunks/{dashboard-json-Duea3KSa.js → dashboard-json-ws4tortP.js} +1 -1
  14. package/dist/chunks/edit-dashboard-visual-CmxnZI8I.js +178 -0
  15. package/dist/chunks/{edit-dashboard-visual-MZCJaPiq.js → edit-dashboard-visual-ifKJLMTS.js} +807 -822
  16. package/dist/chunks/index-Xdag_85e.js +1298 -0
  17. package/dist/chunks/{index-CjRLHvSp.js → index-gcA9Rs35.js} +41203 -46487
  18. package/dist/chunks/{palette-CIuwlEiG.js → palette-BlxLchHy.js} +1 -1
  19. package/dist/chunks/{resource-management-panel-CM3Zsk9H.js → resource-management-panel-BduJanWW.js} +1 -1
  20. package/dist/chunks/{resource-management-panel-S0LXyguo.js → resource-management-panel-paSAzVj2.js} +81 -81
  21. package/dist/chunks/{save-_ALpoMy6.js → save-DVRQBMeb.js} +1 -1
  22. package/dist/chunks/{switch-B6fh8nb-.js → switch-sauemjyY.js} +199 -199
  23. package/dist/chunks/{use-create-flow-overlay-state-Cp7PYD-t.js → use-create-flow-overlay-state-DKV6tIc5.js} +254 -225
  24. package/dist/chunks/use-create-flow-overlay-state-DWnzVVlP.js +26 -0
  25. package/dist/chunks/{use-visual-utils-DDd0pAJ_.js → use-visual-utils-C8PDxg2w.js} +1 -1
  26. package/dist/chunks/{use-visual-utils-D9DsvP1v.js → use-visual-utils-Cs0-baCK.js} +48 -48
  27. package/dist/dashboard/index.cjs +1 -1
  28. package/dist/dashboard/index.js +1 -1
  29. package/dist/index.cjs +1 -1
  30. package/dist/index.js +232 -485
  31. package/dist/style.css +1 -1
  32. package/dist/surfboard/index.cjs +1 -1
  33. package/dist/surfboard/index.js +2 -2
  34. package/dist/types/briefings.d.ts +240 -0
  35. package/dist/types/dashboard.d.ts +1 -0
  36. package/dist/types/main.d.ts +619 -1017
  37. package/dist/types/surfboard.d.ts +1 -0
  38. package/dist/types/types.d.ts +411 -261
  39. package/package.json +7 -2
  40. package/dist/chunks/dashboard-controls-CSunAZVx.js +0 -57
  41. package/dist/chunks/dashboard-controls-jvJF-AJC.js +0 -2021
  42. package/dist/chunks/dashboard-filter-controls-launcher-B0i9xSZZ.js +0 -11
  43. package/dist/chunks/dashboard-filter-controls-launcher-DG6yRPmx.js +0 -1540
  44. package/dist/chunks/edit-dashboard-visual-QjRIAadP.js +0 -183
  45. package/dist/chunks/index-B7C8qBWC.js +0 -1330
  46. package/dist/chunks/use-create-flow-overlay-state-CqTBDwBF.js +0 -16
@@ -1,11 +1,8 @@
1
- import { ActionDispatch } from 'react';
2
1
  import { Chart as Chart_2 } from 'chart.js';
3
2
  import { ChartConfiguration } from 'chart.js';
4
- import { ClassProp } from 'class-variance-authority/types';
5
3
  import { ColumnSizingState } from '@tanstack/react-table';
6
4
  import { DateRange } from 'react-day-picker';
7
5
  import { default as default_2 } from 'react-grid-layout';
8
- import { FetchStatus } from '@tanstack/query-core';
9
6
  import { FontSpec } from 'chart.js';
10
7
  import { JSX } from 'react/jsx-runtime';
11
8
  import { JSX as JSX_2 } from 'react';
@@ -17,9 +14,7 @@ import { StoreApi } from 'zustand';
17
14
  import { UseBoundStore } from 'zustand';
18
15
  import { UseMutateAsyncFunction } from '@tanstack/react-query';
19
16
  import { UseMutateFunction } from '@tanstack/react-query';
20
- import { UseMutationResult } from '@tanstack/react-query';
21
17
  import { UseQueryResult } from '@tanstack/react-query';
22
- import { VariantProps } from 'class-variance-authority';
23
18
  import { WritableDraft } from 'immer';
24
19
 
25
20
  declare type Actions = {
@@ -390,274 +385,6 @@ export declare type AIScopeTable = {
390
385
  datamodelName: string;
391
386
  };
392
387
 
393
- export declare interface Alert {
394
- id: string;
395
- kind?: 'ALERT';
396
- name: string;
397
- description?: string | null;
398
- status: AlertStatus;
399
- scheduleExpr: string;
400
- timezone: string;
401
- nextRunAt?: string | null;
402
- lastRunAt?: string | null;
403
- lastRunStatus?: string | null;
404
- sourceHealth?: 'OK' | 'SOURCE_MISSING' | 'SOURCE_ERROR' | 'STALE';
405
- alertState?: AlertState | null;
406
- jobConfig: AlertJobConfig;
407
- deliveryConfig: DeliveryConfig;
408
- createdAt: string;
409
- updatedAt: string;
410
- }
411
-
412
- export declare interface AlertBacktestResult {
413
- ruleId?: string;
414
- evaluationCount: number;
415
- transitionsWithoutDampening: number;
416
- transitionsWithDampening: number;
417
- recommendation?: string | null;
418
- firingEpisodes?: Array<{
419
- triggeredAt: string;
420
- recoveredAt: string | null;
421
- durationMinutes: number;
422
- peakValue: number;
423
- }>;
424
- }
425
-
426
- export declare type AlertConditionOperator = 'gt' | 'gte' | 'lt' | 'lte' | 'eq' | 'neq' | 'pct_change_gt' | 'pct_change_lt';
427
-
428
- export declare interface AlertContextInterpretResponse {
429
- workflowDef: Record<string, unknown>;
430
- contextSources: ContextSource[];
431
- explanation?: string;
432
- }
433
-
434
- export declare type AlertContextSourceKind = 'trend_window' | 'peer_comparison' | 'related_metric' | 'breakdown' | 'custom_query';
435
-
436
- export declare interface AlertDeliverablePreview {
437
- mode: 'standard_fallback' | 'custom';
438
- html: string;
439
- warnings?: string[];
440
- }
441
-
442
- export declare type AlertDeliveryChannel = 'EMAIL' | 'WEBHOOK' | 'SLACK' | 'IN_APP' | 'TELEGRAM';
443
-
444
- export declare function AlertDetailPageEmbedded({ alertId, onBack }: AlertDetailPageEmbeddedProps): JSX.Element;
445
-
446
- declare type AlertDetailPageEmbeddedProps = {
447
- alertId: string;
448
- onBack?: () => void;
449
- };
450
-
451
- declare type AlertDraft = {
452
- name?: string;
453
- description?: string | null;
454
- scheduleExpr?: string;
455
- timezone?: string;
456
- workflowDef?: Record<string, unknown> | null;
457
- jobConfig?: Partial<AlertJobConfig>;
458
- deliveryConfig?: Partial<DeliveryConfig>;
459
- };
460
-
461
- export declare type AlertExecutionControlContext = {
462
- values: Record<string, unknown>;
463
- };
464
-
465
- export declare type AlertExecutionFilterContext = {
466
- active_filters: TFilterValue[];
467
- };
468
-
469
- export declare type AlertExecutionQueryConfig = {
470
- cardType: TChartType;
471
- cardMode: CardMode;
472
- cardConfig: CardConfig;
473
- cardDataSource: DataSource;
474
- connectionId?: string;
475
- };
476
-
477
- declare type AlertFilters = {
478
- status: 'all' | 'ACTIVE' | 'PAUSED' | 'DISABLED';
479
- query: string;
480
- };
481
-
482
- export declare interface AlertHistoryResponse {
483
- ruleId: string;
484
- windowDays: number;
485
- totalFirings: number;
486
- averageFiringDurationMinutes: number;
487
- longestFiring: {
488
- triggeredAt: string;
489
- recoveredAt: string | null;
490
- durationMinutes: number;
491
- triggerValue: number | null;
492
- recoveryValue: number | null;
493
- } | null;
494
- shortestFiring: {
495
- triggeredAt: string;
496
- recoveredAt: string | null;
497
- durationMinutes: number;
498
- triggerValue: number | null;
499
- recoveryValue: number | null;
500
- } | null;
501
- totalFiringMinutes: number;
502
- firingPercentage: number;
503
- episodes: Array<{
504
- triggeredAt: string;
505
- recoveredAt: string | null;
506
- durationMinutes: number;
507
- triggerValue: number | null;
508
- recoveryValue: number | null;
509
- }>;
510
- }
511
-
512
- export declare type AlertJobConfig = {
513
- kind: 'ALERT';
514
- source: AlertSource;
515
- operator: AlertConditionOperator;
516
- threshold: number;
517
- severity: AlertSeverity;
518
- consecutiveCount?: number;
519
- notifyPolicy: 'on_state_change';
520
- contextSources?: ContextSource[];
521
- presentationPrompt?: string;
522
- sensitivityPreset?: SensitivityPreset | null;
523
- };
524
-
525
- export declare function AlertManagementPage({ scope, prefilledSource, allowCreateSignalWatch, onOpenAlertDetail, onCreateSignalWatch, }: AlertManagementPageProps): JSX.Element;
526
-
527
- declare type AlertManagementPageProps = {
528
- scope?: AlertManagementScope;
529
- prefilledSource?: AlertSource;
530
- allowCreateSignalWatch?: boolean;
531
- onOpenAlertDetail?: (alert: Alert) => void;
532
- onCreateSignalWatch?: () => void;
533
- };
534
-
535
- declare type AlertManagementScope = {
536
- dashboardId?: string;
537
- cardId?: string;
538
- };
539
-
540
- export declare interface AlertQuotaPolicy {
541
- maxActiveAlerts: number;
542
- minCadenceMinutes: number;
543
- maxContextSources: number;
544
- }
545
-
546
- export declare interface AlertQuotaRecord {
547
- tenantId: string | null;
548
- policy: AlertQuotaPolicy;
549
- activeAlerts: number;
550
- }
551
-
552
- export declare type AlertRecipient = {
553
- type: 'email';
554
- address: string;
555
- name?: string;
556
- } | {
557
- type: 'user';
558
- userId: string;
559
- } | {
560
- type: 'tenant_user';
561
- tenantUserId: string;
562
- } | {
563
- type: 'group';
564
- groupId: string;
565
- };
566
-
567
- export declare interface AlertRun {
568
- id: string;
569
- ruleId: string;
570
- status: 'QUEUED' | 'RUNNING' | 'SUCCESS' | 'FAILED';
571
- scheduledFor: string;
572
- startedAt?: string | null;
573
- completedAt?: string | null;
574
- error?: string | null;
575
- result?: Record<string, unknown> | null;
576
- }
577
-
578
- export declare class AlertsApiError extends Error {
579
- readonly status: number;
580
- readonly details?: unknown | undefined;
581
- constructor(message: string, status: number, details?: unknown | undefined);
582
- }
583
-
584
- export declare type AlertSeverity = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
585
-
586
- export declare type AlertSource = {
587
- type: 'saved_metric';
588
- visualId: string;
589
- title?: string;
590
- format?: CanonicalFormatSpec;
591
- } | {
592
- type: 'dashboard_metric';
593
- dashboardId: string;
594
- visualId: string;
595
- cardId: string;
596
- title?: string;
597
- format?: CanonicalFormatSpec;
598
- executionSnapshot: {
599
- queryConfig: AlertExecutionQueryConfig;
600
- filterContext: AlertExecutionFilterContext;
601
- controlContext?: AlertExecutionControlContext;
602
- controlDefinitions?: ControlDefinition[];
603
- cardControlDefinitions?: ControlDefinition[];
604
- controlBindings?: ControlBinding[];
605
- connectionId: string;
606
- calendarContext?: {
607
- tz: string;
608
- weekStart: number;
609
- };
610
- };
611
- };
612
-
613
- export declare interface AlertState {
614
- currentState: AlertStateValue;
615
- lastEvaluatedAt?: string | null;
616
- lastValue?: string | null;
617
- lastTriggeredAt?: string | null;
618
- lastRecoveredAt?: string | null;
619
- consecutiveTrue: number;
620
- consecutiveFalse: number;
621
- firingDurationMinutes?: number | null;
622
- }
623
-
624
- export declare type AlertStateValue = 'OK' | 'FIRING';
625
-
626
- export declare type AlertStatus = 'ACTIVE' | 'PAUSED' | 'DISABLED';
627
-
628
- export declare type AlertStore = AlertStoreState & {
629
- actions: AlertStoreActions;
630
- };
631
-
632
- declare type AlertStoreActions = {
633
- upsertAlerts: (alerts: Alert[]) => void;
634
- upsertAlert: (alert: Alert) => void;
635
- removeAlert: (id: string) => void;
636
- selectAlert: (id: string | null) => void;
637
- setCreateDialogOpen: (open: boolean) => void;
638
- setFilters: (filters: Partial<AlertFilters>) => void;
639
- setDraft: (draft: Partial<AlertDraft>) => void;
640
- resetDraft: () => void;
641
- patchAlert: (id: string, patch: UpdateAlertRequest) => void;
642
- };
643
-
644
- declare type AlertStoreState = {
645
- alertsById: Record<string, Alert>;
646
- cardAlertMap: Map<string, string[]>;
647
- selectedAlertId: string | null;
648
- createDialogOpen: boolean;
649
- filters: AlertFilters;
650
- draft: AlertDraft;
651
- };
652
-
653
- export declare function AlertWizardDialog({ open, onOpenChange, cardSnapshot, }: AlertWizardDialogProps): JSX.Element;
654
-
655
- declare interface AlertWizardDialogProps {
656
- open: boolean;
657
- onOpenChange: (open: boolean) => void;
658
- cardSnapshot: CardSnapshot | null;
659
- }
660
-
661
388
  declare const APPEARANCE_SPEC_VERSION: 1;
662
389
 
663
390
  declare type AppearanceColorToken = 'background' | 'foreground' | 'muted' | 'mutedForeground' | 'border' | 'input' | 'primary' | 'primaryForeground' | 'accent' | 'accentForeground' | 'card' | 'cardForeground' | 'positive' | 'negative' | 'warning' | 'info' | 'destructive' | 'destructiveForeground';
@@ -721,6 +448,8 @@ declare type AppearanceTokens = {
721
448
  };
722
449
  };
723
450
 
451
+ export declare function applyBriefingFormPatch(draft: BriefingFormDraft, patch: BriefingFormPatch): BriefingFormDraft;
452
+
724
453
  export declare type AssistantId = 'dashboard-assistant' | 'editor-assistant';
725
454
 
726
455
  export declare type AuthToken = {
@@ -767,8 +496,6 @@ export declare type AxisConfig = {
767
496
  };
768
497
  };
769
498
 
770
- export declare function backtestAlert(apiServiceUrl: string, token: string, id: string | undefined, payload?: Record<string, unknown>): Promise<AlertBacktestResult>;
771
-
772
499
  export declare interface BaseColumn {
773
500
  id: string;
774
501
  name: string;
@@ -808,16 +535,487 @@ declare type BaseSurfaceAppearance = {
808
535
  padding?: number;
809
536
  };
810
537
 
811
- export declare type Breakpoint = 'lg' | 'md' | 'sm' | 'xs' | 'xxs';
812
-
813
- declare interface ButtonProps extends React_2.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
814
- asChild?: boolean;
815
- }
538
+ export declare type Breakpoint = 'lg' | 'md' | 'sm' | 'xs' | 'xxs';
539
+
540
+ declare const BRIEFING_ARTIFACT_FORMATS: readonly ["markdown", "html"];
541
+
542
+ declare const BRIEFING_KIND: "BRIEFING";
543
+
544
+ export declare type BriefingArtifactFormat = 'markdown' | 'html';
545
+
546
+ declare type BriefingArtifactFormat_2 = (typeof BRIEFING_ARTIFACT_FORMATS)[number];
547
+
548
+ export declare type BriefingArtifactKind = 'markdown' | 'html' | 'evidence' | 'trace';
549
+
550
+ export declare type BriefingArtifactResponse = {
551
+ kind: BriefingArtifactKind;
552
+ content: string;
553
+ contentType: string;
554
+ filename?: string;
555
+ };
556
+
557
+ export declare type BriefingAttachment = (BriefingAttachmentBase & {
558
+ type: 'dashboard';
559
+ dashboardId: string;
560
+ format: 'pdf';
561
+ }) | (BriefingAttachmentBase & {
562
+ type: 'dashboard_sheet';
563
+ dashboardId: string;
564
+ sheetId: string;
565
+ format: 'pdf';
566
+ }) | (BriefingAttachmentBase & {
567
+ type: 'document_sheet';
568
+ dashboardId: string;
569
+ sheetId: string;
570
+ format: 'pdf';
571
+ }) | (BriefingAttachmentBase & {
572
+ type: 'visual';
573
+ dashboardId: string;
574
+ visualId: string;
575
+ format: 'pdf' | 'png';
576
+ }) | (BriefingAttachmentBase & {
577
+ type: 'card';
578
+ dashboardId: string;
579
+ cardId: string;
580
+ format: 'csv' | 'pdf' | 'png';
581
+ });
582
+
583
+ declare type BriefingAttachmentBase = {
584
+ title?: string;
585
+ settings?: BriefingAttachmentSettings;
586
+ };
587
+
588
+ export declare type BriefingAttachmentFormat = 'pdf' | 'csv' | 'png';
589
+
590
+ export declare type BriefingAttachmentSettings = {
591
+ theme?: string;
592
+ pageSize?: BriefingPdfPageSize;
593
+ orientation?: BriefingPdfOrientation;
594
+ includeFilters?: boolean;
595
+ includeTimestamp?: boolean;
596
+ delimiter?: BriefingCsvDelimiter;
597
+ includeHeaders?: boolean;
598
+ useFormattedValues?: boolean;
599
+ sheetSelection?: 'current' | 'all';
600
+ currentSheetId?: string;
601
+ currentSheetName?: string;
602
+ filterValues?: unknown[];
603
+ inlineFilterValues?: unknown[];
604
+ sheetFilterValues?: unknown[];
605
+ filterLine?: string;
606
+ controlValues?: Record<string, unknown>;
607
+ controlDefinitions?: unknown[];
608
+ cardControlDefinitions?: unknown[];
609
+ controlBindings?: unknown[];
610
+ tablePreferences?: Record<string, unknown>;
611
+ dashboardInputExecutionSnapshot?: Record<string, unknown>;
612
+ selectedSheetId?: string;
613
+ cardType?: string;
614
+ };
615
+
616
+ export declare function BriefingAuthor({ apiServiceUrl, token, briefing, sourceContext, title, className, client, generateRequestId, onSaved, onDeleted, onRunStarted, onCancel, onBack, onMinimizeRun, }: BriefingAuthorProps): JSX.Element;
617
+
618
+ export declare type BriefingAuthorClient = {
619
+ createBriefing: typeof createBriefing;
620
+ updateBriefing: typeof updateBriefing;
621
+ pauseBriefing: typeof pauseBriefing;
622
+ resumeBriefing: typeof resumeBriefing;
623
+ deleteBriefing: typeof deleteBriefing;
624
+ getBriefing: typeof getBriefing;
625
+ runBriefingNow: typeof runBriefingNow;
626
+ getBriefingRun: typeof getBriefingRun;
627
+ cancelBriefingRun: typeof cancelBriefingRun;
628
+ deleteBriefingRun: typeof deleteBriefingRun;
629
+ previewBriefingPlan: typeof previewBriefingPlan;
630
+ runBriefingPreview: typeof runBriefingPreview;
631
+ getBriefingPreviewRun: typeof getBriefingPreviewRun;
632
+ };
633
+
634
+ export declare type BriefingAuthorProps = {
635
+ apiServiceUrl?: string;
636
+ token?: string;
637
+ briefing?: BriefingDetail | null;
638
+ sourceContext?: BriefingAuthorSourceContext;
639
+ title?: string;
640
+ className?: string;
641
+ client?: Partial<BriefingAuthorClient>;
642
+ generateRequestId?: () => string;
643
+ onSaved?: (briefing: BriefingDetail) => void;
644
+ onDeleted?: (briefingId: string) => void;
645
+ onRunStarted?: (response: RunBriefingNowResponse) => void;
646
+ onCancel?: () => void;
647
+ /**
648
+ * Fires when the user clicks "Run in background" on the active-run sticky
649
+ * strip. The parent is expected to track the run, render a persistent
650
+ * background-run UI (pill + completion banner), and close any modal/sheet
651
+ * that hosts the author so the user can navigate freely while the run
652
+ * continues server-side.
653
+ *
654
+ * Only ever called for *saved* runs — preview runs are short-lived
655
+ * synthetic things with no notification path, so the sticky bar hides
656
+ * the CTA in that case.
657
+ */
658
+ onMinimizeRun?: (input: {
659
+ briefing: BriefingDetail;
660
+ run: BriefingRun;
661
+ }) => void;
662
+ /**
663
+ * If provided, surfaces a "Back to briefings" affordance in the panel
664
+ * footer (and a back-chevron in the header) so the user can return to
665
+ * the parent list without closing the entire panel. Distinct from
666
+ * `onCancel`, which closes the panel entirely.
667
+ */
668
+ onBack?: () => void;
669
+ };
670
+
671
+ export declare type BriefingAuthorSourceContext = {
672
+ source: BriefingSource;
673
+ label?: string;
674
+ detail?: string;
675
+ };
676
+
677
+ export declare type BriefingBody = {
678
+ type: 'generated_analysis';
679
+ instruction: string;
680
+ } | {
681
+ type: 'custom_message';
682
+ message: string;
683
+ } | {
684
+ type: 'none';
685
+ };
686
+
687
+ declare type BriefingChannelConfig = {
688
+ subjectOverride?: string;
689
+ titleOverride?: string;
690
+ summaryOverride?: string;
691
+ actionBlockVisible?: boolean;
692
+ webhookConfig?: BriefingWebhookConfig;
693
+ };
694
+
695
+ export declare type BriefingChannelFormatConfig = BriefingChannelConfig & {
696
+ formatProfile?: BriefingFormatProfile;
697
+ };
698
+
699
+ export declare type BriefingCreatorMetadata = {
700
+ type: 'organization' | 'tenant' | 'unknown';
701
+ id: string | null;
702
+ name: string | null;
703
+ email: string | null;
704
+ label: string;
705
+ };
706
+
707
+ declare type BriefingCsvDelimiter = ',' | ';' | '\t';
708
+
709
+ export declare type BriefingDeliveryChannel = 'EMAIL' | 'WEBHOOK' | 'SLACK' | 'IN_APP' | 'TELEGRAM';
710
+
711
+ export declare type BriefingDeliveryConfig = {
712
+ recipients: BriefingRecipient[];
713
+ channels: BriefingDeliveryChannel[];
714
+ channelConfigs?: Partial<Record<BriefingDeliveryChannel, BriefingChannelConfig>>;
715
+ };
716
+
717
+ export declare interface BriefingDetail extends BriefingListItem {
718
+ deliveryConfig: BriefingDeliveryConfig | null;
719
+ latestRun?: BriefingRun | null;
720
+ }
721
+
722
+ export declare type BriefingDispatchResult = {
723
+ accepted: boolean;
724
+ mode?: string;
725
+ message?: string;
726
+ };
727
+
728
+ export declare type BriefingFormatProfile = 'concise' | 'balanced' | 'detailed';
729
+
730
+ export declare type BriefingFormDeliveryDraft = {
731
+ enabled: boolean;
732
+ recipients: BriefingRecipient[];
733
+ channels: BriefingDeliveryChannel[];
734
+ subject: string;
735
+ message: string;
736
+ channelConfigs?: Record<string, unknown>;
737
+ };
738
+
739
+ export declare type BriefingFormDraft = {
740
+ name: string;
741
+ description: string;
742
+ instruction: string;
743
+ source: BriefingSource;
744
+ body: BriefingBody;
745
+ attachments: BriefingAttachment[];
746
+ output: BriefingFormOutputDraft;
747
+ schedule: BriefingFormScheduleDraft;
748
+ delivery: BriefingFormDeliveryDraft;
749
+ limits: BriefingLimits;
750
+ };
751
+
752
+ export declare function briefingFormDraftToCreateRequest(draft: BriefingFormDraft): CreateBriefingRequest;
753
+
754
+ export declare function briefingFormDraftToUpdateRequest(draft: BriefingFormDraft): UpdateBriefingRequest;
755
+
756
+ export declare type BriefingFormOutputDraft = {
757
+ artifactFormats: BriefingArtifactFormat[];
758
+ includeEvidence: boolean;
759
+ includeSql: boolean;
760
+ audience?: string;
761
+ tone?: string;
762
+ format?: string;
763
+ };
764
+
765
+ export declare type BriefingFormPatch = Partial<Omit<BriefingFormDraft, 'output' | 'schedule' | 'delivery' | 'limits'>> & {
766
+ output?: Partial<BriefingFormOutputDraft>;
767
+ schedule?: Partial<BriefingFormScheduleDraft>;
768
+ delivery?: Partial<BriefingFormDeliveryDraft>;
769
+ limits?: Partial<BriefingLimits>;
770
+ };
771
+
772
+ export declare type BriefingFormScheduleDraft = {
773
+ enabled: boolean;
774
+ scheduleExpr: string;
775
+ timezone: string;
776
+ status: BriefingStatus;
777
+ };
778
+
779
+ export declare type BriefingFormValidationIssue = {
780
+ field: string;
781
+ message: string;
782
+ };
783
+
784
+ export declare type BriefingFormValidationResult = {
785
+ valid: boolean;
786
+ issues: BriefingFormValidationIssue[];
787
+ };
788
+
789
+ export declare type BriefingJobConfig = {
790
+ kind: BriefingKind;
791
+ source: BriefingSource;
792
+ body: BriefingBody;
793
+ attachments: BriefingAttachment[];
794
+ presentation: BriefingPresentation;
795
+ limits?: BriefingLimits;
796
+ };
797
+
798
+ export declare type BriefingKind = typeof BRIEFING_KIND;
799
+
800
+ export declare type BriefingLimits = {
801
+ maxToolCalls?: number;
802
+ maxRows?: number;
803
+ timeoutMs?: number;
804
+ };
805
+
806
+ export declare interface BriefingListItem {
807
+ id: string;
808
+ kind: BriefingKind;
809
+ name: string;
810
+ description: string | null;
811
+ status: BriefingStatus | string;
812
+ scheduleExpr: string | null;
813
+ timezone: string;
814
+ nextRunAt: string | null;
815
+ source: BriefingSource;
816
+ body: BriefingBody;
817
+ attachments: BriefingAttachment[];
818
+ presentation: BriefingPresentation;
819
+ limits?: BriefingLimits;
820
+ scope?: BriefingScopeMetadata;
821
+ creator?: BriefingCreatorMetadata;
822
+ lastRunAt: string | null;
823
+ lastRunStatus: BriefingRunStatus | string | null;
824
+ hasActiveRun: boolean;
825
+ canManage: boolean;
826
+ createdAt: string;
827
+ updatedAt: string;
828
+ }
829
+
830
+ export declare type BriefingListResponse = {
831
+ briefings: BriefingListItem[];
832
+ total: number;
833
+ page: number;
834
+ pageSize: number;
835
+ };
836
+
837
+ export declare type BriefingListScope = 'organization' | 'tenants';
838
+
839
+ declare type BriefingPdfOrientation = 'portrait' | 'landscape';
840
+
841
+ declare type BriefingPdfPageSize = 'letter' | 'legal' | 'a4' | 'a3' | 'tabloid';
842
+
843
+ export declare type BriefingPresentation = {
844
+ artifactFormats: BriefingArtifactFormat_2[];
845
+ includeEvidence: boolean;
846
+ includeSql: boolean;
847
+ audience?: string;
848
+ tone?: string;
849
+ format?: string;
850
+ };
851
+
852
+ export declare type BriefingPreviewPlan = {
853
+ id: string;
854
+ status: 'READY';
855
+ generatedAt: string;
856
+ expiresAt: string;
857
+ understood: {
858
+ investigation: string;
859
+ threshold: string;
860
+ audience: string;
861
+ format: string;
862
+ };
863
+ steps: Array<{
864
+ order: number;
865
+ title: string;
866
+ detail: string;
867
+ tools: string[];
868
+ optional?: boolean;
869
+ }>;
870
+ scope: {
871
+ source: BriefingSource;
872
+ sourceLabel: string;
873
+ datasets: string[];
874
+ grounding?: {
875
+ source: 'project' | 'dashboard';
876
+ confidence: 'high' | 'medium' | 'low';
877
+ domainId?: string;
878
+ domainLabel?: string;
879
+ datasetName?: string;
880
+ datasetLabel?: string;
881
+ metric?: string;
882
+ dateField?: string;
883
+ dimensions: string[];
884
+ reason: string;
885
+ };
886
+ };
887
+ estimate: {
888
+ runtime: string;
889
+ toolCalls: string;
890
+ };
891
+ ambiguities: string[];
892
+ };
893
+
894
+ export declare type BriefingPreviewRun = {
895
+ id: string;
896
+ status: BriefingRunStatus | string;
897
+ createdAt: string;
898
+ startedAt?: string | null;
899
+ completedAt?: string | null;
900
+ expiresAt: string;
901
+ error?: string | null;
902
+ planId?: string | null;
903
+ requestId?: string | null;
904
+ progress?: BriefingRunProgress | null;
905
+ result?: {
906
+ status: string;
907
+ title?: string;
908
+ summary?: string;
909
+ artifactPreview?: {
910
+ markdown?: string;
911
+ html?: string;
912
+ };
913
+ warnings: string[];
914
+ limits?: Record<string, unknown>;
915
+ } | null;
916
+ };
917
+
918
+ export declare type BriefingRecipient = {
919
+ type: 'email';
920
+ address: string;
921
+ name?: string;
922
+ } | {
923
+ type: 'user';
924
+ userId: string;
925
+ } | {
926
+ type: 'tenant_user';
927
+ tenantUserId: string;
928
+ } | {
929
+ type: 'group';
930
+ groupId: string;
931
+ };
932
+
933
+ export declare interface BriefingRun {
934
+ id: string;
935
+ ruleId: string;
936
+ status: BriefingRunStatus | string;
937
+ scheduledFor: string;
938
+ startedAt?: string | null;
939
+ completedAt?: string | null;
940
+ error?: string | null;
941
+ requestId?: string | null;
942
+ attempt: number;
943
+ progress?: BriefingRunProgress | null;
944
+ result?: unknown;
945
+ }
946
+
947
+ export declare type BriefingRunProgress = {
948
+ stage: BriefingRunProgressStage;
949
+ label: string;
950
+ detail?: string;
951
+ eventCount: number;
952
+ updatedAt: string;
953
+ recentEvents?: Array<{
954
+ stage: BriefingRunProgressStage;
955
+ label: string;
956
+ updatedAt: string;
957
+ }>;
958
+ };
959
+
960
+ export declare type BriefingRunProgressStage = 'queued' | 'planning' | 'discovering' | 'inspecting' | 'querying' | 'analyzing' | 'rendering' | 'saving' | 'completed' | 'failed';
961
+
962
+ export declare type BriefingRunsResponse = {
963
+ runs: BriefingRun[];
964
+ nextCursor: string | null;
965
+ total: number;
966
+ };
967
+
968
+ export declare type BriefingRunStatus = 'QUEUED' | 'RUNNING' | 'SUCCESS' | 'FAILED';
969
+
970
+ export declare class BriefingsApiError extends Error {
971
+ readonly status: number;
972
+ readonly details?: unknown | undefined;
973
+ constructor(message: string, status: number, details?: unknown | undefined);
974
+ }
975
+
976
+ export declare type BriefingScopeMetadata = {
977
+ type: 'organization';
978
+ label: string;
979
+ tenantId: null;
980
+ tenantName: null;
981
+ } | {
982
+ type: 'tenant';
983
+ label: string;
984
+ tenantId: string;
985
+ tenantName: string | null;
986
+ };
987
+
988
+ export declare type BriefingSource = {
989
+ type: 'project';
990
+ } | {
991
+ type: 'dashboard';
992
+ dashboardId: string;
993
+ };
994
+
995
+ export declare type BriefingStatus = 'ACTIVE' | 'PAUSED' | 'DISABLED';
996
+
997
+ export declare type BriefingTenantSummariesResponse = {
998
+ tenants: BriefingTenantSummary[];
999
+ };
1000
+
1001
+ export declare type BriefingTenantSummary = {
1002
+ tenantId: string;
1003
+ tenantName: string;
1004
+ briefingCount: number;
1005
+ activeBriefingCount: number;
1006
+ hasActiveRun: boolean;
1007
+ latestRunAt: string | null;
1008
+ latestRunStatus: BriefingRunStatus | string | null;
1009
+ };
1010
+
1011
+ export declare function briefingToFormDraft(briefing: BriefingDetail): BriefingFormDraft;
816
1012
 
817
- declare const buttonVariants: (props?: ({
818
- variant?: "default" | "destructive" | "link" | "outline" | "secondary" | "ghost" | null | undefined;
819
- size?: "default" | "lg" | "sm" | "xs" | "icon" | null | undefined;
820
- } & ClassProp) | undefined) => string;
1013
+ declare type BriefingWebhookConfig = {
1014
+ url: string;
1015
+ method?: 'POST' | 'PUT';
1016
+ headers?: Record<string, string>;
1017
+ secretEncrypted?: string;
1018
+ };
821
1019
 
822
1020
  export declare type CacheConfig = {
823
1021
  ttl: string;
@@ -926,6 +1124,13 @@ declare interface CalendarPreferencesDialogProps {
926
1124
  onOpenChange: (open: boolean) => void;
927
1125
  }
928
1126
 
1127
+ export declare function cancelBriefingRun(apiServiceUrl: string, token: string, briefingId: string, runId: string): Promise<CancelBriefingRunResponse>;
1128
+
1129
+ export declare type CancelBriefingRunResponse = {
1130
+ run: BriefingRun;
1131
+ transitionApplied: boolean;
1132
+ };
1133
+
929
1134
  /**
930
1135
  * Cancel/delete an export job
931
1136
  */
@@ -933,12 +1138,6 @@ export declare function cancelExport(apiServiceUrl: string, token: string, expor
933
1138
 
934
1139
  export declare type CanonicalFormatSpec = NumericCanonicalFormat | DateCanonicalFormat | StringCanonicalFormat;
935
1140
 
936
- export declare function CardAlertIndicator({ cardId }: CardAlertIndicatorProps): JSX.Element | null;
937
-
938
- declare type CardAlertIndicatorProps = {
939
- cardId: string;
940
- };
941
-
942
1141
  export declare interface CardConfig {
943
1142
  groupByColumns?: GroupByField[];
944
1143
  metricColumns?: MetricField[];
@@ -1007,18 +1206,6 @@ export declare interface CardInteractionConfig {
1007
1206
 
1008
1207
  export declare type CardMode = 'explorer' | 'dev';
1009
1208
 
1010
- export declare interface CardSnapshot {
1011
- dashboardId: string;
1012
- visualId: string;
1013
- cardId: string;
1014
- title?: string;
1015
- currentValue?: number | null;
1016
- format?: AlertSource['format'];
1017
- executionSnapshot?: Extract<AlertSource, {
1018
- type: 'dashboard_metric';
1019
- }>['executionSnapshot'];
1020
- }
1021
-
1022
1209
  export declare function CardSummary({ card, mode }: CardSummaryProps): JSX.Element | null;
1023
1210
 
1024
1211
  declare type CardSummaryProps = {
@@ -1046,34 +1233,6 @@ declare type CardWithFooter = BaseCustomCard & {
1046
1233
  }>;
1047
1234
  };
1048
1235
 
1049
- export declare type ChannelFormatConfig = {
1050
- formatProfile: FormatProfile;
1051
- subjectOverride?: string;
1052
- titleOverride?: string;
1053
- summaryOverride?: string;
1054
- actionBlockVisible?: boolean;
1055
- webhookConfig?: {
1056
- url: string;
1057
- method: string;
1058
- headers: Record<string, string>;
1059
- secretEncrypted?: string;
1060
- };
1061
- };
1062
-
1063
- declare type ChannelFormatConfig_2 = {
1064
- formatProfile: FormatProfile_2;
1065
- subjectOverride?: string;
1066
- titleOverride?: string;
1067
- summaryOverride?: string;
1068
- actionBlockVisible?: boolean;
1069
- webhookConfig?: {
1070
- url: string;
1071
- method: string;
1072
- headers: Record<string, string>;
1073
- secretEncrypted?: string;
1074
- };
1075
- };
1076
-
1077
1236
  declare type ChartAppearance = {
1078
1237
  palette?: string[];
1079
1238
  background?: string;
@@ -1364,12 +1523,6 @@ export declare type ConnectionType = 'GoogleSheets' | 'FileUpload' | 'MySQL' | '
1364
1523
 
1365
1524
  export declare type ContainerId = 'groupBy' | 'metrics' | 'pivotBy' | 'sortBy' | 'detailColumns' | 'source';
1366
1525
 
1367
- export declare type ContextSource = {
1368
- kind: AlertContextSourceKind;
1369
- config: Record<string, unknown>;
1370
- outputAs?: string;
1371
- };
1372
-
1373
1526
  export declare const CONTROL_CARD_DEFAULT_VALUE: "__card_default__";
1374
1527
 
1375
1528
  export declare type ControlBinding = {
@@ -1449,29 +1602,25 @@ export declare type ControlSource = {
1449
1602
 
1450
1603
  export declare type ControlType = 'enum' | 'multi_enum' | 'text' | 'number' | 'boolean' | 'date' | 'field_selector' | 'metric_selector' | 'aggregation_selector' | 'grain_selector';
1451
1604
 
1452
- export declare function createAlert(apiServiceUrl: string, token: string, payload: CreateAlertRequest): Promise<{
1453
- alert: Alert;
1605
+ export declare function createBriefing(apiServiceUrl: string, token: string, payload: CreateBriefingRequest): Promise<{
1606
+ briefing: BriefingDetail;
1454
1607
  }>;
1455
1608
 
1456
- export declare interface CreateAlertRequest {
1457
- kind?: 'ALERT';
1609
+ export declare function createBriefingFormDraft(patch?: BriefingFormPatch): BriefingFormDraft;
1610
+
1611
+ export declare type CreateBriefingRequest = {
1458
1612
  name: string;
1459
- description?: string;
1460
- scheduleExpr: string;
1461
- timezone?: string;
1462
- source?: AlertSource;
1463
- operator?: AlertConditionOperator;
1464
- threshold?: number;
1465
- severity?: AlertSeverity;
1466
- consecutiveCount?: number;
1467
- recipients?: AlertRecipient[];
1468
- channels?: AlertDeliveryChannel[];
1469
- contextSources?: ContextSource[];
1470
- presentationPrompt?: string;
1471
- jobConfig?: AlertJobConfig;
1472
- deliveryConfig?: DeliveryConfig;
1473
- workflowDef?: Record<string, unknown>;
1474
- }
1613
+ description: string | null;
1614
+ status: BriefingStatus;
1615
+ scheduleExpr: string | null;
1616
+ timezone: string;
1617
+ source: BriefingSource;
1618
+ body: BriefingBody;
1619
+ attachments: BriefingAttachment[];
1620
+ presentation: BriefingPresentation;
1621
+ limits?: BriefingLimits;
1622
+ deliveryConfig: BriefingDeliveryConfig | null;
1623
+ };
1475
1624
 
1476
1625
  /**
1477
1626
  * Factory function to create empty KPI card configuration
@@ -1538,6 +1687,28 @@ declare type DashboardAIContext = AIContext & {
1538
1687
 
1539
1688
  declare type DashboardAIContextMode = 'auto' | 'fixed';
1540
1689
 
1690
+ export declare function DashboardBriefingLauncher({ dashboardId, dashboardTitle, apiServiceUrl, token, disabled, className, manageBriefingsHref, client, }: DashboardBriefingLauncherProps): JSX.Element;
1691
+
1692
+ declare type DashboardBriefingLauncherClient = {
1693
+ listBriefings: typeof listBriefings;
1694
+ getBriefing: typeof getBriefing;
1695
+ pauseBriefing: typeof pauseBriefing;
1696
+ resumeBriefing: typeof resumeBriefing;
1697
+ deleteBriefing: typeof deleteBriefing;
1698
+ runBriefingNow: typeof runBriefingNow;
1699
+ };
1700
+
1701
+ export declare type DashboardBriefingLauncherProps = {
1702
+ dashboardId: string;
1703
+ dashboardTitle?: string | null;
1704
+ apiServiceUrl?: string;
1705
+ token?: string;
1706
+ disabled?: boolean;
1707
+ className?: string;
1708
+ manageBriefingsHref?: string;
1709
+ client?: Partial<DashboardBriefingLauncherClient>;
1710
+ };
1711
+
1541
1712
  declare type DashboardControlsModelOptions = {
1542
1713
  renamed?: {
1543
1714
  oldId: string;
@@ -1830,6 +2001,7 @@ export declare type DashboardProps = {
1830
2001
  currentTheme?: Theme;
1831
2002
  version?: string;
1832
2003
  showAssistant?: boolean;
2004
+ showBriefings?: boolean;
1833
2005
  customCards?: CustomCard[];
1834
2006
  onChartElementClicked?: (card: TCard, fieldValues: any) => void;
1835
2007
  onEvent?: (event: TEvent) => void;
@@ -2024,18 +2196,17 @@ export declare const DEFAULT_SEMANTIC_DOMAIN_ACCESS: SemanticDomainAccess;
2024
2196
 
2025
2197
  declare type DefaultDateFilter = RelativeDateFilter | FixedMonthDefaultDateFilter;
2026
2198
 
2027
- export declare function deleteAlert(apiServiceUrl: string, token: string, id: string): Promise<{
2199
+ export declare function deleteBriefing(apiServiceUrl: string, token: string, briefingId: string): Promise<DeleteBriefingResponse>;
2200
+
2201
+ export declare type DeleteBriefingResponse = {
2028
2202
  success: boolean;
2029
- }>;
2203
+ deletedBriefingId?: string;
2204
+ };
2030
2205
 
2031
- declare type DeliveryChannel = 'EMAIL' | 'WEBHOOK' | 'SLACK' | 'IN_APP' | 'TELEGRAM';
2206
+ export declare function deleteBriefingRun(apiServiceUrl: string, token: string, briefingId: string, runId: string): Promise<DeleteBriefingRunResponse>;
2032
2207
 
2033
- export declare type DeliveryConfig = {
2034
- recipients: AlertRecipient[];
2035
- channels: AlertDeliveryChannel[];
2036
- subject?: string;
2037
- message?: string;
2038
- channelConfigs?: Record<string, ChannelFormatConfig>;
2208
+ export declare type DeleteBriefingRunResponse = {
2209
+ deletedRunId: string;
2039
2210
  };
2040
2211
 
2041
2212
  /**
@@ -2332,24 +2503,6 @@ export declare function downloadDocumentPdf(apiServiceUrl: string, authToken: Au
2332
2503
 
2333
2504
  export declare function downloadPdf(apiServiceUrl: string, authToken: AuthToken | undefined, password?: string, sheetSelection?: 'current' | 'all', expandedState?: Record<string, boolean>): Promise<void>;
2334
2505
 
2335
- declare type DraftDeliveryConfig = {
2336
- channels: DeliveryChannel[];
2337
- channelConfigs?: Record<string, ChannelFormatConfig_2>;
2338
- recipients?: Array<{
2339
- type: string;
2340
- [key: string]: unknown;
2341
- }>;
2342
- };
2343
-
2344
- declare type DraftJobConfig = {
2345
- source?: AlertSource;
2346
- operator?: AlertConditionOperator;
2347
- threshold?: number;
2348
- severity?: AlertSeverity;
2349
- consecutiveCount?: number;
2350
- sensitivityPreset?: SensitivityPreset_2 | null;
2351
- };
2352
-
2353
2506
  declare interface DrillActions {
2354
2507
  updateDrillHierarchies: (h: DrillHierarchy[]) => void;
2355
2508
  addDrillHierarchy: (h: DrillHierarchy) => void;
@@ -2590,15 +2743,6 @@ export declare interface DrillUpInteraction {
2590
2743
  label?: string;
2591
2744
  }
2592
2745
 
2593
- declare type DriverCandidate = {
2594
- id: string;
2595
- label: string;
2596
- sourceKind: 'same_dashboard' | 'same_connection' | 'same_project';
2597
- provenance: string;
2598
- metricType: string;
2599
- referenceId: string;
2600
- };
2601
-
2602
2746
  export declare type DropdownItem = {
2603
2747
  id: string;
2604
2748
  name: string;
@@ -2691,16 +2835,6 @@ export declare type EditorStore = {
2691
2835
  modeDrafts: ModeDrafts;
2692
2836
  };
2693
2837
 
2694
- export declare function EmailScheduleDialog({ open, onOpenChange, dashboardId, dashboardName, preSelectedVisual, }: EmailScheduleDialogProps): JSX.Element;
2695
-
2696
- declare interface EmailScheduleDialogProps {
2697
- open: boolean;
2698
- onOpenChange: (open: boolean) => void;
2699
- dashboardId: string;
2700
- dashboardName?: string;
2701
- preSelectedVisual?: VisualAttachment;
2702
- }
2703
-
2704
2838
  export declare type EmailSettings = {
2705
2839
  companyName: string;
2706
2840
  dashboardUrl: string;
@@ -2794,11 +2928,6 @@ export declare class ExportError extends Error {
2794
2928
 
2795
2929
  export declare type ExportFormat = 'csv';
2796
2930
 
2797
- /**
2798
- * Utility functions for determining supported export formats based on card type
2799
- */
2800
- declare type ExportFormat_2 = 'pdf' | 'csv' | 'png';
2801
-
2802
2931
  /** Formatting configuration passed to the export job */
2803
2932
  export declare interface ExportFormattingConfig {
2804
2933
  useFormattedValues: boolean;
@@ -3108,10 +3237,6 @@ export declare function fmt(str: string): string;
3108
3237
  */
3109
3238
  export declare function formatFileSize(bytes?: number): string;
3110
3239
 
3111
- export declare type FormatProfile = 'concise' | 'balanced' | 'detailed';
3112
-
3113
- declare type FormatProfile_2 = 'concise' | 'balanced' | 'detailed';
3114
-
3115
3240
  export declare type FormatSpec = {
3116
3241
  type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
3117
3242
  locale?: string;
@@ -3140,43 +3265,17 @@ export declare type FormatSpec = {
3140
3265
  suffix?: string;
3141
3266
  };
3142
3267
 
3143
- export declare function getAlert(apiServiceUrl: string, token: string, id: string): Promise<{
3144
- alert: Alert;
3145
- }>;
3146
-
3147
- export declare function getAlertContextSources(apiServiceUrl: string, token: string, alertId: string): Promise<{
3148
- ruleId: string;
3149
- contextSources: Array<Record<string, unknown>>;
3150
- }>;
3151
-
3152
- export declare function getAlertHistory(apiServiceUrl: string, token: string, id: string, params?: {
3153
- windowDays?: 7 | 30 | 90;
3154
- }): Promise<AlertHistoryResponse>;
3155
-
3156
- export declare function getAlertQuotaUsage(apiServiceUrl: string, token: string): Promise<{
3157
- usage: AlertQuotaRecord[];
3268
+ export declare function getBriefing(apiServiceUrl: string, token: string, briefingId: string): Promise<{
3269
+ briefing: BriefingDetail;
3158
3270
  }>;
3159
3271
 
3160
- export declare function getAlertRunDeliveries(apiServiceUrl: string, token: string, id: string, runId: string): Promise<{
3161
- attempts: Array<Record<string, unknown>>;
3162
- }>;
3272
+ export declare function getBriefingArtifact(apiServiceUrl: string, token: string, briefingId: string, runId: string, kind: BriefingArtifactKind): Promise<BriefingArtifactResponse>;
3163
3273
 
3164
- export declare function getAlertRuns(apiServiceUrl: string, token: string, id: string, params?: {
3165
- cursor?: string;
3166
- limit?: number;
3167
- }): Promise<{
3168
- runs: AlertRun[];
3169
- nextCursor: string | null;
3170
- total: number;
3171
- }>;
3274
+ export declare function getBriefingEvidence(apiServiceUrl: string, token: string, briefingId: string, runId: string): Promise<BriefingArtifactResponse>;
3172
3275
 
3173
- export declare function getAlertRunSteps(apiServiceUrl: string, token: string, id: string, runId: string): Promise<{
3174
- steps: Array<Record<string, unknown>>;
3175
- }>;
3276
+ export declare function getBriefingPreviewRun(apiServiceUrl: string, token: string, previewRunId: string): Promise<BriefingPreviewRun>;
3176
3277
 
3177
- export declare function getAlertState(apiServiceUrl: string, token: string, id: string): Promise<{
3178
- state: AlertState;
3179
- }>;
3278
+ export declare function getBriefingRun(apiServiceUrl: string, token: string, briefingId: string, runId: string): Promise<BriefingRun>;
3180
3279
 
3181
3280
  export declare function getColumnDataType(column: TDataColumn): string;
3182
3281
 
@@ -3516,19 +3615,27 @@ declare interface LinkFormat {
3516
3615
  openInNewTab: boolean;
3517
3616
  }
3518
3617
 
3519
- export declare function listAlertQuotas(apiServiceUrl: string, token: string): Promise<{
3520
- quotas: AlertQuotaRecord[];
3521
- }>;
3618
+ export declare function listBriefingRuns(apiServiceUrl: string, token: string, briefingId: string, params?: ListBriefingRunsParams): Promise<BriefingRunsResponse>;
3522
3619
 
3523
- export declare function listAlerts(apiServiceUrl: string, token: string, params?: {
3620
+ declare type ListBriefingRunsParams = {
3524
3621
  status?: string;
3525
3622
  cursor?: string;
3526
3623
  limit?: number;
3527
- }): Promise<{
3528
- alerts: Alert[];
3529
- nextCursor: string | null;
3530
- total: number;
3531
- }>;
3624
+ };
3625
+
3626
+ export declare function listBriefings(apiServiceUrl: string, token: string, params?: ListBriefingsParams): Promise<BriefingListResponse>;
3627
+
3628
+ declare type ListBriefingsParams = {
3629
+ scope?: BriefingListScope;
3630
+ tenantId?: string;
3631
+ tenantUserId?: string;
3632
+ status?: string;
3633
+ page?: number;
3634
+ pageSize?: number;
3635
+ search?: string;
3636
+ };
3637
+
3638
+ export declare function listBriefingTenantSummaries(apiServiceUrl: string, token: string, params?: Pick<ListBriefingsParams, 'status'>): Promise<BriefingTenantSummariesResponse>;
3532
3639
 
3533
3640
  export declare type LoadingProps = {
3534
3641
  message?: string;
@@ -3727,6 +3834,10 @@ declare type Params = {
3727
3834
  [key: string]: string | number | string[] | number[];
3728
3835
  };
3729
3836
 
3837
+ export declare function pauseBriefing(apiServiceUrl: string, token: string, briefingId: string): Promise<{
3838
+ briefing: BriefingDetail;
3839
+ }>;
3840
+
3730
3841
  export declare type PersistedInteraction = Interaction & {
3731
3842
  id?: string;
3732
3843
  };
@@ -3787,7 +3898,11 @@ export declare type Placeholders = {
3787
3898
 
3788
3899
  export declare type PluginType = 'custom' | 'standard';
3789
3900
 
3790
- export declare function previewAlertDeliverable(apiServiceUrl: string, token: string, payload: Record<string, unknown>, alertId?: string): Promise<AlertDeliverablePreview>;
3901
+ export declare function previewBriefingPlan(apiServiceUrl: string, token: string, payload: CreateBriefingRequest): Promise<PreviewBriefingPlanResponse>;
3902
+
3903
+ export declare type PreviewBriefingPlanResponse = {
3904
+ plan: BriefingPreviewPlan;
3905
+ };
3791
3906
 
3792
3907
  /**
3793
3908
  * Print state structure exposed to window for Lambda/Puppeteer access.
@@ -4002,10 +4117,36 @@ export declare enum ResourceType {
4002
4117
  VISUAL = "visual"
4003
4118
  }
4004
4119
 
4005
- export declare function ScheduleDashboard({ triggerButtonClassName, variant, }: {
4006
- triggerButtonClassName?: string;
4007
- variant?: ButtonProps['variant'];
4008
- }): JSX.Element | null;
4120
+ export declare function resumeBriefing(apiServiceUrl: string, token: string, briefingId: string): Promise<{
4121
+ briefing: BriefingDetail;
4122
+ }>;
4123
+
4124
+ export declare function runBriefingNow(apiServiceUrl: string, token: string, briefingId: string, payload: RunBriefingNowRequest): Promise<RunBriefingNowResponse>;
4125
+
4126
+ export declare type RunBriefingNowRequest = {
4127
+ requestId: string;
4128
+ };
4129
+
4130
+ export declare type RunBriefingNowResponse = {
4131
+ accepted: boolean;
4132
+ run: BriefingRun;
4133
+ transitionApplied: boolean;
4134
+ dispatch: BriefingDispatchResult | null;
4135
+ };
4136
+
4137
+ export declare function runBriefingPreview(apiServiceUrl: string, token: string, payload: RunBriefingPreviewRequest): Promise<RunBriefingPreviewResponse>;
4138
+
4139
+ export declare type RunBriefingPreviewRequest = {
4140
+ draft: CreateBriefingRequest;
4141
+ planId?: string | null;
4142
+ requestId?: string | null;
4143
+ };
4144
+
4145
+ export declare type RunBriefingPreviewResponse = {
4146
+ accepted: boolean;
4147
+ previewRun: BriefingPreviewRun;
4148
+ dispatch: BriefingDispatchResult | null;
4149
+ };
4009
4150
 
4010
4151
  export declare type SchemaItem = DropdownItem;
4011
4152
 
@@ -4054,10 +4195,6 @@ declare function SemaphorQueryClient({ children, }: {
4054
4195
  export { SemaphorQueryClient as SemaphorDataProvider }
4055
4196
  export { SemaphorQueryClient }
4056
4197
 
4057
- export declare type SensitivityPreset = 'low_noise' | 'standard' | 'early_warning';
4058
-
4059
- declare type SensitivityPreset_2 = 'low_noise' | 'standard' | 'early_warning';
4060
-
4061
4198
  /**
4062
4199
  * Stable serializer for dashboard dirty checks.
4063
4200
  * This consolidates normalization + serialization into one call site, so
@@ -4192,7 +4329,7 @@ declare type SummaryAction = {
4192
4329
  idempotencyKey: string;
4193
4330
  };
4194
4331
 
4195
- declare type SummaryActionType = 'apply_filter' | 'change_comparison' | 'open_schedule' | 'refresh';
4332
+ declare type SummaryActionType = 'apply_filter' | 'change_comparison' | 'refresh';
4196
4333
 
4197
4334
  export declare function SummaryCard(): JSX.Element | null;
4198
4335
 
@@ -4933,8 +5070,6 @@ export declare type TDynamicVisualIntent = {
4933
5070
  includesKpis: boolean;
4934
5071
  };
4935
5072
 
4936
- export declare function TenantQuotaPage(): JSX.Element;
4937
-
4938
5073
  export declare type TEvent = {
4939
5074
  type: 'success' | 'error' | 'info' | 'warning';
4940
5075
  message: any;
@@ -5382,11 +5517,6 @@ declare type TotalsBehavior = 'sum' | 'avg' | 'count' | 'label' | 'none';
5382
5517
  /** Point style options supported by Chart.js */
5383
5518
  export declare type TPointStyle = 'circle' | 'cross' | 'crossRot' | 'dash' | 'line' | 'rect' | 'rectRounded' | 'rectRot' | 'star' | 'triangle';
5384
5519
 
5385
- export declare function triggerAlertNow(apiServiceUrl: string, token: string, ruleId: string): Promise<{
5386
- accepted: boolean;
5387
- runId?: string;
5388
- }>;
5389
-
5390
5520
  export declare type TSelectedRecord = ComboBoxOption;
5391
5521
 
5392
5522
  export declare type TSheet = {
@@ -5443,6 +5573,12 @@ export declare type UIConfig = {
5443
5573
  * If unset, runtime falls back to `showAssistant`; if both are unset, assistant is hidden.
5444
5574
  */
5445
5575
  showDashboardAssistant?: boolean;
5576
+ /**
5577
+ * Controls briefing authoring visibility in the dashboard toolbar.
5578
+ * If set, this takes precedence over the embed prop `showBriefings`.
5579
+ * If unset, runtime falls back to `showBriefings`; if both are unset, briefings are visible.
5580
+ */
5581
+ showBriefings?: boolean;
5446
5582
  /**
5447
5583
  * Shows the Direct Source option in the data-source selector.
5448
5584
  * Defaults to true unless explicitly disabled.
@@ -5475,41 +5611,11 @@ declare type UnsavedChangesAlertProps = {
5475
5611
  saveLabel?: string;
5476
5612
  };
5477
5613
 
5478
- export declare function updateAlert(apiServiceUrl: string, token: string, id: string, payload: UpdateAlertRequest): Promise<{
5479
- alert: Alert;
5480
- }>;
5481
-
5482
- export declare function updateAlertContextSources(apiServiceUrl: string, token: string, alertId: string, contextSources: Array<Record<string, unknown>>): Promise<{
5483
- ruleId: string;
5484
- contextSources: Array<Record<string, unknown>>;
5485
- workflowDef: Record<string, unknown>;
5486
- }>;
5487
-
5488
- export declare function updateAlertQuota(apiServiceUrl: string, token: string, tenantId: string, payload: Partial<AlertQuotaRecord['policy']>): Promise<{
5489
- quota: AlertQuotaRecord;
5614
+ export declare function updateBriefing(apiServiceUrl: string, token: string, briefingId: string, payload: UpdateBriefingRequest): Promise<{
5615
+ briefing: BriefingDetail;
5490
5616
  }>;
5491
5617
 
5492
- export declare interface UpdateAlertRequest {
5493
- name?: string;
5494
- description?: string | null;
5495
- scheduleExpr?: string;
5496
- timezone?: string;
5497
- status?: AlertStatus;
5498
- source?: AlertSource;
5499
- operator?: AlertConditionOperator;
5500
- threshold?: number;
5501
- severity?: AlertSeverity;
5502
- consecutiveCount?: number;
5503
- recipients?: AlertRecipient[];
5504
- channels?: AlertDeliveryChannel[];
5505
- contextSources?: ContextSource[];
5506
- presentationPrompt?: string;
5507
- sensitivityPreset?: SensitivityPreset | null;
5508
- channelConfigs?: Record<string, ChannelFormatConfig>;
5509
- jobConfig?: AlertJobConfig;
5510
- deliveryConfig?: DeliveryConfig;
5511
- workflowDef?: Record<string, unknown> | null;
5512
- }
5618
+ export declare type UpdateBriefingRequest = Partial<CreateBriefingRequest>;
5513
5619
 
5514
5620
  declare interface UpdateDashboardTemplateRequest {
5515
5621
  template: TDashboard;
@@ -5563,435 +5669,6 @@ export declare function useAddNewFrame(): {
5563
5669
  canAddFrame: boolean;
5564
5670
  };
5565
5671
 
5566
- export declare const useAlertActions: () => AlertStoreActions;
5567
-
5568
- export declare function useAlertBacktest(alertId?: string): UseMutationResult<AlertBacktestResult, Error, Record<string, unknown> | undefined, unknown>;
5569
-
5570
- export declare function useAlertDeliveries(alertId: string | undefined, runId: string | undefined): UseQueryResult< {
5571
- attempts: Array<Record<string, unknown>>;
5572
- }, Error>;
5573
-
5574
- export declare function useAlertDetail(alertId?: string): UseQueryResult< {
5575
- alert: Alert;
5576
- }, Error>;
5577
-
5578
- export declare const useAlertDraft: () => AlertDraft;
5579
-
5580
- export declare const useAlertFilters: () => AlertFilters;
5581
-
5582
- export declare function useAlertHistory(alertId: string | undefined, windowDays?: 7 | 30 | 90): UseQueryResult<AlertHistoryResponse, Error>;
5583
-
5584
- export declare function useAlertQuotas(): {
5585
- quotasQuery: UseQueryResult< {
5586
- quotas: AlertQuotaRecord[];
5587
- }, Error>;
5588
- usageQuery: UseQueryResult< {
5589
- usage: AlertQuotaRecord[];
5590
- }, Error>;
5591
- updateQuota: UseMutateAsyncFunction< {
5592
- quota: AlertQuotaRecord;
5593
- }, Error, {
5594
- tenantId: string;
5595
- policy: {
5596
- maxActiveAlerts?: number;
5597
- minCadenceMinutes?: number;
5598
- maxContextSources?: number;
5599
- };
5600
- }, unknown>;
5601
- isUpdatingQuota: boolean;
5602
- };
5603
-
5604
- export declare function useAlertRuns(alertId: string | undefined, limit?: number): UseQueryResult< {
5605
- runs: AlertRun[];
5606
- nextCursor: string | null;
5607
- total: number;
5608
- }, Error>;
5609
-
5610
- export declare function useAlerts(options?: {
5611
- enabled?: boolean;
5612
- limit?: number;
5613
- }): {
5614
- alerts: Alert[];
5615
- createAlert: UseMutateAsyncFunction< {
5616
- alert: Alert;
5617
- }, Error, CreateAlertRequest, unknown>;
5618
- updateAlert: UseMutateAsyncFunction< {
5619
- alert: Alert;
5620
- }, Error, {
5621
- id: string;
5622
- payload: UpdateAlertRequest;
5623
- }, unknown>;
5624
- deleteAlert: UseMutateAsyncFunction< {
5625
- success: boolean;
5626
- }, Error, string, unknown>;
5627
- triggerAlert: UseMutateAsyncFunction< {
5628
- accepted: boolean;
5629
- runId?: string;
5630
- }, Error, string, unknown>;
5631
- isCreating: boolean;
5632
- isUpdating: boolean;
5633
- isDeleting: boolean;
5634
- isTriggering: boolean;
5635
- data: {
5636
- alerts: Alert[];
5637
- nextCursor: string | null;
5638
- total: number;
5639
- };
5640
- error: Error;
5641
- isError: true;
5642
- isPending: false;
5643
- isLoading: false;
5644
- isLoadingError: false;
5645
- isRefetchError: true;
5646
- isSuccess: false;
5647
- isPlaceholderData: false;
5648
- status: "error";
5649
- dataUpdatedAt: number;
5650
- errorUpdatedAt: number;
5651
- failureCount: number;
5652
- failureReason: Error | null;
5653
- errorUpdateCount: number;
5654
- isFetched: boolean;
5655
- isFetchedAfterMount: boolean;
5656
- isFetching: boolean;
5657
- isInitialLoading: boolean;
5658
- isPaused: boolean;
5659
- isRefetching: boolean;
5660
- isStale: boolean;
5661
- isEnabled: boolean;
5662
- refetch: (options?: RefetchOptions) => Promise<QueryObserverResult< {
5663
- alerts: Alert[];
5664
- nextCursor: string | null;
5665
- total: number;
5666
- }, Error>>;
5667
- fetchStatus: FetchStatus;
5668
- promise: Promise<{
5669
- alerts: Alert[];
5670
- nextCursor: string | null;
5671
- total: number;
5672
- }>;
5673
- } | {
5674
- alerts: Alert[];
5675
- createAlert: UseMutateAsyncFunction< {
5676
- alert: Alert;
5677
- }, Error, CreateAlertRequest, unknown>;
5678
- updateAlert: UseMutateAsyncFunction< {
5679
- alert: Alert;
5680
- }, Error, {
5681
- id: string;
5682
- payload: UpdateAlertRequest;
5683
- }, unknown>;
5684
- deleteAlert: UseMutateAsyncFunction< {
5685
- success: boolean;
5686
- }, Error, string, unknown>;
5687
- triggerAlert: UseMutateAsyncFunction< {
5688
- accepted: boolean;
5689
- runId?: string;
5690
- }, Error, string, unknown>;
5691
- isCreating: boolean;
5692
- isUpdating: boolean;
5693
- isDeleting: boolean;
5694
- isTriggering: boolean;
5695
- data: {
5696
- alerts: Alert[];
5697
- nextCursor: string | null;
5698
- total: number;
5699
- };
5700
- error: null;
5701
- isError: false;
5702
- isPending: false;
5703
- isLoading: false;
5704
- isLoadingError: false;
5705
- isRefetchError: false;
5706
- isSuccess: true;
5707
- isPlaceholderData: false;
5708
- status: "success";
5709
- dataUpdatedAt: number;
5710
- errorUpdatedAt: number;
5711
- failureCount: number;
5712
- failureReason: Error | null;
5713
- errorUpdateCount: number;
5714
- isFetched: boolean;
5715
- isFetchedAfterMount: boolean;
5716
- isFetching: boolean;
5717
- isInitialLoading: boolean;
5718
- isPaused: boolean;
5719
- isRefetching: boolean;
5720
- isStale: boolean;
5721
- isEnabled: boolean;
5722
- refetch: (options?: RefetchOptions) => Promise<QueryObserverResult< {
5723
- alerts: Alert[];
5724
- nextCursor: string | null;
5725
- total: number;
5726
- }, Error>>;
5727
- fetchStatus: FetchStatus;
5728
- promise: Promise<{
5729
- alerts: Alert[];
5730
- nextCursor: string | null;
5731
- total: number;
5732
- }>;
5733
- } | {
5734
- alerts: Alert[];
5735
- createAlert: UseMutateAsyncFunction< {
5736
- alert: Alert;
5737
- }, Error, CreateAlertRequest, unknown>;
5738
- updateAlert: UseMutateAsyncFunction< {
5739
- alert: Alert;
5740
- }, Error, {
5741
- id: string;
5742
- payload: UpdateAlertRequest;
5743
- }, unknown>;
5744
- deleteAlert: UseMutateAsyncFunction< {
5745
- success: boolean;
5746
- }, Error, string, unknown>;
5747
- triggerAlert: UseMutateAsyncFunction< {
5748
- accepted: boolean;
5749
- runId?: string;
5750
- }, Error, string, unknown>;
5751
- isCreating: boolean;
5752
- isUpdating: boolean;
5753
- isDeleting: boolean;
5754
- isTriggering: boolean;
5755
- data: undefined;
5756
- error: Error;
5757
- isError: true;
5758
- isPending: false;
5759
- isLoading: false;
5760
- isLoadingError: true;
5761
- isRefetchError: false;
5762
- isSuccess: false;
5763
- isPlaceholderData: false;
5764
- status: "error";
5765
- dataUpdatedAt: number;
5766
- errorUpdatedAt: number;
5767
- failureCount: number;
5768
- failureReason: Error | null;
5769
- errorUpdateCount: number;
5770
- isFetched: boolean;
5771
- isFetchedAfterMount: boolean;
5772
- isFetching: boolean;
5773
- isInitialLoading: boolean;
5774
- isPaused: boolean;
5775
- isRefetching: boolean;
5776
- isStale: boolean;
5777
- isEnabled: boolean;
5778
- refetch: (options?: RefetchOptions) => Promise<QueryObserverResult< {
5779
- alerts: Alert[];
5780
- nextCursor: string | null;
5781
- total: number;
5782
- }, Error>>;
5783
- fetchStatus: FetchStatus;
5784
- promise: Promise<{
5785
- alerts: Alert[];
5786
- nextCursor: string | null;
5787
- total: number;
5788
- }>;
5789
- } | {
5790
- alerts: Alert[];
5791
- createAlert: UseMutateAsyncFunction< {
5792
- alert: Alert;
5793
- }, Error, CreateAlertRequest, unknown>;
5794
- updateAlert: UseMutateAsyncFunction< {
5795
- alert: Alert;
5796
- }, Error, {
5797
- id: string;
5798
- payload: UpdateAlertRequest;
5799
- }, unknown>;
5800
- deleteAlert: UseMutateAsyncFunction< {
5801
- success: boolean;
5802
- }, Error, string, unknown>;
5803
- triggerAlert: UseMutateAsyncFunction< {
5804
- accepted: boolean;
5805
- runId?: string;
5806
- }, Error, string, unknown>;
5807
- isCreating: boolean;
5808
- isUpdating: boolean;
5809
- isDeleting: boolean;
5810
- isTriggering: boolean;
5811
- data: undefined;
5812
- error: null;
5813
- isError: false;
5814
- isPending: true;
5815
- isLoading: true;
5816
- isLoadingError: false;
5817
- isRefetchError: false;
5818
- isSuccess: false;
5819
- isPlaceholderData: false;
5820
- status: "pending";
5821
- dataUpdatedAt: number;
5822
- errorUpdatedAt: number;
5823
- failureCount: number;
5824
- failureReason: Error | null;
5825
- errorUpdateCount: number;
5826
- isFetched: boolean;
5827
- isFetchedAfterMount: boolean;
5828
- isFetching: boolean;
5829
- isInitialLoading: boolean;
5830
- isPaused: boolean;
5831
- isRefetching: boolean;
5832
- isStale: boolean;
5833
- isEnabled: boolean;
5834
- refetch: (options?: RefetchOptions) => Promise<QueryObserverResult< {
5835
- alerts: Alert[];
5836
- nextCursor: string | null;
5837
- total: number;
5838
- }, Error>>;
5839
- fetchStatus: FetchStatus;
5840
- promise: Promise<{
5841
- alerts: Alert[];
5842
- nextCursor: string | null;
5843
- total: number;
5844
- }>;
5845
- } | {
5846
- alerts: Alert[];
5847
- createAlert: UseMutateAsyncFunction< {
5848
- alert: Alert;
5849
- }, Error, CreateAlertRequest, unknown>;
5850
- updateAlert: UseMutateAsyncFunction< {
5851
- alert: Alert;
5852
- }, Error, {
5853
- id: string;
5854
- payload: UpdateAlertRequest;
5855
- }, unknown>;
5856
- deleteAlert: UseMutateAsyncFunction< {
5857
- success: boolean;
5858
- }, Error, string, unknown>;
5859
- triggerAlert: UseMutateAsyncFunction< {
5860
- accepted: boolean;
5861
- runId?: string;
5862
- }, Error, string, unknown>;
5863
- isCreating: boolean;
5864
- isUpdating: boolean;
5865
- isDeleting: boolean;
5866
- isTriggering: boolean;
5867
- data: undefined;
5868
- error: null;
5869
- isError: false;
5870
- isPending: true;
5871
- isLoadingError: false;
5872
- isRefetchError: false;
5873
- isSuccess: false;
5874
- isPlaceholderData: false;
5875
- status: "pending";
5876
- dataUpdatedAt: number;
5877
- errorUpdatedAt: number;
5878
- failureCount: number;
5879
- failureReason: Error | null;
5880
- errorUpdateCount: number;
5881
- isFetched: boolean;
5882
- isFetchedAfterMount: boolean;
5883
- isFetching: boolean;
5884
- isLoading: boolean;
5885
- isInitialLoading: boolean;
5886
- isPaused: boolean;
5887
- isRefetching: boolean;
5888
- isStale: boolean;
5889
- isEnabled: boolean;
5890
- refetch: (options?: RefetchOptions) => Promise<QueryObserverResult< {
5891
- alerts: Alert[];
5892
- nextCursor: string | null;
5893
- total: number;
5894
- }, Error>>;
5895
- fetchStatus: FetchStatus;
5896
- promise: Promise<{
5897
- alerts: Alert[];
5898
- nextCursor: string | null;
5899
- total: number;
5900
- }>;
5901
- } | {
5902
- alerts: Alert[];
5903
- createAlert: UseMutateAsyncFunction< {
5904
- alert: Alert;
5905
- }, Error, CreateAlertRequest, unknown>;
5906
- updateAlert: UseMutateAsyncFunction< {
5907
- alert: Alert;
5908
- }, Error, {
5909
- id: string;
5910
- payload: UpdateAlertRequest;
5911
- }, unknown>;
5912
- deleteAlert: UseMutateAsyncFunction< {
5913
- success: boolean;
5914
- }, Error, string, unknown>;
5915
- triggerAlert: UseMutateAsyncFunction< {
5916
- accepted: boolean;
5917
- runId?: string;
5918
- }, Error, string, unknown>;
5919
- isCreating: boolean;
5920
- isUpdating: boolean;
5921
- isDeleting: boolean;
5922
- isTriggering: boolean;
5923
- data: {
5924
- alerts: Alert[];
5925
- nextCursor: string | null;
5926
- total: number;
5927
- };
5928
- isError: false;
5929
- error: null;
5930
- isPending: false;
5931
- isLoading: false;
5932
- isLoadingError: false;
5933
- isRefetchError: false;
5934
- isSuccess: true;
5935
- isPlaceholderData: true;
5936
- status: "success";
5937
- dataUpdatedAt: number;
5938
- errorUpdatedAt: number;
5939
- failureCount: number;
5940
- failureReason: Error | null;
5941
- errorUpdateCount: number;
5942
- isFetched: boolean;
5943
- isFetchedAfterMount: boolean;
5944
- isFetching: boolean;
5945
- isInitialLoading: boolean;
5946
- isPaused: boolean;
5947
- isRefetching: boolean;
5948
- isStale: boolean;
5949
- isEnabled: boolean;
5950
- refetch: (options?: RefetchOptions) => Promise<QueryObserverResult< {
5951
- alerts: Alert[];
5952
- nextCursor: string | null;
5953
- total: number;
5954
- }, Error>>;
5955
- fetchStatus: FetchStatus;
5956
- promise: Promise<{
5957
- alerts: Alert[];
5958
- nextCursor: string | null;
5959
- total: number;
5960
- }>;
5961
- };
5962
-
5963
- export declare function useAlertsBootstrap(): UseQueryResult< {
5964
- alerts: Alert[];
5965
- nextCursor: null;
5966
- total: number;
5967
- }, Error>;
5968
-
5969
- export declare const useAlertsById: () => Record<string, Alert>;
5970
-
5971
- export declare const useAlertsForCard: (cardId: string) => Alert[];
5972
-
5973
- export declare function useAlertState(alertId: string | undefined): UseQueryResult< {
5974
- state: AlertState;
5975
- }, Error>;
5976
-
5977
- export declare const useAlertStore: UseBoundStore<Omit<StoreApi<AlertStore>, "setState"> & {
5978
- setState(nextStateOrUpdater: AlertStore | Partial<AlertStore> | ((state: WritableDraft<AlertStore>) => void), shouldReplace?: false): void;
5979
- setState(nextStateOrUpdater: AlertStore | ((state: WritableDraft<AlertStore>) => void), shouldReplace: true): void;
5980
- }>;
5981
-
5982
- export declare function useAlertWizard({ cardSnapshot }: {
5983
- cardSnapshot: CardSnapshot | null;
5984
- }): {
5985
- state: WizardState;
5986
- dispatch: ActionDispatch<[action: WizardAction]>;
5987
- nextStep: () => void;
5988
- prevStep: () => void;
5989
- toggleDriver: (id: string) => void;
5990
- updateJobConfig: (config: Partial<DraftJobConfig>) => void;
5991
- updateDeliveryConfig: (config: Partial<DraftDeliveryConfig>) => void;
5992
- setSensitivity: (preset: SensitivityPreset_2) => void;
5993
- };
5994
-
5995
5672
  export declare function useCard(cardId: string): {
5996
5673
  data: any;
5997
5674
  card: TCard;
@@ -6008,8 +5685,6 @@ export declare function useCard(cardId: string): {
6008
5685
  resolvedPrimaryDateField: ResolvedPrimaryDateField | undefined;
6009
5686
  };
6010
5687
 
6011
- export declare const useCardAlertMap: () => Map<string, string[]>;
6012
-
6013
5688
  export declare function useCardSummary(card: TCard, options?: UseCardSummaryOptions): {
6014
5689
  data: SummaryResponse | undefined;
6015
5690
  isLoading: boolean;
@@ -6284,8 +5959,6 @@ export declare interface UserPreference {
6284
5959
  updatedAt: string;
6285
5960
  }
6286
5961
 
6287
- export declare const useSelectedAlertId: () => string | null;
6288
-
6289
5962
  export declare function useTextFilterHook(filterId: string): {
6290
5963
  isLoading: boolean;
6291
5964
  isFetching: boolean;
@@ -6306,31 +5979,9 @@ export declare function useTextFilterHook(filterId: string): {
6306
5979
  resultSource: "server" | "both" | "local";
6307
5980
  };
6308
5981
 
6309
- export declare function Visual(props: VisualProps): JSX.Element;
5982
+ export declare function validateBriefingFormDraft(draft: BriefingFormDraft): BriefingFormValidationResult;
6310
5983
 
6311
- declare interface VisualAttachment {
6312
- type: 'dashboard' | 'visual';
6313
- visualId?: string;
6314
- cardType?: string;
6315
- title: string;
6316
- format: ExportFormat_2;
6317
- supportedFormats?: ExportFormat_2[];
6318
- settings: {
6319
- pageSize?: 'letter' | 'a4' | 'legal' | 'a3' | 'tabloid';
6320
- orientation?: 'portrait' | 'landscape';
6321
- includeFilters?: boolean;
6322
- includeTimestamp?: boolean;
6323
- delimiter?: ',' | ';' | '\t';
6324
- includeHeaders?: boolean;
6325
- useFormattedValues?: boolean;
6326
- sheetSelection?: 'current' | 'all';
6327
- currentSheetId?: string;
6328
- currentSheetName?: string;
6329
- tablePreferences?: TablePreferences;
6330
- inlineFilterValues?: TFilterValue[];
6331
- sheetFilterValues?: TFilterValue[];
6332
- };
6333
- }
5984
+ export declare function Visual(props: VisualProps): JSX.Element;
6334
5985
 
6335
5986
  /**
6336
5987
  * Display mode for visual components - controls which UI elements are shown
@@ -6381,6 +6032,15 @@ declare type VisualProps = DashboardProps & {
6381
6032
  displayPreferences?: VisualDisplayPreferences;
6382
6033
  };
6383
6034
 
6035
+ export declare function WatchDashboardButton({ disabled, briefingCount, className, onClick, }: WatchDashboardButtonProps): JSX.Element;
6036
+
6037
+ export declare type WatchDashboardButtonProps = {
6038
+ disabled?: boolean;
6039
+ briefingCount?: number;
6040
+ className?: string;
6041
+ onClick?: () => void;
6042
+ };
6043
+
6384
6044
  /**
6385
6045
  * Week start day type.
6386
6046
  * 0 = Sunday (US, Canada, Japan)
@@ -6412,62 +6072,4 @@ export declare interface WindowTransform {
6412
6072
  };
6413
6073
  }
6414
6074
 
6415
- declare type WizardAction = {
6416
- type: 'START_PREFILL';
6417
- } | {
6418
- type: 'RESET_PREFILL';
6419
- } | {
6420
- type: 'SET_PREFILL';
6421
- payload: WizardPrefillResponse;
6422
- } | {
6423
- type: 'SET_PREFILL_ERROR';
6424
- error: string;
6425
- } | {
6426
- type: 'NEXT_STEP';
6427
- } | {
6428
- type: 'PREV_STEP';
6429
- } | {
6430
- type: 'SET_SENSITIVITY';
6431
- payload: SensitivityPreset_2;
6432
- } | {
6433
- type: 'TOGGLE_DRIVER';
6434
- driverId: string;
6435
- } | {
6436
- type: 'UPDATE_JOB_CONFIG';
6437
- payload: Partial<DraftJobConfig>;
6438
- } | {
6439
- type: 'UPDATE_DELIVERY_CONFIG';
6440
- payload: Partial<DraftDeliveryConfig>;
6441
- };
6442
-
6443
- declare type WizardPrefillResponse = {
6444
- source: AlertSource;
6445
- metricLabel: string;
6446
- currentValue: number | null;
6447
- snapshotAge: {
6448
- capturedAt: string;
6449
- ageMinutes: number;
6450
- isStale: boolean;
6451
- };
6452
- suggestedName: string;
6453
- connectionName: string | null;
6454
- dashboardName: string | null;
6455
- calendarContext: {
6456
- tz: string;
6457
- weekStart: number;
6458
- } | null;
6459
- driverCandidates: DriverCandidate[];
6460
- snapshotWarning?: 'missing' | 'invalid' | 'stale';
6461
- };
6462
-
6463
- declare type WizardState = {
6464
- step: 1 | 2 | 3;
6465
- prefillData: WizardPrefillResponse | null;
6466
- prefillLoading: boolean;
6467
- prefillError: string | null;
6468
- draftJobConfig: DraftJobConfig;
6469
- draftDeliveryConfig: DraftDeliveryConfig;
6470
- selectedDrivers: string[];
6471
- };
6472
-
6473
6075
  export { }