@truefoundry/trueforge-ui 0.3.0-rc.0 → 0.3.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +21 -6
  3. package/dist/AgentCodeSnippets-637HQUXD.js +74 -0
  4. package/dist/AgentCodeSnippets-637HQUXD.js.map +1 -0
  5. package/dist/AgentMetricChart-4FYECRIN.js +15 -0
  6. package/dist/AgentOverview-3FJ5EE6N.js +167 -0
  7. package/dist/AgentOverview-3FJ5EE6N.js.map +1 -0
  8. package/dist/AgentSessionEventTimeline-VELWUYPR.js +88 -0
  9. package/dist/AgentSessionEventTimeline-VELWUYPR.js.map +1 -0
  10. package/dist/AgentSessionEventTimelineChart-CUKETHWM.js +591 -0
  11. package/dist/AgentSessionEventTimelineChart-CUKETHWM.js.map +1 -0
  12. package/dist/AgentSessions-T7MOGOTZ.js +275 -0
  13. package/dist/AgentSessions-T7MOGOTZ.js.map +1 -0
  14. package/dist/{ConnectorSettings-FXQ5B7TN.js → ConnectorSettings-ESZ2RSRG.js} +19 -21
  15. package/dist/ConnectorSettings-ESZ2RSRG.js.map +1 -0
  16. package/dist/{DockLayout-LBNQJZNF.js → DockLayout-NLFNU6F2.js} +11 -10
  17. package/dist/{DockLayout-LBNQJZNF.js.map → DockLayout-NLFNU6F2.js.map} +1 -1
  18. package/dist/DrawerLayout-PR3SMKA6.js +184 -0
  19. package/dist/DrawerLayout-PR3SMKA6.js.map +1 -0
  20. package/dist/{ModelSettings-4L4LOQJA.js → ModelSettings-LYW64IRR.js} +20 -24
  21. package/dist/ModelSettings-LYW64IRR.js.map +1 -0
  22. package/dist/OpenUiFenceBlock-JEPNPJ7U.js +9 -0
  23. package/dist/OpenUiFenceBlock-JEPNPJ7U.js.map +1 -0
  24. package/dist/{SandboxSettings-Z4ZG6ZX4.js → SandboxSettings-DF64LHYI.js} +16 -18
  25. package/dist/SandboxSettings-DF64LHYI.js.map +1 -0
  26. package/dist/SchedulesPage-WQU4H25F.js +15 -0
  27. package/dist/SchedulesPage-WQU4H25F.js.map +1 -0
  28. package/dist/{SettingsBuilder-WF7ZWKQW.js → SettingsBuilder-LSXK2VN4.js} +26 -22
  29. package/dist/SettingsBuilder-LSXK2VN4.js.map +1 -0
  30. package/dist/ShellRouteSync-B22IAV2W.js +255 -0
  31. package/dist/ShellRouteSync-B22IAV2W.js.map +1 -0
  32. package/dist/SidebarLayout-XW6LXB7R.js +309 -0
  33. package/dist/SidebarLayout-XW6LXB7R.js.map +1 -0
  34. package/dist/{SkillSettings-3EPPC3IT.js → SkillSettings-64VXUO6J.js} +14 -15
  35. package/dist/SkillSettings-64VXUO6J.js.map +1 -0
  36. package/dist/{TrueForgeUIWithRouter-NZ4FGPE4.js → TrueForgeUIWithRouter-3TSLV22Q.js} +14 -10
  37. package/dist/{TrueForgeUIWithRouter-NZ4FGPE4.js.map → TrueForgeUIWithRouter-3TSLV22Q.js.map} +1 -1
  38. package/dist/{WidgetLayout-3QZ357FL.js → WidgetLayout-Q5P7PYSJ.js} +17 -13
  39. package/dist/WidgetLayout-Q5P7PYSJ.js.map +1 -0
  40. package/dist/chunk-5I2COQNL.js +119 -0
  41. package/dist/chunk-5I2COQNL.js.map +1 -0
  42. package/dist/chunk-BWHOZFIV.js +587 -0
  43. package/dist/chunk-BWHOZFIV.js.map +1 -0
  44. package/dist/chunk-DJUFS2BW.js +27 -0
  45. package/dist/chunk-DJUFS2BW.js.map +1 -0
  46. package/dist/chunk-FQK2XVVE.js +880 -0
  47. package/dist/chunk-FQK2XVVE.js.map +1 -0
  48. package/dist/chunk-G2TUAD65.js +555 -0
  49. package/dist/chunk-G2TUAD65.js.map +1 -0
  50. package/dist/chunk-GXYAOAK5.js +1357 -0
  51. package/dist/chunk-GXYAOAK5.js.map +1 -0
  52. package/dist/{chunk-FJ5RSSMA.js → chunk-H6WTY5PM.js} +196 -32
  53. package/dist/chunk-H6WTY5PM.js.map +1 -0
  54. package/dist/chunk-I3AL54MA.js +180 -0
  55. package/dist/chunk-I3AL54MA.js.map +1 -0
  56. package/dist/{chunk-WREC7D54.js → chunk-LGRHHFHN.js} +120 -32
  57. package/dist/chunk-LGRHHFHN.js.map +1 -0
  58. package/dist/chunk-NHHSZB5N.js +74 -0
  59. package/dist/chunk-NHHSZB5N.js.map +1 -0
  60. package/dist/{chunk-CFLVPV5M.js → chunk-QC42MLAK.js} +7 -2
  61. package/dist/chunk-QC42MLAK.js.map +1 -0
  62. package/dist/chunk-RDXBMTP5.js +32 -0
  63. package/dist/chunk-RDXBMTP5.js.map +1 -0
  64. package/dist/chunk-SFZNIO6U.js +18 -0
  65. package/dist/chunk-SFZNIO6U.js.map +1 -0
  66. package/dist/chunk-SQGT43Z3.js +200 -0
  67. package/dist/chunk-SQGT43Z3.js.map +1 -0
  68. package/dist/{chunk-B52K63AW.js → chunk-VJ7BZGAF.js} +2 -2
  69. package/dist/chunk-VUMGMGKZ.js +252 -0
  70. package/dist/chunk-VUMGMGKZ.js.map +1 -0
  71. package/dist/chunk-Y6S4OVVQ.js +16 -0
  72. package/dist/chunk-Y6S4OVVQ.js.map +1 -0
  73. package/dist/chunk-YQO2NMJ3.js +13341 -0
  74. package/dist/chunk-YQO2NMJ3.js.map +1 -0
  75. package/dist/{createTrueFoundryServer-B72bU-J7.d.ts → createTrueFoundryServer-CmZnBh_l.d.ts} +15 -4
  76. package/dist/index.d.ts +1024 -24
  77. package/dist/index.js +691 -67
  78. package/dist/index.js.map +1 -1
  79. package/dist/plugins/trueforge-agent-server-adapter/index.d.ts +552 -8
  80. package/dist/plugins/trueforge-agent-server-adapter/index.js +504 -188
  81. package/dist/plugins/trueforge-agent-server-adapter/index.js.map +1 -1
  82. package/dist/styles.css +1 -1
  83. package/package.json +9 -8
  84. package/dist/ConnectorSettings-FXQ5B7TN.js.map +0 -1
  85. package/dist/DrawerLayout-Q6UK4VMI.js +0 -159
  86. package/dist/DrawerLayout-Q6UK4VMI.js.map +0 -1
  87. package/dist/ModelSettings-4L4LOQJA.js.map +0 -1
  88. package/dist/OpenUiFenceBlock-6UIIAVBX.js +0 -9
  89. package/dist/SandboxSettings-Z4ZG6ZX4.js.map +0 -1
  90. package/dist/SettingsBuilder-WF7ZWKQW.js.map +0 -1
  91. package/dist/ShellRouteSync-T4WLY57Q.js +0 -172
  92. package/dist/ShellRouteSync-T4WLY57Q.js.map +0 -1
  93. package/dist/SidebarLayout-3WZ3CVON.js +0 -256
  94. package/dist/SidebarLayout-3WZ3CVON.js.map +0 -1
  95. package/dist/SkillSettings-3EPPC3IT.js.map +0 -1
  96. package/dist/WidgetLayout-3QZ357FL.js.map +0 -1
  97. package/dist/chunk-36KOSC2J.js +0 -567
  98. package/dist/chunk-36KOSC2J.js.map +0 -1
  99. package/dist/chunk-3S6KHO7H.js +0 -2121
  100. package/dist/chunk-3S6KHO7H.js.map +0 -1
  101. package/dist/chunk-7L63OK3O.js +0 -91
  102. package/dist/chunk-7L63OK3O.js.map +0 -1
  103. package/dist/chunk-CFLVPV5M.js.map +0 -1
  104. package/dist/chunk-FJ5RSSMA.js.map +0 -1
  105. package/dist/chunk-OSV3HI5M.js +0 -6891
  106. package/dist/chunk-OSV3HI5M.js.map +0 -1
  107. package/dist/chunk-WQULF5AT.js +0 -460
  108. package/dist/chunk-WQULF5AT.js.map +0 -1
  109. package/dist/chunk-WREC7D54.js.map +0 -1
  110. package/dist/chunk-YIWUG6MC.js +0 -101
  111. package/dist/chunk-YIWUG6MC.js.map +0 -1
  112. package/dist/chunk-ZXOADNF3.js +0 -75
  113. package/dist/chunk-ZXOADNF3.js.map +0 -1
  114. /package/dist/{OpenUiFenceBlock-6UIIAVBX.js.map → AgentMetricChart-4FYECRIN.js.map} +0 -0
  115. /package/dist/{chunk-B52K63AW.js.map → chunk-VJ7BZGAF.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,19 +1,21 @@
1
1
  import * as react from 'react';
2
2
  import react__default, { CSSProperties, ReactNode, FC, SVGProps, ComponentType, ComponentPropsWithRef, ComponentProps, HTMLAttributes, 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';
6
+ import { TrueForgeApi } from '@truefoundry/trueforge-sdk';
4
7
  import { MessagePrimitive, ToolCallMessagePartComponent } from '@assistant-ui/react';
5
8
  export { AssistantState, useAui, useAuiState } from '@assistant-ui/react';
6
9
  import { UseTrueFoundryAgentRuntimeOptions, TrueFoundryAgentConfig } from '@truefoundry/assistant-ui-runtime';
7
10
  export { DraftAgentConfig, NamedAgentConfig, TrueFoundryAgentConfig, UseTrueFoundryAgentRuntimeOptions, mergeAgentSpec, trueFoundryAttachmentAdapter, useTrueFoundryAgentRuntime, useTrueFoundryAgentSpec, useTrueFoundryCancel, useTrueFoundryDownloadSandboxFile, useTrueFoundryHistoryPagination, useTrueFoundryMcpAuth, useTrueFoundryRespondToToolApproval, useTrueFoundryToolResponses, useTrueFoundryTurnId, useTrueFoundryUpdateAgentSpec } from '@truefoundry/assistant-ui-runtime';
8
- import { AgentSpec, AgentLibraryEntry, CatalogServer, AgentUIServer, AgentBuilderCapabilitiesResponse, ModelSelection, AgentSkill, ConnectorState } from '@truefoundry/assistant-ui-runtime/server';
9
- export { AgentBuilderCapabilitiesResponse, AgentBuilderServer, AgentChatServer, AgentLibraryEntry, AgentSkill, AgentSpec, AgentUIServer, ApprovalDecision, AuthenticateConnectorRequest, CatalogServer, 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, 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, SkillBase, SkillCatalogEntry, SkillCatalogServer, SkillConfigBase, SkillMount, ToolBase, Turn, TurnInputItem, TurnState, TurnStreamData, TurnStreamingEvent, UpdateConnectorRequest, UpdateModelProviderRequest, UpdateSandboxProviderRequest, UpdateSessionRequest, UserMessage, UserMessageContent, UserToolApprovalEvent, UserToolResponseEvent } from '@truefoundry/assistant-ui-runtime/server';
10
- export { C as CreateTrueFoundryServerOptions, T as TrueFoundryServer, c as createTrueFoundryServer } from './createTrueFoundryServer-B72bU-J7.js';
11
+ export { C as CreateTrueFoundryServerOptions, T as TrueFoundryServer, c as createTrueFoundryServer } from './createTrueFoundryServer-CmZnBh_l.js';
11
12
  import { PartState } from '@assistant-ui/core/react';
12
13
 
13
14
  type ThemeMode = 'light' | 'dark' | 'system';
14
15
  type ThemePreset = 'trueforge' | 'claude' | 'chatgpt' | 'gemini';
15
16
  type SemanticTokens = {
16
17
  sidebarBg: string;
18
+ sidebarText: string;
17
19
  topbarBg: string;
18
20
  primaryBg: string;
19
21
  secondaryBg: string;
@@ -394,24 +396,347 @@ declare module '../theme/SlotsProvider.js' {
394
396
  }
395
397
  }
396
398
 
399
+ type SessionEventType = 'system' | 'user' | 'model' | 'tool_call' | 'approval' | 'sub_agent' | 'waiting_on_human' | 'error';
400
+ /**
401
+ * One drawable interval on the timeline.
402
+ *
403
+ * Times are milliseconds relative to the session origin, not wall-clock
404
+ * timestamps. Equal start/end times are rendered as markers; intervals become
405
+ * horizontal bars. `turnIndex` groups intervals into turn backgrounds and
406
+ * `threadId` assigns sub-agent work to its lane.
407
+ */
408
+ type SessionEventTimelineSegment = {
409
+ id: string;
410
+ type: SessionEventType;
411
+ title: string;
412
+ description: string;
413
+ startMs: number;
414
+ endMs: number;
415
+ turnIndex: number;
416
+ threadId: string;
417
+ isMarker?: boolean;
418
+ };
419
+
420
+ type TurnCreatedEvent = Extract<SessionEventItem['event'], {
421
+ type: 'turn.created';
422
+ }>;
423
+ type TurnDoneEvent = Extract<SessionEventItem['event'], {
424
+ type: 'turn.done';
425
+ }>;
426
+ type TurnEvent = Exclude<SessionEventItem['event'], TurnCreatedEvent | TurnDoneEvent>;
427
+ type SessionTurnView = {
428
+ turnId: string;
429
+ turnNumber: number;
430
+ showHeader: boolean;
431
+ created: TurnCreatedEvent;
432
+ done?: TurnDoneEvent;
433
+ events: TurnEvent[];
434
+ totalTokens?: number;
435
+ inputTokens?: number;
436
+ outputTokens?: number;
437
+ cachedTokens?: number;
438
+ totalCostInUsd?: number;
439
+ durationMs?: number;
440
+ };
441
+
442
+ type SessionMetricBarDatum = {
443
+ label: string;
444
+ value: number;
445
+ color: string;
446
+ };
447
+ type SessionMetrics = {
448
+ totalTurns: number;
449
+ wallTimeMs: number;
450
+ totalCostUsd?: number;
451
+ totalTokens: number;
452
+ contextTokens: number;
453
+ toolCalls: number;
454
+ subAgents: number;
455
+ errors: number;
456
+ timeBreakdown: SessionMetricBarDatum[];
457
+ costPerTurn: SessionMetricBarDatum[];
458
+ tokenBreakdown: SessionMetricBarDatum[];
459
+ contextByTurn: SessionMetricBarDatum[];
460
+ toolCallFrequency: SessionMetricBarDatum[];
461
+ };
462
+
463
+ type LibraryAgentTab = 'overview' | 'sessions' | 'code' | 'metrics';
464
+ type SessionTimeRange = {
465
+ startTs: number;
466
+ endTs: number;
467
+ timeWindowMs?: number;
468
+ };
469
+
470
+ type AgentSessionsProps = {
471
+ /** Library tab locks the list to this agent. Omit on the all-user Sessions page. */
472
+ agentId?: string;
473
+ startTimestamp?: string;
474
+ endTimestamp?: string;
475
+ /** When `sessions`, selection writes `view=sessions` and pins `s_sts`/`s_ets`. */
476
+ shareView?: 'sessions' | null;
477
+ };
478
+ type AgentSessionListRowProps = {
479
+ title: string;
480
+ agentName?: string;
481
+ lastActivityAt: string;
482
+ metrics: {
483
+ totalTurns: number;
484
+ totalCostInUsd?: number;
485
+ totalDurationMs: number;
486
+ };
487
+ active: boolean;
488
+ onSelect: () => void;
489
+ };
490
+ type AgentSessionDetailHeaderProps = {
491
+ title: string;
492
+ sessionId: string;
493
+ agentId?: string;
494
+ createdAt?: string;
495
+ view?: 'sessions' | null;
496
+ onClose: () => void;
497
+ /**
498
+ * When set with `resumeLabel`, shows Resume Chat / Resume Agent building as a
499
+ * new-tab link (session deep link). Preferred over `onResume` when both are set.
500
+ */
501
+ resumeHref?: string;
502
+ /** In-shell resume fallback when no session deep link is available. */
503
+ onResume?: () => void;
504
+ /** Label for the resume action. */
505
+ resumeLabel?: string;
506
+ };
507
+ type AgentSessionTurnHeaderProps = {
508
+ turnNumber: number;
509
+ totalTokens?: number;
510
+ inputTokens?: number;
511
+ outputTokens?: number;
512
+ cachedTokens?: number;
513
+ durationMs?: number;
514
+ totalCostInUsd?: number;
515
+ };
516
+ type AgentSessionMetricsStripProps = {
517
+ metrics: SessionMetrics;
518
+ };
519
+ type AgentSessionEventTimelineProps = {
520
+ turns: SessionTurnView[];
521
+ segments: SessionEventTimelineSegment[];
522
+ onSelectTurn?: (index: number) => void;
523
+ };
524
+ type AgentSessionEventTimelineChartProps = {
525
+ turns: SessionTurnView[];
526
+ segments: SessionEventTimelineSegment[];
527
+ hiddenTypes: ReadonlySet<SessionEventType>;
528
+ onSelectTurn?: (index: number) => void;
529
+ };
530
+ type AgentDetailsTab = LibraryAgentTab;
531
+ type AgentDetailsPageProps = {
532
+ agentId: string;
533
+ };
534
+ type AgentDetailsHeaderProps = {
535
+ agentId: string;
536
+ detail?: AgentDetail;
537
+ onBack: () => void;
538
+ };
539
+ type AgentDetailsTabsProps = {
540
+ activeTab: AgentDetailsTab;
541
+ onTabChange: (tab: AgentDetailsTab) => void;
542
+ showMetrics?: boolean;
543
+ };
544
+ type AgentMetricsProps = {
545
+ agentId: string;
546
+ };
547
+ type AgentMetricChartResult = {
548
+ definition: AgentMetricChartDefinition;
549
+ graphs?: AgentMetricGraph[];
550
+ error?: string;
551
+ };
552
+ type AgentMetricsViewProps = {
553
+ meters?: AgentMetricMeter[];
554
+ meterError?: string;
555
+ charts: AgentMetricChartResult[];
556
+ chartsLoading: boolean;
557
+ chartsError?: string;
558
+ timeRange: SessionTimeRange;
559
+ onTimeRangeChange: (range: SessionTimeRange) => void;
560
+ };
561
+ type AgentMetricsTimeRangeFilterProps = {
562
+ timeRange: SessionTimeRange;
563
+ onTimeRangeChange: (range: SessionTimeRange) => void;
564
+ };
565
+ type AgentMetricCardProps = {
566
+ meter: AgentMetricMeter;
567
+ };
568
+ type AgentMetricChartProps = {
569
+ graph?: AgentMetricGraph;
570
+ definition: AgentMetricChartDefinition;
571
+ error?: string;
572
+ };
573
+ type AgentOverviewProps = {
574
+ detail: AgentDetail;
575
+ };
576
+ type AgentOverviewCardProps = {
577
+ title: string;
578
+ icon: string;
579
+ count?: number;
580
+ children: ReactNode;
581
+ };
582
+ type AgentCodeSnippetsProps = {
583
+ snippets: CodeSnippet[];
584
+ };
585
+ type AgentCodeBlockProps = {
586
+ code: string;
587
+ language: string;
588
+ };
589
+ type AgentDetailsUnavailableProps = {
590
+ onBack: () => void;
591
+ reason?: string;
592
+ };
593
+
594
+ declare function AgentCodeBlock({ code, language }: AgentCodeBlockProps): react.JSX.Element;
595
+ declare module '../../theme/SlotsProvider.js' {
596
+ interface AtomSlots {
597
+ AgentCodeBlock: typeof AgentCodeBlock;
598
+ }
599
+ }
600
+
601
+ declare function AgentDetailsHeader({ agentId, detail, onBack }: AgentDetailsHeaderProps): react.JSX.Element;
602
+ declare module '../../theme/SlotsProvider.js' {
603
+ interface AtomSlots {
604
+ AgentDetailsHeader: typeof AgentDetailsHeader;
605
+ }
606
+ }
607
+
608
+ declare function AgentDetailsPage({ agentId }: AgentDetailsPageProps): react.JSX.Element;
609
+ declare module '../../theme/SlotsProvider.js' {
610
+ interface AtomSlots {
611
+ AgentDetailsPage: typeof AgentDetailsPage;
612
+ }
613
+ }
614
+
615
+ declare function AgentDetailsTabs({ activeTab, onTabChange, showMetrics }: AgentDetailsTabsProps): react.JSX.Element;
616
+ declare module '../../theme/SlotsProvider.js' {
617
+ interface AtomSlots {
618
+ AgentDetailsTabs: typeof AgentDetailsTabs;
619
+ }
620
+ }
621
+
622
+ declare function AgentDetailsUnavailable({ onBack, reason }: AgentDetailsUnavailableProps): react.JSX.Element;
623
+ declare module '../../theme/SlotsProvider.js' {
624
+ interface AtomSlots {
625
+ AgentDetailsUnavailable: typeof AgentDetailsUnavailable;
626
+ }
627
+ }
628
+
629
+ declare function AgentMetricCard({ meter }: AgentMetricCardProps): react.JSX.Element;
630
+ declare module '../../theme/SlotsProvider.js' {
631
+ interface AtomSlots {
632
+ AgentMetricCard: ComponentType<AgentMetricCardProps>;
633
+ }
634
+ }
635
+
636
+ declare function AgentMetricsTimeRangeFilter({ timeRange, onTimeRangeChange }: AgentMetricsTimeRangeFilterProps): react.JSX.Element;
637
+ declare module '../../theme/SlotsProvider.js' {
638
+ interface AtomSlots {
639
+ AgentMetricsTimeRangeFilter: ComponentType<AgentMetricsTimeRangeFilterProps>;
640
+ }
641
+ }
642
+
643
+ declare function AgentMetricsView({ meters, meterError, charts, chartsLoading, chartsError, timeRange, onTimeRangeChange, }: AgentMetricsViewProps): react.JSX.Element;
644
+ declare module '../../theme/SlotsProvider.js' {
645
+ interface AtomSlots {
646
+ AgentMetricsView: ComponentType<AgentMetricsViewProps>;
647
+ }
648
+ }
649
+
650
+ declare function AgentOverviewCard({ title, icon, count, children }: AgentOverviewCardProps): react.JSX.Element;
651
+ declare module '../../theme/SlotsProvider.js' {
652
+ interface AtomSlots {
653
+ AgentOverviewCard: typeof AgentOverviewCard;
654
+ }
655
+ }
656
+
657
+ declare function AgentSessionDetailHeader({ title, sessionId, agentId, createdAt, view, onClose, resumeHref, onResume, resumeLabel, }: AgentSessionDetailHeaderProps): react.JSX.Element;
658
+ declare module '../../theme/SlotsProvider.js' {
659
+ interface AtomSlots {
660
+ AgentSessionDetailHeader: typeof AgentSessionDetailHeader;
661
+ }
662
+ }
663
+
664
+ declare function AgentSessionListRow({ title, agentName, lastActivityAt, metrics, active, onSelect, }: AgentSessionListRowProps): react.JSX.Element;
665
+ declare module '../../theme/SlotsProvider.js' {
666
+ interface AtomSlots {
667
+ AgentSessionListRow: typeof AgentSessionListRow;
668
+ }
669
+ }
670
+
671
+ declare function AgentSessionMetricsStrip({ metrics }: AgentSessionMetricsStripProps): react.JSX.Element;
672
+ declare module '../../theme/SlotsProvider.js' {
673
+ interface AtomSlots {
674
+ AgentSessionMetricsStrip: ComponentType<AgentSessionMetricsStripProps>;
675
+ }
676
+ }
677
+
678
+ type AgentSessionsFiltersProps = {
679
+ agentId: string | null;
680
+ timeRange: SessionTimeRange;
681
+ onAgentChange: (agentId: string | null) => void;
682
+ onTimeRangeChange: (range: SessionTimeRange) => void;
683
+ showAgentFilter?: boolean;
684
+ showCustomTimeRange?: boolean;
685
+ };
686
+ declare function AgentSessionsFilters({ agentId, timeRange, onAgentChange, onTimeRangeChange, showAgentFilter, showCustomTimeRange, }: AgentSessionsFiltersProps): react.JSX.Element;
687
+ declare module '../../theme/SlotsProvider.js' {
688
+ interface AtomSlots {
689
+ AgentSessionsFilters: typeof AgentSessionsFilters;
690
+ }
691
+ }
692
+
693
+ declare function AgentSessionTurnHeader({ turnNumber, totalTokens, inputTokens, outputTokens, cachedTokens, durationMs, totalCostInUsd, }: AgentSessionTurnHeaderProps): react.JSX.Element;
694
+ declare module '../../theme/SlotsProvider.js' {
695
+ interface AtomSlots {
696
+ AgentSessionTurnHeader: typeof AgentSessionTurnHeader;
697
+ }
698
+ }
699
+
700
+ declare function SessionsPage(): react.JSX.Element;
701
+ declare module '../../theme/SlotsProvider.js' {
702
+ interface AtomSlots {
703
+ SessionsPage: typeof SessionsPage;
704
+ }
705
+ }
706
+
397
707
  type AgentsLibraryProps = {
398
- open: boolean;
399
- onOpenChange: (open: boolean) => void;
400
708
  onSelectAgent?: (agentName: string) => void;
401
709
  };
402
- declare function AgentsLibrary({ open, onOpenChange, onSelectAgent }: AgentsLibraryProps): react.JSX.Element;
710
+ type AgentScheduleSummary = {
711
+ count: number;
712
+ hasPaused: boolean;
713
+ };
714
+ type AgentLibraryRowProps = {
715
+ agent: AgentLibraryEntry;
716
+ canMutate: boolean;
717
+ canManageSchedules: boolean;
718
+ scheduleSummary?: AgentScheduleSummary | null;
719
+ onOpenSchedules?: () => void;
720
+ onCreateSchedule?: () => void;
721
+ onOpen?: () => void;
722
+ onTry: () => void;
723
+ onEdit: () => void;
724
+ onManageSchedules?: () => void;
725
+ };
726
+ declare function AgentLibraryRow({ agent, canMutate, canManageSchedules, scheduleSummary, onOpenSchedules, onCreateSchedule, onOpen, onTry, onEdit, onManageSchedules, }: AgentLibraryRowProps): react.JSX.Element;
727
+ declare function AgentsLibrary({ onSelectAgent }: AgentsLibraryProps): react.JSX.Element | null;
403
728
  declare module '../theme/SlotsProvider.js' {
404
729
  interface AtomSlots {
405
730
  AgentsLibrary: typeof AgentsLibrary;
731
+ AgentLibraryRow: typeof AgentLibraryRow;
406
732
  }
407
733
  }
408
734
 
409
735
  type AgentsLibraryButtonProps = {
410
736
  className?: string;
411
737
  compact?: boolean;
412
- onSelectAgent?: (agentName: string) => void;
413
738
  };
414
- declare function AgentsLibraryButton({ className, compact, onSelectAgent }: AgentsLibraryButtonProps): react.JSX.Element | null;
739
+ declare function AgentsLibraryButton({ className, compact }: AgentsLibraryButtonProps): react.JSX.Element | null;
415
740
  declare module '../theme/SlotsProvider.js' {
416
741
  interface AtomSlots {
417
742
  AgentsLibraryButton: typeof AgentsLibraryButton;
@@ -590,6 +915,279 @@ declare module '../theme/SlotsProvider.js' {
590
915
  }
591
916
  }
592
917
 
918
+ type AgentInstructionsDraft = {
919
+ instructions: string;
920
+ messages: TrueForgeApi.InitialUserMessage[];
921
+ };
922
+ type AgentInstructionsDrawerProps = {
923
+ open: boolean;
924
+ instructions: string;
925
+ messages?: TrueForgeApi.InitialUserMessage[];
926
+ onSave: (draft: AgentInstructionsDraft) => void;
927
+ onClose: () => void;
928
+ };
929
+ declare function AgentInstructionsDrawer({ open, instructions, messages, onSave, onClose, }: AgentInstructionsDrawerProps): react.JSX.Element;
930
+ declare module '../../theme/SlotsProvider.js' {
931
+ interface AtomSlots {
932
+ AgentInstructionsDrawer: typeof AgentInstructionsDrawer;
933
+ }
934
+ }
935
+
936
+ type AgentConfigEditor = 'instructions' | 'model' | 'model-settings' | 'runtime' | 'mcp' | 'skills';
937
+ type AgentConfigEditorsProps = {
938
+ editor: AgentConfigEditor | null;
939
+ spec: AgentSpec;
940
+ models: ModelSelection[];
941
+ connectors: ConnectorState[];
942
+ skills: AgentSkill[];
943
+ loading: boolean;
944
+ error: string | null;
945
+ skillsDisabled?: boolean;
946
+ sandboxAvailable?: boolean;
947
+ instructions?: string;
948
+ onInstructionsSave?: (draft: AgentInstructionsDraft) => void;
949
+ loadMcpTools?: (connectorId: string) => Promise<McpToolSelection[]>;
950
+ onRefreshConnectors?: () => Promise<void>;
951
+ onChange: (spec: AgentSpec) => void;
952
+ onClose: () => void;
953
+ };
954
+ declare function AgentConfigEditors({ editor, spec, models, connectors, skills, loading, error, skillsDisabled, sandboxAvailable, instructions, onInstructionsSave, loadMcpTools, onRefreshConnectors, onChange, onClose, }: AgentConfigEditorsProps): react.JSX.Element;
955
+ declare module '../../theme/SlotsProvider.js' {
956
+ interface AtomSlots {
957
+ AgentConfigEditors: typeof AgentConfigEditors;
958
+ }
959
+ }
960
+
961
+ type AgentConfigPanelProps = {
962
+ spec: AgentSpec;
963
+ model?: ModelSelection;
964
+ skillsAvailable: boolean;
965
+ instructions: string;
966
+ onOpenEditor: (editor: AgentConfigEditor) => void;
967
+ onChange?: (spec: AgentSpec) => void;
968
+ onClose?: () => void;
969
+ };
970
+ declare function AgentConfigSection({ title, description, icon, actionIcon, actionLabel, onEdit, children, }: {
971
+ title?: string;
972
+ description?: string;
973
+ icon?: string;
974
+ actionIcon?: string;
975
+ actionLabel?: string;
976
+ onEdit?: () => void;
977
+ children?: ReactNode;
978
+ }): react.JSX.Element;
979
+ declare function AgentConfigPanel({ spec, model, skillsAvailable, instructions, onOpenEditor, onChange, onClose, }: AgentConfigPanelProps): react.JSX.Element;
980
+ declare module '../../theme/SlotsProvider.js' {
981
+ interface AtomSlots {
982
+ AgentConfigPanel: typeof AgentConfigPanel;
983
+ AgentConfigSection: typeof AgentConfigSection;
984
+ }
985
+ }
986
+
987
+ type AgentMcpEditorContentProps = {
988
+ spec: AgentSpec;
989
+ connectors: ConnectorState[];
990
+ query: string;
991
+ activeConnectorId: string | null;
992
+ tools: McpToolSelection[];
993
+ toolsLoading: boolean;
994
+ toolsError: string | null;
995
+ onQueryChange: (query: string) => void;
996
+ onSelectConnector: (connectorId: string) => void;
997
+ onRetryTools: () => void;
998
+ onRefreshConnectors?: () => Promise<void>;
999
+ onChange: (spec: AgentSpec) => void;
1000
+ };
1001
+ declare function AgentMcpEditorContent({ spec, connectors, query, activeConnectorId, tools, toolsLoading, toolsError, onQueryChange, onSelectConnector, onRetryTools, onRefreshConnectors, onChange, }: AgentMcpEditorContentProps): react.JSX.Element;
1002
+ declare module '../../theme/SlotsProvider.js' {
1003
+ interface AtomSlots {
1004
+ AgentMcpEditorContent: typeof AgentMcpEditorContent;
1005
+ }
1006
+ }
1007
+
1008
+ type AgentModelConfigModalProps = {
1009
+ editor: 'model' | 'model-settings' | null;
1010
+ spec: AgentSpec;
1011
+ models: ModelSelection[];
1012
+ loading: boolean;
1013
+ error: string | null;
1014
+ query: string;
1015
+ onQueryChange: (query: string) => void;
1016
+ onChange: (spec: AgentSpec) => void;
1017
+ onClose: () => void;
1018
+ };
1019
+ declare function AgentModelConfigModal({ editor, spec, models, loading, error, query, onQueryChange, onChange, onClose, }: AgentModelConfigModalProps): react.JSX.Element;
1020
+ declare module '../../theme/SlotsProvider.js' {
1021
+ interface AtomSlots {
1022
+ AgentModelConfigModal: typeof AgentModelConfigModal;
1023
+ }
1024
+ }
1025
+
1026
+ type AgentModelEditorContentProps = {
1027
+ editor: 'model' | 'model-settings';
1028
+ spec: AgentSpec;
1029
+ models: ModelSelection[];
1030
+ loading: boolean;
1031
+ error: string | null;
1032
+ query: string;
1033
+ onQueryChange: (query: string) => void;
1034
+ onChange: (spec: AgentSpec) => void;
1035
+ };
1036
+ declare function AgentModelEditorContent({ editor, spec, models, loading, error, query, onQueryChange, onChange, }: AgentModelEditorContentProps): react.JSX.Element;
1037
+ declare module '../../theme/SlotsProvider.js' {
1038
+ interface AtomSlots {
1039
+ AgentModelEditorContent: typeof AgentModelEditorContent;
1040
+ }
1041
+ }
1042
+
1043
+ type AgentModelSettingsContentProps = {
1044
+ spec: AgentSpec;
1045
+ model?: ModelSelection;
1046
+ onChange: (spec: AgentSpec) => void;
1047
+ };
1048
+ declare function AgentModelSettingsContent({ spec, model, onChange }: AgentModelSettingsContentProps): react.JSX.Element;
1049
+ declare module '../../theme/SlotsProvider.js' {
1050
+ interface AtomSlots {
1051
+ AgentModelSettingsContent: typeof AgentModelSettingsContent;
1052
+ }
1053
+ }
1054
+
1055
+ type AgentResourceConfigModalProps = {
1056
+ editor: 'mcp' | 'skills' | null;
1057
+ spec: AgentSpec;
1058
+ connectors: ConnectorState[];
1059
+ skills: AgentSkill[];
1060
+ skillsDisabled: boolean;
1061
+ query: string;
1062
+ activeConnectorId: string | null;
1063
+ tools: McpToolSelection[];
1064
+ toolsLoading: boolean;
1065
+ toolsError: string | null;
1066
+ onQueryChange: (query: string) => void;
1067
+ onSelectConnector: (connectorId: string) => void;
1068
+ onRetryTools: () => void;
1069
+ onRefreshConnectors?: () => Promise<void>;
1070
+ onChange: (spec: AgentSpec) => void;
1071
+ onClose: () => void;
1072
+ };
1073
+ declare function AgentResourceConfigModal({ editor, onClose, ...contentProps }: AgentResourceConfigModalProps): react.JSX.Element;
1074
+ declare module '../../theme/SlotsProvider.js' {
1075
+ interface AtomSlots {
1076
+ AgentResourceConfigModal: typeof AgentResourceConfigModal;
1077
+ }
1078
+ }
1079
+
1080
+ type AgentResourceEditorContentProps = {
1081
+ editor: 'mcp' | 'skills';
1082
+ spec: AgentSpec;
1083
+ connectors: ConnectorState[];
1084
+ skills: AgentSkill[];
1085
+ skillsDisabled: boolean;
1086
+ query: string;
1087
+ activeConnectorId: string | null;
1088
+ tools: McpToolSelection[];
1089
+ toolsLoading: boolean;
1090
+ toolsError: string | null;
1091
+ onQueryChange: (query: string) => void;
1092
+ onSelectConnector: (connectorId: string) => void;
1093
+ onRetryTools: () => void;
1094
+ onRefreshConnectors?: () => Promise<void>;
1095
+ onChange: (spec: AgentSpec) => void;
1096
+ };
1097
+ declare function AgentResourceEditorContent(props: AgentResourceEditorContentProps): react.JSX.Element;
1098
+ declare module '../../theme/SlotsProvider.js' {
1099
+ interface AtomSlots {
1100
+ AgentResourceEditorContent: typeof AgentResourceEditorContent;
1101
+ }
1102
+ }
1103
+
1104
+ type AgentRuntimeConfigFieldsProps = {
1105
+ value: AgentRuntimeConfig;
1106
+ sandboxAvailable: boolean;
1107
+ hasSkills: boolean;
1108
+ disabled?: boolean;
1109
+ showCapabilities?: boolean;
1110
+ layout?: 'compact' | 'detailed';
1111
+ onChange: (value: AgentRuntimeConfig) => void;
1112
+ };
1113
+ declare function AgentRuntimeConfigFields({ value, sandboxAvailable, hasSkills, disabled, showCapabilities, layout, onChange, }: AgentRuntimeConfigFieldsProps): react.JSX.Element;
1114
+ declare module '../../theme/SlotsProvider.js' {
1115
+ interface AtomSlots {
1116
+ AgentRuntimeConfigFields: typeof AgentRuntimeConfigFields;
1117
+ }
1118
+ }
1119
+
1120
+ type AgentRuntimeConfigModalProps = {
1121
+ open: boolean;
1122
+ spec: AgentSpec;
1123
+ sandboxAvailable: boolean;
1124
+ onChange: (spec: AgentSpec) => void;
1125
+ onClose: () => void;
1126
+ };
1127
+ declare function AgentRuntimeConfigModal({ open, spec, sandboxAvailable, onChange, onClose, }: AgentRuntimeConfigModalProps): react.JSX.Element;
1128
+ declare module '../../theme/SlotsProvider.js' {
1129
+ interface AtomSlots {
1130
+ AgentRuntimeConfigModal: typeof AgentRuntimeConfigModal;
1131
+ }
1132
+ }
1133
+
1134
+ type AgentRuntimeEditorContentProps = {
1135
+ spec: AgentSpec;
1136
+ sandboxAvailable: boolean;
1137
+ onChange: (spec: AgentSpec) => void;
1138
+ };
1139
+ declare function AgentRuntimeEditorContent({ spec, sandboxAvailable, onChange }: AgentRuntimeEditorContentProps): react.JSX.Element;
1140
+ declare module '../../theme/SlotsProvider.js' {
1141
+ interface AtomSlots {
1142
+ AgentRuntimeEditorContent: typeof AgentRuntimeEditorContent;
1143
+ }
1144
+ }
1145
+
1146
+ type AgentSkillsEditorContentProps = {
1147
+ spec: AgentSpec;
1148
+ skills: AgentSkill[];
1149
+ skillsDisabled: boolean;
1150
+ query: string;
1151
+ onQueryChange: (query: string) => void;
1152
+ onChange: (spec: AgentSpec) => void;
1153
+ };
1154
+ declare function AgentSkillsEditorContent({ spec, skills, skillsDisabled, query, onQueryChange, onChange, }: AgentSkillsEditorContentProps): react.JSX.Element;
1155
+ declare module '../../theme/SlotsProvider.js' {
1156
+ interface AtomSlots {
1157
+ AgentSkillsEditorContent: typeof AgentSkillsEditorContent;
1158
+ }
1159
+ }
1160
+
1161
+ type DraftAgentConfigTriggerProps = {
1162
+ disabled?: boolean;
1163
+ isRunning?: boolean;
1164
+ };
1165
+ declare function DraftAgentConfigTrigger({ disabled, isRunning }: DraftAgentConfigTriggerProps): react.JSX.Element;
1166
+ declare module '../../theme/SlotsProvider.js' {
1167
+ interface AtomSlots {
1168
+ DraftAgentConfigTrigger: typeof DraftAgentConfigTrigger;
1169
+ }
1170
+ }
1171
+
1172
+ type AgentCapabilityValues = {
1173
+ generativeUi: boolean;
1174
+ dynamicSubAgents: boolean;
1175
+ askUserQuestions: boolean;
1176
+ };
1177
+
1178
+ declare function DraftCapabilitiesPanel({ value, onChange, disabled, divided, layout, }: {
1179
+ value: AgentCapabilityValues;
1180
+ onChange: (value: AgentCapabilityValues) => void;
1181
+ disabled?: boolean;
1182
+ divided?: boolean;
1183
+ layout?: 'list' | 'cards';
1184
+ }): react.JSX.Element;
1185
+ declare module '../../theme/SlotsProvider.js' {
1186
+ interface AtomSlots {
1187
+ DraftCapabilitiesPanel: typeof DraftCapabilitiesPanel;
1188
+ }
1189
+ }
1190
+
593
1191
  declare function DraftComposerLeftSection({ disabled, isRunning, onAttach }: ComposerLeftSectionProps): react.JSX.Element;
594
1192
  declare function DraftComposerRightSection({ disabled, isRunning }: ComposerRightSectionProps): react.JSX.Element;
595
1193
  declare module '../../theme/SlotsProvider.js' {
@@ -599,6 +1197,22 @@ declare module '../../theme/SlotsProvider.js' {
599
1197
  }
600
1198
  }
601
1199
 
1200
+ declare function CatalogRow({ title, description, logo, fallbackIcon, checked, disabled, onToggle, onActivate, action, }: {
1201
+ title: string;
1202
+ description?: string;
1203
+ /** Catalog logo URL; when absent, `fallbackIcon` (or the title initial) is shown. */
1204
+ logo?: string | undefined;
1205
+ fallbackIcon?: string;
1206
+ checked: boolean;
1207
+ disabled?: boolean;
1208
+ onToggle: () => void;
1209
+ onActivate?: () => void;
1210
+ action?: ReactNode;
1211
+ }): react.JSX.Element;
1212
+ declare function ConnectorConnectButton({ connector, onConnected, }: {
1213
+ connector: ConnectorState;
1214
+ onConnected: () => Promise<void>;
1215
+ }): react.JSX.Element;
602
1216
  type DraftCompositeSelectorProps = {
603
1217
  disabled?: boolean;
604
1218
  isRunning?: boolean;
@@ -607,6 +1221,8 @@ type DraftCompositeSelectorProps = {
607
1221
  declare function DraftCompositeSelector({ disabled, isRunning, onAttach }: DraftCompositeSelectorProps): react.JSX.Element;
608
1222
  declare module '../../theme/SlotsProvider.js' {
609
1223
  interface AtomSlots {
1224
+ CatalogRow: typeof CatalogRow;
1225
+ ConnectorConnectButton: typeof ConnectorConnectButton;
610
1226
  DraftCompositeSelector: typeof DraftCompositeSelector;
611
1227
  }
612
1228
  }
@@ -771,14 +1387,74 @@ type SaveAgentButtonProps = {
771
1387
  disabled?: boolean;
772
1388
  className?: string;
773
1389
  children?: string;
1390
+ /** Unsynced drawer instructions to overlay onto the latest runtime spec. */
1391
+ instructionsOverride?: string;
774
1392
  };
775
- declare function SaveAgentButton({ disabled, className, children }: SaveAgentButtonProps): react.JSX.Element;
1393
+ declare function SaveAgentButton({ disabled, className, children, instructionsOverride, }: SaveAgentButtonProps): react.JSX.Element;
776
1394
  declare module '../theme/SlotsProvider.js' {
777
1395
  interface AtomSlots {
778
1396
  SaveAgentButton: typeof SaveAgentButton;
779
1397
  }
780
1398
  }
781
1399
 
1400
+ type EditableMount = {
1401
+ id: string;
1402
+ name: string;
1403
+ value: object;
1404
+ };
1405
+
1406
+ type SaveAgentFormProps = {
1407
+ intent: 'create' | 'update';
1408
+ name: string;
1409
+ spec: AgentSpec;
1410
+ modelEntry?: ModelSelection;
1411
+ mcpMounts: EditableMount[];
1412
+ skillMounts: EditableMount[];
1413
+ saving: boolean;
1414
+ error: string | null;
1415
+ onNameChange: (name: string) => void;
1416
+ onChange: (spec: AgentSpec) => void;
1417
+ onEdit: (editor: AgentConfigEditor) => void;
1418
+ onToggleMcpPreload: (id: string) => void;
1419
+ onRemoveMcp?: (id: string) => void;
1420
+ onCancel: () => void;
1421
+ onSave: () => void;
1422
+ };
1423
+ declare function SaveAgentForm({ intent, name, spec, modelEntry, mcpMounts, skillMounts, saving, error, onNameChange, onChange, onEdit, onToggleMcpPreload, onRemoveMcp, onCancel, onSave, }: SaveAgentFormProps): react.JSX.Element;
1424
+ declare module '../theme/SlotsProvider.js' {
1425
+ interface AtomSlots {
1426
+ SaveAgentForm: typeof SaveAgentForm;
1427
+ }
1428
+ }
1429
+
1430
+ type SaveAgentFormFieldsProps = {
1431
+ spec: AgentSpec;
1432
+ modelEntry?: ModelSelection;
1433
+ mcpMounts: EditableMount[];
1434
+ skillMounts: EditableMount[];
1435
+ disabled: boolean;
1436
+ onEdit: (editor: AgentConfigEditor) => void;
1437
+ onToggleMcpPreload: (id: string) => void;
1438
+ onRemoveMcp?: (id: string) => void;
1439
+ };
1440
+ declare function SaveAgentFormFields({ spec, modelEntry, mcpMounts, skillMounts, disabled, onEdit, onToggleMcpPreload, onRemoveMcp, }: SaveAgentFormFieldsProps): react.JSX.Element;
1441
+ declare module '../theme/SlotsProvider.js' {
1442
+ interface AtomSlots {
1443
+ SaveAgentFormFields: typeof SaveAgentFormFields;
1444
+ }
1445
+ }
1446
+
1447
+ type SchedulesButtonProps = {
1448
+ className?: string;
1449
+ compact?: boolean;
1450
+ };
1451
+ declare function SchedulesButton({ className, compact }: SchedulesButtonProps): react.JSX.Element | null;
1452
+ declare module '../theme/SlotsProvider.js' {
1453
+ interface AtomSlots {
1454
+ SchedulesButton: typeof SchedulesButton;
1455
+ }
1456
+ }
1457
+
782
1458
  /** Empty main pane when AgentLibrary has no agent selected yet. */
783
1459
  declare function SelectAgentEmptyState(): react.JSX.Element | null;
784
1460
  declare module '../theme/SlotsProvider.js' {
@@ -787,6 +1463,17 @@ declare module '../theme/SlotsProvider.js' {
787
1463
  }
788
1464
  }
789
1465
 
1466
+ type SessionsBrowserButtonProps = {
1467
+ className?: string;
1468
+ compact?: boolean;
1469
+ };
1470
+ declare function SessionsBrowserButton({ className, compact }: SessionsBrowserButtonProps): react.JSX.Element | null;
1471
+ declare module '../theme/SlotsProvider.js' {
1472
+ interface AtomSlots {
1473
+ SessionsBrowserButton: typeof SessionsBrowserButton;
1474
+ }
1475
+ }
1476
+
790
1477
  /**
791
1478
  * Optional host chrome (e.g. logout) to the right of theme + settings in {@link ShellActions}.
792
1479
  * Default is empty; override via `overrides.ShellActionsActionSlot`.
@@ -1014,6 +1701,29 @@ declare module '../theme/SlotsProvider.js' {
1014
1701
  }
1015
1702
  }
1016
1703
 
1704
+ declare function AgentMetricsContainer({ agentId }: AgentMetricsProps): react.JSX.Element;
1705
+ declare module '../theme/SlotsProvider.js' {
1706
+ interface AtomSlots {
1707
+ AgentMetrics: ComponentType<AgentMetricsProps>;
1708
+ }
1709
+ }
1710
+
1711
+ type AgentSessionTimelineContainerProps = {
1712
+ sessionId: string;
1713
+ events: SessionEventItem[];
1714
+ listMetrics?: {
1715
+ totalTurns: number;
1716
+ totalCostInUsd?: number;
1717
+ totalDurationMs: number;
1718
+ };
1719
+ };
1720
+ declare function AgentSessionTimelineContainer({ sessionId, events, listMetrics }: AgentSessionTimelineContainerProps): react.JSX.Element;
1721
+ declare module '../theme/SlotsProvider.js' {
1722
+ interface AtomSlots {
1723
+ AgentSessionTimelineContainer: typeof AgentSessionTimelineContainer;
1724
+ }
1725
+ }
1726
+
1017
1727
  /** Default slot implementations. Feature atoms + chrome; primitives via theme/CSS. */
1018
1728
  declare const defaultSlots: {
1019
1729
  Accordion: typeof Accordion;
@@ -1026,7 +1736,25 @@ declare const defaultSlots: {
1026
1736
  ComposerSendButton: typeof ComposerSendButton;
1027
1737
  DraftComposerLeftSection: typeof DraftComposerLeftSection;
1028
1738
  DraftComposerRightSection: typeof DraftComposerRightSection;
1739
+ DraftAgentConfigTrigger: typeof DraftAgentConfigTrigger;
1740
+ DraftCapabilitiesPanel: typeof DraftCapabilitiesPanel;
1741
+ AgentConfigEditors: typeof AgentConfigEditors;
1742
+ AgentInstructionsDrawer: typeof AgentInstructionsDrawer;
1743
+ AgentModelEditorContent: typeof AgentModelEditorContent;
1744
+ AgentModelSettingsContent: typeof AgentModelSettingsContent;
1745
+ AgentMcpEditorContent: typeof AgentMcpEditorContent;
1746
+ AgentModelConfigModal: typeof AgentModelConfigModal;
1747
+ AgentResourceEditorContent: typeof AgentResourceEditorContent;
1748
+ AgentResourceConfigModal: typeof AgentResourceConfigModal;
1749
+ AgentSkillsEditorContent: typeof AgentSkillsEditorContent;
1750
+ AgentConfigPanel: typeof AgentConfigPanel;
1751
+ AgentConfigSection: typeof AgentConfigSection;
1752
+ AgentRuntimeConfigFields: typeof AgentRuntimeConfigFields;
1753
+ AgentRuntimeConfigModal: typeof AgentRuntimeConfigModal;
1754
+ AgentRuntimeEditorContent: typeof AgentRuntimeEditorContent;
1029
1755
  DraftCompositeSelector: typeof DraftCompositeSelector;
1756
+ CatalogRow: typeof CatalogRow;
1757
+ ConnectorConnectButton: typeof ConnectorConnectButton;
1030
1758
  DraftModelSelector: typeof DraftModelSelector;
1031
1759
  AssistantMessageBubble: typeof AssistantMessageBubble;
1032
1760
  UserMessageBubble: typeof UserMessageBubble;
@@ -1037,7 +1765,7 @@ declare const defaultSlots: {
1037
1765
  MessageIndicator: typeof MessageIndicator;
1038
1766
  MessageTimestamp: typeof MessageTimestamp;
1039
1767
  Markdown: typeof Markdown;
1040
- SyntaxHighlighter: react.ComponentType<SyntaxHighlighterProps>;
1768
+ SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;
1041
1769
  OpenUiFenceBlock: typeof OpenUiFenceBlock;
1042
1770
  SandboxArtifactDownload: typeof SandboxArtifactDownload;
1043
1771
  ChatFileDownload: typeof ChatFileDownload;
@@ -1062,8 +1790,36 @@ declare const defaultSlots: {
1062
1790
  ThreadListRow: typeof ThreadListRow;
1063
1791
  ThreadListNewButton: typeof ThreadListNewButton;
1064
1792
  AgentsLibrary: typeof AgentsLibrary;
1793
+ AgentLibraryRow: typeof AgentLibraryRow;
1065
1794
  AgentsLibraryButton: typeof AgentsLibraryButton;
1795
+ SessionsBrowserButton: typeof SessionsBrowserButton;
1796
+ AgentDetailsPage: typeof AgentDetailsPage;
1797
+ AgentDetailsHeader: typeof AgentDetailsHeader;
1798
+ AgentDetailsTabs: typeof AgentDetailsTabs;
1799
+ AgentDetailsUnavailable: typeof AgentDetailsUnavailable;
1800
+ AgentOverview: react.FunctionComponent<AgentOverviewProps>;
1801
+ AgentOverviewCard: typeof AgentOverviewCard;
1802
+ AgentMetrics: typeof AgentMetricsContainer;
1803
+ AgentMetricsView: typeof AgentMetricsView;
1804
+ AgentMetricsTimeRangeFilter: typeof AgentMetricsTimeRangeFilter;
1805
+ AgentMetricCard: typeof AgentMetricCard;
1806
+ AgentMetricChart: react.FunctionComponent<AgentMetricChartProps>;
1807
+ AgentSessionDetailHeader: typeof AgentSessionDetailHeader;
1808
+ AgentSessionsFilters: typeof AgentSessionsFilters;
1809
+ SessionsPage: typeof SessionsPage;
1810
+ AgentSessionEventTimeline: react.FunctionComponent<AgentSessionEventTimelineProps>;
1811
+ AgentSessionEventTimelineChart: react.FunctionComponent<AgentSessionEventTimelineChartProps>;
1812
+ AgentSessionListRow: typeof AgentSessionListRow;
1813
+ AgentSessionMetricsStrip: typeof AgentSessionMetricsStrip;
1814
+ AgentSessionTimelineContainer: typeof AgentSessionTimelineContainer;
1815
+ AgentSessionTurnHeader: typeof AgentSessionTurnHeader;
1816
+ AgentSessions: react.FunctionComponent<AgentSessionsProps>;
1817
+ AgentCodeSnippets: react.FunctionComponent<AgentCodeSnippetsProps>;
1818
+ AgentCodeBlock: typeof AgentCodeBlock;
1819
+ SchedulesButton: typeof SchedulesButton;
1066
1820
  SaveAgentButton: typeof SaveAgentButton;
1821
+ SaveAgentForm: typeof SaveAgentForm;
1822
+ SaveAgentFormFields: typeof SaveAgentFormFields;
1067
1823
  SelectAgentEmptyState: typeof SelectAgentEmptyState;
1068
1824
  ClearChatButton: typeof ClearChatButton;
1069
1825
  ThreadListRowSkeleton: typeof ThreadListRowSkeleton;
@@ -1138,8 +1894,8 @@ type BottomSheetProps = {
1138
1894
  };
1139
1895
  declare function BottomSheet({ open, onOpenChange, children, className, id, 'aria-label': ariaLabel, }: BottomSheetProps): react.JSX.Element;
1140
1896
 
1141
- type AuiButtonVariant = 'default' | 'secondary' | 'ghost' | 'destructive' | 'outline';
1142
- type AuiButtonSize = 'default' | 'sm' | 'lg' | 'icon';
1897
+ type AuiButtonVariant = 'primary' | 'secondary' | 'ghost' | 'destructive';
1898
+ type AuiButtonSize = 'large' | 'small' | 'icon';
1143
1899
 
1144
1900
  type ButtonVariant = AuiButtonVariant;
1145
1901
  type ButtonSize = AuiButtonSize;
@@ -1148,6 +1904,17 @@ type ButtonProps = react__default.ButtonHTMLAttributes<HTMLButtonElement> & {
1148
1904
  size?: ButtonSize;
1149
1905
  asChild?: never;
1150
1906
  };
1907
+ type FixedVariantButtonProps = Omit<ButtonProps, 'variant'>;
1908
+ declare const Button: react__default.ForwardRefExoticComponent<react__default.ButtonHTMLAttributes<HTMLButtonElement> & {
1909
+ variant?: ButtonVariant;
1910
+ size?: ButtonSize;
1911
+ asChild?: never;
1912
+ } & react__default.RefAttributes<HTMLButtonElement>> & {
1913
+ Primary: react__default.ForwardRefExoticComponent<FixedVariantButtonProps & react__default.RefAttributes<HTMLButtonElement>>;
1914
+ Secondary: react__default.ForwardRefExoticComponent<FixedVariantButtonProps & react__default.RefAttributes<HTMLButtonElement>>;
1915
+ Ghost: react__default.ForwardRefExoticComponent<FixedVariantButtonProps & react__default.RefAttributes<HTMLButtonElement>>;
1916
+ Destructive: react__default.ForwardRefExoticComponent<FixedVariantButtonProps & react__default.RefAttributes<HTMLButtonElement>>;
1917
+ };
1151
1918
 
1152
1919
  type CenteredModalProps = {
1153
1920
  open: boolean;
@@ -1156,6 +1923,7 @@ type CenteredModalProps = {
1156
1923
  description?: string;
1157
1924
  headerIcon?: ReactNode;
1158
1925
  children: ReactNode;
1926
+ footer?: ReactNode;
1159
1927
  className?: string;
1160
1928
  contentSized?: boolean;
1161
1929
  'aria-label'?: string;
@@ -1164,7 +1932,7 @@ type CenteredModalProps = {
1164
1932
  * Responsive modal chrome: centered dialog on `md+`, bottom sheet below `md`.
1165
1933
  * One content tree for both breakpoints (native `<dialog>`).
1166
1934
  */
1167
- declare function CenteredModal({ open, onOpenChange, title, description, headerIcon, children, className, contentSized, 'aria-label': ariaLabel, }: CenteredModalProps): react.JSX.Element;
1935
+ declare function CenteredModal({ open, onOpenChange, title, description, headerIcon, children, footer, className, contentSized, 'aria-label': ariaLabel, }: CenteredModalProps): react.JSX.Element;
1168
1936
 
1169
1937
  type IconButtonProps = Omit<ButtonProps, 'size' | 'children'> & {
1170
1938
  'aria-label': string;
@@ -1172,6 +1940,56 @@ type IconButtonProps = Omit<ButtonProps, 'size' | 'children'> & {
1172
1940
  children: react__default.ReactNode;
1173
1941
  };
1174
1942
 
1943
+ type PopoverSelectOption<T extends string> = {
1944
+ value: T;
1945
+ label: string;
1946
+ disabled?: boolean;
1947
+ };
1948
+ type CommonPopoverSelectProps<T extends string> = {
1949
+ options: readonly PopoverSelectOption<T>[];
1950
+ placeholder?: string;
1951
+ disabled?: boolean;
1952
+ className?: string;
1953
+ /** Which edge of the trigger the menu opens toward. Default `bottom`. */
1954
+ menuPlacement?: 'top' | 'bottom';
1955
+ /** When set, renders a labeled chip trigger (label | value chip + chevron). */
1956
+ prefix?: string;
1957
+ 'aria-label': string;
1958
+ };
1959
+ type PopoverSelectProps<T extends string> = CommonPopoverSelectProps<T> & ({
1960
+ multiple?: false;
1961
+ value: T;
1962
+ onValueChange: (value: T) => void;
1963
+ } | {
1964
+ multiple: true;
1965
+ value: readonly T[];
1966
+ onValueChange: (value: T[]) => void;
1967
+ });
1968
+ declare function PopoverSelect<T extends string>(props: PopoverSelectProps<T>): react.JSX.Element;
1969
+
1970
+ type SideDrawerAnchor = 'left' | 'right';
1971
+ type SideDrawerSize = 'sm' | 'md' | 'lg' | 'xl';
1972
+ type SideDrawerProps = {
1973
+ open: boolean;
1974
+ onOpenChange: (open: boolean) => void;
1975
+ title: string;
1976
+ description?: string;
1977
+ headerIcon?: ReactNode;
1978
+ children: ReactNode;
1979
+ footer?: ReactNode;
1980
+ /** Desktop side; ignored when compact / below `md` (falls back to bottom sheet). */
1981
+ anchor?: SideDrawerAnchor;
1982
+ /** Desktop width. Defaults to `md`. */
1983
+ size?: SideDrawerSize;
1984
+ className?: string;
1985
+ 'aria-label'?: string;
1986
+ };
1987
+ /**
1988
+ * Responsive overlay chrome: side drawer on `md+`, bottom sheet below `md`
1989
+ * (and always when compact dock/widget layout is active).
1990
+ */
1991
+ declare function SideDrawer({ open, onOpenChange, title, description, headerIcon, children, footer, anchor, size, className, 'aria-label': ariaLabel, }: SideDrawerProps): react.JSX.Element;
1992
+
1175
1993
  type SwitchSize = 'sm' | 'md';
1176
1994
  type SwitchProps = Omit<ComponentPropsWithoutRef<'button'>, 'aria-checked' | 'children' | 'onClick' | 'role'> & {
1177
1995
  checked: boolean;
@@ -1180,6 +1998,108 @@ type SwitchProps = Omit<ComponentPropsWithoutRef<'button'>, 'aria-checked' | 'ch
1180
1998
  };
1181
1999
  declare function Switch({ checked, onCheckedChange, size, disabled, className, ...props }: SwitchProps): react.JSX.Element;
1182
2000
 
2001
+ declare const DEFAULT_TABLE_PAGE_SIZE = 10;
2002
+ declare const TABLE_PAGE_SIZE_OPTIONS: readonly [10, 25, 50];
2003
+ type TableProps = react__default.HTMLAttributes<HTMLTableElement> & {
2004
+ /** Extra classes on the horizontal scroll wrapper. */
2005
+ containerClassName?: string;
2006
+ };
2007
+ declare function Table({ className, containerClassName, ...props }: TableProps): react__default.JSX.Element;
2008
+ type TableHeaderProps = react__default.HTMLAttributes<HTMLTableSectionElement>;
2009
+ declare function TableHeader({ className, ...props }: TableHeaderProps): react__default.JSX.Element;
2010
+ type TableBodyProps = react__default.HTMLAttributes<HTMLTableSectionElement>;
2011
+ declare function TableBody({ className, ...props }: TableBodyProps): react__default.JSX.Element;
2012
+ type TableRowProps = react__default.HTMLAttributes<HTMLTableRowElement>;
2013
+ declare function TableRow({ className, ...props }: TableRowProps): react__default.JSX.Element;
2014
+ type TableHeadProps = react__default.ThHTMLAttributes<HTMLTableCellElement>;
2015
+ declare function TableHead({ className, ...props }: TableHeadProps): react__default.JSX.Element;
2016
+ type TableCellProps = react__default.TdHTMLAttributes<HTMLTableCellElement>;
2017
+ declare function TableCell({ className, ...props }: TableCellProps): react__default.JSX.Element;
2018
+ type TablePaginationProps = {
2019
+ page: number;
2020
+ pageSize: number;
2021
+ total: number;
2022
+ onPageChange: (page: number) => void;
2023
+ onPageSizeChange: (pageSize: number) => void;
2024
+ pageSizeOptions?: readonly number[];
2025
+ className?: string;
2026
+ };
2027
+ declare function TablePagination({ page, pageSize, total, onPageChange, onPageSizeChange, pageSizeOptions, className, }: TablePaginationProps): react__default.JSX.Element;
2028
+ /** Cursor / token pagination when the API has no total count. */
2029
+ type TableTokenPaginationProps = {
2030
+ pageSize: number;
2031
+ rowCount: number;
2032
+ canPrev: boolean;
2033
+ canNext: boolean;
2034
+ onPrev: () => void;
2035
+ onNext: () => void;
2036
+ onPageSizeChange: (pageSize: number) => void;
2037
+ pageSizeOptions?: readonly number[];
2038
+ className?: string;
2039
+ };
2040
+ declare function TableTokenPagination({ pageSize, rowCount, canPrev, canNext, onPrev, onNext, onPageSizeChange, pageSizeOptions, className, }: TableTokenPaginationProps): react__default.JSX.Element;
2041
+
2042
+ type ScheduleFormDrawerProps = {
2043
+ open: boolean;
2044
+ onOpenChange: (open: boolean) => void;
2045
+ mode: 'create' | 'edit';
2046
+ schedule?: Schedule;
2047
+ initialAgentId?: string;
2048
+ onSaved?: () => void;
2049
+ };
2050
+ declare function ScheduleFormDrawer(props: ScheduleFormDrawerProps): react.JSX.Element;
2051
+
2052
+ type RecurrenceKind = 'hourly' | 'daily' | 'weekly' | 'custom';
2053
+ type ScheduleFormValues = {
2054
+ name: string;
2055
+ task: string;
2056
+ recurrence: RecurrenceKind;
2057
+ hour: number;
2058
+ minute: number;
2059
+ /** Cron DOW: 0=Sun … 6=Sat. Used when recurrence is weekly. */
2060
+ weekdays: number[];
2061
+ customCron: string;
2062
+ timezone: string;
2063
+ };
2064
+
2065
+ type ScheduleFormFieldsProps = {
2066
+ values: ScheduleFormValues;
2067
+ onChange: (next: ScheduleFormValues) => void;
2068
+ agentId: string;
2069
+ onAgentIdChange?: (agentId: string) => void;
2070
+ agentOptions: Array<{
2071
+ agentId: string;
2072
+ name: string;
2073
+ }>;
2074
+ agentPickerDisabled?: boolean;
2075
+ };
2076
+ declare function ScheduleFormFields({ values, onChange, agentId, onAgentIdChange, agentOptions, agentPickerDisabled, }: ScheduleFormFieldsProps): react.JSX.Element;
2077
+
2078
+ declare function ScheduleLastRunsCell({ runs }: {
2079
+ runs: readonly ScheduleRun[];
2080
+ }): react.JSX.Element;
2081
+
2082
+ declare function ScheduleRunChip({ run }: {
2083
+ run: ScheduleRun;
2084
+ }): react.JSX.Element;
2085
+
2086
+ declare function SchedulesPage(): react.JSX.Element;
2087
+
2088
+ declare function ScheduleStatusBadge({ status }: {
2089
+ status: ScheduleStatus;
2090
+ }): react.JSX.Element;
2091
+
2092
+ type ScheduleMcpMount = {
2093
+ name: string;
2094
+ };
2095
+ type TestScheduleScreenProps = {
2096
+ schedule: Schedule;
2097
+ agentName: string;
2098
+ mcpMounts: readonly ScheduleMcpMount[];
2099
+ onEditConfiguration: () => void;
2100
+ };
2101
+ declare function TestScheduleScreen({ schedule, agentName, mcpMounts, onEditConfiguration }: TestScheduleScreenProps): react.JSX.Element;
2102
+
1183
2103
  type IconProps = IconProps$1 & {
1184
2104
  name: string | readonly string[];
1185
2105
  };
@@ -1307,6 +2227,8 @@ declare const ToolCallContainer: ToolCallMessagePartComponent;
1307
2227
 
1308
2228
  declare function ToolCallContentBlockContainer(props: ToolCallContentBlockProps): react.JSX.Element;
1309
2229
 
2230
+ type DraftPreferenceKind = 'chat' | 'agent';
2231
+
1310
2232
  /** Host-facing shell configuration for agent / library / composer chrome. */
1311
2233
  type AgentConfig = {
1312
2234
  mode: 'SingleAgent';
@@ -1322,14 +2244,19 @@ type AgentConfig = {
1322
2244
  };
1323
2245
  declare const DEFAULT_AGENT_CONFIG: AgentConfig;
1324
2246
  /**
1325
- * Active chat binding. Mutability (`isMutable`) decides composer / Save / updateSession —
1326
- * not a parallel draft|named shell type.
2247
+ * Active chat binding. Mutability (`isMutable`) decides draft vs named runtime.
2248
+ * `isCreateAgent` (mutable only) splits New Agent builder chrome from simple New Chat.
1327
2249
  */
1328
2250
  type ShellMode = {
1329
2251
  status: 'idle';
1330
2252
  } | {
1331
2253
  status: 'active';
1332
2254
  isMutable: boolean;
2255
+ /**
2256
+ * Mutable only: true = Agent builder (config drawer + Save); false = simple chat.
2257
+ * Always false when `isMutable` is false (Try / named).
2258
+ */
2259
+ isCreateAgent: boolean;
1333
2260
  /** Identity for immutable bind + history filter. */
1334
2261
  agentId?: string;
1335
2262
  /** Display / welcome label (often same as agentId). */
@@ -1338,9 +2265,13 @@ type ShellMode = {
1338
2265
  agentSpec?: AgentSpec;
1339
2266
  locked: boolean;
1340
2267
  };
1341
- /** Library / New Chat create intent. */
2268
+ /** Library / New Chat / New Agent create intent. */
1342
2269
  type SelectLibraryAgentRequest = {
1343
2270
  isMutable: boolean;
2271
+ /**
2272
+ * Mutable only. When omitted: true if Edit identity is present, else false (New Chat).
2273
+ */
2274
+ isCreateAgent?: boolean;
1344
2275
  agentId?: string;
1345
2276
  agentName?: string;
1346
2277
  agentSpec?: AgentSpec;
@@ -1350,7 +2281,7 @@ type ShellModeContextValue = {
1350
2281
  mode: ShellMode;
1351
2282
  /** Host agentConfig mode (capabilities source). */
1352
2283
  agentConfigMode: AgentConfig['mode'];
1353
- /** Agents Library chrome. */
2284
+ /** Agents chrome. */
1354
2285
  isLibraryEnabled: boolean;
1355
2286
  /** Mutable composer / Save Agent chrome (host capability). */
1356
2287
  isComposerEnabled: boolean;
@@ -1359,8 +2290,22 @@ type ShellModeContextValue = {
1359
2290
  settingsOpen: boolean;
1360
2291
  settingsSection: SettingsSection;
1361
2292
  setSettingsOpen: (open: boolean, section?: SettingsSection) => void;
2293
+ agentConfigOpen: boolean;
2294
+ setAgentConfigOpen: (open: boolean) => void;
2295
+ /** Agents main-pane overlay (sidebar layout). */
2296
+ libraryOpen: boolean;
2297
+ libraryAgentId: string | null;
2298
+ setLibraryAgentId: (id: string | null) => void;
2299
+ setLibraryOpen: (open: boolean) => void;
2300
+ /** All-user sessions browser (includes drafts). */
2301
+ sessionsOpen: boolean;
2302
+ setSessionsOpen: (open: boolean) => void;
2303
+ openLibraryAgent: (agentId: string) => void;
2304
+ closeLibraryAgent: () => void;
2305
+ schedulesOpen: boolean;
2306
+ setSchedulesOpen: (open: boolean) => void;
1362
2307
  /**
1363
- * Bind from the Agents Library (Try = immutable, Edit = mutable + agentSpec).
2308
+ * Bind from Agents (Try = immutable, Edit = mutable + agentSpec).
1364
2309
  * Prefer this over `selectAgent` / `openDraft` when both fields are available.
1365
2310
  */
1366
2311
  selectLibraryAgent: (req: SelectLibraryAgentRequest) => void;
@@ -1375,24 +2320,28 @@ type ShellModeContextValue = {
1375
2320
  }) => void;
1376
2321
  /** @deprecated Prefer `selectLibraryAgent({ isMutable: false, agentName })`. */
1377
2322
  selectAgent: (agentName: string) => void;
1378
- /** @deprecated Prefer `selectLibraryAgent({ isMutable: true, agentSpec })`. */
2323
+ /** Open a simple New Chat (mutable, no agent-builder chrome). */
1379
2324
  openDraft: () => void;
1380
- /** Remember plain-draft composer choices as the seed for future new chats. */
1381
- rememberDraftSpec: (agentSpec: AgentSpec) => void;
2325
+ /** Open New Agent builder (mutable + Agent Config drawer). */
2326
+ openAgentBuilder: () => void;
2327
+ /** Remember plain-draft composer choices as the seed for future New Chat / New Agent. */
2328
+ rememberDraftSpec: (agentSpec: AgentSpec, kind?: DraftPreferenceKind) => void;
1382
2329
  /**
1383
2330
  * Open a history session, remounting when mutability/identity changes.
1384
2331
  * Prefer explicit `isMutable` from the session row; when omitted, agentName
1385
2332
  * present → immutable and agentName absent → mutable. Immutable rows may omit
1386
2333
  * `agentName` when the registry agent was deleted.
2334
+ * `isCreateAgent` is only applied when mutable (default false when omitted).
1387
2335
  */
1388
2336
  openHistorySession: (req: {
1389
2337
  sessionId: string;
1390
2338
  agentName?: string;
1391
2339
  isMutable?: boolean;
2340
+ isCreateAgent?: boolean;
1392
2341
  }) => void;
1393
2342
  /** Reset current chat; no-op when idle. */
1394
2343
  clearChat: () => void;
1395
- /** Return pure Agents Library to its idle landing; no-op in other modes. */
2344
+ /** Return library-only mode to its idle landing; no-op in other modes. */
1396
2345
  openLibraryHome: () => void;
1397
2346
  /** Remount key for the chat runtime when binding changes. */
1398
2347
  runtimeKey: string;
@@ -1407,7 +2356,7 @@ type ShellModeContextValue = {
1407
2356
  /** Session to open after a binding remount (history click across mutability). */
1408
2357
  pendingSessionId: string | undefined;
1409
2358
  /**
1410
- * Bumped when the Agents Library catalog may have changed (e.g. after saveAgent).
2359
+ * Bumped when the Agents catalog may have changed (e.g. after saveAgent).
1411
2360
  * Library chrome should re-fetch when this changes.
1412
2361
  */
1413
2362
  agentsListEpoch: number;
@@ -1424,6 +2373,8 @@ declare function useShellMode(): ShellModeContextValue;
1424
2373
  declare function useOptionalShellMode(): ShellModeContextValue | null;
1425
2374
  /** True when the shell is bound to a mutable (editable) agentSpec. */
1426
2375
  declare function shellIsMutable(mode: ShellMode): boolean;
2376
+ /** True when the shell is in New Agent / Edit builder chrome. */
2377
+ declare function shellIsCreateAgent(mode: ShellMode): boolean;
1427
2378
 
1428
2379
  /**
1429
2380
  * A navigable place in the chat shell. The router mirrors these to the URL;
@@ -1439,6 +2390,15 @@ type RoutePlace = {
1439
2390
  sessionId: string;
1440
2391
  } | {
1441
2392
  type: 'settings';
2393
+ } | {
2394
+ type: 'library';
2395
+ } | {
2396
+ type: 'libraryAgent';
2397
+ agentId: string;
2398
+ } | {
2399
+ type: 'sessionsBrowser';
2400
+ } | {
2401
+ type: 'schedules';
1442
2402
  };
1443
2403
  /**
1444
2404
  * Host-facing route path customization. Only honored when `withRouter`.
@@ -1453,10 +2413,18 @@ type RoutesConfig = {
1453
2413
  root?: string;
1454
2414
  /** Settings overlay. `false` keeps settings overlay-only (no URL). Default `'/settings'`. */
1455
2415
  settings?: string | false;
2416
+ /** Agents overlay. `false` keeps library overlay-only (no URL). Default `'/library'`. */
2417
+ library?: string | false;
2418
+ /** Agent detail under the library. Default `'/library/:agentId'`. */
2419
+ libraryAgent?: string | false;
2420
+ /** Schedules page. `false` keeps schedules overlay-only (no URL). Default `'/schedules'`. */
2421
+ schedules?: string | false;
1456
2422
  /** Immutable "Try" agent. `false` disables. Default `'/agents/:agentName'`. */
1457
2423
  agent?: string | false;
1458
2424
  /** Session deep link. `false` disables. Default `'/sessions/:sessionId'`. */
1459
2425
  session?: string | false;
2426
+ /** All-user sessions browser. `false` disables. Default `'/sessions'`. */
2427
+ sessionsBrowser?: string | false;
1460
2428
  };
1461
2429
  };
1462
2430
 
@@ -1629,6 +2597,18 @@ declare const useMCPAuth: ({ callbackPath }?: UseMCPAuthOptions) => {
1629
2597
  isOAuthLoading: boolean;
1630
2598
  };
1631
2599
 
2600
+ /** Session metadata key for New Chat vs New Agent builder intent (wire/jsonb snake_case). */
2601
+ declare const IS_CREATE_AGENT_METADATA_KEY = "is_create_agent";
2602
+ /** Wire metadata values are strings (`SessionMetadataSchema`). */
2603
+ declare function isCreateAgentMetadataValue(isCreateAgent: boolean): 'true' | 'false';
2604
+ /**
2605
+ * Read create-agent intent from session metadata.
2606
+ * Missing / undefined / anything other than `"true"` → false (legacy = Chat).
2607
+ */
2608
+ declare function readSessionIsCreateAgent(metadata: Record<string, string> | null | undefined): boolean;
2609
+ /** True when a UI session was stamped as agent-builder (own prop or metadata). */
2610
+ declare function sessionIsCreateAgent(session: object): boolean;
2611
+
1632
2612
  declare function ServerProvider({ server, children }: {
1633
2613
  server: AgentUIServer;
1634
2614
  children: ReactNode;
@@ -1638,6 +2618,19 @@ declare function useOptionalServer(): AgentUIServer | null;
1638
2618
  declare function useServerCapabilities(): AgentBuilderCapabilitiesResponse['data'] | null;
1639
2619
  declare function useCatalogServer(): CatalogServer;
1640
2620
  declare function useOptionalCatalogServer(): CatalogServer | null;
2621
+ declare function useAgentSessionsServer(): AgentSessionsServer;
2622
+ declare function useOptionalAgentSessionsServer(): AgentSessionsServer | null;
2623
+ declare function useAgentMetricsServer(): AgentMetricsServer;
2624
+ declare function useOptionalAgentMetricsServer(): AgentMetricsServer | null;
2625
+ declare function useScheduleServer(): ScheduleServer;
2626
+ declare function useOptionalScheduleServer(): ScheduleServer | null;
2627
+
2628
+ declare function AgentMetricChart({ graph, definition, error }: AgentMetricChartProps): react.JSX.Element;
2629
+ declare module '../../theme/SlotsProvider.js' {
2630
+ interface AtomSlots {
2631
+ AgentMetricChart: ComponentType<AgentMetricChartProps>;
2632
+ }
2633
+ }
1641
2634
 
1642
2635
  type AgentStepPart = {
1643
2636
  type: PartState['type'];
@@ -1665,6 +2658,11 @@ type DraftCatalogValue = {
1665
2658
  models: ModelSelection[];
1666
2659
  skills: AgentSkill[];
1667
2660
  connectors: ConnectorState[];
2661
+ /** Connector logo URL keyed by connector name, sourced from the discovery catalog. */
2662
+ connectorLogos: Record<string, string>;
2663
+ connectorsHasMore: boolean;
2664
+ connectorsLoadMoreFailed: boolean;
2665
+ connectorsLoadingMore: boolean;
1668
2666
  loaded: boolean;
1669
2667
  loading: boolean;
1670
2668
  error: string | null;
@@ -1674,10 +2672,12 @@ type DraftCatalogValue = {
1674
2672
  refresh: () => void;
1675
2673
  /** Refresh connector auth state without reloading unrelated catalogs. */
1676
2674
  refreshConnectors: () => Promise<void>;
2675
+ /** Append the next MCP page when `connectorsHasMore`. */
2676
+ loadMoreConnectors: () => void;
1677
2677
  };
1678
2678
  declare function DraftCatalogProvider({ children }: {
1679
2679
  children: ReactNode;
1680
2680
  }): 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;
1681
2681
  declare function useDraftCatalog(): DraftCatalogValue;
1682
2682
 
1683
- export { type AgentConfig, 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, DraftCatalogProvider, DraftComposerLeftSection, DraftComposerRightSection, DraftCompositeSelector, type DraftCompositeSelectorProps, DraftModelSelector, type DraftModelSelectorProps, HistoryLoader, HistoryLoaderContainer, type HistoryLoaderProps, 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, PostMcpOauthScreen, type ReasoningCardProps, ReasoningContainer, ResumeUnavailable, ResumeUnavailableContainer, type ResumeUnavailableProps, type RoutePlace, type RoutesConfig, SandboxArtifactDownload, type SandboxArtifactDownloadProps, SandboxToolCallCard, type SandboxToolCallCardProps, SaveAgentButton, ScrollToBottomButton, type ScrollToBottomButtonProps, SelectAgentEmptyState, type SelectLibraryAgentRequest, type SemanticTokens, ServerProvider, ShellActionsActionSlot, type ShellMode, ShellModeProvider, type SlotOverrides, SlotsProvider, SubAgentCard, type SubAgentCardProps, Switch, type SwitchProps, type SwitchSize, SyntaxHighlighter, type SyntaxHighlighterProps, 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, libraryAgentId, preloadMarkdownOpenUI, resolveBrandChrome, resolvePresetTokens, shellIsMutable, threadHasPendingMcpAuth, useBrand, useBrandName, useCatalogServer, useComposerBusyState, useComposerPauseView, useContentClassNames, useDraftCatalog, useMCPAuth, useOptionalCatalogServer, useOptionalContentClassNames, useOptionalCustomActionRenderers, useOptionalServer, useOptionalShellMode, useServer, useServerCapabilities, useShellMode, useSlot, useTheme, useThemeIcons, useThemeMode, useToaster, useToasterOptional };
2683
+ 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, 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, 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, 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, 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 };