@truefoundry/trueforge-ui 0.3.0-rc.3 → 0.3.0-rc.5

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 (86) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +1 -1
  3. package/dist/{AgentCodeSnippets-N546FNNS.js → AgentCodeSnippets-V5A56M7R.js} +7 -7
  4. package/dist/AgentMetricChart-GEADURES.js +15 -0
  5. package/dist/{AgentOverview-VF74XC7I.js → AgentOverview-NPC4P2EY.js} +7 -7
  6. package/dist/{AgentSessionEventTimeline-RFR6LQMY.js → AgentSessionEventTimeline-UUXOJXTC.js} +7 -7
  7. package/dist/{AgentSessionEventTimelineChart-27CQF6FX.js → AgentSessionEventTimelineChart-FIAQCYJC.js} +7 -7
  8. package/dist/{AgentSessions-4IVX2SGD.js → AgentSessions-WHODEG2M.js} +44 -20
  9. package/dist/AgentSessions-WHODEG2M.js.map +1 -0
  10. package/dist/{ConnectorSettings-R5VEP7BO.js → ConnectorSettings-QTAI4TQX.js} +7 -7
  11. package/dist/{DockLayout-F44RWGEY.js → DockLayout-TATYU5SV.js} +10 -10
  12. package/dist/{DrawerLayout-SQ323AVM.js → DrawerLayout-DXHNV33K.js} +11 -11
  13. package/dist/{ModelSettings-6QLS63HM.js → ModelSettings-UWTBHQRG.js} +7 -7
  14. package/dist/OpenUiFenceBlock-FHEYXZEQ.js +9 -0
  15. package/dist/{SandboxSettings-OLKDXIQS.js → SandboxSettings-BITQONS3.js} +7 -7
  16. package/dist/SchedulesPage-JIUWNYUH.js +15 -0
  17. package/dist/{SettingsBuilder-GISAH2WU.js → SettingsBuilder-3OA4UCIM.js} +8 -8
  18. package/dist/{ShellRouteSync-EN33DUQ7.js → ShellRouteSync-J74MV23Q.js} +4 -4
  19. package/dist/{SidebarLayout-35K4AKTC.js → SidebarLayout-EQXQPYIU.js} +13 -13
  20. package/dist/SidebarLayout-EQXQPYIU.js.map +1 -0
  21. package/dist/{SkillSettings-JSX2BTII.js → SkillSettings-KQ6GQ7JW.js} +7 -7
  22. package/dist/{TrueForgeUIWithRouter-6VCR7ES3.js → TrueForgeUIWithRouter-R3UXQZRY.js} +9 -9
  23. package/dist/{WidgetLayout-RKBSN2FZ.js → WidgetLayout-YWZTYFZL.js} +10 -10
  24. package/dist/{chunk-KR7WYHVF.js → chunk-3QWUHGNL.js} +2 -2
  25. package/dist/{chunk-73FQVITT.js → chunk-4MCIDE2C.js} +3 -3
  26. package/dist/{chunk-LUG7E6BL.js → chunk-7NYDADYN.js} +5 -5
  27. package/dist/{chunk-J5BPHEDT.js → chunk-CFGLAGWH.js} +2 -2
  28. package/dist/{chunk-GSJAYYLR.js → chunk-DCVKW445.js} +11 -6
  29. package/dist/chunk-DCVKW445.js.map +1 -0
  30. package/dist/{chunk-XY6LZQES.js → chunk-ERIIJKJY.js} +4 -4
  31. package/dist/{chunk-Q6TCT7ZJ.js → chunk-IIHJ32YH.js} +3 -3
  32. package/dist/{chunk-F5QVQIBH.js → chunk-INY3J2BV.js} +27 -16
  33. package/dist/{chunk-F5QVQIBH.js.map → chunk-INY3J2BV.js.map} +1 -1
  34. package/dist/{chunk-XLFOXQKZ.js → chunk-IVDIBAVH.js} +2 -2
  35. package/dist/{chunk-2O5EJ6QS.js → chunk-MMU55KCW.js} +1427 -1239
  36. package/dist/chunk-MMU55KCW.js.map +1 -0
  37. package/dist/chunk-OWDH67NY.js +587 -0
  38. package/dist/chunk-OWDH67NY.js.map +1 -0
  39. package/dist/{chunk-PT4EENB3.js → chunk-TAABBM7F.js} +31 -3
  40. package/dist/chunk-TAABBM7F.js.map +1 -0
  41. package/dist/{chunk-6WCIL3H2.js → chunk-TFFTZB26.js} +6 -6
  42. package/dist/{chunk-GIPFF6FZ.js → chunk-ZZB3JIBQ.js} +9 -9
  43. package/dist/index.d.ts +25 -7
  44. package/dist/index.js +14 -12
  45. package/dist/index.js.map +1 -1
  46. package/dist/plugins/trueforge-agent-server-adapter/index.d.ts +8 -0
  47. package/dist/plugins/trueforge-agent-server-adapter/index.js +4 -2
  48. package/dist/plugins/trueforge-agent-server-adapter/index.js.map +1 -1
  49. package/dist/styles.css +1 -1
  50. package/package.json +4 -3
  51. package/dist/AgentMetricChart-YWJYVYYA.js +0 -15
  52. package/dist/AgentSessions-4IVX2SGD.js.map +0 -1
  53. package/dist/OpenUiFenceBlock-4ROX3G4X.js +0 -9
  54. package/dist/SchedulesPage-TMOTK6DR.js +0 -15
  55. package/dist/SidebarLayout-35K4AKTC.js.map +0 -1
  56. package/dist/chunk-2O5EJ6QS.js.map +0 -1
  57. package/dist/chunk-GSJAYYLR.js.map +0 -1
  58. package/dist/chunk-LXJMINS6.js +0 -587
  59. package/dist/chunk-LXJMINS6.js.map +0 -1
  60. package/dist/chunk-PT4EENB3.js.map +0 -1
  61. /package/dist/{AgentCodeSnippets-N546FNNS.js.map → AgentCodeSnippets-V5A56M7R.js.map} +0 -0
  62. /package/dist/{AgentMetricChart-YWJYVYYA.js.map → AgentMetricChart-GEADURES.js.map} +0 -0
  63. /package/dist/{AgentOverview-VF74XC7I.js.map → AgentOverview-NPC4P2EY.js.map} +0 -0
  64. /package/dist/{AgentSessionEventTimeline-RFR6LQMY.js.map → AgentSessionEventTimeline-UUXOJXTC.js.map} +0 -0
  65. /package/dist/{AgentSessionEventTimelineChart-27CQF6FX.js.map → AgentSessionEventTimelineChart-FIAQCYJC.js.map} +0 -0
  66. /package/dist/{ConnectorSettings-R5VEP7BO.js.map → ConnectorSettings-QTAI4TQX.js.map} +0 -0
  67. /package/dist/{DockLayout-F44RWGEY.js.map → DockLayout-TATYU5SV.js.map} +0 -0
  68. /package/dist/{DrawerLayout-SQ323AVM.js.map → DrawerLayout-DXHNV33K.js.map} +0 -0
  69. /package/dist/{ModelSettings-6QLS63HM.js.map → ModelSettings-UWTBHQRG.js.map} +0 -0
  70. /package/dist/{OpenUiFenceBlock-4ROX3G4X.js.map → OpenUiFenceBlock-FHEYXZEQ.js.map} +0 -0
  71. /package/dist/{SandboxSettings-OLKDXIQS.js.map → SandboxSettings-BITQONS3.js.map} +0 -0
  72. /package/dist/{SchedulesPage-TMOTK6DR.js.map → SchedulesPage-JIUWNYUH.js.map} +0 -0
  73. /package/dist/{SettingsBuilder-GISAH2WU.js.map → SettingsBuilder-3OA4UCIM.js.map} +0 -0
  74. /package/dist/{ShellRouteSync-EN33DUQ7.js.map → ShellRouteSync-J74MV23Q.js.map} +0 -0
  75. /package/dist/{SkillSettings-JSX2BTII.js.map → SkillSettings-KQ6GQ7JW.js.map} +0 -0
  76. /package/dist/{TrueForgeUIWithRouter-6VCR7ES3.js.map → TrueForgeUIWithRouter-R3UXQZRY.js.map} +0 -0
  77. /package/dist/{WidgetLayout-RKBSN2FZ.js.map → WidgetLayout-YWZTYFZL.js.map} +0 -0
  78. /package/dist/{chunk-KR7WYHVF.js.map → chunk-3QWUHGNL.js.map} +0 -0
  79. /package/dist/{chunk-73FQVITT.js.map → chunk-4MCIDE2C.js.map} +0 -0
  80. /package/dist/{chunk-LUG7E6BL.js.map → chunk-7NYDADYN.js.map} +0 -0
  81. /package/dist/{chunk-J5BPHEDT.js.map → chunk-CFGLAGWH.js.map} +0 -0
  82. /package/dist/{chunk-XY6LZQES.js.map → chunk-ERIIJKJY.js.map} +0 -0
  83. /package/dist/{chunk-Q6TCT7ZJ.js.map → chunk-IIHJ32YH.js.map} +0 -0
  84. /package/dist/{chunk-XLFOXQKZ.js.map → chunk-IVDIBAVH.js.map} +0 -0
  85. /package/dist/{chunk-6WCIL3H2.js.map → chunk-TFFTZB26.js.map} +0 -0
  86. /package/dist/{chunk-GIPFF6FZ.js.map → chunk-ZZB3JIBQ.js.map} +0 -0
@@ -4,13 +4,13 @@ import {
4
4
  matchLocation,
5
5
  placesEqual,
6
6
  sanitizeSearchForPlace
7
- } from "./chunk-73FQVITT.js";
7
+ } from "./chunk-4MCIDE2C.js";
8
8
  import {
9
9
  sessionIsCreateAgent
10
10
  } from "./chunk-RDXBMTP5.js";
11
11
  import {
12
12
  findAgentByName
13
- } from "./chunk-KR7WYHVF.js";
13
+ } from "./chunk-3QWUHGNL.js";
14
14
  import {
15
15
  libraryAgentId,
16
16
  toEffectiveRoutes,
@@ -21,7 +21,7 @@ import {
21
21
  useServerCapabilities,
22
22
  useServerCapabilitiesSettled,
23
23
  useShellMode
24
- } from "./chunk-PT4EENB3.js";
24
+ } from "./chunk-TAABBM7F.js";
25
25
 
26
26
  // src/routing/ShellRouteSync.tsx
27
27
  import { useCallback, useEffect, useMemo, useRef } from "react";
@@ -387,4 +387,4 @@ function ShellRouteSync({
387
387
  export {
388
388
  ShellRouteSync
389
389
  };
390
- //# sourceMappingURL=ShellRouteSync-EN33DUQ7.js.map
390
+ //# sourceMappingURL=ShellRouteSync-J74MV23Q.js.map
@@ -3,40 +3,40 @@ import {
3
3
  AgentConfigDrawerContainer,
4
4
  NamedAgentHeaderLabel,
5
5
  ShellActions
6
- } from "./chunk-LUG7E6BL.js";
6
+ } from "./chunk-7NYDADYN.js";
7
7
  import {
8
8
  ThreadListContainer
9
- } from "./chunk-6WCIL3H2.js";
9
+ } from "./chunk-TFFTZB26.js";
10
10
  import {
11
11
  Thread
12
- } from "./chunk-XY6LZQES.js";
12
+ } from "./chunk-ERIIJKJY.js";
13
13
  import "./chunk-BSIPI3KV.js";
14
14
  import {
15
15
  resolveBrandChrome,
16
16
  useChatHeaderContentVisible,
17
17
  useIsMobile,
18
18
  useSlot
19
- } from "./chunk-2O5EJ6QS.js";
20
- import "./chunk-KR7WYHVF.js";
19
+ } from "./chunk-MMU55KCW.js";
20
+ import "./chunk-3QWUHGNL.js";
21
21
  import {
22
22
  Icon,
23
23
  PageHeader,
24
24
  Spinner,
25
25
  auiButtonClass,
26
26
  sidebarRailButtonClassName
27
- } from "./chunk-Q6TCT7ZJ.js";
27
+ } from "./chunk-IIHJ32YH.js";
28
28
  import {
29
29
  shellIsCreateAgent,
30
30
  useOptionalShellMode
31
- } from "./chunk-PT4EENB3.js";
31
+ } from "./chunk-TAABBM7F.js";
32
32
  import {
33
33
  useAui
34
34
  } from "./chunk-M6MHLVSO.js";
35
- import "./chunk-J5BPHEDT.js";
35
+ import "./chunk-CFGLAGWH.js";
36
36
  import {
37
37
  cn,
38
38
  useBrand
39
- } from "./chunk-LXJMINS6.js";
39
+ } from "./chunk-OWDH67NY.js";
40
40
 
41
41
  // src/layouts/SidebarLayout.tsx
42
42
  import {
@@ -47,9 +47,9 @@ import {
47
47
  useState
48
48
  } from "react";
49
49
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
50
- var TruefoundrySettingsBuilder = lazy(() => import("./SettingsBuilder-GISAH2WU.js"));
50
+ var TruefoundrySettingsBuilder = lazy(() => import("./SettingsBuilder-3OA4UCIM.js"));
51
51
  var SchedulesPage = lazy(
52
- () => import("./SchedulesPage-TMOTK6DR.js").then((m) => ({ default: m.SchedulesPage }))
52
+ () => import("./SchedulesPage-JIUWNYUH.js").then((m) => ({ default: m.SchedulesPage }))
53
53
  );
54
54
  var brandLogoClassName = "h-5 w-5 max-w-40 shrink-0 object-contain";
55
55
  var railWidthClassName = "w-20";
@@ -67,7 +67,7 @@ function SidebarNav() {
67
67
  const showNewActions = shell?.isNewChatEnabled !== false;
68
68
  const overlayOpen = shell?.settingsOpen === true || shell?.libraryOpen === true || shell?.sessionsOpen === true || shell?.schedulesOpen === true;
69
69
  const mode = shell?.mode;
70
- const newChatSelected = !overlayOpen && mode?.status === "active" && !mode.isCreateAgent;
70
+ const newChatSelected = !overlayOpen && mode?.status === "active" && !mode.isCreateAgent && shell?.historyAgentFilter?.intent !== "try-agent";
71
71
  const newAgentSelected = !overlayOpen && mode != null && shellIsCreateAgent(mode);
72
72
  const handleNewChat = () => {
73
73
  shell?.setLibraryOpen(false);
@@ -327,4 +327,4 @@ function SidebarLayout({ className }) {
327
327
  export {
328
328
  SidebarLayout
329
329
  };
330
- //# sourceMappingURL=SidebarLayout-35K4AKTC.js.map
330
+ //# sourceMappingURL=SidebarLayout-EQXQPYIU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/layouts/SidebarLayout.tsx"],"sourcesContent":["'use client';\n\nimport {\n lazy,\n Suspense,\n useEffect,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type ReactNode,\n type Ref,\n} from 'react';\n\nimport { useAui } from '../assistant-ui.js';\nimport { auiButtonClass, sidebarRailButtonClassName } from '../atoms/lib/buttonClasses.js';\nimport { cn } from '../atoms/lib/cn.js';\nimport { useIsMobile } from '../atoms/lib/useIsMobile.js';\nimport { NamedAgentHeaderLabel } from '../atoms/NamedAgentHeaderLabel.js';\nimport { PageHeader } from '../atoms/PageHeader.js';\nimport { Spinner } from '../atoms/primitives/Spinner.js';\nimport { ShellActions } from '../atoms/ShellActions.js';\nimport { AgentConfigDrawerContainer } from '../containers/AgentConfigDrawerContainer.js';\nimport { Thread } from '../containers/Thread.js';\nimport { ThreadListContainer } from '../containers/ThreadListContainer.js';\nimport { useChatHeaderContentVisible } from '../hooks/useChatChromeActionsVisible.js';\nimport { Icon } from '../icons/Icon.js';\nimport { shellIsCreateAgent, useOptionalShellMode, type ShellMode } from '../server/ShellModeContext.js';\nimport { resolveBrandChrome } from '../theme/brand.js';\nimport { useSlot } from '../theme/SlotsProvider.js';\nimport { useBrand } from '../theme/ThemeProvider.js';\n\nconst TruefoundrySettingsBuilder = lazy(() => import('../containers/SettingsBuilder/index.js'));\nconst SchedulesPage = lazy(() =>\n import('../atoms/schedules/SchedulesPage.js').then(m => ({ default: m.SchedulesPage })),\n);\n\nconst brandLogoClassName = 'h-5 w-5 max-w-40 shrink-0 object-contain';\nconst railWidthClassName = 'w-20';\n\nconst railActionButtonClassName = cn(sidebarRailButtonClassName, 'text-sidebar-text');\n\nconst railSelectedClassName =\n 'bg-primary-button-bg font-medium text-primary-button-text hover:bg-primary-button-hover hover:text-primary-button-text';\n\nfunction isRecentHistoryVisible({ overlayOpen, mode }: { overlayOpen: boolean; mode?: ShellMode }): boolean {\n return !overlayOpen && mode?.status === 'active' && !mode.isCreateAgent;\n}\n\nfunction SidebarNav(): ReactNode {\n const aui = useAui();\n const shell = useOptionalShellMode();\n const AgentsLibraryButton = useSlot('AgentsLibraryButton');\n const SessionsBrowserButton = useSlot('SessionsBrowserButton');\n const SchedulesButton = useSlot('SchedulesButton');\n const showNewActions = shell?.isNewChatEnabled !== false;\n const overlayOpen =\n shell?.settingsOpen === true ||\n shell?.libraryOpen === true ||\n shell?.sessionsOpen === true ||\n shell?.schedulesOpen === true;\n const mode = shell?.mode;\n const newChatSelected =\n !overlayOpen &&\n mode?.status === 'active' &&\n !mode.isCreateAgent &&\n shell?.historyAgentFilter?.intent !== 'try-agent';\n const newAgentSelected = !overlayOpen && mode != null && shellIsCreateAgent(mode);\n\n const handleNewChat = () => {\n shell?.setLibraryOpen(false);\n shell?.setSessionsOpen(false);\n if (shell?.isComposerEnabled) {\n shell.openDraft();\n return;\n }\n shell?.setSettingsOpen(false);\n shell?.setSchedulesOpen(false);\n void Promise.resolve(aui.threads().switchToNewThread()).catch(() => undefined);\n };\n\n const handleNewAgent = () => {\n shell?.setLibraryOpen(false);\n shell?.setSessionsOpen(false);\n if (shell?.isComposerEnabled) {\n shell.openAgentBuilder();\n }\n };\n\n return (\n <nav className=\"flex min-h-0 flex-1 flex-col items-center gap-1 p-1\" aria-label=\"Sidebar\">\n {showNewActions ? (\n <button\n type=\"button\"\n aria-label=\"Start new chat\"\n title=\"New chat\"\n aria-current={newChatSelected ? 'page' : undefined}\n className={auiButtonClass({\n variant: 'ghost',\n className: cn(railActionButtonClassName, newChatSelected && railSelectedClassName),\n })}\n onClick={handleNewChat}\n >\n <Icon name=\"square-pen\" size={14} />\n <span className=\"text-center\">New Chat</span>\n </button>\n ) : null}\n {showNewActions && shell?.isComposerEnabled ? (\n <button\n type=\"button\"\n aria-label=\"Start new agent\"\n title=\"New Agent\"\n aria-current={newAgentSelected ? 'page' : undefined}\n className={auiButtonClass({\n variant: 'ghost',\n className: cn(railActionButtonClassName, newAgentSelected && railSelectedClassName),\n })}\n onClick={handleNewAgent}\n >\n <Icon name=\"agent-2\" size={14} />\n <span className=\"text-center whitespace-nowrap\">Build Agent</span>\n </button>\n ) : null}\n <AgentsLibraryButton compact />\n <SessionsBrowserButton compact />\n <SchedulesButton compact />\n </nav>\n );\n}\n\n/** Shared desktop + mobile icon+label rail (brand, nav, footer actions). */\nfunction SidebarRail({\n onNavigate,\n className,\n railRef,\n ...dialogProps\n}: {\n onNavigate?: () => void;\n className?: string;\n railRef?: Ref<HTMLElement>;\n} & Omit<ComponentPropsWithoutRef<'aside'>, 'children' | 'className'>): ReactNode {\n const brand = useBrand();\n const chrome = resolveBrandChrome(brand);\n const BrandLogo = useSlot('BrandLogo');\n const UserAvatar = useSlot('UserAvatar');\n\n return (\n <aside\n ref={railRef}\n className={cn(\n railWidthClassName,\n 'flex min-h-0 shrink-0 flex-col border-r border-border bg-sidebar-bg',\n className,\n )}\n onClick={event => {\n if (onNavigate == null) return;\n const target = event.target;\n if (!(target instanceof Element)) return;\n if (target.closest('button') != null) onNavigate();\n }}\n {...dialogProps}\n >\n <div className=\"flex h-14 w-full shrink-0 items-center justify-center text-text-primary\">\n <BrandLogo variant={chrome.collapsedVariant} className={brandLogoClassName} />\n </div>\n <SidebarNav />\n <footer className=\"flex shrink-0 flex-col items-center border-border p-2\">\n <ShellActions labeled className=\"flex-col\" />\n <UserAvatar labeled className=\"mt-1\" />\n </footer>\n </aside>\n );\n}\n\nexport function SidebarLayout({ className }: { className?: string }) {\n const shell = useOptionalShellMode();\n const isMobile = useIsMobile();\n const AgentDetailsPage = useSlot('AgentDetailsPage');\n const AgentsLibrary = useSlot('AgentsLibrary');\n const SessionsPage = useSlot('SessionsPage');\n const ClearChatButton = useSlot('ClearChatButton');\n const SaveAgentButton = useSlot('SaveAgentButton');\n const SelectAgentEmptyState = useSlot('SelectAgentEmptyState');\n const [mobileNavOpen, setMobileNavOpen] = useState(false);\n const menuBtnRef = useRef<HTMLButtonElement>(null);\n const dialogRef = useRef<HTMLElement>(null);\n const mainRef = useRef<HTMLDivElement>(null);\n const wasOpen = useRef(false);\n const isIdle = shell?.mode.status === 'idle';\n const settingsOpen = shell?.settingsOpen === true;\n const libraryOpen = shell?.libraryOpen === true;\n const sessionsOpen = shell?.sessionsOpen === true;\n const schedulesOpen = shell?.schedulesOpen === true;\n const overlayOpen = settingsOpen || libraryOpen || sessionsOpen || schedulesOpen;\n const showAgentConfig =\n shell != null && shellIsCreateAgent(shell.mode) && !overlayOpen && (!isMobile || shell.agentConfigOpen);\n const showRecentHistory = isRecentHistoryVisible({ overlayOpen, mode: shell?.mode });\n const hasChatHeaderContent = useChatHeaderContentVisible();\n\n useEffect(() => {\n if (!mobileNavOpen) return;\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') setMobileNavOpen(false);\n };\n window.addEventListener('keydown', onKeyDown);\n return () => window.removeEventListener('keydown', onKeyDown);\n }, [mobileNavOpen]);\n\n useEffect(() => {\n const main = mainRef.current;\n if (mobileNavOpen) {\n wasOpen.current = true;\n if (main) main.inert = true;\n dialogRef.current?.focus();\n return;\n }\n if (wasOpen.current) {\n if (main) main.inert = false;\n menuBtnRef.current?.focus();\n wasOpen.current = false;\n }\n }, [mobileNavOpen]);\n\n return (\n <div className={cn('relative flex h-full min-h-0 w-full min-w-0', className)}>\n <SidebarRail className=\"hidden md:flex\" />\n\n {showAgentConfig ? (\n <aside\n role=\"dialog\"\n aria-label=\"Agent Config\"\n className=\"absolute inset-y-0 left-0 z-20 w-full max-w-sm border-r border-border shadow-xl md:static md:z-auto md:max-w-140 md:flex-1 md:shadow-none 2xl:max-w-150\"\n >\n <AgentConfigDrawerContainer showClose={isMobile} />\n </aside>\n ) : null}\n\n <div className=\"flex min-h-0 min-w-0 flex-1 flex-col bg-primary-bg\">\n {/* Desktop keeps shell chrome in the rail footer (always mounted, including\n when visually hidden on small screens so host action-slot state persists).\n Mobile reaches theme/settings via the nav drawer rail. */}\n <PageHeader\n className={cn(\n 'bg-topbar-bg',\n // Desktop: hide when settings/idle or the thread header has nothing to show\n // (empty untitled draft). Mobile still needs the menu button.\n // Builder mode keeps New Agent and its actions beside the persistent config.\n (overlayOpen || isIdle || !hasChatHeaderContent) && 'md:hidden',\n )}\n start={\n !overlayOpen ? (\n <button\n ref={menuBtnRef}\n type=\"button\"\n aria-label=\"Navigation\"\n aria-expanded={mobileNavOpen}\n className={cn(auiButtonClass({ variant: 'ghost', size: 'icon' }), 'md:hidden')}\n onClick={() => setMobileNavOpen(true)}\n >\n <Icon name=\"bars\" />\n </button>\n ) : null\n }\n title={!overlayOpen ? <NamedAgentHeaderLabel /> : null}\n end={\n !overlayOpen ? (\n <>\n <ClearChatButton />\n <SaveAgentButton />\n </>\n ) : null\n }\n />\n\n <div className=\"flex min-h-0 min-w-0 flex-1\">\n {showRecentHistory ? (\n <aside\n aria-label=\"Recent chats\"\n className=\"hidden min-h-0 w-64 shrink-0 border-r border-border bg-sidebar-bg md:flex\"\n >\n <ThreadListContainer variant=\"recent-history\" />\n </aside>\n ) : null}\n\n <div ref={mainRef} className=\"min-h-0 min-w-0 flex-1\">\n {settingsOpen ? (\n <Suspense\n fallback={\n <div\n className=\"flex h-full items-center justify-center\"\n role=\"status\"\n aria-live=\"polite\"\n aria-busy=\"true\"\n >\n <Spinner size={28} className=\"text-text-primary\" />\n <span className=\"sr-only\">Loading</span>\n </div>\n }\n >\n <TruefoundrySettingsBuilder />\n </Suspense>\n ) : sessionsOpen ? (\n <SessionsPage />\n ) : libraryOpen && shell?.libraryAgentId != null ? (\n <AgentDetailsPage key={shell.libraryAgentId} agentId={shell.libraryAgentId} />\n ) : libraryOpen ? (\n <AgentsLibrary onSelectAgent={() => setMobileNavOpen(false)} />\n ) : schedulesOpen ? (\n <Suspense\n fallback={\n <div\n className=\"flex h-full items-center justify-center\"\n role=\"status\"\n aria-live=\"polite\"\n aria-busy=\"true\"\n >\n <Spinner size={28} className=\"text-text-primary\" />\n <span className=\"sr-only\">Loading</span>\n </div>\n }\n >\n <SchedulesPage />\n </Suspense>\n ) : isIdle ? (\n <SelectAgentEmptyState />\n ) : (\n <Thread />\n )}\n </div>\n </div>\n </div>\n\n {/* Mobile: same narrow rail as desktop */}\n {mobileNavOpen ? (\n <>\n <button\n type=\"button\"\n aria-label=\"Close navigation\"\n className=\"absolute inset-0 z-[9] cursor-pointer bg-[var(--overlay)] md:hidden\"\n onClick={() => setMobileNavOpen(false)}\n />\n <SidebarRail\n railRef={dialogRef}\n role=\"dialog\"\n aria-label=\"Navigation\"\n tabIndex={-1}\n onNavigate={() => setMobileNavOpen(false)}\n className=\"absolute inset-y-0 left-0 z-10 shadow-lg outline-none md:hidden\"\n />\n </>\n ) : null}\n </div>\n );\n}\n"],"mappings":"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","names":[]}
@@ -5,18 +5,18 @@ import {
5
5
  SearchInput_default,
6
6
  auiInputClass,
7
7
  useToasterOptional
8
- } from "./chunk-2O5EJ6QS.js";
9
- import "./chunk-KR7WYHVF.js";
8
+ } from "./chunk-MMU55KCW.js";
9
+ import "./chunk-3QWUHGNL.js";
10
10
  import {
11
11
  Icon
12
- } from "./chunk-Q6TCT7ZJ.js";
12
+ } from "./chunk-IIHJ32YH.js";
13
13
  import {
14
14
  getErrorMessage,
15
15
  useCatalogServer
16
- } from "./chunk-PT4EENB3.js";
16
+ } from "./chunk-TAABBM7F.js";
17
17
  import "./chunk-M6MHLVSO.js";
18
- import "./chunk-J5BPHEDT.js";
19
- import "./chunk-LXJMINS6.js";
18
+ import "./chunk-CFGLAGWH.js";
19
+ import "./chunk-OWDH67NY.js";
20
20
 
21
21
  // src/containers/SettingsBuilder/SkillSettings.tsx
22
22
  import { useCallback, useEffect, useMemo, useState as useState2 } from "react";
@@ -392,4 +392,4 @@ var SkillSettings_default = SkillSettings;
392
392
  export {
393
393
  SkillSettings_default as default
394
394
  };
395
- //# sourceMappingURL=SkillSettings-JSX2BTII.js.map
395
+ //# sourceMappingURL=SkillSettings-KQ6GQ7JW.js.map
@@ -1,21 +1,21 @@
1
1
  "use client";
2
2
  import {
3
3
  TrueForgeUIShell
4
- } from "./chunk-F5QVQIBH.js";
4
+ } from "./chunk-INY3J2BV.js";
5
5
  import "./chunk-DJUFS2BW.js";
6
6
  import "./chunk-BSIPI3KV.js";
7
7
  import {
8
8
  resolveRoutesConfig
9
- } from "./chunk-73FQVITT.js";
9
+ } from "./chunk-4MCIDE2C.js";
10
10
  import "./chunk-Y6S4OVVQ.js";
11
11
  import "./chunk-RDXBMTP5.js";
12
- import "./chunk-2O5EJ6QS.js";
13
- import "./chunk-KR7WYHVF.js";
14
- import "./chunk-Q6TCT7ZJ.js";
15
- import "./chunk-PT4EENB3.js";
12
+ import "./chunk-MMU55KCW.js";
13
+ import "./chunk-3QWUHGNL.js";
14
+ import "./chunk-IIHJ32YH.js";
15
+ import "./chunk-TAABBM7F.js";
16
16
  import "./chunk-M6MHLVSO.js";
17
- import "./chunk-J5BPHEDT.js";
18
- import "./chunk-LXJMINS6.js";
17
+ import "./chunk-CFGLAGWH.js";
18
+ import "./chunk-OWDH67NY.js";
19
19
 
20
20
  // src/containers/TrueForgeUIWithRouter.tsx
21
21
  import { useMemo } from "react";
@@ -31,4 +31,4 @@ function TrueForgeUIWithRouter({
31
31
  export {
32
32
  TrueForgeUIWithRouter
33
33
  };
34
- //# sourceMappingURL=TrueForgeUIWithRouter-6VCR7ES3.js.map
34
+ //# sourceMappingURL=TrueForgeUIWithRouter-R3UXQZRY.js.map
@@ -1,28 +1,28 @@
1
1
  "use client";
2
2
  import {
3
3
  StackChatPanel
4
- } from "./chunk-GIPFF6FZ.js";
5
- import "./chunk-LUG7E6BL.js";
6
- import "./chunk-XY6LZQES.js";
4
+ } from "./chunk-ZZB3JIBQ.js";
5
+ import "./chunk-7NYDADYN.js";
6
+ import "./chunk-ERIIJKJY.js";
7
7
  import {
8
8
  useWidgetVisibility
9
9
  } from "./chunk-DJUFS2BW.js";
10
10
  import "./chunk-BSIPI3KV.js";
11
11
  import {
12
12
  useSlot
13
- } from "./chunk-2O5EJ6QS.js";
14
- import "./chunk-KR7WYHVF.js";
13
+ } from "./chunk-MMU55KCW.js";
14
+ import "./chunk-3QWUHGNL.js";
15
15
  import {
16
16
  CompactLayoutProvider,
17
17
  Icon,
18
18
  auiButtonClass
19
- } from "./chunk-Q6TCT7ZJ.js";
20
- import "./chunk-PT4EENB3.js";
19
+ } from "./chunk-IIHJ32YH.js";
20
+ import "./chunk-TAABBM7F.js";
21
21
  import "./chunk-M6MHLVSO.js";
22
- import "./chunk-J5BPHEDT.js";
22
+ import "./chunk-CFGLAGWH.js";
23
23
  import {
24
24
  cn
25
- } from "./chunk-LXJMINS6.js";
25
+ } from "./chunk-OWDH67NY.js";
26
26
 
27
27
  // src/layouts/WidgetLayout.tsx
28
28
  import { useEffect, useRef } from "react";
@@ -104,4 +104,4 @@ function WidgetLayout({ className }) {
104
104
  export {
105
105
  WidgetLayout
106
106
  };
107
- //# sourceMappingURL=WidgetLayout-RKBSN2FZ.js.map
107
+ //# sourceMappingURL=WidgetLayout-YWZTYFZL.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getErrorMessage,
3
3
  useOptionalServer
4
- } from "./chunk-PT4EENB3.js";
4
+ } from "./chunk-TAABBM7F.js";
5
5
 
6
6
  // src/atoms/lib/useSearchAgentsList.ts
7
7
  import { useCallback, useEffect as useEffect2, useRef, useState as useState2 } from "react";
@@ -192,4 +192,4 @@ export {
192
192
  clearScheduleShareSearch,
193
193
  replaceScheduleShareSearch
194
194
  };
195
- //# sourceMappingURL=chunk-KR7WYHVF.js.map
195
+ //# sourceMappingURL=chunk-3QWUHGNL.js.map
@@ -2,11 +2,11 @@ import {
2
2
  clearScheduleShareSearch,
3
3
  readScheduleShareSearch,
4
4
  writeScheduleShareSearch
5
- } from "./chunk-KR7WYHVF.js";
5
+ } from "./chunk-3QWUHGNL.js";
6
6
  import {
7
7
  readSessionShareSearch,
8
8
  writeSessionShareSearch
9
- } from "./chunk-PT4EENB3.js";
9
+ } from "./chunk-TAABBM7F.js";
10
10
 
11
11
  // src/routing/paths.ts
12
12
  var DEFAULTS = {
@@ -214,4 +214,4 @@ export {
214
214
  matchLocation,
215
215
  placesEqual
216
216
  };
217
- //# sourceMappingURL=chunk-73FQVITT.js.map
217
+ //# sourceMappingURL=chunk-4MCIDE2C.js.map
@@ -5,14 +5,14 @@ import {
5
5
  useResourcePermissions,
6
6
  useSlot,
7
7
  withInitialUserMessages
8
- } from "./chunk-2O5EJ6QS.js";
8
+ } from "./chunk-MMU55KCW.js";
9
9
  import {
10
10
  Icon,
11
11
  auiButtonClass,
12
12
  pageHeaderTitleClassName,
13
13
  sidebarRailButtonClassName,
14
14
  useDraftCatalog
15
- } from "./chunk-Q6TCT7ZJ.js";
15
+ } from "./chunk-IIHJ32YH.js";
16
16
  import {
17
17
  isSettingsChromeEnabled,
18
18
  shellIsCreateAgent,
@@ -21,14 +21,14 @@ import {
21
21
  useOptionalShellMode,
22
22
  useServerCapabilities,
23
23
  useShellMode
24
- } from "./chunk-PT4EENB3.js";
24
+ } from "./chunk-TAABBM7F.js";
25
25
  import {
26
26
  useAuiState
27
27
  } from "./chunk-M6MHLVSO.js";
28
28
  import {
29
29
  cn,
30
30
  useTheme
31
- } from "./chunk-LXJMINS6.js";
31
+ } from "./chunk-OWDH67NY.js";
32
32
 
33
33
  // src/atoms/NamedAgentHeaderLabel.tsx
34
34
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -293,4 +293,4 @@ export {
293
293
  ShellActions,
294
294
  AgentConfigDrawerContainer
295
295
  };
296
- //# sourceMappingURL=chunk-LUG7E6BL.js.map
296
+ //# sourceMappingURL=chunk-7NYDADYN.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  cn,
3
3
  useOptionalContentClassNames
4
- } from "./chunk-LXJMINS6.js";
4
+ } from "./chunk-OWDH67NY.js";
5
5
 
6
6
  // src/atoms/OpenUiFenceBlock.tsx
7
7
  import { Renderer } from "@openuidev/react-lang";
@@ -21,4 +21,4 @@ function OpenUiFenceBlock({ content, isStreaming, darkTheme }) {
21
21
  export {
22
22
  OpenUiFenceBlock
23
23
  };
24
- //# sourceMappingURL=chunk-J5BPHEDT.js.map
24
+ //# sourceMappingURL=chunk-CFGLAGWH.js.map
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  Button,
3
3
  ConnectorConnectButton,
4
+ CreatedByCell,
4
5
  DEFAULT_TABLE_PAGE_SIZE,
5
6
  Dialog,
6
7
  DialogContent,
@@ -23,33 +24,34 @@ import {
23
24
  TableTokenPagination,
24
25
  Tooltip,
25
26
  auiInputClass,
27
+ hasCreatedBySubject,
26
28
  mountName,
27
29
  useResourcePermissions,
28
30
  useSlot,
29
31
  useToasterOptional
30
- } from "./chunk-2O5EJ6QS.js";
32
+ } from "./chunk-MMU55KCW.js";
31
33
  import {
32
34
  readScheduleShareSearch,
33
35
  replaceScheduleShareSearch,
34
36
  searchAllAgents
35
- } from "./chunk-KR7WYHVF.js";
37
+ } from "./chunk-3QWUHGNL.js";
36
38
  import {
37
39
  DraftCatalogProvider,
38
40
  Icon,
39
41
  PageHeader,
40
42
  auiButtonClass,
41
43
  useDraftCatalog
42
- } from "./chunk-Q6TCT7ZJ.js";
44
+ } from "./chunk-IIHJ32YH.js";
43
45
  import {
44
46
  libraryAgentId,
45
47
  useOptionalCatalogServer,
46
48
  useOptionalShellMode,
47
49
  useScheduleServer,
48
50
  useServer
49
- } from "./chunk-PT4EENB3.js";
51
+ } from "./chunk-TAABBM7F.js";
50
52
  import {
51
53
  cn
52
- } from "./chunk-LXJMINS6.js";
54
+ } from "./chunk-OWDH67NY.js";
53
55
 
54
56
  // src/atoms/schedules/SchedulesPage.tsx
55
57
  import { useCallback, useEffect as useEffect3, useMemo as useMemo2, useRef, useState as useState3 } from "react";
@@ -1161,6 +1163,7 @@ function SchedulesPage({ agentId }) {
1161
1163
  return true;
1162
1164
  });
1163
1165
  }, [schedules, nameQuery, statusFilter]);
1166
+ const showCreatedByColumn = hasCreatedBySubject(schedules);
1164
1167
  const hasPageNav = prevTokenStack.length > 0 || nextPageToken != null;
1165
1168
  const handleTogglePause = async (schedule) => {
1166
1169
  if (!allows(schedule.id, "MANAGE")) return;
@@ -1289,6 +1292,7 @@ function SchedulesPage({ agentId }) {
1289
1292
  /* @__PURE__ */ jsx8(TableHeader, { children: /* @__PURE__ */ jsxs6(TableRow, { className: "hover:bg-transparent", children: [
1290
1293
  /* @__PURE__ */ jsx8(TableHead, { children: "Name" }),
1291
1294
  /* @__PURE__ */ jsx8(TableHead, { children: "Agent" }),
1295
+ showCreatedByColumn ? /* @__PURE__ */ jsx8(TableHead, { children: "Created by" }) : null,
1292
1296
  /* @__PURE__ */ jsx8(TableHead, { children: "Frequency" }),
1293
1297
  /* @__PURE__ */ jsx8(TableHead, { children: "Status" }),
1294
1298
  /* @__PURE__ */ jsx8(TableHead, { children: "Last 5 runs" }),
@@ -1300,6 +1304,7 @@ function SchedulesPage({ agentId }) {
1300
1304
  return /* @__PURE__ */ jsxs6(TableRow, { children: [
1301
1305
  /* @__PURE__ */ jsx8(TableCell, { className: "text-text-primary font-medium", children: /* @__PURE__ */ jsx8("span", { className: "text-left !no-underline", children: schedule.name }) }),
1302
1306
  /* @__PURE__ */ jsx8(TableCell, { children: agentLabel }),
1307
+ showCreatedByColumn ? /* @__PURE__ */ jsx8(TableCell, { children: /* @__PURE__ */ jsx8(CreatedByCell, { subject: schedule.createdBySubject }) }) : null,
1303
1308
  /* @__PURE__ */ jsx8(TableCell, { children: cadence }),
1304
1309
  /* @__PURE__ */ jsx8(TableCell, { children: /* @__PURE__ */ jsx8(ScheduleStatusBadge, { status: schedule.status }) }),
1305
1310
  /* @__PURE__ */ jsx8(TableCell, { children: runsLoading ? /* @__PURE__ */ jsx8("span", { className: "text-text-secondary text-sm", children: "\u2026" }) : /* @__PURE__ */ jsx8(ScheduleLastRunsCell, { runs: runsByScheduleId[schedule.id] ?? [] }) }),
@@ -1411,4 +1416,4 @@ export {
1411
1416
  ScheduleLastRunsCell,
1412
1417
  SchedulesPage
1413
1418
  };
1414
- //# sourceMappingURL=chunk-GSJAYYLR.js.map
1419
+ //# sourceMappingURL=chunk-DCVKW445.js.map