@truefoundry/trueforge-ui 0.1.0-rc.0 → 0.1.0-rc.1

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 (48) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/{ConnectorSettings-CLBEWGQJ.js → ConnectorSettings-ADACLWQI.js} +6 -6
  3. package/dist/{DockLayout-WRF7EQLD.js → DockLayout-BH5XX2AQ.js} +8 -8
  4. package/dist/{DrawerLayout-X2UXYTOS.js → DrawerLayout-O2XZQCG4.js} +8 -8
  5. package/dist/{ModelSettings-IJ55QJQO.js → ModelSettings-LKFJVUYQ.js} +8 -8
  6. package/dist/{ModelSettings-IJ55QJQO.js.map → ModelSettings-LKFJVUYQ.js.map} +1 -1
  7. package/dist/OpenUiFenceBlock-A2CWCPOP.js +9 -0
  8. package/dist/{SandboxSettings-S5XGZWOL.js → SandboxSettings-H5MDAE47.js} +6 -6
  9. package/dist/{SettingsBuilder-64Y33NP3.js → SettingsBuilder-3JOLC56Z.js} +25 -17
  10. package/dist/SettingsBuilder-3JOLC56Z.js.map +1 -0
  11. package/dist/{SidebarLayout-M7HEOZVK.js → SidebarLayout-G6BGD7EY.js} +8 -8
  12. package/dist/{SkillSettings-MXK4ZEI7.js → SkillSettings-4VB42CVG.js} +6 -6
  13. package/dist/{WidgetLayout-7MDOKLHU.js → WidgetLayout-ABSXZUSQ.js} +8 -8
  14. package/dist/{chunk-UXZOL5GO.js → chunk-3PTFNAQK.js} +5 -5
  15. package/dist/{chunk-NBMP2XNL.js → chunk-EFGSH3MO.js} +7 -7
  16. package/dist/{chunk-42GF723P.js → chunk-FDBJNXH2.js} +2 -2
  17. package/dist/{chunk-UHGSHDBM.js → chunk-U5GBGEGN.js} +159 -4
  18. package/dist/chunk-U5GBGEGN.js.map +1 -0
  19. package/dist/{chunk-WFC3W4C3.js → chunk-VJTCFZNM.js} +4 -4
  20. package/dist/chunk-WMRZSULD.js +567 -0
  21. package/dist/chunk-WMRZSULD.js.map +1 -0
  22. package/dist/{chunk-XSHXH6EI.js → chunk-Z27F4LBZ.js} +380 -461
  23. package/dist/chunk-Z27F4LBZ.js.map +1 -0
  24. package/dist/index.d.ts +5 -1
  25. package/dist/index.js +12 -12
  26. package/dist/plugins/trueforge-agent-server-adapter/index.d.ts +5 -9
  27. package/dist/plugins/trueforge-agent-server-adapter/index.js +52 -31
  28. package/dist/plugins/trueforge-agent-server-adapter/index.js.map +1 -1
  29. package/dist/styles.css +1 -1
  30. package/package.json +3 -3
  31. package/dist/OpenUiFenceBlock-SLLZSTMJ.js +0 -9
  32. package/dist/SettingsBuilder-64Y33NP3.js.map +0 -1
  33. package/dist/chunk-UBOFEI77.js +0 -567
  34. package/dist/chunk-UBOFEI77.js.map +0 -1
  35. package/dist/chunk-UHGSHDBM.js.map +0 -1
  36. package/dist/chunk-XSHXH6EI.js.map +0 -1
  37. /package/dist/{ConnectorSettings-CLBEWGQJ.js.map → ConnectorSettings-ADACLWQI.js.map} +0 -0
  38. /package/dist/{DockLayout-WRF7EQLD.js.map → DockLayout-BH5XX2AQ.js.map} +0 -0
  39. /package/dist/{DrawerLayout-X2UXYTOS.js.map → DrawerLayout-O2XZQCG4.js.map} +0 -0
  40. /package/dist/{OpenUiFenceBlock-SLLZSTMJ.js.map → OpenUiFenceBlock-A2CWCPOP.js.map} +0 -0
  41. /package/dist/{SandboxSettings-S5XGZWOL.js.map → SandboxSettings-H5MDAE47.js.map} +0 -0
  42. /package/dist/{SidebarLayout-M7HEOZVK.js.map → SidebarLayout-G6BGD7EY.js.map} +0 -0
  43. /package/dist/{SkillSettings-MXK4ZEI7.js.map → SkillSettings-4VB42CVG.js.map} +0 -0
  44. /package/dist/{WidgetLayout-7MDOKLHU.js.map → WidgetLayout-ABSXZUSQ.js.map} +0 -0
  45. /package/dist/{chunk-UXZOL5GO.js.map → chunk-3PTFNAQK.js.map} +0 -0
  46. /package/dist/{chunk-NBMP2XNL.js.map → chunk-EFGSH3MO.js.map} +0 -0
  47. /package/dist/{chunk-42GF723P.js.map → chunk-FDBJNXH2.js.map} +0 -0
  48. /package/dist/{chunk-WFC3W4C3.js.map → chunk-VJTCFZNM.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truefoundry/trueforge-ui",
3
- "version": "0.1.0-rc.0",
3
+ "version": "0.1.0-rc.1",
4
4
  "description": "TrueForge Agent Chat UI (atoms + containers) built on assistant-ui, with owned theming, presets, and swappable slots.",
5
5
  "author": "TrueFoundry",
6
6
  "license": "MIT",
@@ -77,7 +77,7 @@
77
77
  "@openuidev/react-headless": "^0.9.4",
78
78
  "@openuidev/react-lang": "^0.2.9",
79
79
  "@openuidev/react-ui": "^0.13.2",
80
- "@truefoundry/assistant-ui-runtime": "0.1.15",
80
+ "@truefoundry/assistant-ui-runtime": "0.1.16",
81
81
  "clsx": "^2.1.1",
82
82
  "lucide-react": "^0.562.0",
83
83
  "monaco-editor": "^0.56.0",
@@ -88,7 +88,7 @@
88
88
  "tailwind-merge": "^3.6.0",
89
89
  "truefoundry-gateway-sdk": "^0.4.0-rc.6",
90
90
  "zod": "^4.4.3",
91
- "@truefoundry/trueforge-sdk": "0.1.0-rc.0"
91
+ "@truefoundry/trueforge-sdk": "0.1.0-rc.1"
92
92
  },
93
93
  "devDependencies": {
94
94
  "@eslint/js": "^9.39.0",
@@ -1,9 +0,0 @@
1
- "use client";
2
- import {
3
- OpenUiFenceBlock
4
- } from "./chunk-42GF723P.js";
5
- import "./chunk-UBOFEI77.js";
6
- export {
7
- OpenUiFenceBlock
8
- };
9
- //# sourceMappingURL=OpenUiFenceBlock-SLLZSTMJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/containers/SettingsBuilder/index.tsx"],"sourcesContent":["'use client';\n\nimport { lazy, Suspense, useEffect, useMemo, useState } from 'react';\n\nimport { auiButtonClass } from '@/atoms/lib/buttonClasses.js';\nimport { cn } from '@/atoms/lib/cn.js';\nimport { useCompactLayout } from '@/atoms/lib/CompactLayoutContext.js';\nimport { Spinner } from '@/atoms/primitives/Spinner.js';\nimport { Icon } from '@/icons/Icon.js';\nimport { useOptionalCatalogServer } from '@/server/ServerContext.js';\nimport { useShellMode } from '@/server/ShellModeContext.js';\n\n// Section modules (and their list/catalog APIs) load only when that tab mounts.\nconst ModelSettings = lazy(() => import('./ModelSettings.js'));\nconst ConnectorSettings = lazy(() => import('./ConnectorSettings.js'));\nconst SkillSettings = lazy(() => import('./SkillSettings.js'));\nconst SandboxSettings = lazy(() => import('./SandboxSettings.js'));\n\nfunction SettingsSectionFallback() {\n return (\n <div className=\"flex flex-1 items-center justify-center py-8\" role=\"status\" aria-live=\"polite\" aria-busy=\"true\">\n <Spinner size={20} className=\"text-text-secondary\" />\n <span className=\"sr-only\">Loading</span>\n </div>\n );\n}\n\ntype SettingsSection = 'models' | 'connectors' | 'skills' | 'sandbox';\n\nconst TruefoundrySettingsBuilder = () => {\n const { settingsOpen, setSettingsOpen } = useShellMode();\n const catalog = useOptionalCatalogServer();\n // dock/widget panels are ~mobile width even on a wide viewport — keep Settings stacked.\n const compact = useCompactLayout();\n const [section, setSection] = useState<SettingsSection>('models');\n\n const hasSkills = catalog?.skillCatalog != null;\n const hasSandbox = catalog?.sandboxCatalog != null;\n\n useEffect(() => {\n if (!hasSkills && section === 'skills') {\n setSection('models');\n }\n if (!hasSandbox && section === 'sandbox') {\n setSection('models');\n }\n }, [hasSkills, hasSandbox, section]);\n\n useEffect(() => {\n if (!settingsOpen) return;\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') return;\n event.stopImmediatePropagation();\n setSettingsOpen(false);\n };\n // Capture so layout Escape handlers (sessions drawer / widget) do not also fire.\n window.addEventListener('keydown', onKeyDown, true);\n return () => window.removeEventListener('keydown', onKeyDown, true);\n }, [settingsOpen, setSettingsOpen]);\n\n const sections = useMemo<\n Array<{\n id: SettingsSection;\n label: string;\n icon: 'cpu' | 'plug' | 'lightbulb' | 'cube';\n }>\n >(() => {\n const baseSections: Array<{\n id: SettingsSection;\n label: string;\n icon: 'cpu' | 'plug' | 'lightbulb' | 'cube';\n }> = [\n { id: 'models', label: 'Models', icon: 'cpu' },\n { id: 'connectors', label: 'Connectors', icon: 'plug' },\n ];\n if (hasSkills) {\n baseSections.push({ id: 'skills', label: 'Skills', icon: 'lightbulb' });\n }\n if (hasSandbox) {\n baseSections.push({ id: 'sandbox', label: 'Sandbox providers', icon: 'cube' });\n }\n return baseSections;\n }, [hasSkills, hasSandbox]);\n\n if (!settingsOpen || !catalog) return null;\n\n return (\n <div className=\"flex h-full min-h-0 w-full flex-col bg-primary-bg\">\n <header className=\"flex shrink-0 items-center gap-2 border-b border-border px-2 py-1.5\">\n <button\n type=\"button\"\n aria-label=\"Back\"\n title=\"Back\"\n className={auiButtonClass({ variant: 'ghost', size: 'icon' })}\n onClick={() => setSettingsOpen(false)}\n >\n <Icon name=\"arrow-left\" />\n </button>\n <h1 className=\"text-lg font-semibold tracking-tight text-text-primary\">Settings</h1>\n </header>\n\n <div className={cn('flex min-h-0 flex-1 flex-col', !compact && 'md:flex-row')}>\n <nav\n aria-label=\"Settings sections\"\n className={cn(\n 'flex w-full gap-1 border-b border-border bg-secondary-bg/40 p-2',\n compact ? 'min-w-0' : 'justify-center md:w-48 md:flex-col md:justify-start md:border-b-0 md:border-r',\n )}\n >\n {sections.map(item => (\n <button\n key={item.id}\n type=\"button\"\n aria-current={section === item.id ? 'page' : undefined}\n {...(compact ? { title: item.label } : {})}\n className={cn(\n 'flex min-h-9 items-center gap-2 rounded-md px-3 text-sm font-medium transition-colors',\n 'focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-focus-ring',\n // Narrow panels cannot fit fixed-width tabs, so tabs split the row instead.\n compact ? 'min-w-0 flex-1 justify-center gap-1.5 px-1.5' : 'shrink-0',\n section === item.id\n ? 'bg-primary-button-bg text-primary-button-text'\n : 'text-text-secondary hover:bg-ghost-button-hover/60 hover:text-text-primary',\n )}\n onClick={() => {\n setSection(item.id);\n }}\n >\n <Icon name={item.icon} className=\"h-4 w-4 shrink-0\" />\n {compact ? <span className=\"truncate\">{item.label}</span> : item.label}\n </button>\n ))}\n </nav>\n\n <section className=\"flex flex-col h-full flex-1 overflow-y-hidden px-6 py-4\">\n <div className=\"w-full max-w-210 h-full min-h-0 flex flex-col mx-auto\">\n <Suspense fallback={<SettingsSectionFallback />}>\n {section === 'models' ? <ModelSettings /> : null}\n {section === 'connectors' ? <ConnectorSettings /> : null}\n {section === 'skills' && hasSkills ? <SkillSettings /> : null}\n {section === 'sandbox' && hasSandbox ? <SandboxSettings /> : null}\n </Suspense>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default TruefoundrySettingsBuilder;\n"],"mappings":"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","names":[]}