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

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 (55) hide show
  1. package/CHANGELOG.md +340 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE +17 -0
  4. package/README.md +640 -3
  5. package/dist/ConnectorSettings-CLBEWGQJ.js +898 -0
  6. package/dist/ConnectorSettings-CLBEWGQJ.js.map +1 -0
  7. package/dist/DockLayout-WRF7EQLD.js +35 -0
  8. package/dist/DockLayout-WRF7EQLD.js.map +1 -0
  9. package/dist/DrawerLayout-X2UXYTOS.js +156 -0
  10. package/dist/DrawerLayout-X2UXYTOS.js.map +1 -0
  11. package/dist/ModelSettings-IJ55QJQO.js +1082 -0
  12. package/dist/ModelSettings-IJ55QJQO.js.map +1 -0
  13. package/dist/OpenUiFenceBlock-SLLZSTMJ.js +9 -0
  14. package/dist/OpenUiFenceBlock-SLLZSTMJ.js.map +1 -0
  15. package/dist/SandboxSettings-S5XGZWOL.js +505 -0
  16. package/dist/SandboxSettings-S5XGZWOL.js.map +1 -0
  17. package/dist/SettingsBuilder-64Y33NP3.js +128 -0
  18. package/dist/SettingsBuilder-64Y33NP3.js.map +1 -0
  19. package/dist/SidebarLayout-M7HEOZVK.js +236 -0
  20. package/dist/SidebarLayout-M7HEOZVK.js.map +1 -0
  21. package/dist/SkillSettings-MXK4ZEI7.js +389 -0
  22. package/dist/SkillSettings-MXK4ZEI7.js.map +1 -0
  23. package/dist/WidgetLayout-7MDOKLHU.js +101 -0
  24. package/dist/WidgetLayout-7MDOKLHU.js.map +1 -0
  25. package/dist/assistant-ui.d.ts +1 -0
  26. package/dist/assistant-ui.js +9 -0
  27. package/dist/assistant-ui.js.map +1 -0
  28. package/dist/chunk-42GF723P.js +24 -0
  29. package/dist/chunk-42GF723P.js.map +1 -0
  30. package/dist/chunk-CFLVPV5M.js +29 -0
  31. package/dist/chunk-CFLVPV5M.js.map +1 -0
  32. package/dist/chunk-M6MHLVSO.js +8 -0
  33. package/dist/chunk-M6MHLVSO.js.map +1 -0
  34. package/dist/chunk-NBMP2XNL.js +89 -0
  35. package/dist/chunk-NBMP2XNL.js.map +1 -0
  36. package/dist/chunk-UBOFEI77.js +567 -0
  37. package/dist/chunk-UBOFEI77.js.map +1 -0
  38. package/dist/chunk-UHGSHDBM.js +633 -0
  39. package/dist/chunk-UHGSHDBM.js.map +1 -0
  40. package/dist/chunk-UXZOL5GO.js +2088 -0
  41. package/dist/chunk-UXZOL5GO.js.map +1 -0
  42. package/dist/chunk-WFC3W4C3.js +73 -0
  43. package/dist/chunk-WFC3W4C3.js.map +1 -0
  44. package/dist/chunk-XSHXH6EI.js +6800 -0
  45. package/dist/chunk-XSHXH6EI.js.map +1 -0
  46. package/dist/createTrueFoundryServer-B72bU-J7.d.ts +28 -0
  47. package/dist/index.d.ts +1569 -0
  48. package/dist/index.js +781 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/plugins/trueforge-agent-server-adapter/index.d.ts +479 -0
  51. package/dist/plugins/trueforge-agent-server-adapter/index.js +830 -0
  52. package/dist/plugins/trueforge-agent-server-adapter/index.js.map +1 -0
  53. package/dist/styles.css +2 -0
  54. package/package.json +129 -6
  55. package/index.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/assistant-ui.ts"],"sourcesContent":["/** Curated assistant-ui chrome hooks for advanced hosts. Deep primitives stay on `@assistant-ui/react`. */\nexport { useAui, useAuiState } from '@assistant-ui/react';\nexport type { AssistantState } from '@assistant-ui/react';\n"],"mappings":";AACA,SAAS,QAAQ,mBAAmB;","names":[]}
@@ -0,0 +1,89 @@
1
+ import {
2
+ NamedAgentHeaderLabel,
3
+ ShellActions
4
+ } from "./chunk-WFC3W4C3.js";
5
+ import {
6
+ Thread,
7
+ ThreadListContainer
8
+ } from "./chunk-UXZOL5GO.js";
9
+ import {
10
+ useAui
11
+ } from "./chunk-M6MHLVSO.js";
12
+ import {
13
+ useSlot
14
+ } from "./chunk-XSHXH6EI.js";
15
+ import {
16
+ Icon,
17
+ Spinner,
18
+ auiButtonClass,
19
+ useOptionalShellMode
20
+ } from "./chunk-UHGSHDBM.js";
21
+ import {
22
+ cn
23
+ } from "./chunk-UBOFEI77.js";
24
+
25
+ // src/layouts/StackChatPanel.tsx
26
+ import { lazy, Suspense, useEffect, useState } from "react";
27
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
28
+ var TruefoundrySettingsBuilder = lazy(() => import("./SettingsBuilder-64Y33NP3.js"));
29
+ function StackChatPanel({ className, threadHeaderEnd }) {
30
+ const [view, setView] = useState("thread");
31
+ const aui = useAui();
32
+ const shell = useOptionalShellMode();
33
+ const ClearChatButton = useSlot("ClearChatButton");
34
+ const SaveAgentButton = useSlot("SaveAgentButton");
35
+ const SelectAgentEmptyState = useSlot("SelectAgentEmptyState");
36
+ const isIdle = shell?.mode.status === "idle";
37
+ const settingsOpen = shell?.settingsOpen === true;
38
+ useEffect(() => {
39
+ if (isIdle) return;
40
+ void Promise.resolve(aui.threads().switchToNewThread()).catch(() => void 0);
41
+ }, [aui, isIdle]);
42
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex h-full min-h-0 flex-col", className), children: [
43
+ settingsOpen ? /* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1", children: /* @__PURE__ */ jsx(
44
+ Suspense,
45
+ {
46
+ fallback: /* @__PURE__ */ jsxs(
47
+ "div",
48
+ {
49
+ className: "flex h-full items-center justify-center",
50
+ role: "status",
51
+ "aria-live": "polite",
52
+ "aria-busy": "true",
53
+ children: [
54
+ /* @__PURE__ */ jsx(Spinner, { size: 28, className: "text-text-primary" }),
55
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Loading" })
56
+ ]
57
+ }
58
+ ),
59
+ children: /* @__PURE__ */ jsx(TruefoundrySettingsBuilder, {})
60
+ }
61
+ ) }) : view === "list" ? /* @__PURE__ */ jsx(ThreadListContainer, { onThreadOpen: () => setView("thread") }) : /* @__PURE__ */ jsxs(Fragment, { children: [
62
+ /* @__PURE__ */ jsxs("header", { className: "flex shrink-0 items-center gap-1 border-b border-border px-2 py-1.5", children: [
63
+ /* @__PURE__ */ jsx(
64
+ "button",
65
+ {
66
+ type: "button",
67
+ "aria-label": "Sessions",
68
+ title: "Sessions",
69
+ className: auiButtonClass({ variant: "ghost", size: "icon" }),
70
+ onClick: () => setView("list"),
71
+ children: /* @__PURE__ */ jsx(Icon, { name: "clock-rotate-left" })
72
+ }
73
+ ),
74
+ /* @__PURE__ */ jsx(NamedAgentHeaderLabel, {}),
75
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1" }),
76
+ /* @__PURE__ */ jsx(ClearChatButton, {}),
77
+ /* @__PURE__ */ jsx(SaveAgentButton, {}),
78
+ threadHeaderEnd
79
+ ] }),
80
+ /* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1", children: isIdle ? /* @__PURE__ */ jsx(SelectAgentEmptyState, {}) : /* @__PURE__ */ jsx(Thread, {}) })
81
+ ] }),
82
+ /* @__PURE__ */ jsx("footer", { className: "flex shrink-0 justify-end border-t border-border px-2 py-1.5", children: /* @__PURE__ */ jsx(ShellActions, {}, "shell-actions") })
83
+ ] });
84
+ }
85
+
86
+ export {
87
+ StackChatPanel
88
+ };
89
+ //# sourceMappingURL=chunk-NBMP2XNL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/layouts/StackChatPanel.tsx"],"sourcesContent":["'use client';\n\nimport { lazy, Suspense, useEffect, useState, type ReactNode } from 'react';\n\nimport { useAui } from '../assistant-ui.js';\nimport { NamedAgentHeaderLabel } from '../atoms/NamedAgentHeaderLabel.js';\nimport { ShellActions } from '../atoms/ShellActions.js';\nimport { auiButtonClass } from '../atoms/lib/buttonClasses.js';\nimport { cn } from '../atoms/lib/cn.js';\nimport { Spinner } from '../atoms/primitives/Spinner.js';\nimport { Thread } from '../containers/Thread.js';\nimport { ThreadListContainer } from '../containers/ThreadListContainer.js';\nimport { Icon } from '../icons/Icon.js';\nimport { useOptionalShellMode } from '../server/ShellModeContext.js';\nimport { useSlot } from '../theme/SlotsProvider.js';\n\nconst TruefoundrySettingsBuilder = lazy(() => import('../containers/SettingsBuilder/index.js'));\n\nexport type StackChatPanelProps = {\n className?: string;\n /** Extra actions in the thread header (e.g. close for widget). */\n threadHeaderEnd?: ReactNode;\n};\n\n/**\n * List XOR thread stack used by `dock` and `widget` layouts.\n * Starts on a new chat; history icon opens the session list; New / select opens the thread.\n */\nexport function StackChatPanel({ className, threadHeaderEnd }: StackChatPanelProps) {\n const [view, setView] = useState<'list' | 'thread'>('thread');\n const aui = useAui();\n const shell = useOptionalShellMode();\n const ClearChatButton = useSlot('ClearChatButton');\n const SaveAgentButton = useSlot('SaveAgentButton');\n const SelectAgentEmptyState = useSlot('SelectAgentEmptyState');\n const isIdle = shell?.mode.status === 'idle';\n const settingsOpen = shell?.settingsOpen === true;\n\n useEffect(() => {\n if (isIdle) return;\n void Promise.resolve(aui.threads().switchToNewThread()).catch(() => undefined);\n }, [aui, isIdle]);\n\n return (\n <div className={cn('flex h-full min-h-0 flex-col', className)}>\n {settingsOpen ? (\n <div className=\"min-h-0 flex-1\">\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 </div>\n ) : view === 'list' ? (\n <ThreadListContainer onThreadOpen={() => setView('thread')} />\n ) : (\n <>\n <header className=\"flex shrink-0 items-center gap-1 border-b border-border px-2 py-1.5\">\n <button\n type=\"button\"\n aria-label=\"Sessions\"\n title=\"Sessions\"\n className={auiButtonClass({ variant: 'ghost', size: 'icon' })}\n onClick={() => setView('list')}\n >\n <Icon name=\"clock-rotate-left\" />\n </button>\n <NamedAgentHeaderLabel />\n <span className=\"min-w-0 flex-1\" />\n <ClearChatButton />\n <SaveAgentButton />\n {threadHeaderEnd}\n </header>\n <div className=\"min-h-0 flex-1\">{isIdle ? <SelectAgentEmptyState /> : <Thread />}</div>\n </>\n )}\n {/* Stable mount: only ShellActions needs to survive Settings / list / thread; host end chrome stays in the thread header. */}\n <footer className=\"flex shrink-0 justify-end border-t border-border px-2 py-1.5\">\n <ShellActions key=\"shell-actions\" />\n </footer>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,MAAM,UAAU,WAAW,gBAAgC;AA+CtD,SAiBN,UAXQ,KANF;AAjCd,IAAM,6BAA6B,KAAK,MAAM,OAAO,+BAAwC,CAAC;AAYvF,SAAS,eAAe,EAAE,WAAW,gBAAgB,GAAwB;AAClF,QAAM,CAAC,MAAM,OAAO,IAAI,SAA4B,QAAQ;AAC5D,QAAM,MAAM,OAAO;AACnB,QAAM,QAAQ,qBAAqB;AACnC,QAAM,kBAAkB,QAAQ,iBAAiB;AACjD,QAAM,kBAAkB,QAAQ,iBAAiB;AACjD,QAAM,wBAAwB,QAAQ,uBAAuB;AAC7D,QAAM,SAAS,OAAO,KAAK,WAAW;AACtC,QAAM,eAAe,OAAO,iBAAiB;AAE7C,YAAU,MAAM;AACd,QAAI,OAAQ;AACZ,SAAK,QAAQ,QAAQ,IAAI,QAAQ,EAAE,kBAAkB,CAAC,EAAE,MAAM,MAAM,MAAS;AAAA,EAC/E,GAAG,CAAC,KAAK,MAAM,CAAC;AAEhB,SACE,qBAAC,SAAI,WAAW,GAAG,gCAAgC,SAAS,GACzD;AAAA,mBACC,oBAAC,SAAI,WAAU,kBACb;AAAA,MAAC;AAAA;AAAA,QACC,UACE;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,aAAU;AAAA,YACV,aAAU;AAAA,YAEV;AAAA,kCAAC,WAAQ,MAAM,IAAI,WAAU,qBAAoB;AAAA,cACjD,oBAAC,UAAK,WAAU,WAAU,qBAAO;AAAA;AAAA;AAAA,QACnC;AAAA,QAGF,8BAAC,8BAA2B;AAAA;AAAA,IAC9B,GACF,IACE,SAAS,SACX,oBAAC,uBAAoB,cAAc,MAAM,QAAQ,QAAQ,GAAG,IAE5D,iCACE;AAAA,2BAAC,YAAO,WAAU,uEAChB;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAW;AAAA,YACX,OAAM;AAAA,YACN,WAAW,eAAe,EAAE,SAAS,SAAS,MAAM,OAAO,CAAC;AAAA,YAC5D,SAAS,MAAM,QAAQ,MAAM;AAAA,YAE7B,8BAAC,QAAK,MAAK,qBAAoB;AAAA;AAAA,QACjC;AAAA,QACA,oBAAC,yBAAsB;AAAA,QACvB,oBAAC,UAAK,WAAU,kBAAiB;AAAA,QACjC,oBAAC,mBAAgB;AAAA,QACjB,oBAAC,mBAAgB;AAAA,QAChB;AAAA,SACH;AAAA,MACA,oBAAC,SAAI,WAAU,kBAAkB,mBAAS,oBAAC,yBAAsB,IAAK,oBAAC,UAAO,GAAG;AAAA,OACnF;AAAA,IAGF,oBAAC,YAAO,WAAU,gEAChB,8BAAC,kBAAiB,eAAgB,GACpC;AAAA,KACF;AAEJ;","names":[]}