@truefoundry/trueforge-ui 0.3.0-rc.1 → 0.3.0-rc.11

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 (112) hide show
  1. package/CHANGELOG.md +156 -0
  2. package/README.md +23 -8
  3. package/dist/{AgentCodeSnippets-NZOFJE57.js → AgentCodeSnippets-CHDVZHHK.js} +38 -23
  4. package/dist/AgentCodeSnippets-CHDVZHHK.js.map +1 -0
  5. package/dist/AgentMetricChart-6RGWFMJE.js +15 -0
  6. package/dist/AgentOverview-3LJZ6MO7.js +311 -0
  7. package/dist/AgentOverview-3LJZ6MO7.js.map +1 -0
  8. package/dist/{AgentSessionEventTimeline-26Z6IB3B.js → AgentSessionEventTimeline-5GOJKT7D.js} +19 -10
  9. package/dist/AgentSessionEventTimeline-5GOJKT7D.js.map +1 -0
  10. package/dist/{AgentSessionEventTimelineChart-CGCU7WBK.js → AgentSessionEventTimelineChart-UYG3JQMP.js} +144 -57
  11. package/dist/AgentSessionEventTimelineChart-UYG3JQMP.js.map +1 -0
  12. package/dist/{AgentSessions-3MPDZASK.js → AgentSessions-KUABCQ4W.js} +140 -27
  13. package/dist/AgentSessions-KUABCQ4W.js.map +1 -0
  14. package/dist/{ConnectorSettings-MXFRWWR6.js → ConnectorSettings-PED5C2P7.js} +162 -126
  15. package/dist/ConnectorSettings-PED5C2P7.js.map +1 -0
  16. package/dist/{DockLayout-LM4AFMFY.js → DockLayout-ACM7BVIH.js} +10 -10
  17. package/dist/{DrawerLayout-JR3O6RRB.js → DrawerLayout-SGBYRKHI.js} +14 -12
  18. package/dist/DrawerLayout-SGBYRKHI.js.map +1 -0
  19. package/dist/{ModelSettings-G7IFNC2Y.js → ModelSettings-GJTVFXFY.js} +22 -28
  20. package/dist/ModelSettings-GJTVFXFY.js.map +1 -0
  21. package/dist/OpenUiFenceBlock-MJTC2VJ5.js +9 -0
  22. package/dist/{SandboxSettings-NXAANMAX.js → SandboxSettings-VETQ7UPE.js} +17 -21
  23. package/dist/SandboxSettings-VETQ7UPE.js.map +1 -0
  24. package/dist/SchedulesPage-LHJ3U2VM.js +15 -0
  25. package/dist/{SettingsBuilder-L34IQ56S.js → SettingsBuilder-5ZCU66FF.js} +9 -9
  26. package/dist/{SettingsBuilder-L34IQ56S.js.map → SettingsBuilder-5ZCU66FF.js.map} +1 -1
  27. package/dist/{ShellRouteSync-CEBETGEJ.js → ShellRouteSync-SJXFKUAJ.js} +171 -26
  28. package/dist/ShellRouteSync-SJXFKUAJ.js.map +1 -0
  29. package/dist/{SidebarLayout-A2HJPPHS.js → SidebarLayout-TR5CAB6Q.js} +80 -58
  30. package/dist/SidebarLayout-TR5CAB6Q.js.map +1 -0
  31. package/dist/{SkillSettings-FGGMSUNO.js → SkillSettings-TRTY2YH3.js} +24 -22
  32. package/dist/SkillSettings-TRTY2YH3.js.map +1 -0
  33. package/dist/{TrueForgeUIWithRouter-MZVJWJMB.js → TrueForgeUIWithRouter-GZUSRZIR.js} +9 -9
  34. package/dist/{WidgetLayout-6QM45OQQ.js → WidgetLayout-2TM6I4LJ.js} +10 -10
  35. package/dist/{chunk-U7KURWW3.js → chunk-2GIZY3JJ.js} +276 -54
  36. package/dist/chunk-2GIZY3JJ.js.map +1 -0
  37. package/dist/{chunk-ZKNUMH2M.js → chunk-2MUK3SMR.js} +13 -11
  38. package/dist/chunk-2MUK3SMR.js.map +1 -0
  39. package/dist/{chunk-WVE3F724.js → chunk-2QTH6JHX.js} +21 -4
  40. package/dist/chunk-2QTH6JHX.js.map +1 -0
  41. package/dist/{chunk-XAU7QFG3.js → chunk-5N5V7YLO.js} +72 -256
  42. package/dist/chunk-5N5V7YLO.js.map +1 -0
  43. package/dist/{chunk-CYHJDKFB.js → chunk-75YEQUUD.js} +189 -52
  44. package/dist/chunk-75YEQUUD.js.map +1 -0
  45. package/dist/{chunk-QC42MLAK.js → chunk-7AAO4UDQ.js} +4 -3
  46. package/dist/chunk-7AAO4UDQ.js.map +1 -0
  47. package/dist/{chunk-M62XY4NC.js → chunk-BXG6XN2S.js} +235 -108
  48. package/dist/chunk-BXG6XN2S.js.map +1 -0
  49. package/dist/chunk-GKXDRULM.js +587 -0
  50. package/dist/chunk-GKXDRULM.js.map +1 -0
  51. package/dist/{chunk-ZTMKFZQ3.js → chunk-OH357IHR.js} +5572 -3367
  52. package/dist/chunk-OH357IHR.js.map +1 -0
  53. package/dist/{chunk-DMMZSZTN.js → chunk-P6MZDITS.js} +60 -16
  54. package/dist/chunk-P6MZDITS.js.map +1 -0
  55. package/dist/{chunk-MPNSO7E6.js → chunk-SLMFEG7X.js} +2 -2
  56. package/dist/chunk-T6QQV5LK.js +238 -0
  57. package/dist/chunk-T6QQV5LK.js.map +1 -0
  58. package/dist/{chunk-6O6FWUDW.js → chunk-UWLL327M.js} +641 -388
  59. package/dist/chunk-UWLL327M.js.map +1 -0
  60. package/dist/{chunk-FJW36PD7.js → chunk-VAOCM3QQ.js} +28 -24
  61. package/dist/chunk-VAOCM3QQ.js.map +1 -0
  62. package/dist/chunk-Y7O6CMC7.js +517 -0
  63. package/dist/chunk-Y7O6CMC7.js.map +1 -0
  64. package/dist/{createTrueFoundryServer-CmZnBh_l.d.ts → createTrueFoundryServer-B_FYhSdn.d.ts} +8 -5
  65. package/dist/index.d.ts +377 -108
  66. package/dist/index.js +69 -488
  67. package/dist/index.js.map +1 -1
  68. package/dist/plugins/trueforge-agent-server-adapter/index.d.ts +49 -14
  69. package/dist/plugins/trueforge-agent-server-adapter/index.js +161 -60
  70. package/dist/plugins/trueforge-agent-server-adapter/index.js.map +1 -1
  71. package/dist/styles.css +1 -1
  72. package/package.json +5 -4
  73. package/dist/AgentCodeSnippets-NZOFJE57.js.map +0 -1
  74. package/dist/AgentMetricChart-JPU3MFQ2.js +0 -15
  75. package/dist/AgentOverview-EEBHJC32.js +0 -167
  76. package/dist/AgentOverview-EEBHJC32.js.map +0 -1
  77. package/dist/AgentSessionEventTimeline-26Z6IB3B.js.map +0 -1
  78. package/dist/AgentSessionEventTimelineChart-CGCU7WBK.js.map +0 -1
  79. package/dist/AgentSessions-3MPDZASK.js.map +0 -1
  80. package/dist/ConnectorSettings-MXFRWWR6.js.map +0 -1
  81. package/dist/DrawerLayout-JR3O6RRB.js.map +0 -1
  82. package/dist/ModelSettings-G7IFNC2Y.js.map +0 -1
  83. package/dist/OpenUiFenceBlock-2TV5TQ6P.js +0 -9
  84. package/dist/SandboxSettings-NXAANMAX.js.map +0 -1
  85. package/dist/SchedulesPage-KKLUDO6B.js +0 -15
  86. package/dist/ShellRouteSync-CEBETGEJ.js.map +0 -1
  87. package/dist/SidebarLayout-A2HJPPHS.js.map +0 -1
  88. package/dist/SkillSettings-FGGMSUNO.js.map +0 -1
  89. package/dist/chunk-2XPPBEYF.js +0 -74
  90. package/dist/chunk-2XPPBEYF.js.map +0 -1
  91. package/dist/chunk-6O6FWUDW.js.map +0 -1
  92. package/dist/chunk-7Z2C2K7F.js +0 -578
  93. package/dist/chunk-7Z2C2K7F.js.map +0 -1
  94. package/dist/chunk-CYHJDKFB.js.map +0 -1
  95. package/dist/chunk-DMMZSZTN.js.map +0 -1
  96. package/dist/chunk-FJW36PD7.js.map +0 -1
  97. package/dist/chunk-M62XY4NC.js.map +0 -1
  98. package/dist/chunk-QC42MLAK.js.map +0 -1
  99. package/dist/chunk-SFZNIO6U.js +0 -18
  100. package/dist/chunk-SFZNIO6U.js.map +0 -1
  101. package/dist/chunk-U7KURWW3.js.map +0 -1
  102. package/dist/chunk-WVE3F724.js.map +0 -1
  103. package/dist/chunk-XAU7QFG3.js.map +0 -1
  104. package/dist/chunk-ZKNUMH2M.js.map +0 -1
  105. package/dist/chunk-ZTMKFZQ3.js.map +0 -1
  106. /package/dist/{AgentMetricChart-JPU3MFQ2.js.map → AgentMetricChart-6RGWFMJE.js.map} +0 -0
  107. /package/dist/{DockLayout-LM4AFMFY.js.map → DockLayout-ACM7BVIH.js.map} +0 -0
  108. /package/dist/{OpenUiFenceBlock-2TV5TQ6P.js.map → OpenUiFenceBlock-MJTC2VJ5.js.map} +0 -0
  109. /package/dist/{SchedulesPage-KKLUDO6B.js.map → SchedulesPage-LHJ3U2VM.js.map} +0 -0
  110. /package/dist/{TrueForgeUIWithRouter-MZVJWJMB.js.map → TrueForgeUIWithRouter-GZUSRZIR.js.map} +0 -0
  111. /package/dist/{WidgetLayout-6QM45OQQ.js.map → WidgetLayout-2TM6I4LJ.js.map} +0 -0
  112. /package/dist/{chunk-MPNSO7E6.js.map → chunk-SLMFEG7X.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,20 +1,21 @@
1
1
  import * as react from 'react';
2
- import react__default, { CSSProperties, ReactNode, FC, SVGProps, ComponentType, ComponentPropsWithRef, ComponentProps, HTMLAttributes, ComponentPropsWithoutRef, PropsWithChildren } from 'react';
2
+ import react__default, { CSSProperties, ReactNode, FC, SVGProps, ComponentType, ComponentPropsWithRef, ComponentProps, HTMLAttributes, ReactElement, MouseEventHandler, ComponentPropsWithoutRef, PropsWithChildren } from 'react';
3
3
  import { LucideIcon } from 'lucide-react';
4
- import { SessionEventItem, AgentDetail, AgentMetricMeter, AgentMetricChartDefinition, AgentMetricGraph, CodeSnippet, AgentLibraryEntry, AgentSpec, ModelSelection, ConnectorState, AgentSkill, McpToolSelection, AgentRuntimeConfig, Schedule, ScheduleRun, ScheduleStatus, CatalogServer, AgentUIServer, AgentMetricsServer, AgentSessionsServer, ScheduleServer, AgentBuilderCapabilitiesResponse } from '@truefoundry/assistant-ui-runtime/server';
5
- export { AgentBuilderCapabilitiesResponse, AgentBuilderServer, AgentChatServer, AgentDetail, AgentLibraryEntry, AgentMetricChartData, AgentMetricChartDataRequest, AgentMetricChartDefinition, AgentMetricChartType, AgentMetricGraph, AgentMetricGraphLine, AgentMetricMeter, AgentMetricPoint, AgentMetricRangeRequest, AgentMetricsServer, AgentSessionsServer, AgentSkill, AgentSpec, AgentUIServer, ApprovalDecision, AuthenticateConnectorRequest, CatalogServer, CodeSnippet, CodeSnippetSampleCode, ConnectorAuth, ConnectorAuthApiKey, ConnectorAuthNone, ConnectorAuthOAuth, ConnectorAuthPublic, ConnectorAuthPublicApiKey, ConnectorAuthPublicNone, ConnectorAuthPublicOAuth, ConnectorAuthType, ConnectorAuthenticationResult, ConnectorBase, ConnectorCatalogEntry, ConnectorCatalogServer, ConnectorConfigBase, ConnectorState, CreateConnectorRequest, CreateModelProviderRequest, CreateSandboxProviderRequest, CreateSessionRequest, CreateSkillRequest, CreateSkillRequestBase, DefinedSkill, GithubSkill, ImportGithubSkillRequest, ListResult, ListSessionEventsParams, ListSessionsOrder, ListSessionsParams, McpServerMount, Model, ModelCatalogServer, ModelEntry, ModelParams, ModelProperties, ModelProviderBase, ModelProviderCatalogEntry, ModelProviderConfigBase, ModelSelection, ModelSelectorEntry, PageParams, PreviousTurnIdInput, ProviderEntry, ProviderType, RegistrySkill, SandboxCatalogServer, SandboxProviderBase, SandboxProviderCatalogEntry, SandboxProviderConfig, SandboxProviderListEntry, SandboxSnapshotSyncStatus, SaveAgentRequest, SaveAgentResult, SearchAgentsParams, SelectRegistrySkillRequest, Session, SessionEventItem, SessionListEntry, SessionListMetrics, SkillBase, SkillCatalogEntry, SkillCatalogServer, SkillConfigBase, SkillMount, ToolBase, Turn, TurnDoneMetrics, TurnInputItem, TurnState, TurnStreamData, TurnStreamingEvent, UpdateConnectorRequest, UpdateModelProviderRequest, UpdateSandboxProviderRequest, UpdateSessionRequest, UserMessage, UserMessageContent, UserToolApprovalEvent, UserToolResponseEvent } from '@truefoundry/assistant-ui-runtime/server';
4
+ import { SessionEventItem, AgentDetail, AgentMetricMeter, AgentMetricChartDefinition, AgentMetricGraph, CodeSnippet, AgentLibraryEntry, AgentSpec, ModelSelection, ConnectorState, AgentSkill, McpToolSelection, AgentRuntimeConfig, Schedule, ScheduleRun, ScheduleStatus, CatalogServer, PermissionsServer, AgentUIServer, PermissionResourceType, ResourcePermission, AgentMetricsServer, AgentSessionsServer, ScheduleServer, AgentBuilderCapabilitiesResponse } from '@truefoundry/assistant-ui-runtime/server';
5
+ export { AgentBuilderCapabilitiesResponse, AgentBuilderServer, AgentChatServer, AgentDetail, AgentLibraryEntry, AgentMetricChartData, AgentMetricChartDataRequest, AgentMetricChartDefinition, AgentMetricChartType, AgentMetricGraph, AgentMetricGraphLine, AgentMetricMeter, AgentMetricPoint, AgentMetricRangeRequest, AgentMetricsServer, AgentSessionsServer, AgentSkill, AgentSpec, AgentUIServer, ApprovalDecision, AuthenticateConnectorRequest, CatalogServer, CodeSnippet, CodeSnippetSampleCode, ConnectorAuth, ConnectorAuthApiKey, ConnectorAuthNone, ConnectorAuthOAuth, ConnectorAuthPublic, ConnectorAuthPublicApiKey, ConnectorAuthPublicNone, ConnectorAuthPublicOAuth, ConnectorAuthType, ConnectorAuthenticationResult, ConnectorBase, ConnectorCatalogEntry, ConnectorCatalogServer, ConnectorConfigBase, ConnectorState, CreateConnectorRequest, CreateModelProviderRequest, CreateSandboxProviderRequest, CreateSessionRequest, CreateSkillRequest, CreateSkillRequestBase, CreatedBySubject, DefinedSkill, GithubSkill, ImportGithubSkillRequest, ListPermissionsRequest, ListPermissionsResponse, ListResult, ListSessionEventsParams, ListSessionsOrder, ListSessionsParams, McpServerMount, Model, ModelCatalogServer, ModelEntry, ModelParams, ModelProperties, ModelProviderBase, ModelProviderCatalogEntry, ModelProviderConfigBase, ModelSelection, ModelSelectorEntry, PageParams, PermissionResourceType, PermissionsServer, PreviousTurnIdInput, ProviderEntry, ProviderType, RegistrySkill, ResourcePermission, SandboxCatalogServer, SandboxProviderBase, SandboxProviderCatalogEntry, SandboxProviderConfig, SandboxProviderListEntry, SandboxSnapshotSyncStatus, SaveAgentRequest, SaveAgentResult, SearchAgentsParams, SelectRegistrySkillRequest, Session, SessionEventItem, SessionListEntry, SessionListMetrics, SkillBase, SkillCatalogEntry, SkillCatalogServer, SkillConfigBase, SkillMount, ToolBase, Turn, TurnDoneMetrics, TurnInputItem, TurnState, TurnStreamData, TurnStreamingEvent, UpdateConnectorRequest, UpdateModelProviderRequest, UpdateSandboxProviderRequest, UpdateSessionRequest, UserMessage, UserMessageContent, UserToolApprovalEvent, UserToolResponseEvent } from '@truefoundry/assistant-ui-runtime/server';
6
6
  import { TrueForgeApi } from '@truefoundry/trueforge-sdk';
7
7
  import { MessagePrimitive, ToolCallMessagePartComponent } from '@assistant-ui/react';
8
8
  export { AssistantState, useAui, useAuiState } from '@assistant-ui/react';
9
9
  import { UseTrueFoundryAgentRuntimeOptions, TrueFoundryAgentConfig } from '@truefoundry/assistant-ui-runtime';
10
- export { DraftAgentConfig, NamedAgentConfig, TrueFoundryAgentConfig, UseTrueFoundryAgentRuntimeOptions, mergeAgentSpec, trueFoundryAttachmentAdapter, useTrueFoundryAgentRuntime, useTrueFoundryAgentSpec, useTrueFoundryCancel, useTrueFoundryDownloadSandboxFile, useTrueFoundryHistoryPagination, useTrueFoundryMcpAuth, useTrueFoundryRespondToToolApproval, useTrueFoundryToolResponses, useTrueFoundryTurnId, useTrueFoundryUpdateAgentSpec } from '@truefoundry/assistant-ui-runtime';
11
- export { C as CreateTrueFoundryServerOptions, T as TrueFoundryServer, c as createTrueFoundryServer } from './createTrueFoundryServer-CmZnBh_l.js';
10
+ export { DraftAgentConfig, NamedAgentConfig, TrueFoundryAgentConfig, UseTrueFoundryAgentRuntimeOptions, mergeAgentSpec, trueFoundryAttachmentAdapter, useTrueFoundryAgentRuntime, useTrueFoundryAgentSpec, useTrueFoundryApprovals, useTrueFoundryCancel, useTrueFoundryDownloadSandboxFile, useTrueFoundryHistoryPagination, useTrueFoundryMcpAuth, useTrueFoundryRespondToToolApproval, useTrueFoundryToolResponses, useTrueFoundryTurnId, useTrueFoundryUpdateAgentSpec } from '@truefoundry/assistant-ui-runtime';
11
+ export { C as CreateTrueFoundryServerOptions, T as TrueFoundryServer, c as createTrueFoundryServer } from './createTrueFoundryServer-B_FYhSdn.js';
12
12
  import { PartState } from '@assistant-ui/core/react';
13
13
 
14
14
  type ThemeMode = 'light' | 'dark' | 'system';
15
15
  type ThemePreset = 'trueforge' | 'claude' | 'chatgpt' | 'gemini';
16
16
  type SemanticTokens = {
17
17
  sidebarBg: string;
18
+ sidebarText: string;
18
19
  topbarBg: string;
19
20
  primaryBg: string;
20
21
  secondaryBg: string;
@@ -459,7 +460,7 @@ type SessionMetrics = {
459
460
  toolCallFrequency: SessionMetricBarDatum[];
460
461
  };
461
462
 
462
- type LibraryAgentTab = 'overview' | 'sessions' | 'code' | 'metrics';
463
+ type LibraryAgentTab = 'overview' | 'sessions' | 'schedules' | 'code' | 'metrics';
463
464
  type SessionTimeRange = {
464
465
  startTs: number;
465
466
  endTs: number;
@@ -477,6 +478,7 @@ type AgentSessionsProps = {
477
478
  type AgentSessionListRowProps = {
478
479
  title: string;
479
480
  agentName?: string;
481
+ sourceType?: 'schedule';
480
482
  lastActivityAt: string;
481
483
  metrics: {
482
484
  totalTurns: number;
@@ -485,6 +487,10 @@ type AgentSessionListRowProps = {
485
487
  };
486
488
  active: boolean;
487
489
  onSelect: () => void;
490
+ /** Opens delete confirmation; does not call the API. */
491
+ onRequestDelete?: () => void;
492
+ /** When false, Delete is disabled via PermissionGuard. Defaults to true. */
493
+ canDelete?: boolean;
488
494
  };
489
495
  type AgentSessionDetailHeaderProps = {
490
496
  title: string;
@@ -502,6 +508,8 @@ type AgentSessionDetailHeaderProps = {
502
508
  onResume?: () => void;
503
509
  /** Label for the resume action. */
504
510
  resumeLabel?: string;
511
+ /** Whether the current user may resume this session. */
512
+ canResume?: boolean;
505
513
  };
506
514
  type AgentSessionTurnHeaderProps = {
507
515
  turnNumber: number;
@@ -539,10 +547,19 @@ type AgentDetailsTabsProps = {
539
547
  activeTab: AgentDetailsTab;
540
548
  onTabChange: (tab: AgentDetailsTab) => void;
541
549
  showMetrics?: boolean;
550
+ showSchedules?: boolean;
551
+ end?: ReactNode;
542
552
  };
543
553
  type AgentMetricsProps = {
544
554
  agentId: string;
545
- };
555
+ showTimeRangeFilter?: boolean;
556
+ } & ({
557
+ timeRange: SessionTimeRange;
558
+ onTimeRangeChange: (range: SessionTimeRange) => void;
559
+ } | {
560
+ timeRange?: undefined;
561
+ onTimeRangeChange?: undefined;
562
+ });
546
563
  type AgentMetricChartResult = {
547
564
  definition: AgentMetricChartDefinition;
548
565
  graphs?: AgentMetricGraph[];
@@ -556,6 +573,10 @@ type AgentMetricsViewProps = {
556
573
  chartsError?: string;
557
574
  timeRange: SessionTimeRange;
558
575
  onTimeRangeChange: (range: SessionTimeRange) => void;
576
+ showTimeRangeFilter?: boolean;
577
+ };
578
+ type AgentMetricStatisticsProps = {
579
+ meters: AgentMetricMeter[];
559
580
  };
560
581
  type AgentMetricsTimeRangeFilterProps = {
561
582
  timeRange: SessionTimeRange;
@@ -568,13 +589,14 @@ type AgentMetricChartProps = {
568
589
  graph?: AgentMetricGraph;
569
590
  definition: AgentMetricChartDefinition;
570
591
  error?: string;
592
+ colorIndex?: number;
571
593
  };
572
594
  type AgentOverviewProps = {
573
595
  detail: AgentDetail;
574
596
  };
575
597
  type AgentOverviewCardProps = {
576
598
  title: string;
577
- icon: string;
599
+ icon?: string;
578
600
  count?: number;
579
601
  children: ReactNode;
580
602
  };
@@ -611,7 +633,7 @@ declare module '../../theme/SlotsProvider.js' {
611
633
  }
612
634
  }
613
635
 
614
- declare function AgentDetailsTabs({ activeTab, onTabChange, showMetrics }: AgentDetailsTabsProps): react.JSX.Element;
636
+ declare function AgentDetailsTabs({ activeTab, onTabChange, showMetrics, showSchedules, end, }: AgentDetailsTabsProps): react.JSX.Element;
615
637
  declare module '../../theme/SlotsProvider.js' {
616
638
  interface AtomSlots {
617
639
  AgentDetailsTabs: typeof AgentDetailsTabs;
@@ -639,9 +661,11 @@ declare module '../../theme/SlotsProvider.js' {
639
661
  }
640
662
  }
641
663
 
642
- declare function AgentMetricsView({ meters, meterError, charts, chartsLoading, chartsError, timeRange, onTimeRangeChange, }: AgentMetricsViewProps): react.JSX.Element;
664
+ declare function AgentMetricStatistics({ meters }: AgentMetricStatisticsProps): react.JSX.Element;
665
+ declare function AgentMetricsView({ meters, meterError, charts, chartsLoading, chartsError, timeRange, onTimeRangeChange, showTimeRangeFilter, }: AgentMetricsViewProps): react.JSX.Element;
643
666
  declare module '../../theme/SlotsProvider.js' {
644
667
  interface AtomSlots {
668
+ AgentMetricStatistics: ComponentType<AgentMetricStatisticsProps>;
645
669
  AgentMetricsView: ComponentType<AgentMetricsViewProps>;
646
670
  }
647
671
  }
@@ -653,14 +677,14 @@ declare module '../../theme/SlotsProvider.js' {
653
677
  }
654
678
  }
655
679
 
656
- declare function AgentSessionDetailHeader({ title, sessionId, agentId, createdAt, view, onClose, resumeHref, onResume, resumeLabel, }: AgentSessionDetailHeaderProps): react.JSX.Element;
680
+ declare function AgentSessionDetailHeader({ title, sessionId, agentId, createdAt, view, onClose, resumeHref, onResume, resumeLabel, canResume, }: AgentSessionDetailHeaderProps): react.JSX.Element;
657
681
  declare module '../../theme/SlotsProvider.js' {
658
682
  interface AtomSlots {
659
683
  AgentSessionDetailHeader: typeof AgentSessionDetailHeader;
660
684
  }
661
685
  }
662
686
 
663
- declare function AgentSessionListRow({ title, agentName, lastActivityAt, metrics, active, onSelect, }: AgentSessionListRowProps): react.JSX.Element;
687
+ declare function AgentSessionListRow({ title, agentName, sourceType, lastActivityAt, metrics, active, onSelect, onRequestDelete, canDelete, }: AgentSessionListRowProps): react.JSX.Element;
664
688
  declare module '../../theme/SlotsProvider.js' {
665
689
  interface AtomSlots {
666
690
  AgentSessionListRow: typeof AgentSessionListRow;
@@ -708,12 +732,18 @@ type AgentsLibraryProps = {
708
732
  };
709
733
  type AgentScheduleSummary = {
710
734
  count: number;
711
- hasPaused: boolean;
735
+ pausedCount: number;
736
+ activeNames: string[];
737
+ pausedNames: string[];
712
738
  };
713
739
  type AgentLibraryRowProps = {
714
740
  agent: AgentLibraryEntry;
715
741
  canMutate: boolean;
742
+ canUseAgent?: boolean;
743
+ canManageAgent?: boolean;
744
+ canDeleteAgent?: boolean;
716
745
  canManageSchedules: boolean;
746
+ showCreatedBy?: boolean;
717
747
  scheduleSummary?: AgentScheduleSummary | null;
718
748
  onOpenSchedules?: () => void;
719
749
  onCreateSchedule?: () => void;
@@ -722,7 +752,7 @@ type AgentLibraryRowProps = {
722
752
  onEdit: () => void;
723
753
  onManageSchedules?: () => void;
724
754
  };
725
- declare function AgentLibraryRow({ agent, canMutate, canManageSchedules, scheduleSummary, onOpenSchedules, onCreateSchedule, onOpen, onTry, onEdit, onManageSchedules, }: AgentLibraryRowProps): react.JSX.Element;
755
+ declare function AgentLibraryRow({ agent, canMutate, canUseAgent, canManageAgent, canDeleteAgent, canManageSchedules, showCreatedBy, scheduleSummary, onOpenSchedules, onCreateSchedule, onOpen, onTry, onEdit, onManageSchedules, }: AgentLibraryRowProps): react.JSX.Element;
726
756
  declare function AgentsLibrary({ onSelectAgent }: AgentsLibraryProps): react.JSX.Element | null;
727
757
  declare module '../theme/SlotsProvider.js' {
728
758
  interface AtomSlots {
@@ -742,6 +772,25 @@ declare module '../theme/SlotsProvider.js' {
742
772
  }
743
773
  }
744
774
 
775
+ type ApprovalNavBannerProps = {
776
+ total: number;
777
+ /** 1-based index for display, e.g. 1 in "(1/4)". */
778
+ current: number;
779
+ canPrev: boolean;
780
+ canNext: boolean;
781
+ onPrev: () => void;
782
+ onNext: () => void;
783
+ /** Scroll the thread to the currently selected approval. */
784
+ onFocusCurrent: () => void;
785
+ className?: string;
786
+ };
787
+ declare function ApprovalNavBanner({ total, current, canPrev, canNext, onPrev, onNext, onFocusCurrent, className, }: ApprovalNavBannerProps): react.JSX.Element;
788
+ declare module '../theme/SlotsProvider.js' {
789
+ interface AtomSlots {
790
+ ApprovalNavBanner: typeof ApprovalNavBanner;
791
+ }
792
+ }
793
+
745
794
  type AssistantMessageBubbleProps = {
746
795
  children: ReactNode;
747
796
  error?: ReactNode;
@@ -805,8 +854,10 @@ type ChatFileDownloadProps = {
805
854
  fileDownloadBaseUrl?: string;
806
855
  onDownloadArtifact?: (path: string, filename: string) => Promise<void>;
807
856
  readOnly?: boolean;
857
+ /** Shown on hover when `readOnly` is true. */
858
+ readOnlyTooltip?: string;
808
859
  };
809
- declare function ChatFileDownload({ files, fileDownloadBaseUrl, onDownloadArtifact, readOnly }: ChatFileDownloadProps): react.JSX.Element;
860
+ declare function ChatFileDownload({ files, fileDownloadBaseUrl, onDownloadArtifact, readOnly, readOnlyTooltip, }: ChatFileDownloadProps): react.JSX.Element;
810
861
  declare module '../theme/SlotsProvider.js' {
811
862
  interface AtomSlots {
812
863
  ChatFileDownload: typeof ChatFileDownload;
@@ -945,12 +996,13 @@ type AgentConfigEditorsProps = {
945
996
  sandboxAvailable?: boolean;
946
997
  instructions?: string;
947
998
  onInstructionsSave?: (draft: AgentInstructionsDraft) => void;
999
+ loadMcpConnector?: (connectorId: string) => Promise<ConnectorState | undefined>;
948
1000
  loadMcpTools?: (connectorId: string) => Promise<McpToolSelection[]>;
949
1001
  onRefreshConnectors?: () => Promise<void>;
950
1002
  onChange: (spec: AgentSpec) => void;
951
1003
  onClose: () => void;
952
1004
  };
953
- declare function AgentConfigEditors({ editor, spec, models, connectors, skills, loading, error, skillsDisabled, sandboxAvailable, instructions, onInstructionsSave, loadMcpTools, onRefreshConnectors, onChange, onClose, }: AgentConfigEditorsProps): react.JSX.Element;
1005
+ declare function AgentConfigEditors({ editor, spec, models, connectors, skills, loading, error, skillsDisabled, sandboxAvailable, instructions, onInstructionsSave, loadMcpConnector, loadMcpTools, onRefreshConnectors, onChange, onClose, }: AgentConfigEditorsProps): react.JSX.Element;
954
1006
  declare module '../../theme/SlotsProvider.js' {
955
1007
  interface AtomSlots {
956
1008
  AgentConfigEditors: typeof AgentConfigEditors;
@@ -960,19 +1012,27 @@ declare module '../../theme/SlotsProvider.js' {
960
1012
  type AgentConfigPanelProps = {
961
1013
  spec: AgentSpec;
962
1014
  model?: ModelSelection;
1015
+ models: ModelSelection[];
1016
+ modelsLoading: boolean;
1017
+ modelsError: string | null;
1018
+ skills?: AgentSkill[];
963
1019
  skillsAvailable: boolean;
964
1020
  instructions: string;
965
1021
  onOpenEditor: (editor: AgentConfigEditor) => void;
966
1022
  onChange?: (spec: AgentSpec) => void;
967
1023
  onClose?: () => void;
1024
+ disabled?: boolean;
968
1025
  };
969
- declare function AgentConfigSection({ title, description, onEdit, children, }: {
970
- title: string;
1026
+ declare function AgentConfigSection({ title, description, icon, actionIcon, actionLabel, onEdit, children, }: {
1027
+ title?: string;
971
1028
  description?: string;
1029
+ icon?: string;
1030
+ actionIcon?: string;
1031
+ actionLabel?: string;
972
1032
  onEdit?: () => void;
973
- children: ReactNode;
1033
+ children?: ReactNode;
974
1034
  }): react.JSX.Element;
975
- declare function AgentConfigPanel({ spec, model, skillsAvailable, instructions, onOpenEditor, onChange, onClose, }: AgentConfigPanelProps): react.JSX.Element;
1035
+ declare function AgentConfigPanel({ spec, model, models, modelsLoading, modelsError, skills: catalogSkills, skillsAvailable, instructions, onOpenEditor, onChange, onClose, disabled, }: AgentConfigPanelProps): react.JSX.Element;
976
1036
  declare module '../../theme/SlotsProvider.js' {
977
1037
  interface AtomSlots {
978
1038
  AgentConfigPanel: typeof AgentConfigPanel;
@@ -980,21 +1040,37 @@ declare module '../../theme/SlotsProvider.js' {
980
1040
  }
981
1041
  }
982
1042
 
1043
+ type AgentCustomParametersEditorProps = {
1044
+ value: Record<string, unknown>;
1045
+ reservedKeys: ReadonlySet<string>;
1046
+ onChange: (value: Record<string, unknown>) => void;
1047
+ };
1048
+ declare function AgentCustomParametersEditor({ value, reservedKeys, onChange }: AgentCustomParametersEditorProps): react.JSX.Element;
1049
+ declare module '../../theme/SlotsProvider.js' {
1050
+ interface AtomSlots {
1051
+ AgentCustomParametersEditor: typeof AgentCustomParametersEditor;
1052
+ }
1053
+ }
1054
+
983
1055
  type AgentMcpEditorContentProps = {
984
1056
  spec: AgentSpec;
985
1057
  connectors: ConnectorState[];
986
1058
  query: string;
987
1059
  activeConnectorId: string | null;
988
1060
  tools: McpToolSelection[];
1061
+ /** Tools already loaded per connector id, so selected servers can show approval state. */
1062
+ toolsByConnector?: Record<string, McpToolSelection[]>;
1063
+ connectorLoading: boolean;
1064
+ connectorError: string | null;
989
1065
  toolsLoading: boolean;
990
1066
  toolsError: string | null;
991
1067
  onQueryChange: (query: string) => void;
992
1068
  onSelectConnector: (connectorId: string) => void;
993
1069
  onRetryTools: () => void;
994
- onRefreshConnectors?: () => Promise<void>;
1070
+ onRefreshConnector?: () => void;
995
1071
  onChange: (spec: AgentSpec) => void;
996
1072
  };
997
- declare function AgentMcpEditorContent({ spec, connectors, query, activeConnectorId, tools, toolsLoading, toolsError, onQueryChange, onSelectConnector, onRetryTools, onRefreshConnectors, onChange, }: AgentMcpEditorContentProps): react.JSX.Element;
1073
+ declare function AgentMcpEditorContent({ spec, connectors, query, activeConnectorId, tools, toolsByConnector, connectorLoading, connectorError, toolsLoading, toolsError, onQueryChange, onSelectConnector, onRetryTools, onRefreshConnector, onChange, }: AgentMcpEditorContentProps): react.JSX.Element;
998
1074
  declare module '../../theme/SlotsProvider.js' {
999
1075
  interface AtomSlots {
1000
1076
  AgentMcpEditorContent: typeof AgentMcpEditorContent;
@@ -1020,7 +1096,6 @@ declare module '../../theme/SlotsProvider.js' {
1020
1096
  }
1021
1097
 
1022
1098
  type AgentModelEditorContentProps = {
1023
- editor: 'model' | 'model-settings';
1024
1099
  spec: AgentSpec;
1025
1100
  models: ModelSelection[];
1026
1101
  loading: boolean;
@@ -1029,7 +1104,7 @@ type AgentModelEditorContentProps = {
1029
1104
  onQueryChange: (query: string) => void;
1030
1105
  onChange: (spec: AgentSpec) => void;
1031
1106
  };
1032
- declare function AgentModelEditorContent({ editor, spec, models, loading, error, query, onQueryChange, onChange, }: AgentModelEditorContentProps): react.JSX.Element;
1107
+ declare function AgentModelEditorContent({ spec, models, loading, error, query, onQueryChange, onChange, }: AgentModelEditorContentProps): react.JSX.Element;
1033
1108
  declare module '../../theme/SlotsProvider.js' {
1034
1109
  interface AtomSlots {
1035
1110
  AgentModelEditorContent: typeof AgentModelEditorContent;
@@ -1057,12 +1132,15 @@ type AgentResourceConfigModalProps = {
1057
1132
  query: string;
1058
1133
  activeConnectorId: string | null;
1059
1134
  tools: McpToolSelection[];
1135
+ toolsByConnector?: Record<string, McpToolSelection[]>;
1136
+ connectorLoading: boolean;
1137
+ connectorError: string | null;
1060
1138
  toolsLoading: boolean;
1061
1139
  toolsError: string | null;
1062
1140
  onQueryChange: (query: string) => void;
1063
1141
  onSelectConnector: (connectorId: string) => void;
1064
1142
  onRetryTools: () => void;
1065
- onRefreshConnectors?: () => Promise<void>;
1143
+ onRefreshConnector?: () => void;
1066
1144
  onChange: (spec: AgentSpec) => void;
1067
1145
  onClose: () => void;
1068
1146
  };
@@ -1082,12 +1160,15 @@ type AgentResourceEditorContentProps = {
1082
1160
  query: string;
1083
1161
  activeConnectorId: string | null;
1084
1162
  tools: McpToolSelection[];
1163
+ toolsByConnector?: Record<string, McpToolSelection[]>;
1164
+ connectorLoading: boolean;
1165
+ connectorError: string | null;
1085
1166
  toolsLoading: boolean;
1086
1167
  toolsError: string | null;
1087
1168
  onQueryChange: (query: string) => void;
1088
1169
  onSelectConnector: (connectorId: string) => void;
1089
1170
  onRetryTools: () => void;
1090
- onRefreshConnectors?: () => Promise<void>;
1171
+ onRefreshConnector?: () => void;
1091
1172
  onChange: (spec: AgentSpec) => void;
1092
1173
  };
1093
1174
  declare function AgentResourceEditorContent(props: AgentResourceEditorContentProps): react.JSX.Element;
@@ -1097,6 +1178,20 @@ declare module '../../theme/SlotsProvider.js' {
1097
1178
  }
1098
1179
  }
1099
1180
 
1181
+ type AgentRuntimeConfigDrawerProps = {
1182
+ open: boolean;
1183
+ spec: AgentSpec;
1184
+ sandboxAvailable: boolean;
1185
+ onChange: (spec: AgentSpec) => void;
1186
+ onClose: () => void;
1187
+ };
1188
+ declare function AgentRuntimeConfigDrawer({ open, spec, sandboxAvailable, onChange, onClose, }: AgentRuntimeConfigDrawerProps): react.JSX.Element;
1189
+ declare module '../../theme/SlotsProvider.js' {
1190
+ interface AtomSlots {
1191
+ AgentRuntimeConfigDrawer: typeof AgentRuntimeConfigDrawer;
1192
+ }
1193
+ }
1194
+
1100
1195
  type AgentRuntimeConfigFieldsProps = {
1101
1196
  value: AgentRuntimeConfig;
1102
1197
  sandboxAvailable: boolean;
@@ -1113,20 +1208,6 @@ declare module '../../theme/SlotsProvider.js' {
1113
1208
  }
1114
1209
  }
1115
1210
 
1116
- type AgentRuntimeConfigModalProps = {
1117
- open: boolean;
1118
- spec: AgentSpec;
1119
- sandboxAvailable: boolean;
1120
- onChange: (spec: AgentSpec) => void;
1121
- onClose: () => void;
1122
- };
1123
- declare function AgentRuntimeConfigModal({ open, spec, sandboxAvailable, onChange, onClose, }: AgentRuntimeConfigModalProps): react.JSX.Element;
1124
- declare module '../../theme/SlotsProvider.js' {
1125
- interface AtomSlots {
1126
- AgentRuntimeConfigModal: typeof AgentRuntimeConfigModal;
1127
- }
1128
- }
1129
-
1130
1211
  type AgentRuntimeEditorContentProps = {
1131
1212
  spec: AgentSpec;
1132
1213
  sandboxAvailable: boolean;
@@ -1184,6 +1265,23 @@ declare module '../../theme/SlotsProvider.js' {
1184
1265
  }
1185
1266
  }
1186
1267
 
1268
+ type DraftComposerAction = {
1269
+ id: string;
1270
+ label: string;
1271
+ icon: string;
1272
+ onSelect: () => void;
1273
+ };
1274
+ type DraftComposerActionsMenuProps = {
1275
+ actions: DraftComposerAction[];
1276
+ disabled?: boolean;
1277
+ };
1278
+ declare function DraftComposerActionsMenu({ actions, disabled }: DraftComposerActionsMenuProps): react.JSX.Element | null;
1279
+ declare module '../../theme/SlotsProvider.js' {
1280
+ interface AtomSlots {
1281
+ DraftComposerActionsMenu: typeof DraftComposerActionsMenu;
1282
+ }
1283
+ }
1284
+
1187
1285
  declare function DraftComposerLeftSection({ disabled, isRunning, onAttach }: ComposerLeftSectionProps): react.JSX.Element;
1188
1286
  declare function DraftComposerRightSection({ disabled, isRunning }: ComposerRightSectionProps): react.JSX.Element;
1189
1287
  declare module '../../theme/SlotsProvider.js' {
@@ -1193,9 +1291,13 @@ declare module '../../theme/SlotsProvider.js' {
1193
1291
  }
1194
1292
  }
1195
1293
 
1196
- declare function CatalogRow({ title, description, checked, disabled, onToggle, onActivate, action, }: {
1294
+ declare function CatalogRow({ title, description, badge, logo, fallbackIcon, checked, disabled, onToggle, onActivate, action, }: {
1197
1295
  title: string;
1198
1296
  description?: string;
1297
+ badge?: ReactNode;
1298
+ /** Catalog logo URL; when absent, `fallbackIcon` (or the title initial) is shown. */
1299
+ logo?: string | undefined;
1300
+ fallbackIcon?: string;
1199
1301
  checked: boolean;
1200
1302
  disabled?: boolean;
1201
1303
  onToggle: () => void;
@@ -1242,9 +1344,11 @@ type MarkdownProps = {
1242
1344
  onDownloadArtifact?: (path: string, filename: string) => Promise<void>;
1243
1345
  /** When true, download actions in sandbox artifact blocks are hidden/disabled. */
1244
1346
  readOnly?: boolean;
1347
+ /** Shown on hover over sandbox artifact filenames when `readOnly` is true. */
1348
+ sandboxDownloadReadOnlyTooltip?: string;
1245
1349
  className?: string;
1246
1350
  };
1247
- declare function Markdown({ content, isStreaming, fileDownloadBaseUrl, onDownloadArtifact, readOnly, className, }: MarkdownProps): react.JSX.Element;
1351
+ declare function Markdown({ content, isStreaming, fileDownloadBaseUrl, onDownloadArtifact, readOnly, sandboxDownloadReadOnlyTooltip, className, }: MarkdownProps): react.JSX.Element;
1248
1352
  declare module '../theme/SlotsProvider.js' {
1249
1353
  interface AtomSlots {
1250
1354
  Markdown: typeof Markdown;
@@ -1308,13 +1412,29 @@ declare module '../theme/SlotsProvider.js' {
1308
1412
  }
1309
1413
  }
1310
1414
 
1415
+ type PermissionGuardProps = {
1416
+ allowed: boolean;
1417
+ children: ReactElement<{
1418
+ disabled?: boolean;
1419
+ }>;
1420
+ deniedMessage?: string;
1421
+ };
1422
+ declare function PermissionGuard({ allowed, children, deniedMessage, }: PermissionGuardProps): react.JSX.Element;
1423
+ declare module '../theme/SlotsProvider.js' {
1424
+ interface AtomSlots {
1425
+ PermissionGuard: typeof PermissionGuard;
1426
+ }
1427
+ }
1428
+
1311
1429
  type SandboxArtifactDownloadProps = {
1312
1430
  code: string;
1313
1431
  fileDownloadBaseUrl?: string;
1314
1432
  onDownloadArtifact?: (path: string, filename: string) => Promise<void>;
1315
1433
  readOnly?: boolean;
1434
+ /** Shown on hover when `readOnly` is true. */
1435
+ sandboxDownloadReadOnlyTooltip?: string;
1316
1436
  };
1317
- declare function SandboxArtifactDownload({ code, fileDownloadBaseUrl, onDownloadArtifact, readOnly, }: SandboxArtifactDownloadProps): react.JSX.Element | null;
1437
+ declare function SandboxArtifactDownload({ code, fileDownloadBaseUrl, onDownloadArtifact, readOnly, sandboxDownloadReadOnlyTooltip, }: SandboxArtifactDownloadProps): react.JSX.Element | null;
1318
1438
  declare module '../theme/SlotsProvider.js' {
1319
1439
  interface AtomSlots {
1320
1440
  SandboxArtifactDownload: typeof SandboxArtifactDownload;
@@ -1337,6 +1457,8 @@ type ToolCallCardProps = {
1337
1457
  showResponseLine?: boolean;
1338
1458
  responseIcon?: ReactNode;
1339
1459
  approvalSlot?: ReactNode;
1460
+ /** When set, this card is the scroll/flash target for approval banner navigation. */
1461
+ approvalId?: string;
1340
1462
  requestSlot?: ReactNode;
1341
1463
  responseSlot?: ReactNode;
1342
1464
  highlightCard?: boolean;
@@ -1344,7 +1466,7 @@ type ToolCallCardProps = {
1344
1466
  mcpServerName?: string;
1345
1467
  dataTestPrefix?: string;
1346
1468
  };
1347
- declare function ToolCallCard({ icon, iconClassName, iconVariant, toolName, expanded, onToggle, awaiting, awaitingText, status: explicitStatus, exitCode, showExpandChevron, showResponseLine, approvalSlot, requestSlot, responseSlot, highlightCard, className, mcpServerName: _mcpServerName, dataTestPrefix, }: ToolCallCardProps): react.JSX.Element;
1469
+ declare function ToolCallCard({ icon, iconClassName, iconVariant, toolName, expanded, onToggle, awaiting, awaitingText, status: explicitStatus, exitCode, showExpandChevron, showResponseLine, approvalSlot, approvalId, requestSlot, responseSlot, highlightCard, className, mcpServerName: _mcpServerName, dataTestPrefix, }: ToolCallCardProps): react.JSX.Element;
1348
1470
  declare module '../theme/SlotsProvider.js' {
1349
1471
  interface AtomSlots {
1350
1472
  ToolCallCard: typeof ToolCallCard;
@@ -1366,10 +1488,13 @@ type SandboxToolCallCardProps = {
1366
1488
  hasContent?: boolean;
1367
1489
  onViewModeChange?: (viewMode: 'terminal' | 'code') => void;
1368
1490
  durationText?: string;
1491
+ approvalSlot?: ReactNode;
1492
+ /** When set, this card is the scroll/flash target for approval banner navigation. */
1493
+ approvalId?: string;
1369
1494
  dataTestPrefix?: string;
1370
1495
  className?: string;
1371
1496
  };
1372
- declare function SandboxToolCallCard({ name, intent, status, expanded, onToggle, command, exitCode, argsJson, resultText, resultJson, viewMode, hasContent, onViewModeChange, durationText, dataTestPrefix, className, }: SandboxToolCallCardProps): react.JSX.Element;
1497
+ declare function SandboxToolCallCard({ name, intent, status, expanded, onToggle, command, exitCode, argsJson, resultText, resultJson, viewMode, hasContent, onViewModeChange, durationText, approvalSlot, approvalId, dataTestPrefix, className, }: SandboxToolCallCardProps): react.JSX.Element;
1373
1498
  declare module '../theme/SlotsProvider.js' {
1374
1499
  interface AtomSlots {
1375
1500
  SandboxToolCallCard: typeof SandboxToolCallCard;
@@ -1390,50 +1515,33 @@ declare module '../theme/SlotsProvider.js' {
1390
1515
  }
1391
1516
  }
1392
1517
 
1393
- type EditableMount = {
1394
- id: string;
1395
- name: string;
1396
- value: object;
1397
- };
1398
-
1399
1518
  type SaveAgentFormProps = {
1400
1519
  intent: 'create' | 'update';
1401
1520
  name: string;
1521
+ description: string;
1402
1522
  spec: AgentSpec;
1403
- modelEntry?: ModelSelection;
1404
- mcpMounts: EditableMount[];
1405
- skillMounts: EditableMount[];
1406
1523
  saving: boolean;
1407
1524
  error: string | null;
1408
1525
  onNameChange: (name: string) => void;
1409
- onChange: (spec: AgentSpec) => void;
1410
- onEdit: (editor: AgentConfigEditor) => void;
1411
- onToggleMcpPreload: (id: string) => void;
1412
- onRemoveMcp?: (id: string) => void;
1526
+ onDescriptionChange: (description: string) => void;
1413
1527
  onCancel: () => void;
1414
1528
  onSave: () => void;
1415
1529
  };
1416
- declare function SaveAgentForm({ intent, name, spec, modelEntry, mcpMounts, skillMounts, saving, error, onNameChange, onChange, onEdit, onToggleMcpPreload, onRemoveMcp, onCancel, onSave, }: SaveAgentFormProps): react.JSX.Element;
1530
+ declare function SaveAgentForm({ intent, name, description, spec, saving, error, onNameChange, onDescriptionChange, onCancel, onSave, }: SaveAgentFormProps): react.JSX.Element;
1417
1531
  declare module '../theme/SlotsProvider.js' {
1418
1532
  interface AtomSlots {
1419
1533
  SaveAgentForm: typeof SaveAgentForm;
1420
1534
  }
1421
1535
  }
1422
1536
 
1423
- type SaveAgentFormFieldsProps = {
1424
- spec: AgentSpec;
1425
- modelEntry?: ModelSelection;
1426
- mcpMounts: EditableMount[];
1427
- skillMounts: EditableMount[];
1428
- disabled: boolean;
1429
- onEdit: (editor: AgentConfigEditor) => void;
1430
- onToggleMcpPreload: (id: string) => void;
1431
- onRemoveMcp?: (id: string) => void;
1537
+ type SchedulesPageProps = {
1538
+ /** Lock the page to one agent when embedded in Agent Details. */
1539
+ agentId?: string;
1432
1540
  };
1433
- declare function SaveAgentFormFields({ spec, modelEntry, mcpMounts, skillMounts, disabled, onEdit, onToggleMcpPreload, onRemoveMcp, }: SaveAgentFormFieldsProps): react.JSX.Element;
1434
- declare module '../theme/SlotsProvider.js' {
1541
+ declare function SchedulesPage({ agentId }: SchedulesPageProps): react.JSX.Element;
1542
+ declare module '../../theme/SlotsProvider.js' {
1435
1543
  interface AtomSlots {
1436
- SaveAgentFormFields: typeof SaveAgentFormFields;
1544
+ SchedulesPage: ComponentType<SchedulesPageProps>;
1437
1545
  }
1438
1546
  }
1439
1547
 
@@ -1522,7 +1630,7 @@ type ThreadListEmptyStateProps = {
1522
1630
  };
1523
1631
  declare function ThreadListEmptyState({ message, className }: ThreadListEmptyStateProps): react.JSX.Element;
1524
1632
  type ThreadListShellProps = {
1525
- header: ReactNode;
1633
+ header?: ReactNode;
1526
1634
  children: ReactNode;
1527
1635
  className?: string;
1528
1636
  };
@@ -1653,16 +1761,28 @@ declare module '../theme/SlotsProvider.js' {
1653
1761
  }
1654
1762
  }
1655
1763
 
1764
+ type UserAvatarProps = {
1765
+ labeled?: boolean;
1766
+ className?: string;
1767
+ };
1768
+ declare function UserAvatar({ labeled, className }: UserAvatarProps): react.JSX.Element | null;
1769
+ declare module '../theme/SlotsProvider.js' {
1770
+ interface AtomSlots {
1771
+ UserAvatar: typeof UserAvatar;
1772
+ }
1773
+ }
1774
+
1656
1775
  type UserMessageActionBarProps = {
1657
1776
  isCopied: boolean;
1658
1777
  editDisabled?: boolean;
1778
+ retryDisabled?: boolean;
1659
1779
  createdAt?: Date | string;
1660
1780
  onCopy: () => void;
1661
1781
  onEdit: () => void;
1662
1782
  onRetry: () => void;
1663
1783
  className?: string;
1664
1784
  };
1665
- declare function UserMessageActionBar({ isCopied, editDisabled, createdAt, onCopy, onEdit, onRetry, className, }: UserMessageActionBarProps): react.JSX.Element;
1785
+ declare function UserMessageActionBar({ isCopied, editDisabled, retryDisabled, createdAt, onCopy, onEdit, onRetry, className, }: UserMessageActionBarProps): react.JSX.Element;
1666
1786
  declare module '../theme/SlotsProvider.js' {
1667
1787
  interface AtomSlots {
1668
1788
  UserMessageActionBar: typeof UserMessageActionBar;
@@ -1694,7 +1814,7 @@ declare module '../theme/SlotsProvider.js' {
1694
1814
  }
1695
1815
  }
1696
1816
 
1697
- declare function AgentMetricsContainer({ agentId }: AgentMetricsProps): react.JSX.Element;
1817
+ declare function AgentMetricsContainer({ agentId, timeRange: controlledTimeRange, onTimeRangeChange, showTimeRangeFilter, }: AgentMetricsProps): react.JSX.Element;
1698
1818
  declare module '../theme/SlotsProvider.js' {
1699
1819
  interface AtomSlots {
1700
1820
  AgentMetrics: ComponentType<AgentMetricsProps>;
@@ -1727,10 +1847,13 @@ declare const defaultSlots: {
1727
1847
  ComposerLeftSection: typeof ComposerLeftSection;
1728
1848
  ComposerRightSection: typeof ComposerRightSection;
1729
1849
  ComposerSendButton: typeof ComposerSendButton;
1850
+ PermissionGuard: typeof PermissionGuard;
1730
1851
  DraftComposerLeftSection: typeof DraftComposerLeftSection;
1731
1852
  DraftComposerRightSection: typeof DraftComposerRightSection;
1732
1853
  DraftAgentConfigTrigger: typeof DraftAgentConfigTrigger;
1733
1854
  DraftCapabilitiesPanel: typeof DraftCapabilitiesPanel;
1855
+ DraftComposerActionsMenu: typeof DraftComposerActionsMenu;
1856
+ AgentCustomParametersEditor: typeof AgentCustomParametersEditor;
1734
1857
  AgentConfigEditors: typeof AgentConfigEditors;
1735
1858
  AgentInstructionsDrawer: typeof AgentInstructionsDrawer;
1736
1859
  AgentModelEditorContent: typeof AgentModelEditorContent;
@@ -1743,7 +1866,7 @@ declare const defaultSlots: {
1743
1866
  AgentConfigPanel: typeof AgentConfigPanel;
1744
1867
  AgentConfigSection: typeof AgentConfigSection;
1745
1868
  AgentRuntimeConfigFields: typeof AgentRuntimeConfigFields;
1746
- AgentRuntimeConfigModal: typeof AgentRuntimeConfigModal;
1869
+ AgentRuntimeConfigDrawer: typeof AgentRuntimeConfigDrawer;
1747
1870
  AgentRuntimeEditorContent: typeof AgentRuntimeEditorContent;
1748
1871
  DraftCompositeSelector: typeof DraftCompositeSelector;
1749
1872
  CatalogRow: typeof CatalogRow;
@@ -1785,6 +1908,7 @@ declare const defaultSlots: {
1785
1908
  AgentsLibrary: typeof AgentsLibrary;
1786
1909
  AgentLibraryRow: typeof AgentLibraryRow;
1787
1910
  AgentsLibraryButton: typeof AgentsLibraryButton;
1911
+ ApprovalNavBanner: typeof ApprovalNavBanner;
1788
1912
  SessionsBrowserButton: typeof SessionsBrowserButton;
1789
1913
  AgentDetailsPage: typeof AgentDetailsPage;
1790
1914
  AgentDetailsHeader: typeof AgentDetailsHeader;
@@ -1796,6 +1920,7 @@ declare const defaultSlots: {
1796
1920
  AgentMetricsView: typeof AgentMetricsView;
1797
1921
  AgentMetricsTimeRangeFilter: typeof AgentMetricsTimeRangeFilter;
1798
1922
  AgentMetricCard: typeof AgentMetricCard;
1923
+ AgentMetricStatistics: typeof AgentMetricStatistics;
1799
1924
  AgentMetricChart: react.FunctionComponent<AgentMetricChartProps>;
1800
1925
  AgentSessionDetailHeader: typeof AgentSessionDetailHeader;
1801
1926
  AgentSessionsFilters: typeof AgentSessionsFilters;
@@ -1809,10 +1934,10 @@ declare const defaultSlots: {
1809
1934
  AgentSessions: react.FunctionComponent<AgentSessionsProps>;
1810
1935
  AgentCodeSnippets: react.FunctionComponent<AgentCodeSnippetsProps>;
1811
1936
  AgentCodeBlock: typeof AgentCodeBlock;
1937
+ SchedulesPage: react.FunctionComponent<SchedulesPageProps>;
1812
1938
  SchedulesButton: typeof SchedulesButton;
1813
1939
  SaveAgentButton: typeof SaveAgentButton;
1814
1940
  SaveAgentForm: typeof SaveAgentForm;
1815
- SaveAgentFormFields: typeof SaveAgentFormFields;
1816
1941
  SelectAgentEmptyState: typeof SelectAgentEmptyState;
1817
1942
  ClearChatButton: typeof ClearChatButton;
1818
1943
  ThreadListRowSkeleton: typeof ThreadListRowSkeleton;
@@ -1827,6 +1952,7 @@ declare const defaultSlots: {
1827
1952
  Toast: typeof Toast;
1828
1953
  ToastStack: typeof ToastStack;
1829
1954
  ShellActionsActionSlot: typeof ShellActionsActionSlot;
1955
+ UserAvatar: typeof UserAvatar;
1830
1956
  };
1831
1957
 
1832
1958
  type PresetTokens = {
@@ -1887,8 +2013,8 @@ type BottomSheetProps = {
1887
2013
  };
1888
2014
  declare function BottomSheet({ open, onOpenChange, children, className, id, 'aria-label': ariaLabel, }: BottomSheetProps): react.JSX.Element;
1889
2015
 
1890
- type AuiButtonVariant = 'default' | 'secondary' | 'ghost' | 'destructive' | 'outline';
1891
- type AuiButtonSize = 'default' | 'sm' | 'lg' | 'icon';
2016
+ type AuiButtonVariant = 'primary' | 'secondary' | 'ghost' | 'destructive';
2017
+ type AuiButtonSize = 'large' | 'small' | 'icon';
1892
2018
 
1893
2019
  type ButtonVariant = AuiButtonVariant;
1894
2020
  type ButtonSize = AuiButtonSize;
@@ -1897,6 +2023,17 @@ type ButtonProps = react__default.ButtonHTMLAttributes<HTMLButtonElement> & {
1897
2023
  size?: ButtonSize;
1898
2024
  asChild?: never;
1899
2025
  };
2026
+ type FixedVariantButtonProps = Omit<ButtonProps, 'variant'>;
2027
+ declare const Button: react__default.ForwardRefExoticComponent<react__default.ButtonHTMLAttributes<HTMLButtonElement> & {
2028
+ variant?: ButtonVariant;
2029
+ size?: ButtonSize;
2030
+ asChild?: never;
2031
+ } & react__default.RefAttributes<HTMLButtonElement>> & {
2032
+ Primary: react__default.ForwardRefExoticComponent<FixedVariantButtonProps & react__default.RefAttributes<HTMLButtonElement>>;
2033
+ Secondary: react__default.ForwardRefExoticComponent<FixedVariantButtonProps & react__default.RefAttributes<HTMLButtonElement>>;
2034
+ Ghost: react__default.ForwardRefExoticComponent<FixedVariantButtonProps & react__default.RefAttributes<HTMLButtonElement>>;
2035
+ Destructive: react__default.ForwardRefExoticComponent<FixedVariantButtonProps & react__default.RefAttributes<HTMLButtonElement>>;
2036
+ };
1900
2037
 
1901
2038
  type CenteredModalProps = {
1902
2039
  open: boolean;
@@ -1922,6 +2059,7 @@ type IconButtonProps = Omit<ButtonProps, 'size' | 'children'> & {
1922
2059
  children: react__default.ReactNode;
1923
2060
  };
1924
2061
 
2062
+ type MenuPlacement = 'top' | 'bottom';
1925
2063
  type PopoverSelectOption<T extends string> = {
1926
2064
  value: T;
1927
2065
  label: string;
@@ -1932,10 +2070,13 @@ type CommonPopoverSelectProps<T extends string> = {
1932
2070
  placeholder?: string;
1933
2071
  disabled?: boolean;
1934
2072
  className?: string;
1935
- /** Which edge of the trigger the menu opens toward. Default `bottom`. */
1936
- menuPlacement?: 'top' | 'bottom';
2073
+ menuClassName?: string;
2074
+ /** Preferred open edge; flips when that side lacks room. Default `bottom`. */
2075
+ menuPlacement?: MenuPlacement;
1937
2076
  /** When set, renders a labeled chip trigger (label | value chip + chevron). */
1938
2077
  prefix?: string;
2078
+ emptyContent?: ReactNode;
2079
+ footer?: ReactNode;
1939
2080
  'aria-label': string;
1940
2081
  };
1941
2082
  type PopoverSelectProps<T extends string> = CommonPopoverSelectProps<T> & ({
@@ -1949,6 +2090,38 @@ type PopoverSelectProps<T extends string> = CommonPopoverSelectProps<T> & ({
1949
2090
  });
1950
2091
  declare function PopoverSelect<T extends string>(props: PopoverSelectProps<T>): react.JSX.Element;
1951
2092
 
2093
+ type DropdownMenuProps = {
2094
+ trigger: react__default.ReactNode;
2095
+ children: react__default.ReactNode;
2096
+ align?: 'start' | 'end';
2097
+ side?: 'top' | 'bottom';
2098
+ className?: string;
2099
+ containerClassName?: string;
2100
+ open?: boolean;
2101
+ onOpenChange?: (open: boolean) => void;
2102
+ closeOnClick?: boolean;
2103
+ lockScroll?: boolean;
2104
+ };
2105
+
2106
+ type ResponsiveDropdownTriggerProps = {
2107
+ 'aria-controls'?: string;
2108
+ 'aria-expanded'?: boolean;
2109
+ 'aria-haspopup'?: 'dialog' | 'menu';
2110
+ onClick?: MouseEventHandler<HTMLElement>;
2111
+ };
2112
+ type ResponsiveDropdownMenuProps = Omit<DropdownMenuProps, 'children' | 'open' | 'onOpenChange' | 'trigger'> & {
2113
+ trigger: ReactElement<ResponsiveDropdownTriggerProps>;
2114
+ children: ReactNode;
2115
+ open?: boolean;
2116
+ onOpenChange?: (open: boolean) => void;
2117
+ sheetLabel: string;
2118
+ sheetClassName?: string;
2119
+ };
2120
+ /**
2121
+ * Uses dropdown chrome normally and a container-bound bottom sheet in compact layouts.
2122
+ */
2123
+ declare function ResponsiveDropdownMenu({ trigger, children, open: controlledOpen, onOpenChange, sheetLabel, sheetClassName, containerClassName, closeOnClick, ...dropdownProps }: ResponsiveDropdownMenuProps): react.JSX.Element;
2124
+
1952
2125
  type SideDrawerAnchor = 'left' | 'right';
1953
2126
  type SideDrawerSize = 'sm' | 'md' | 'lg' | 'xl';
1954
2127
  type SideDrawerProps = {
@@ -2048,14 +2221,13 @@ type ScheduleFormFieldsProps = {
2048
2221
  values: ScheduleFormValues;
2049
2222
  onChange: (next: ScheduleFormValues) => void;
2050
2223
  agentId: string;
2224
+ agentLabel: string;
2051
2225
  onAgentIdChange?: (agentId: string) => void;
2052
- agentOptions: Array<{
2053
- agentId: string;
2054
- name: string;
2055
- }>;
2226
+ onAgentPicked?: (agent: AgentLibraryEntry) => void;
2056
2227
  agentPickerDisabled?: boolean;
2228
+ onBuildAgent?: () => void;
2057
2229
  };
2058
- declare function ScheduleFormFields({ values, onChange, agentId, onAgentIdChange, agentOptions, agentPickerDisabled, }: ScheduleFormFieldsProps): react.JSX.Element;
2230
+ declare function ScheduleFormFields({ values, onChange, agentId, agentLabel, onAgentIdChange, onAgentPicked, agentPickerDisabled, onBuildAgent, }: ScheduleFormFieldsProps): react.JSX.Element;
2059
2231
 
2060
2232
  declare function ScheduleLastRunsCell({ runs }: {
2061
2233
  runs: readonly ScheduleRun[];
@@ -2065,8 +2237,6 @@ declare function ScheduleRunChip({ run }: {
2065
2237
  run: ScheduleRun;
2066
2238
  }): react.JSX.Element;
2067
2239
 
2068
- declare function SchedulesPage(): react.JSX.Element;
2069
-
2070
2240
  declare function ScheduleStatusBadge({ status }: {
2071
2241
  status: ScheduleStatus;
2072
2242
  }): react.JSX.Element;
@@ -2107,7 +2277,12 @@ interface AgentStepsContainerProps {
2107
2277
  */
2108
2278
  declare function AgentStepsContainer({ children, toolCount, thinkingCount, hasFinal, }: PropsWithChildren<AgentStepsContainerProps>): react.JSX.Element;
2109
2279
 
2110
- declare function AskUserContainer(): react.JSX.Element | null;
2280
+ /** Composer banner that navigates pending tool approvals. */
2281
+ declare function ApprovalNavContainer(): react.JSX.Element | null;
2282
+
2283
+ declare function AskUserContainer({ disabled }: {
2284
+ disabled?: boolean;
2285
+ }): react.JSX.Element | null;
2111
2286
 
2112
2287
  declare function AssistantMessageContainer(): react.JSX.Element;
2113
2288
 
@@ -2123,7 +2298,9 @@ type ComposerContainerProps = {
2123
2298
  declare function ComposerContainer({ placeholder, }: ComposerContainerProps): react.JSX.Element;
2124
2299
 
2125
2300
  /** Host custom-action UI for a pending client-side tool response. */
2126
- declare function CustomActionContainer(): react.JSX.Element | null;
2301
+ declare function CustomActionContainer({ disabled }: {
2302
+ disabled?: boolean;
2303
+ }): react.JSX.Element | null;
2127
2304
 
2128
2305
  /**
2129
2306
  * Renders `HistoryLoader` at the top of the message list and fetches
@@ -2135,7 +2312,9 @@ declare function CustomActionContainer(): react.JSX.Element | null;
2135
2312
  */
2136
2313
  declare function HistoryLoaderContainer(): react.JSX.Element | null;
2137
2314
 
2138
- declare function McpAuthContainer(): react.JSX.Element | null;
2315
+ declare function McpAuthContainer({ disabled }: {
2316
+ disabled?: boolean;
2317
+ }): react.JSX.Element | null;
2139
2318
 
2140
2319
  declare const PostMcpOauthScreen: () => react.JSX.Element;
2141
2320
 
@@ -2169,8 +2348,10 @@ declare function ThreadContainer({ composer }: ThreadContainerProps): react.JSX.
2169
2348
  type ThreadListContainerProps = {
2170
2349
  /** Called after New chat or selecting a row — used by stack/drawer chrome. */
2171
2350
  onThreadOpen?: () => void;
2351
+ /** `recent-history` hides navigation and lists only persisted sessions. */
2352
+ variant?: 'default' | 'recent-history';
2172
2353
  };
2173
- declare function ThreadListContainer({ onThreadOpen }?: ThreadListContainerProps): react.JSX.Element;
2354
+ declare function ThreadListContainer({ onThreadOpen, variant }?: ThreadListContainerProps): react.JSX.Element;
2174
2355
 
2175
2356
  type ToastContent = {
2176
2357
  title: string;
@@ -2209,6 +2390,13 @@ declare const ToolCallContainer: ToolCallMessagePartComponent;
2209
2390
 
2210
2391
  declare function ToolCallContentBlockContainer(props: ToolCallContentBlockProps): react.JSX.Element;
2211
2392
 
2393
+ type CurrentUser = {
2394
+ displayName: string;
2395
+ };
2396
+ declare function useOptionalCurrentUser(): CurrentUser | undefined;
2397
+
2398
+ type HistoryAgentIntent = 'try-agent' | 'history';
2399
+
2212
2400
  type DraftPreferenceKind = 'chat' | 'agent';
2213
2401
 
2214
2402
  /** Host-facing shell configuration for agent / library / composer chrome. */
@@ -2243,6 +2431,8 @@ type ShellMode = {
2243
2431
  agentId?: string;
2244
2432
  /** Display / welcome label (often same as agentId). */
2245
2433
  agentName?: string;
2434
+ /** Published-agent description, kept outside the executable agent spec. */
2435
+ description?: string;
2246
2436
  /** Seed for mutable (draft) runtime. */
2247
2437
  agentSpec?: AgentSpec;
2248
2438
  locked: boolean;
@@ -2256,9 +2446,15 @@ type SelectLibraryAgentRequest = {
2256
2446
  isCreateAgent?: boolean;
2257
2447
  agentId?: string;
2258
2448
  agentName?: string;
2449
+ description?: string;
2259
2450
  agentSpec?: AgentSpec;
2260
2451
  };
2261
2452
  type SettingsSection = 'models' | 'connectors' | 'skills' | 'sandbox';
2453
+ type HistoryAgentFilter = {
2454
+ agentId?: string;
2455
+ agentName: string;
2456
+ intent: HistoryAgentIntent;
2457
+ };
2262
2458
  type ShellModeContextValue = {
2263
2459
  mode: ShellMode;
2264
2460
  /** Host agentConfig mode (capabilities source). */
@@ -2298,6 +2494,7 @@ type ShellModeContextValue = {
2298
2494
  bindMutableAgent: (req: {
2299
2495
  agentId: string;
2300
2496
  agentName: string;
2497
+ description?: string;
2301
2498
  agentSpec: AgentSpec;
2302
2499
  }) => void;
2303
2500
  /** @deprecated Prefer `selectLibraryAgent({ isMutable: false, agentName })`. */
@@ -2309,11 +2506,8 @@ type ShellModeContextValue = {
2309
2506
  /** Remember plain-draft composer choices as the seed for future New Chat / New Agent. */
2310
2507
  rememberDraftSpec: (agentSpec: AgentSpec, kind?: DraftPreferenceKind) => void;
2311
2508
  /**
2312
- * Open a history session, remounting when mutability/identity changes.
2313
- * Prefer explicit `isMutable` from the session row; when omitted, agentName
2314
- * present → immutable and agentName absent → mutable. Immutable rows may omit
2315
- * `agentName` when the registry agent was deleted.
2316
- * `isCreateAgent` is only applied when mutable (default false when omitted).
2509
+ * Open a history session without remounting the runtime.
2510
+ * Prefer explicit `isMutable`; otherwise agentName means immutable.
2317
2511
  */
2318
2512
  openHistorySession: (req: {
2319
2513
  sessionId: string;
@@ -2325,18 +2519,20 @@ type ShellModeContextValue = {
2325
2519
  clearChat: () => void;
2326
2520
  /** Return library-only mode to its idle landing; no-op in other modes. */
2327
2521
  openLibraryHome: () => void;
2328
- /** Remount key for the chat runtime when binding changes. */
2522
+ /** Changes only when the chat runtime must reset. */
2329
2523
  runtimeKey: string;
2330
2524
  /**
2331
2525
  * History list filter forwarded as `listSessions({ agentId })`.
2332
2526
  * `null` = All chats. Only meaningful when `isLibraryEnabled`.
2333
2527
  */
2334
- historyAgentFilter: string | null;
2335
- setHistoryAgentFilter: (agentId: string | null) => void;
2528
+ historyAgentFilter: HistoryAgentFilter | null;
2529
+ setHistoryAgentFilter: (filter: HistoryAgentFilter | null) => void;
2336
2530
  /** Effective `listSessionsAgentId` for the runtime (SingleAgent locks to name). */
2337
2531
  listSessionsAgentId: string | undefined;
2338
- /** Session to open after a binding remount (history click across mutability). */
2532
+ /** Session selected from history. */
2339
2533
  pendingSessionId: string | undefined;
2534
+ /** Distinguishes repeated selections of the same session. */
2535
+ pendingSessionEpoch: number;
2340
2536
  /**
2341
2537
  * Bumped when the Agents catalog may have changed (e.g. after saveAgent).
2342
2538
  * Library chrome should re-fetch when this changes.
@@ -2381,6 +2577,8 @@ type RoutePlace = {
2381
2577
  type: 'sessionsBrowser';
2382
2578
  } | {
2383
2579
  type: 'schedules';
2580
+ } | {
2581
+ type: 'buildAgent';
2384
2582
  };
2385
2583
  /**
2386
2584
  * Host-facing route path customization. Only honored when `withRouter`.
@@ -2401,6 +2599,8 @@ type RoutesConfig = {
2401
2599
  libraryAgent?: string | false;
2402
2600
  /** Schedules page. `false` keeps schedules overlay-only (no URL). Default `'/schedules'`. */
2403
2601
  schedules?: string | false;
2602
+ /** Agent builder. `false` disables its dedicated URL. Default `'/build-agent'`. */
2603
+ buildAgent?: string | false;
2404
2604
  /** Immutable "Try" agent. `false` disables. Default `'/agents/:agentName'`. */
2405
2605
  agent?: string | false;
2406
2606
  /** Session deep link. `false` disables. Default `'/sessions/:sessionId'`. */
@@ -2428,7 +2628,7 @@ declare function useOptionalCustomActionRenderers(): CustomActionRenderers | und
2428
2628
 
2429
2629
  /**
2430
2630
  * Built-in backends init inside `<TrueForgeUI />`.
2431
- * Optional `catalog` is attached onto the resolved `AgentUIServer`.
2631
+ * Optional host ports are attached onto the resolved `AgentUIServer`.
2432
2632
  */
2433
2633
  type TrueForgeBuiltInServerConfig = {
2434
2634
  type: 'truefoundry';
@@ -2436,6 +2636,7 @@ type TrueForgeBuiltInServerConfig = {
2436
2636
  controlPlaneURL: string;
2437
2637
  gatewayPlaneURL?: string;
2438
2638
  catalog?: CatalogServer;
2639
+ permissions?: PermissionsServer;
2439
2640
  } | {
2440
2641
  type: 'trueforge';
2441
2642
  /** Harness API root. Defaults to `'/'` (same-origin / proxied). */
@@ -2445,6 +2646,7 @@ type TrueForgeBuiltInServerConfig = {
2445
2646
  /** Custom fetch (cookie sessions, auth interceptors). */
2446
2647
  fetch?: typeof fetch;
2447
2648
  catalog?: CatalogServer;
2649
+ permissions?: PermissionsServer;
2448
2650
  };
2449
2651
  /**
2450
2652
  * `server` prop for `<TrueForgeUI />`: a built-in config, or a ready
@@ -2484,6 +2686,8 @@ type TrueForgeUIProps = {
2484
2686
  withRouter?: boolean;
2485
2687
  /** URL path customization; only honored when `withRouter`. */
2486
2688
  routes?: RoutesConfig;
2689
+ /** Optional identity rendered by the default `UserAvatar` slot. */
2690
+ currentUser?: CurrentUser;
2487
2691
  };
2488
2692
 
2489
2693
  /**
@@ -2516,6 +2720,35 @@ declare function UserEditComposerContainer(): react.JSX.Element;
2516
2720
 
2517
2721
  declare function UserMessageContainer(): react.JSX.Element;
2518
2722
 
2723
+ type ApprovalNavState = {
2724
+ count: number;
2725
+ /** 0-based index into pending approvals. */
2726
+ index: number;
2727
+ canPrev: boolean;
2728
+ canNext: boolean;
2729
+ goPrev: () => void;
2730
+ goNext: () => void;
2731
+ /** Scroll to the currently selected approval (e.g. after the user scrolled away). */
2732
+ focusCurrent: () => void;
2733
+ };
2734
+ /**
2735
+ * Tracks the focused pending tool approval for the composer banner.
2736
+ * Auto-focuses #1 when approvals appear; after allow/deny, stays on the same
2737
+ * index so the next pending item fills the slot; chevrons do not wrap.
2738
+ */
2739
+ declare function useApprovalNav(): ApprovalNavState;
2740
+
2741
+ type UseCanCreateAgentResult = {
2742
+ loading: boolean;
2743
+ /** False while loading, on error, or when CREATE is not granted (fail-closed). */
2744
+ canCreateAgent: boolean;
2745
+ };
2746
+ /**
2747
+ * Tenant-scoped create-agent grant via `list-permissions` (`resource_type: tenant`).
2748
+ * When no permissions server is configured (standalone without port), allows create.
2749
+ */
2750
+ declare function useCanCreateAgent(): UseCanCreateAgentResult;
2751
+
2519
2752
  type ComposerBusyState = {
2520
2753
  /** True while submitting or while the turn stream is active. */
2521
2754
  isBusy: boolean;
@@ -2559,6 +2792,8 @@ type ComposerPauseView = {
2559
2792
  toolName: string;
2560
2793
  } | {
2561
2794
  kind: 'ask-user';
2795
+ } | {
2796
+ kind: 'approval';
2562
2797
  } | {
2563
2798
  kind: 'compose';
2564
2799
  };
@@ -2579,6 +2814,17 @@ declare const useMCPAuth: ({ callbackPath }?: UseMCPAuthOptions) => {
2579
2814
  isOAuthLoading: boolean;
2580
2815
  };
2581
2816
 
2817
+ type UseResourcePermissionsOptions = {
2818
+ resourceType: PermissionResourceType;
2819
+ resourceIds: readonly string[];
2820
+ };
2821
+ type UseResourcePermissionsResult = {
2822
+ loading: boolean;
2823
+ error: unknown | null;
2824
+ allows: (resourceId: string | null | undefined, permission: ResourcePermission) => boolean;
2825
+ };
2826
+ declare function useResourcePermissions({ resourceType, resourceIds, }: UseResourcePermissionsOptions): UseResourcePermissionsResult;
2827
+
2582
2828
  /** Session metadata key for New Chat vs New Agent builder intent (wire/jsonb snake_case). */
2583
2829
  declare const IS_CREATE_AGENT_METADATA_KEY = "is_create_agent";
2584
2830
  /** Wire metadata values are strings (`SessionMetadataSchema`). */
@@ -2606,8 +2852,9 @@ declare function useAgentMetricsServer(): AgentMetricsServer;
2606
2852
  declare function useOptionalAgentMetricsServer(): AgentMetricsServer | null;
2607
2853
  declare function useScheduleServer(): ScheduleServer;
2608
2854
  declare function useOptionalScheduleServer(): ScheduleServer | null;
2855
+ declare function useOptionalPermissionsServer(): PermissionsServer | null;
2609
2856
 
2610
- declare function AgentMetricChart({ graph, definition, error }: AgentMetricChartProps): react.JSX.Element;
2857
+ declare function AgentMetricChart({ graph, definition, error, colorIndex }: AgentMetricChartProps): react.JSX.Element;
2611
2858
  declare module '../../theme/SlotsProvider.js' {
2612
2859
  interface AtomSlots {
2613
2860
  AgentMetricChart: ComponentType<AgentMetricChartProps>;
@@ -2626,6 +2873,31 @@ interface AgentStepsSplitResult {
2626
2873
  }
2627
2874
  declare function computeAgentStepsSplit(parts: readonly AgentStepPart[], isRunning: boolean): AgentStepsSplitResult;
2628
2875
 
2876
+ type ApprovalRef = {
2877
+ id?: string;
2878
+ approved?: boolean;
2879
+ resolution?: string;
2880
+ };
2881
+ type ToolCallPart = {
2882
+ type: string;
2883
+ toolCallId?: string;
2884
+ toolName?: string;
2885
+ approval?: ApprovalRef;
2886
+ messages?: readonly {
2887
+ role: string;
2888
+ content: readonly ToolCallPart[];
2889
+ }[];
2890
+ };
2891
+ type ThreadMessageLike = {
2892
+ role: string;
2893
+ content: readonly ToolCallPart[];
2894
+ };
2895
+ /**
2896
+ * Returns `create_sub_agent` toolCallIds that must be expanded for `approvalId`
2897
+ * to mount in the DOM. Empty when the approval is on the root thread.
2898
+ */
2899
+ declare function findSubAgentAncestorsForApproval(messages: readonly ThreadMessageLike[], approvalId: string): string[];
2900
+
2629
2901
  /**
2630
2902
  * User-facing error text. Prefers HTTP body `{ error: { message } }` when
2631
2903
  * present (e.g. TrueForgeError), then `error.message` / `error.error.message`,
@@ -2640,9 +2912,8 @@ type DraftCatalogValue = {
2640
2912
  models: ModelSelection[];
2641
2913
  skills: AgentSkill[];
2642
2914
  connectors: ConnectorState[];
2643
- connectorsHasMore: boolean;
2644
- connectorsLoadMoreFailed: boolean;
2645
- connectorsLoadingMore: boolean;
2915
+ /** Connector logo URL keyed by connector name, sourced from the discovery catalog. */
2916
+ connectorLogos: Record<string, string>;
2646
2917
  loaded: boolean;
2647
2918
  loading: boolean;
2648
2919
  error: string | null;
@@ -2652,12 +2923,10 @@ type DraftCatalogValue = {
2652
2923
  refresh: () => void;
2653
2924
  /** Refresh connector auth state without reloading unrelated catalogs. */
2654
2925
  refreshConnectors: () => Promise<void>;
2655
- /** Append the next MCP page when `connectorsHasMore`. */
2656
- loadMoreConnectors: () => void;
2657
2926
  };
2658
2927
  declare function DraftCatalogProvider({ children }: {
2659
2928
  children: ReactNode;
2660
2929
  }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react.JSX.Element | null | undefined;
2661
2930
  declare function useDraftCatalog(): DraftCatalogValue;
2662
2931
 
2663
- export { AgentCodeBlock, type AgentCodeBlockProps, type AgentCodeSnippetsProps, type AgentConfig, type AgentConfigEditor, AgentConfigEditors, type AgentConfigEditorsProps, AgentConfigPanel, type AgentConfigPanelProps, AgentConfigSection, AgentDetailsHeader, type AgentDetailsHeaderProps, AgentDetailsPage, type AgentDetailsPageProps, type AgentDetailsTab, AgentDetailsTabs, type AgentDetailsTabsProps, AgentDetailsUnavailable, type AgentDetailsUnavailableProps, AgentInstructionsDrawer, type AgentInstructionsDrawerProps, AgentMcpEditorContent, type AgentMcpEditorContentProps, AgentMetricCard, type AgentMetricCardProps, AgentMetricChart, type AgentMetricChartProps, type AgentMetricChartResult, AgentMetricsContainer, type AgentMetricsProps, AgentMetricsTimeRangeFilter, type AgentMetricsTimeRangeFilterProps, AgentMetricsView, type AgentMetricsViewProps, AgentModelConfigModal, type AgentModelConfigModalProps, AgentModelEditorContent, type AgentModelEditorContentProps, AgentModelSettingsContent, type AgentModelSettingsContentProps, AgentOverviewCard, type AgentOverviewCardProps, type AgentOverviewProps, AgentResourceConfigModal, type AgentResourceConfigModalProps, AgentResourceEditorContent, type AgentResourceEditorContentProps, AgentRuntimeConfigFields, type AgentRuntimeConfigFieldsProps, AgentRuntimeConfigModal, type AgentRuntimeConfigModalProps, AgentRuntimeEditorContent, type AgentRuntimeEditorContentProps, type AgentSessionDetailHeaderProps, type AgentSessionEventTimelineChartProps, type AgentSessionEventTimelineProps, type AgentSessionListRowProps, type AgentSessionMetricsStripProps, type AgentSessionTurnHeaderProps, AgentSessionsFilters, type AgentSessionsFiltersProps, type AgentSessionsProps, AgentSkillsEditorContent, type AgentSkillsEditorContentProps, type AgentStepPart, AgentStepsCard, type AgentStepsCardProps, AgentStepsContainer, type AgentStepsContainerProps, type AgentStepsSplitResult, AgentsLibrary, AgentsLibraryButton, type AgentsLibraryButtonProps, type AgentsLibraryProps, type AskUserAnswerDraft, type AnsweredQuestion as AskUserAnsweredQuestion, AskUserContainer, type AskUserPromptProps, type Question as AskUserQuestion, type AskUserPromptProps as AskUserQuestionCardProps, AssistantMessageBubble, type AssistantMessageBubbleProps, AssistantMessageContainer, AssistantTextContainer, type PublicAtomSlots as AtomSlots, AttachmentCard, type AttachmentCardProps, type AttachmentCardSize, AttachmentPickerButton, type AttachmentPickerButtonProps, AttachmentPreviewDialog, type AttachmentPreviewDialogProps, Avatar, AvatarFallback, type AvatarFallbackProps, AvatarImage, type AvatarImageProps, type AvatarProps, BottomSheet, type BottomSheetProps, type BrandChrome, type BrandConfig, type BrandImage, BrandLogo, type BrandLogoConfig, type BrandMode, type ButtonProps, type ButtonSize, type ButtonVariant, CenteredModal, type CenteredModalProps, ChatFileDownload, type ChatFileDownloadFile, type ChatFileDownloadProps, type ChatLayout, ClearChatButton, CodeEditor, type CodeEditorProps, ComposerAttachmentPickerContainer, ComposerAttachmentsContainer, ComposerBusyProvider, type ComposerBusyState, ComposerContainer, type ComposerContainerProps, ComposerLeftSection, type ComposerLeftSectionProps, type ComposerPauseView, ComposerRightSection, type ComposerRightSectionProps, ComposerSendButton, type ComposerSendButtonProps, ComposerShell, type ComposerShellProps, type ContentClassNames, CustomActionContainer, type CustomActionRendererProps, type CustomActionRenderers, CustomActionRenderersProvider, DEFAULT_AGENT_CONFIG, DEFAULT_TABLE_PAGE_SIZE, DraftAgentConfigTrigger, type DraftAgentConfigTriggerProps, DraftCapabilitiesPanel, DraftCatalogProvider, DraftComposerLeftSection, DraftComposerRightSection, DraftCompositeSelector, type DraftCompositeSelectorProps, DraftModelSelector, type DraftModelSelectorProps, HistoryLoader, HistoryLoaderContainer, type HistoryLoaderProps, IS_CREATE_AGENT_METADATA_KEY, Icon, type IconButtonProps, type IconMap, type IconProps, type LayoutProp, MCP_AUTH_POPUP_CHANNEL, Markdown, type MarkdownProps, type McpAuthCallback, type McpAuthPromptProps as McpAuthCardProps, McpAuthContainer, type McpAuthPopupMessage, type McpAuthPromptProps, type McpServer as McpAuthServer, MessageActionBar, type MessageActionBarProps, MessageAttachmentsContainer, MessageErrorBanner, type MessageErrorBannerProps, MessageGroup, type MessageGroupProps, MessageIndicator, type MessageIndicatorProps, MessageListSkeleton, type MessageListSkeletonProps, MessageTimestamp, type MessageTimestampProps, MonacoEditorCore, type MonacoEditorCoreProps, OpenUiFenceBlock, type OpenUiFenceBlockProps, PRESETS, PopoverSelect, type PopoverSelectOption, type PopoverSelectProps, PostMcpOauthScreen, type ReasoningCardProps, ReasoningContainer, ResumeUnavailable, ResumeUnavailableContainer, type ResumeUnavailableProps, type RoutePlace, type RoutesConfig, SandboxArtifactDownload, type SandboxArtifactDownloadProps, SandboxToolCallCard, type SandboxToolCallCardProps, SaveAgentButton, type SaveAgentButtonProps, SaveAgentForm, SaveAgentFormFields, type SaveAgentFormFieldsProps, type SaveAgentFormProps, ScheduleFormDrawer, type ScheduleFormDrawerProps, ScheduleFormFields, type ScheduleFormFieldsProps, ScheduleLastRunsCell, type ScheduleMcpMount, ScheduleRunChip, ScheduleStatusBadge, SchedulesButton, type SchedulesButtonProps, SchedulesPage, ScrollToBottomButton, type ScrollToBottomButtonProps, SelectAgentEmptyState, type SelectLibraryAgentRequest, type SemanticTokens, ServerProvider, type SessionEventTimelineSegment, type SessionEventType, type SessionTurnView, SessionsBrowserButton, type SessionsBrowserButtonProps, SessionsPage, ShellActionsActionSlot, type ShellMode, ShellModeProvider, SideDrawer, type SideDrawerAnchor, type SideDrawerProps, type SideDrawerSize, type SlotOverrides, SlotsProvider, SubAgentCard, type SubAgentCardProps, Switch, type SwitchProps, type SwitchSize, SyntaxHighlighter, type SyntaxHighlighterProps, TABLE_PAGE_SIZE_OPTIONS, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TablePagination, type TablePaginationProps, type TableProps, TableRow, type TableRowProps, TableTokenPagination, type TableTokenPaginationProps, TestScheduleScreen, type TestScheduleScreenProps, type ThemeConfig, type IconProps$1 as ThemeIconProps, type ThemeMode, type ThemePreset, ThemeProvider, Thread, ThreadComposerAreaShell, type ThreadComposerAreaShellProps, ThreadContainer, type ThreadContainerProps, type ThreadGroupPart, ThreadListContainer, type ThreadListContainerProps, ThreadListEmptyState, type ThreadListEmptyStateProps, ThreadListNewButton, type ThreadListNewButtonProps, ThreadListRow, type ThreadListRowProps, ThreadListRowSkeleton, type ThreadListRowSkeletonProps, ThreadListShell, type ThreadListShellProps, type ThreadPauseState, ThreadRootShell, type ThreadRootShellProps, ThreadViewportShell, type ThreadViewportShellProps, Toast, type ToastProps, ToastStack, type ToastStackProps, ToasterProvider, ToolApprovalBar, type ToolApprovalBarProps, ToolApprovalContainer, type ToolApprovalOption, ToolCallCard, type ToolCallCardProps, ToolCallContainer, ToolCallContentBlock, ToolCallContentBlockContainer, type ToolCallContentBlockProps, type ToolCallStatus, ToolGroupCard, type ToolGroupCardProps, ToolGroupContainer, type TrueForgeBuiltInServerConfig, type TrueForgeServerConfig, TrueForgeUI, type TrueForgeUIProps, TrueFoundryChatProvider, type TrueFoundryChatProviderProps, USER_MESSAGE_ATTACHMENT_PREVIEW_REM, type UseMCPAuthOptions, UserEditComposerContainer, UserMessageActionBar, type UserMessageActionBarProps, UserMessageBubble, type UserMessageBubbleProps, UserMessageContainer, UserMessageEdit, type UserMessageEditProps, WelcomeScreen, type WelcomeScreenProps, computeAgentStepsSplit, defaultSlots, getErrorMessage, isCreateAgentMetadataValue, libraryAgentId, preloadMarkdownOpenUI, readSessionIsCreateAgent, resolveBrandChrome, resolvePresetTokens, sessionIsCreateAgent, shellIsCreateAgent, shellIsMutable, threadHasPendingMcpAuth, useAgentMetricsServer, useAgentSessionsServer, useBrand, useBrandName, useCatalogServer, useComposerBusyState, useComposerPauseView, useContentClassNames, useDraftCatalog, useMCPAuth, useOptionalAgentMetricsServer, useOptionalAgentSessionsServer, useOptionalCatalogServer, useOptionalContentClassNames, useOptionalCustomActionRenderers, useOptionalScheduleServer, useOptionalServer, useOptionalShellMode, useScheduleServer, useServer, useServerCapabilities, useShellMode, useSlot, useTheme, useThemeIcons, useThemeMode, useToaster, useToasterOptional };
2932
+ export { AgentCodeBlock, type AgentCodeBlockProps, type AgentCodeSnippetsProps, type AgentConfig, type AgentConfigEditor, AgentConfigEditors, type AgentConfigEditorsProps, AgentConfigPanel, type AgentConfigPanelProps, AgentConfigSection, AgentCustomParametersEditor, type AgentCustomParametersEditorProps, AgentDetailsHeader, type AgentDetailsHeaderProps, AgentDetailsPage, type AgentDetailsPageProps, type AgentDetailsTab, AgentDetailsTabs, type AgentDetailsTabsProps, AgentDetailsUnavailable, type AgentDetailsUnavailableProps, AgentInstructionsDrawer, type AgentInstructionsDrawerProps, AgentMcpEditorContent, type AgentMcpEditorContentProps, AgentMetricCard, type AgentMetricCardProps, AgentMetricChart, type AgentMetricChartProps, type AgentMetricChartResult, AgentMetricStatistics, type AgentMetricStatisticsProps, AgentMetricsContainer, type AgentMetricsProps, AgentMetricsTimeRangeFilter, type AgentMetricsTimeRangeFilterProps, AgentMetricsView, type AgentMetricsViewProps, AgentModelConfigModal, type AgentModelConfigModalProps, AgentModelEditorContent, type AgentModelEditorContentProps, AgentModelSettingsContent, type AgentModelSettingsContentProps, AgentOverviewCard, type AgentOverviewCardProps, type AgentOverviewProps, AgentResourceConfigModal, type AgentResourceConfigModalProps, AgentResourceEditorContent, type AgentResourceEditorContentProps, AgentRuntimeConfigDrawer, type AgentRuntimeConfigDrawerProps, AgentRuntimeConfigFields, type AgentRuntimeConfigFieldsProps, AgentRuntimeEditorContent, type AgentRuntimeEditorContentProps, type AgentSessionDetailHeaderProps, type AgentSessionEventTimelineChartProps, type AgentSessionEventTimelineProps, type AgentSessionListRowProps, type AgentSessionMetricsStripProps, type AgentSessionTurnHeaderProps, AgentSessionsFilters, type AgentSessionsFiltersProps, type AgentSessionsProps, AgentSkillsEditorContent, type AgentSkillsEditorContentProps, type AgentStepPart, AgentStepsCard, type AgentStepsCardProps, AgentStepsContainer, type AgentStepsContainerProps, type AgentStepsSplitResult, AgentsLibrary, AgentsLibraryButton, type AgentsLibraryButtonProps, type AgentsLibraryProps, ApprovalNavBanner, type ApprovalNavBannerProps, ApprovalNavContainer, type ApprovalNavState, type AskUserAnswerDraft, type AnsweredQuestion as AskUserAnsweredQuestion, AskUserContainer, type AskUserPromptProps, type Question as AskUserQuestion, type AskUserPromptProps as AskUserQuestionCardProps, AssistantMessageBubble, type AssistantMessageBubbleProps, AssistantMessageContainer, AssistantTextContainer, type PublicAtomSlots as AtomSlots, AttachmentCard, type AttachmentCardProps, type AttachmentCardSize, AttachmentPickerButton, type AttachmentPickerButtonProps, AttachmentPreviewDialog, type AttachmentPreviewDialogProps, Avatar, AvatarFallback, type AvatarFallbackProps, AvatarImage, type AvatarImageProps, type AvatarProps, BottomSheet, type BottomSheetProps, type BrandChrome, type BrandConfig, type BrandImage, BrandLogo, type BrandLogoConfig, type BrandMode, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CenteredModal, type CenteredModalProps, ChatFileDownload, type ChatFileDownloadFile, type ChatFileDownloadProps, type ChatLayout, ClearChatButton, CodeEditor, type CodeEditorProps, ComposerAttachmentPickerContainer, ComposerAttachmentsContainer, ComposerBusyProvider, type ComposerBusyState, ComposerContainer, type ComposerContainerProps, ComposerLeftSection, type ComposerLeftSectionProps, type ComposerPauseView, ComposerRightSection, type ComposerRightSectionProps, ComposerSendButton, type ComposerSendButtonProps, ComposerShell, type ComposerShellProps, type ContentClassNames, type CurrentUser, CustomActionContainer, type CustomActionRendererProps, type CustomActionRenderers, CustomActionRenderersProvider, DEFAULT_AGENT_CONFIG, DEFAULT_TABLE_PAGE_SIZE, DraftAgentConfigTrigger, type DraftAgentConfigTriggerProps, DraftCapabilitiesPanel, DraftCatalogProvider, type DraftComposerAction, DraftComposerActionsMenu, type DraftComposerActionsMenuProps, DraftComposerLeftSection, DraftComposerRightSection, DraftCompositeSelector, type DraftCompositeSelectorProps, DraftModelSelector, type DraftModelSelectorProps, type FixedVariantButtonProps, HistoryLoader, HistoryLoaderContainer, type HistoryLoaderProps, IS_CREATE_AGENT_METADATA_KEY, Icon, type IconButtonProps, type IconMap, type IconProps, type LayoutProp, MCP_AUTH_POPUP_CHANNEL, Markdown, type MarkdownProps, type McpAuthCallback, type McpAuthPromptProps as McpAuthCardProps, McpAuthContainer, type McpAuthPopupMessage, type McpAuthPromptProps, type McpServer as McpAuthServer, MessageActionBar, type MessageActionBarProps, MessageAttachmentsContainer, MessageErrorBanner, type MessageErrorBannerProps, MessageGroup, type MessageGroupProps, MessageIndicator, type MessageIndicatorProps, MessageListSkeleton, type MessageListSkeletonProps, MessageTimestamp, type MessageTimestampProps, MonacoEditorCore, type MonacoEditorCoreProps, OpenUiFenceBlock, type OpenUiFenceBlockProps, PRESETS, PermissionGuard, type PermissionGuardProps, PopoverSelect, type PopoverSelectOption, type PopoverSelectProps, PostMcpOauthScreen, type ReasoningCardProps, ReasoningContainer, ResponsiveDropdownMenu, type ResponsiveDropdownMenuProps, ResumeUnavailable, ResumeUnavailableContainer, type ResumeUnavailableProps, type RoutePlace, type RoutesConfig, SandboxArtifactDownload, type SandboxArtifactDownloadProps, SandboxToolCallCard, type SandboxToolCallCardProps, SaveAgentButton, type SaveAgentButtonProps, SaveAgentForm, type SaveAgentFormProps, ScheduleFormDrawer, type ScheduleFormDrawerProps, ScheduleFormFields, type ScheduleFormFieldsProps, ScheduleLastRunsCell, type ScheduleMcpMount, ScheduleRunChip, ScheduleStatusBadge, SchedulesButton, type SchedulesButtonProps, SchedulesPage, type SchedulesPageProps, ScrollToBottomButton, type ScrollToBottomButtonProps, SelectAgentEmptyState, type SelectLibraryAgentRequest, type SemanticTokens, ServerProvider, type SessionEventTimelineSegment, type SessionEventType, type SessionTurnView, SessionsBrowserButton, type SessionsBrowserButtonProps, SessionsPage, ShellActionsActionSlot, type ShellMode, ShellModeProvider, SideDrawer, type SideDrawerAnchor, type SideDrawerProps, type SideDrawerSize, type SlotOverrides, SlotsProvider, SubAgentCard, type SubAgentCardProps, Switch, type SwitchProps, type SwitchSize, SyntaxHighlighter, type SyntaxHighlighterProps, TABLE_PAGE_SIZE_OPTIONS, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TablePagination, type TablePaginationProps, type TableProps, TableRow, type TableRowProps, TableTokenPagination, type TableTokenPaginationProps, TestScheduleScreen, type TestScheduleScreenProps, type ThemeConfig, type IconProps$1 as ThemeIconProps, type ThemeMode, type ThemePreset, ThemeProvider, Thread, ThreadComposerAreaShell, type ThreadComposerAreaShellProps, ThreadContainer, type ThreadContainerProps, type ThreadGroupPart, ThreadListContainer, type ThreadListContainerProps, ThreadListEmptyState, type ThreadListEmptyStateProps, ThreadListNewButton, type ThreadListNewButtonProps, ThreadListRow, type ThreadListRowProps, ThreadListRowSkeleton, type ThreadListRowSkeletonProps, ThreadListShell, type ThreadListShellProps, type ThreadPauseState, ThreadRootShell, type ThreadRootShellProps, ThreadViewportShell, type ThreadViewportShellProps, Toast, type ToastProps, ToastStack, type ToastStackProps, ToasterProvider, ToolApprovalBar, type ToolApprovalBarProps, ToolApprovalContainer, type ToolApprovalOption, ToolCallCard, type ToolCallCardProps, ToolCallContainer, ToolCallContentBlock, ToolCallContentBlockContainer, type ToolCallContentBlockProps, type ToolCallStatus, ToolGroupCard, type ToolGroupCardProps, ToolGroupContainer, type TrueForgeBuiltInServerConfig, type TrueForgeServerConfig, TrueForgeUI, type TrueForgeUIProps, TrueFoundryChatProvider, type TrueFoundryChatProviderProps, USER_MESSAGE_ATTACHMENT_PREVIEW_REM, type UseCanCreateAgentResult, type UseMCPAuthOptions, type UseResourcePermissionsOptions, type UseResourcePermissionsResult, UserAvatar, type UserAvatarProps, UserEditComposerContainer, UserMessageActionBar, type UserMessageActionBarProps, UserMessageBubble, type UserMessageBubbleProps, UserMessageContainer, UserMessageEdit, type UserMessageEditProps, WelcomeScreen, type WelcomeScreenProps, computeAgentStepsSplit, defaultSlots, findSubAgentAncestorsForApproval, getErrorMessage, isCreateAgentMetadataValue, libraryAgentId, preloadMarkdownOpenUI, readSessionIsCreateAgent, resolveBrandChrome, resolvePresetTokens, sessionIsCreateAgent, shellIsCreateAgent, shellIsMutable, threadHasPendingMcpAuth, useAgentMetricsServer, useAgentSessionsServer, useApprovalNav, useBrand, useBrandName, useCanCreateAgent, useCatalogServer, useComposerBusyState, useComposerPauseView, useContentClassNames, useDraftCatalog, useMCPAuth, useOptionalAgentMetricsServer, useOptionalAgentSessionsServer, useOptionalCatalogServer, useOptionalContentClassNames, useOptionalCurrentUser, useOptionalCustomActionRenderers, useOptionalPermissionsServer, useOptionalScheduleServer, useOptionalServer, useOptionalShellMode, useResourcePermissions, useScheduleServer, useServer, useServerCapabilities, useShellMode, useSlot, useTheme, useThemeIcons, useThemeMode, useToaster, useToasterOptional };