@agent-native/dispatch 0.40.4 → 0.40.6
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.
- package/CHANGELOG.md +28 -20
- package/dist/actions/provider-api-register.d.ts +8 -8
- package/dist/components/app-open-actions.d.ts +1 -1
- package/dist/components/app-open-actions.d.ts.map +1 -1
- package/dist/components/app-open-actions.js +1 -1
- package/dist/components/app-open-actions.js.map +1 -1
- package/dist/components/app-row-settings.js +1 -1
- package/dist/components/app-row-settings.js.map +1 -1
- package/dist/components/chat-home-apps.js +1 -1
- package/dist/components/chat-home-apps.js.map +1 -1
- package/dist/components/deferred-chat-components.d.ts +31 -0
- package/dist/components/deferred-chat-components.d.ts.map +1 -0
- package/dist/components/deferred-chat-components.js +28 -0
- package/dist/components/deferred-chat-components.js.map +1 -0
- package/dist/components/layout/Header.js +1 -1
- package/dist/components/layout/Header.js.map +1 -1
- package/dist/components/layout/Layout.d.ts +2 -1
- package/dist/components/layout/Layout.d.ts.map +1 -1
- package/dist/components/layout/Layout.js +3 -3
- package/dist/components/layout/Layout.js.map +1 -1
- package/dist/components/workspace-app-card.js +1 -1
- package/dist/components/workspace-app-card.js.map +1 -1
- package/dist/components/workspace-app-host.d.ts +1 -1
- package/dist/components/workspace-app-host.d.ts.map +1 -1
- package/dist/components/workspace-app-host.js +3 -2
- package/dist/components/workspace-app-host.js.map +1 -1
- package/dist/lib/workspace-apps.js +1 -1
- package/dist/lib/workspace-apps.js.map +1 -1
- package/dist/routes/pages/browser-chat.js +1 -1
- package/dist/routes/pages/browser-chat.js.map +1 -1
- package/dist/routes/pages/chat.js +2 -2
- package/dist/routes/pages/chat.js.map +1 -1
- package/dist/server/lib/private-icon-assets.d.ts +7 -0
- package/dist/server/lib/private-icon-assets.d.ts.map +1 -0
- package/dist/server/lib/private-icon-assets.js +176 -0
- package/dist/server/lib/private-icon-assets.js.map +1 -0
- package/dist/server/plugins/auth.d.ts.map +1 -1
- package/dist/server/plugins/auth.js +6 -1
- package/dist/server/plugins/auth.js.map +1 -1
- package/dist/server/plugins/core-routes.d.ts.map +1 -1
- package/dist/server/plugins/core-routes.js +2 -0
- package/dist/server/plugins/core-routes.js.map +1 -1
- package/package.json +3 -3
- package/src/components/app-open-actions.tsx +1 -1
- package/src/components/app-row-settings.tsx +1 -1
- package/src/components/chat-home-apps.tsx +1 -1
- package/src/components/deferred-chat-components.tsx +96 -0
- package/src/components/layout/Header.tsx +1 -1
- package/src/components/layout/Layout.app-chat.spec.ts +7 -0
- package/src/components/layout/Layout.spec.tsx +6 -3
- package/src/components/layout/Layout.tsx +23 -21
- package/src/components/workspace-app-card.tsx +1 -1
- package/src/components/workspace-app-chat-rail.spec.tsx +5 -2
- package/src/components/workspace-app-host.spec.tsx +5 -9
- package/src/components/workspace-app-host.tsx +4 -6
- package/src/lib/workspace-apps.ts +1 -1
- package/src/routes/pages/browser-chat.spec.tsx +1 -1
- package/src/routes/pages/browser-chat.tsx +1 -1
- package/src/routes/pages/chat.spec.tsx +4 -1
- package/src/routes/pages/chat.tsx +2 -2
- package/src/server/lib/private-icon-assets.spec.ts +498 -0
- package/src/server/lib/private-icon-assets.ts +244 -0
- package/src/server/plugins/auth.spec.ts +1 -1
- package/src/server/plugins/auth.ts +6 -1
- package/src/server/plugins/core-routes.private-icons.spec.ts +36 -0
- package/src/server/plugins/core-routes.ts +5 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @agent-native/dispatch
|
|
2
2
|
|
|
3
|
+
## 0.40.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Release all public npm packages with a patch version bump.
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @agent-native/toolkit@0.198.5
|
|
10
|
+
|
|
11
|
+
## 0.40.5
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- 85a87e6: Split ChatFirst navigation from its pane bundle, preserve queued chat intent through provider preparation, and keep client-only SSR stubs constructible.
|
|
16
|
+
- cefc33b: Align full-page chat headers to the pane edges and remove the extra gap below them.
|
|
17
|
+
- Release all public npm packages with a patch version bump.
|
|
18
|
+
- df67544: Store uploaded icons in private blobs with scoped metadata and verified image reads.
|
|
19
|
+
- Updated dependencies [85a87e6]
|
|
20
|
+
- Updated dependencies [cefc33b]
|
|
21
|
+
- Updated dependencies [7a25922]
|
|
22
|
+
- Updated dependencies [df67544]
|
|
23
|
+
- Updated dependencies [2fdd284]
|
|
24
|
+
- Updated dependencies [c82ae28]
|
|
25
|
+
- Updated dependencies
|
|
26
|
+
- Updated dependencies [c650ba5]
|
|
27
|
+
- Updated dependencies [9fa81ab]
|
|
28
|
+
- Updated dependencies [20d3bb8]
|
|
29
|
+
- @agent-native/toolkit@0.198.4
|
|
30
|
+
|
|
3
31
|
## 0.40.4
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
|
@@ -1060,24 +1088,4 @@
|
|
|
1060
1088
|
- Updated dependencies [9e21e1b]
|
|
1061
1089
|
- @agent-native/toolkit@0.16.0
|
|
1062
1090
|
|
|
1063
|
-
## 0.26.0
|
|
1064
|
-
|
|
1065
|
-
### Minor Changes
|
|
1066
|
-
|
|
1067
|
-
- 73c4a97: Reuse Dispatch app cards and the shared 2-column library treatment for Factory agent and app surfaces.
|
|
1068
|
-
|
|
1069
|
-
### Patch Changes
|
|
1070
|
-
|
|
1071
|
-
- 73c4a97: Refresh workspace app lists after starting a Builder app creation.
|
|
1072
|
-
- Updated dependencies [73c4a97]
|
|
1073
|
-
- Updated dependencies [73c4a97]
|
|
1074
|
-
- @agent-native/toolkit@0.15.1
|
|
1075
|
-
|
|
1076
|
-
## 0.25.1
|
|
1077
|
-
|
|
1078
|
-
### Patch Changes
|
|
1079
|
-
|
|
1080
|
-
- Updated dependencies [f07ec04]
|
|
1081
|
-
- @agent-native/toolkit@0.15.0
|
|
1082
|
-
|
|
1083
1091
|
For the full list of releases, see the [changelog archive](./changelog/archive/CHANGELOG.md).
|
|
@@ -47,10 +47,11 @@ declare const _default: import("node_modules/@agent-native/core/dist").ActionDef
|
|
|
47
47
|
notes?: string | undefined;
|
|
48
48
|
scope?: "org" | "user" | undefined;
|
|
49
49
|
}, {
|
|
50
|
-
id?: undefined;
|
|
51
50
|
message?: undefined;
|
|
52
|
-
found?: undefined;
|
|
53
51
|
deleted?: undefined;
|
|
52
|
+
id?: undefined;
|
|
53
|
+
provider?: undefined;
|
|
54
|
+
found?: undefined;
|
|
54
55
|
providers: {
|
|
55
56
|
id: string;
|
|
56
57
|
label: string;
|
|
@@ -61,13 +62,12 @@ declare const _default: import("node_modules/@agent-native/core/dist").ActionDef
|
|
|
61
62
|
updatedAt: number;
|
|
62
63
|
}[];
|
|
63
64
|
count: number;
|
|
64
|
-
provider?: undefined;
|
|
65
65
|
registered?: undefined;
|
|
66
66
|
label?: undefined;
|
|
67
67
|
} | {
|
|
68
|
-
id?: undefined;
|
|
69
68
|
message?: undefined;
|
|
70
69
|
deleted?: undefined;
|
|
70
|
+
id?: undefined;
|
|
71
71
|
providers?: undefined;
|
|
72
72
|
count?: undefined;
|
|
73
73
|
found: boolean;
|
|
@@ -77,29 +77,29 @@ declare const _default: import("node_modules/@agent-native/core/dist").ActionDef
|
|
|
77
77
|
} | {
|
|
78
78
|
message?: undefined;
|
|
79
79
|
deleted?: undefined;
|
|
80
|
+
provider?: undefined;
|
|
80
81
|
providers?: undefined;
|
|
81
82
|
count?: undefined;
|
|
82
|
-
provider?: undefined;
|
|
83
83
|
found: boolean;
|
|
84
84
|
id: string;
|
|
85
85
|
registered?: undefined;
|
|
86
86
|
label?: undefined;
|
|
87
87
|
} | {
|
|
88
88
|
message?: undefined;
|
|
89
|
+
provider?: undefined;
|
|
89
90
|
found?: undefined;
|
|
90
91
|
providers?: undefined;
|
|
91
92
|
count?: undefined;
|
|
92
|
-
provider?: undefined;
|
|
93
93
|
deleted: boolean;
|
|
94
94
|
id: string;
|
|
95
95
|
registered?: undefined;
|
|
96
96
|
label?: undefined;
|
|
97
97
|
} | {
|
|
98
|
-
found?: undefined;
|
|
99
98
|
deleted?: undefined;
|
|
99
|
+
provider?: undefined;
|
|
100
|
+
found?: undefined;
|
|
100
101
|
providers?: undefined;
|
|
101
102
|
count?: undefined;
|
|
102
|
-
provider?: undefined;
|
|
103
103
|
registered: boolean;
|
|
104
104
|
id: string;
|
|
105
105
|
label: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AppOpenActions, type AppOpenActionLabels, type AppOpenActionMenuItem, } from "@agent-native/toolkit/app/chat/chat-first";
|
|
1
|
+
export { AppOpenActions, type AppOpenActionLabels, type AppOpenActionMenuItem, } from "@agent-native/toolkit/app/chat/chat-first/app-open-actions";
|
|
2
2
|
//# sourceMappingURL=app-open-actions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-open-actions.d.ts","sourceRoot":"","sources":["../../src/components/app-open-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"app-open-actions.d.ts","sourceRoot":"","sources":["../../src/components/app-open-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,4DAA4D,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AppOpenActions, } from "@agent-native/toolkit/app/chat/chat-first";
|
|
1
|
+
export { AppOpenActions, } from "@agent-native/toolkit/app/chat/chat-first/app-open-actions";
|
|
2
2
|
//# sourceMappingURL=app-open-actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-open-actions.js","sourceRoot":"","sources":["../../src/components/app-open-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAGf,MAAM,
|
|
1
|
+
{"version":3,"file":"app-open-actions.js","sourceRoot":"","sources":["../../src/components/app-open-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAGf,MAAM,4DAA4D,CAAC","sourcesContent":["export {\n AppOpenActions,\n type AppOpenActionLabels,\n type AppOpenActionMenuItem,\n} from \"@agent-native/toolkit/app/chat/chat-first/app-open-actions\";\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { APP_ACTION_MENU_CONTENT_CLASS } from "@agent-native/toolkit/app/chat/chat-first";
|
|
2
|
+
import { APP_ACTION_MENU_CONTENT_CLASS } from "@agent-native/toolkit/app/chat/chat-first/app-open-actions";
|
|
3
3
|
import { IconPlus, IconSettings } from "@tabler/icons-react";
|
|
4
4
|
import { Button } from "./ui/button.js";
|
|
5
5
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "./ui/dropdown-menu.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-row-settings.js","sourceRoot":"","sources":["../../src/components/app-row-settings.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"app-row-settings.js","sourceRoot":"","sources":["../../src/components/app-row-settings.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,oBAAoB,GACxB,6PAA6P,CAAC;AAEhQ,MAAM,UAAU,cAAc,CAAC,EAC7B,IAAI,EACJ,WAAW,GAAG,SAAS,EACvB,QAAQ,GAKT;IACC,OAAO,CACL,MAAC,YAAY,eACX,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,mBAAmB,IAAC,OAAO,kBAC1B,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,gBACG,gBAAgB,IAAI,EAAE,EAClC,SAAS,EAAE,oBAAoB,YAE/B,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,GAAI,GACnB,GACW,GACP,EACjB,KAAC,cAAc,+BAA8B,IACrC,EACV,KAAC,mBAAmB,IAClB,KAAK,EAAC,KAAK,EACX,SAAS,EAAE,6BAA6B,YAExC,MAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,aAClC,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,iBAAc,MAAM,GAAG,EACxC,WAAW,IACK,GACC,IACT,CAChB,CAAC;AACJ,CAAC","sourcesContent":["import { APP_ACTION_MENU_CONTENT_CLASS } from \"@agent-native/toolkit/app/chat/chat-first/app-open-actions\";\nimport { IconPlus, IconSettings } from \"@tabler/icons-react\";\n\nimport { Button } from \"./ui/button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"./ui/dropdown-menu\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"./ui/tooltip\";\n\nconst APP_ROW_ACTION_CLASS =\n \"size-7 rounded-md p-0 text-muted-foreground transition-[background-color,color] hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=open]:bg-accent data-[state=open]:text-foreground\";\n\nexport function AppRowSettings({\n name,\n addAppLabel = \"Add app\",\n onAddApp,\n}: {\n name: string;\n addAppLabel?: string;\n onAddApp: () => void;\n}) {\n return (\n <DropdownMenu>\n <Tooltip>\n <TooltipTrigger asChild>\n <DropdownMenuTrigger asChild>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n aria-label={`Settings for ${name}`}\n className={APP_ROW_ACTION_CLASS}\n >\n <IconSettings size={15} />\n </Button>\n </DropdownMenuTrigger>\n </TooltipTrigger>\n <TooltipContent>App settings</TooltipContent>\n </Tooltip>\n <DropdownMenuContent\n align=\"end\"\n className={APP_ACTION_MENU_CONTENT_CLASS}\n >\n <DropdownMenuItem onSelect={onAddApp}>\n <IconPlus size={14} aria-hidden=\"true\" />\n {addAppLabel}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useT } from "@agent-native/core/client/i18n";
|
|
3
|
-
import { AppOpenActions } from "@agent-native/toolkit/app/chat/chat-first";
|
|
3
|
+
import { AppOpenActions } from "@agent-native/toolkit/app/chat/chat-first/app-open-actions";
|
|
4
4
|
import { IconArrowUpRight, IconPlus } from "@tabler/icons-react";
|
|
5
5
|
import { useMemo, useState } from "react";
|
|
6
6
|
import { Link } from "react-router";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-home-apps.js","sourceRoot":"","sources":["../../src/components/chat-home-apps.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useT } from \"@agent-native/core/client/i18n\";\nimport { AppOpenActions } from \"@agent-native/toolkit/app/chat/chat-first\";\nimport { IconArrowUpRight, IconPlus } from \"@tabler/icons-react\";\nimport { useMemo, useState } from \"react\";\nimport { Link } from \"react-router\";\n\nimport {\n orderWorkspaceApps,\n useWorkspaceAppLayout,\n workspaceAppMatchesQuery,\n} from \"../lib/workspace-app-layout\";\nimport { workspaceAppHref } from \"../lib/workspace-apps\";\nimport { ActionQueryError } from \"./action-query-error\";\nimport { AppIcon } from \"./app-icon\";\nimport { CreateAppPopover } from \"./create-app-popover\";\nimport {\n dispatchNavLinkTarget,\n useDispatchWorkspaceAppLauncher,\n} from \"./layout/Layout\";\nimport { Button } from \"./ui/button\";\nimport { Skeleton } from \"./ui/skeleton\";\nimport {\n WorkspaceAppSearch,\n WorkspaceAppSearchEmpty,\n} from \"./workspace-app-search\";\n\nexport function DispatchChatHomeApps() {\n const t = useT();\n const launcher = useDispatchWorkspaceAppLauncher();\n const { layout } = useWorkspaceAppLayout();\n const [query, setQuery] = useState(\"\");\n const apps = useMemo(\n () =>\n orderWorkspaceApps(launcher?.workspaceApps ?? [], layout)\n .map((app) => ({\n app,\n description: app.defaultDescriptionKey\n ? t(app.defaultDescriptionKey)\n : app.description,\n }))\n .filter(({ app, description }) =>\n workspaceAppMatchesQuery({ ...app, description }, query),\n ),\n [launcher?.workspaceApps, layout, query, t],\n );\n if (!launcher) return null;\n\n if (launcher.error && launcher.workspaceApps.length === 0) {\n return (\n <div className=\"mx-auto w-full max-w-[1000px]\">\n <ActionQueryError error={launcher.error} onRetry={launcher.retry} />\n </div>\n );\n }\n if (!launcher.isLoading && launcher.workspaceApps.length === 0) return null;\n\n return (\n <div className=\"mx-auto w-full max-w-[1000px]\">\n {launcher.error ? (\n <ActionQueryError\n error={launcher.error}\n onRetry={launcher.retry}\n className=\"mb-3\"\n />\n ) : null}\n <section aria-label={t(\"dispatch.nav.apps\")}>\n <header className=\"mb-3 flex flex-wrap items-center justify-between gap-3\">\n <h2 className=\"text-sm font-semibold text-foreground\">\n {t(\"dispatch.nav.apps\")}\n </h2>\n <div className=\"flex min-w-0 flex-1 items-center justify-end gap-2 sm:flex-none\">\n <WorkspaceAppSearch\n query={query}\n onQueryChange={setQuery}\n className=\"w-full max-w-[280px]\"\n />\n <CreateAppPopover\n align=\"end\"\n onCreated={launcher.retry}\n trigger={\n <Button type=\"button\" size=\"sm\" variant=\"outline\">\n <IconPlus size={16} aria-hidden=\"true\" />\n {t(\"dispatch.pages.chatFirstNewApp\")}\n </Button>\n }\n />\n </div>\n </header>\n {launcher.isLoading && launcher.workspaceApps.length === 0 ? (\n <div className=\"grid grid-cols-1 gap-2 sm:grid-cols-2\">\n {Array.from({ length: 6 }, (_, index) => (\n <div\n key={index}\n className=\"flex min-w-0 items-center gap-3 rounded-xl bg-muted/30 px-3 py-2.5\"\n >\n <Skeleton className=\"size-7 rounded-lg\" />\n <div className=\"min-w-0 flex-1 space-y-1.5\">\n <Skeleton className=\"h-4 w-20\" />\n <Skeleton className=\"h-3 w-40 max-w-full\" />\n </div>\n <Skeleton className=\"h-7 w-20\" />\n </div>\n ))}\n </div>\n ) : apps.length > 0 ? (\n <div className=\"grid grid-cols-1 gap-2 sm:grid-cols-2\">\n {apps.map(({ app, description }) => {\n const href = workspaceAppHref(app);\n return (\n <article\n key={app.id}\n className=\"flex min-w-0 items-center gap-3 rounded-xl bg-muted/30 px-3 py-2.5 transition-colors hover:bg-muted/50\"\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-3\">\n <AppIcon id={app.id} name={app.name} size=\"sm\" />\n <span className=\"min-w-0 flex-1\">\n <span className=\"block truncate text-sm font-semibold text-foreground\">\n {app.name}\n </span>\n {description ? (\n <span className=\"mt-0.5 block truncate text-xs text-muted-foreground\">\n {description}\n </span>\n ) : null}\n </span>\n </div>\n <AppOpenActions\n name={app.name}\n href={href}\n onOpen={() => launcher.openApp(app)}\n showNewTabOption={Boolean(href)}\n labels={{\n openApp: t(\"dispatch.pages.openApp\", {\n defaultValue: \"Open\",\n }),\n openAppAccessible: t(\"dispatch.pages.chatFirstOpenApp\", {\n name: app.name,\n }),\n openInNewTab: t(\"dispatch.pages.chatFirstOpenInNewTab\"),\n moreOptions: t(\"extensions.optionsFor\", {\n name: app.name,\n }),\n }}\n />\n </article>\n );\n })}\n </div>\n ) : (\n <WorkspaceAppSearchEmpty query={query} onClear={() => setQuery(\"\")} />\n )}\n <Link\n to={dispatchNavLinkTarget(\"/apps\")}\n className=\"mt-3 inline-flex items-center gap-1 text-xs font-medium text-muted-foreground hover:text-foreground\"\n >\n {t(\"dispatch.pages.allApps\")}\n <IconArrowUpRight size={14} aria-hidden=\"true\" />\n </Link>\n </section>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"chat-home-apps.js","sourceRoot":"","sources":["../../src/components/chat-home-apps.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useT } from \"@agent-native/core/client/i18n\";\nimport { AppOpenActions } from \"@agent-native/toolkit/app/chat/chat-first/app-open-actions\";\nimport { IconArrowUpRight, IconPlus } from \"@tabler/icons-react\";\nimport { useMemo, useState } from \"react\";\nimport { Link } from \"react-router\";\n\nimport {\n orderWorkspaceApps,\n useWorkspaceAppLayout,\n workspaceAppMatchesQuery,\n} from \"../lib/workspace-app-layout\";\nimport { workspaceAppHref } from \"../lib/workspace-apps\";\nimport { ActionQueryError } from \"./action-query-error\";\nimport { AppIcon } from \"./app-icon\";\nimport { CreateAppPopover } from \"./create-app-popover\";\nimport {\n dispatchNavLinkTarget,\n useDispatchWorkspaceAppLauncher,\n} from \"./layout/Layout\";\nimport { Button } from \"./ui/button\";\nimport { Skeleton } from \"./ui/skeleton\";\nimport {\n WorkspaceAppSearch,\n WorkspaceAppSearchEmpty,\n} from \"./workspace-app-search\";\n\nexport function DispatchChatHomeApps() {\n const t = useT();\n const launcher = useDispatchWorkspaceAppLauncher();\n const { layout } = useWorkspaceAppLayout();\n const [query, setQuery] = useState(\"\");\n const apps = useMemo(\n () =>\n orderWorkspaceApps(launcher?.workspaceApps ?? [], layout)\n .map((app) => ({\n app,\n description: app.defaultDescriptionKey\n ? t(app.defaultDescriptionKey)\n : app.description,\n }))\n .filter(({ app, description }) =>\n workspaceAppMatchesQuery({ ...app, description }, query),\n ),\n [launcher?.workspaceApps, layout, query, t],\n );\n if (!launcher) return null;\n\n if (launcher.error && launcher.workspaceApps.length === 0) {\n return (\n <div className=\"mx-auto w-full max-w-[1000px]\">\n <ActionQueryError error={launcher.error} onRetry={launcher.retry} />\n </div>\n );\n }\n if (!launcher.isLoading && launcher.workspaceApps.length === 0) return null;\n\n return (\n <div className=\"mx-auto w-full max-w-[1000px]\">\n {launcher.error ? (\n <ActionQueryError\n error={launcher.error}\n onRetry={launcher.retry}\n className=\"mb-3\"\n />\n ) : null}\n <section aria-label={t(\"dispatch.nav.apps\")}>\n <header className=\"mb-3 flex flex-wrap items-center justify-between gap-3\">\n <h2 className=\"text-sm font-semibold text-foreground\">\n {t(\"dispatch.nav.apps\")}\n </h2>\n <div className=\"flex min-w-0 flex-1 items-center justify-end gap-2 sm:flex-none\">\n <WorkspaceAppSearch\n query={query}\n onQueryChange={setQuery}\n className=\"w-full max-w-[280px]\"\n />\n <CreateAppPopover\n align=\"end\"\n onCreated={launcher.retry}\n trigger={\n <Button type=\"button\" size=\"sm\" variant=\"outline\">\n <IconPlus size={16} aria-hidden=\"true\" />\n {t(\"dispatch.pages.chatFirstNewApp\")}\n </Button>\n }\n />\n </div>\n </header>\n {launcher.isLoading && launcher.workspaceApps.length === 0 ? (\n <div className=\"grid grid-cols-1 gap-2 sm:grid-cols-2\">\n {Array.from({ length: 6 }, (_, index) => (\n <div\n key={index}\n className=\"flex min-w-0 items-center gap-3 rounded-xl bg-muted/30 px-3 py-2.5\"\n >\n <Skeleton className=\"size-7 rounded-lg\" />\n <div className=\"min-w-0 flex-1 space-y-1.5\">\n <Skeleton className=\"h-4 w-20\" />\n <Skeleton className=\"h-3 w-40 max-w-full\" />\n </div>\n <Skeleton className=\"h-7 w-20\" />\n </div>\n ))}\n </div>\n ) : apps.length > 0 ? (\n <div className=\"grid grid-cols-1 gap-2 sm:grid-cols-2\">\n {apps.map(({ app, description }) => {\n const href = workspaceAppHref(app);\n return (\n <article\n key={app.id}\n className=\"flex min-w-0 items-center gap-3 rounded-xl bg-muted/30 px-3 py-2.5 transition-colors hover:bg-muted/50\"\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-3\">\n <AppIcon id={app.id} name={app.name} size=\"sm\" />\n <span className=\"min-w-0 flex-1\">\n <span className=\"block truncate text-sm font-semibold text-foreground\">\n {app.name}\n </span>\n {description ? (\n <span className=\"mt-0.5 block truncate text-xs text-muted-foreground\">\n {description}\n </span>\n ) : null}\n </span>\n </div>\n <AppOpenActions\n name={app.name}\n href={href}\n onOpen={() => launcher.openApp(app)}\n showNewTabOption={Boolean(href)}\n labels={{\n openApp: t(\"dispatch.pages.openApp\", {\n defaultValue: \"Open\",\n }),\n openAppAccessible: t(\"dispatch.pages.chatFirstOpenApp\", {\n name: app.name,\n }),\n openInNewTab: t(\"dispatch.pages.chatFirstOpenInNewTab\"),\n moreOptions: t(\"extensions.optionsFor\", {\n name: app.name,\n }),\n }}\n />\n </article>\n );\n })}\n </div>\n ) : (\n <WorkspaceAppSearchEmpty query={query} onClear={() => setQuery(\"\")} />\n )}\n <Link\n to={dispatchNavLinkTarget(\"/apps\")}\n className=\"mt-3 inline-flex items-center gap-1 text-xs font-medium text-muted-foreground hover:text-foreground\"\n >\n {t(\"dispatch.pages.allApps\")}\n <IconArrowUpRight size={14} aria-hidden=\"true\" />\n </Link>\n </section>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type ComponentType } from "react";
|
|
2
|
+
export declare const AgentChatSurface: ComponentType<import("@agent-native/toolkit/app/chat/AgentPanel").AgentChatSurfaceProps>;
|
|
3
|
+
export declare const ChatFirstAgentsPane: ComponentType<import("node_modules/@agent-native/toolkit/dist/app/chat/chat-first/types").ChatFirstAgentsPaneProps>;
|
|
4
|
+
export declare const ChatFirstAppPane: ComponentType<import("node_modules/@agent-native/toolkit/dist/app/chat/chat-first/types").ChatFirstAppPaneProps>;
|
|
5
|
+
export declare const ChatFirstAppsRail: ComponentType<import("node_modules/@agent-native/toolkit/dist/app/chat/chat-first/types").ChatFirstAppRailProps>;
|
|
6
|
+
export declare const ChatFirstBrowserPane: ComponentType<import("node_modules/@agent-native/toolkit/dist/app/chat/chat-first/types").ChatFirstBrowserPaneProps>;
|
|
7
|
+
export declare const ChatFirstChatHistory: ComponentType<import("@agent-native/toolkit/app/chat/chat-first/chat-history").ChatFirstChatHistoryProps>;
|
|
8
|
+
export declare const ChatFirstPrimaryNavigation: ComponentType<{
|
|
9
|
+
onNewChat?: () => void;
|
|
10
|
+
onOpenIntegrations: () => void;
|
|
11
|
+
onOpenScheduled: () => void;
|
|
12
|
+
onSearch?: () => void;
|
|
13
|
+
activeTab?: import("@agent-native/toolkit/app/chat/chat-first/primary-nav").ChatFirstPrimaryTab;
|
|
14
|
+
collapsed?: boolean;
|
|
15
|
+
stickyNewChat?: boolean;
|
|
16
|
+
copy?: import("node_modules/@agent-native/toolkit/dist/app/chat/chat-first/types").ChatFirstCopy;
|
|
17
|
+
}>;
|
|
18
|
+
export declare const ChatFirstSessionWatchPane: ComponentType<import("node_modules/@agent-native/toolkit/dist/app/chat/chat-first/types").ChatFirstSessionWatchPaneProps>;
|
|
19
|
+
export declare const ChatFirstSurfaceContent: ComponentType<{
|
|
20
|
+
tabs: readonly import("node_modules/@agent-native/core/dist/client/chat-first-state").ChatFirstSurfaceTab[];
|
|
21
|
+
activeTabId: string | null;
|
|
22
|
+
renderTab: (tab: import("node_modules/@agent-native/core/dist/client/chat-first-state").ChatFirstSurfaceTab) => import("node_modules/@types/react").ReactNode;
|
|
23
|
+
}>;
|
|
24
|
+
export declare const ChatFirstSurfacePanel: ComponentType<import("@agent-native/toolkit/app/chat/chat-first/surface-panel").ChatFirstSurfacePanelProps>;
|
|
25
|
+
export declare const ChatFirstSurfacePanelToggle: ComponentType<{
|
|
26
|
+
open: boolean;
|
|
27
|
+
onToggle: () => void;
|
|
28
|
+
className?: string;
|
|
29
|
+
}>;
|
|
30
|
+
export declare const ChatFirstSurfaceTabs: ComponentType<import("node_modules/@agent-native/toolkit/dist/app/chat/chat-first/types").ChatFirstSurfaceTabsProps>;
|
|
31
|
+
//# sourceMappingURL=deferred-chat-components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deferred-chat-components.d.ts","sourceRoot":"","sources":["../../src/components/deferred-chat-components.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAiBhF,eAAO,MAAM,gBAAgB,0FAI5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,qHAI/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,kHAI5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,kHAM7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,sHAIhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,2GAIhC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;EAMtC,CAAC;AAEF,eAAO,MAAM,yBAAyB,2HAIrC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;EAInC,CAAC;AAEF,eAAO,MAAM,qBAAqB,6GAIjC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;EAIvC,CAAC;AAEF,eAAO,MAAM,oBAAoB,sHAIhC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { LazyChunkErrorBoundary, LazyChunkRetryFallback, } from "@agent-native/toolkit/app/shared";
|
|
3
|
+
import { lazy, Suspense } from "react";
|
|
4
|
+
function defer(loader) {
|
|
5
|
+
const LazyComponent = lazy(loader);
|
|
6
|
+
return function DeferredComponent(props) {
|
|
7
|
+
return (_jsx(LazyChunkErrorBoundary, { fallback: _jsx(LazyChunkRetryFallback, {}), children: _jsx(Suspense, { fallback: null, children: _jsx(LazyComponent, { ...props }) }) }));
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export const AgentChatSurface = defer(() => import("@agent-native/toolkit/app/chat/AgentPanel").then((module) => ({
|
|
11
|
+
default: module.AgentChatSurface,
|
|
12
|
+
})));
|
|
13
|
+
export const ChatFirstAgentsPane = defer(() => import("@agent-native/toolkit/app/chat/chat-first/agents-pane").then((module) => ({ default: module.ChatFirstAgentsPane })));
|
|
14
|
+
export const ChatFirstAppPane = defer(() => import("@agent-native/toolkit/app/chat/chat-first/app-pane").then((module) => ({ default: module.ChatFirstAppPane })));
|
|
15
|
+
export const ChatFirstAppsRail = defer(() => import("@agent-native/toolkit/app/chat/chat-first/apps-rail").then((module) => ({
|
|
16
|
+
default: module.ChatFirstAppsRail,
|
|
17
|
+
})));
|
|
18
|
+
export const ChatFirstBrowserPane = defer(() => import("@agent-native/toolkit/app/chat/chat-first/browser-pane").then((module) => ({ default: module.ChatFirstBrowserPane })));
|
|
19
|
+
export const ChatFirstChatHistory = defer(() => import("@agent-native/toolkit/app/chat/chat-first/chat-history").then((module) => ({ default: module.ChatFirstChatHistory })));
|
|
20
|
+
export const ChatFirstPrimaryNavigation = defer(() => import("@agent-native/toolkit/app/chat/chat-first/primary-nav").then((module) => ({
|
|
21
|
+
default: module.ChatFirstPrimaryNavigation,
|
|
22
|
+
})));
|
|
23
|
+
export const ChatFirstSessionWatchPane = defer(() => import("@agent-native/toolkit/app/chat/chat-first/session-watch-pane").then((module) => ({ default: module.ChatFirstSessionWatchPane })));
|
|
24
|
+
export const ChatFirstSurfaceContent = defer(() => import("@agent-native/toolkit/app/chat/chat-first/surface-tabs").then((module) => ({ default: module.ChatFirstSurfaceContent })));
|
|
25
|
+
export const ChatFirstSurfacePanel = defer(() => import("@agent-native/toolkit/app/chat/chat-first/surface-panel").then((module) => ({ default: module.ChatFirstSurfacePanel })));
|
|
26
|
+
export const ChatFirstSurfacePanelToggle = defer(() => import("@agent-native/toolkit/app/chat/chat-first/ChatFirstSurfacePanelToggle").then((module) => ({ default: module.ChatFirstSurfacePanelToggle })));
|
|
27
|
+
export const ChatFirstSurfaceTabs = defer(() => import("@agent-native/toolkit/app/chat/chat-first/surface-tabs").then((module) => ({ default: module.ChatFirstSurfaceTabs })));
|
|
28
|
+
//# sourceMappingURL=deferred-chat-components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deferred-chat-components.js","sourceRoot":"","sources":["../../src/components/deferred-chat-components.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n LazyChunkErrorBoundary,\n LazyChunkRetryFallback,\n} from \"@agent-native/toolkit/app/shared\";\nimport { lazy, Suspense, type ComponentProps, type ComponentType } from \"react\";\n\nfunction defer<T extends ComponentType<any>>(\n loader: () => Promise<{ default: T }>,\n): ComponentType<ComponentProps<T>> {\n const LazyComponent = lazy(loader);\n return function DeferredComponent(props: ComponentProps<T>) {\n return (\n <LazyChunkErrorBoundary fallback={<LazyChunkRetryFallback />}>\n <Suspense fallback={null}>\n <LazyComponent {...props} />\n </Suspense>\n </LazyChunkErrorBoundary>\n );\n };\n}\n\nexport const AgentChatSurface = defer(() =>\n import(\"@agent-native/toolkit/app/chat/AgentPanel\").then((module) => ({\n default: module.AgentChatSurface,\n })),\n);\n\nexport const ChatFirstAgentsPane = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/agents-pane\").then(\n (module) => ({ default: module.ChatFirstAgentsPane }),\n ),\n);\n\nexport const ChatFirstAppPane = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/app-pane\").then(\n (module) => ({ default: module.ChatFirstAppPane }),\n ),\n);\n\nexport const ChatFirstAppsRail = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/apps-rail\").then(\n (module) => ({\n default: module.ChatFirstAppsRail,\n }),\n ),\n);\n\nexport const ChatFirstBrowserPane = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/browser-pane\").then(\n (module) => ({ default: module.ChatFirstBrowserPane }),\n ),\n);\n\nexport const ChatFirstChatHistory = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/chat-history\").then(\n (module) => ({ default: module.ChatFirstChatHistory }),\n ),\n);\n\nexport const ChatFirstPrimaryNavigation = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/primary-nav\").then(\n (module) => ({\n default: module.ChatFirstPrimaryNavigation,\n }),\n ),\n);\n\nexport const ChatFirstSessionWatchPane = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/session-watch-pane\").then(\n (module) => ({ default: module.ChatFirstSessionWatchPane }),\n ),\n);\n\nexport const ChatFirstSurfaceContent = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/surface-tabs\").then(\n (module) => ({ default: module.ChatFirstSurfaceContent }),\n ),\n);\n\nexport const ChatFirstSurfacePanel = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/surface-panel\").then(\n (module) => ({ default: module.ChatFirstSurfacePanel }),\n ),\n);\n\nexport const ChatFirstSurfacePanelToggle = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/ChatFirstSurfacePanelToggle\").then(\n (module) => ({ default: module.ChatFirstSurfacePanelToggle }),\n ),\n);\n\nexport const ChatFirstSurfaceTabs = defer(() =>\n import(\"@agent-native/toolkit/app/chat/chat-first/surface-tabs\").then(\n (module) => ({ default: module.ChatFirstSurfaceTabs }),\n ),\n);\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { AgentToggleButton } from "@agent-native/toolkit/app/chat";
|
|
2
|
+
import { AgentToggleButton } from "@agent-native/toolkit/app/chat/AgentSidebar";
|
|
3
3
|
import { RunsTray } from "@agent-native/toolkit/app/progress";
|
|
4
4
|
import { IconLayoutSidebar } from "@tabler/icons-react";
|
|
5
5
|
import { useLocation, useNavigate } from "react-router";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/layout/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/layout/Header.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AgentToggleButton } from \"@agent-native/toolkit/app/chat/AgentSidebar\";\nimport { RunsTray } from \"@agent-native/toolkit/app/progress\";\nimport { IconLayoutSidebar } from \"@tabler/icons-react\";\nimport { useLocation, useNavigate } from \"react-router\";\n\nimport { Button } from \"../ui/button\";\nimport { useHeaderTitle, useHeaderActions } from \"./HeaderActions\";\n\nconst pageTitles: Record<string, string> = {\n \"/\": \"Overview\",\n \"/overview\": \"Overview\",\n \"/vault\": \"Vault\",\n \"/integrations\": \"Integrations\",\n \"/workspace\": \"Resources\",\n \"/messaging\": \"Messaging\",\n \"/agents\": \"Agents\",\n \"/destinations\": \"Destinations\",\n \"/identities\": \"Identities\",\n \"/approvals\": \"Approvals\",\n \"/automations\": \"Automations\",\n \"/audit\": \"Audit\",\n \"/dreams\": \"Dreams\",\n \"/thread-debug\": \"Thread Debug\",\n \"/transactional-email\": \"Transactional email\",\n \"/settings\": \"Settings\",\n};\n\nfunction resolveTitle(pathname: string): string {\n if (pathname === \"/admin\" || pathname === \"/admin/\") return \"Admin\";\n if (pathname.startsWith(\"/admin/\")) {\n const adminPath = pathname.slice(\"/admin\".length);\n return pageTitles[adminPath] ?? \"Admin\";\n }\n if (pageTitles[pathname]) return pageTitles[pathname];\n\n if (pathname.startsWith(\"/extensions\")) return \"Extensions\";\n\n return \"Dispatch\";\n}\n\nexport function Header({\n onOpenMobile,\n showAgentToggle = true,\n}: {\n onOpenMobile?: () => void;\n showAgentToggle?: boolean;\n}) {\n const location = useLocation();\n const navigate = useNavigate();\n const title = useHeaderTitle();\n const actions = useHeaderActions();\n\n function openRunThread(threadId: string) {\n void navigate(\"/chat\", {\n state: {\n dispatchThread: {\n id: `${Date.now()}-${threadId}`,\n threadId,\n },\n },\n });\n window.requestAnimationFrame(() => {\n window.dispatchEvent(\n new CustomEvent(\"agent-chat:open-thread\", {\n detail: { threadId },\n }),\n );\n });\n }\n\n return (\n <header className=\"flex h-12 shrink-0 items-center gap-3 border-b border-border bg-background px-4 lg:px-6\">\n {onOpenMobile ? (\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"lg:hidden cursor-pointer\"\n onClick={onOpenMobile}\n aria-label=\"Open navigation\"\n >\n <IconLayoutSidebar />\n </Button>\n ) : null}\n <div className=\"flex items-center gap-3 flex-1 min-w-0\">\n {title ?? (\n <h1 className=\"text-lg font-semibold tracking-tight truncate\">\n {resolveTitle(location.pathname)}\n </h1>\n )}\n </div>\n <div className=\"flex items-center gap-2 shrink-0\">\n {actions}\n <RunsTray limit={8} onOpenThread={openRunThread} />\n {showAgentToggle ? (\n <AgentToggleButton className=\"h-8 w-8 rounded-md hover:bg-accent\" />\n ) : null}\n </div>\n </header>\n );\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ChatFirstAppRegistration, type ChatFirstAppLayoutPreference } from "@agent-native/core/client/agent-chat";
|
|
2
2
|
import { type FeatureFlagState } from "@agent-native/core/client/feature-flags";
|
|
3
|
-
import
|
|
3
|
+
import type { ChatFirstPrimaryTab } from "@agent-native/toolkit/app/chat/chat-first/primary-nav";
|
|
4
|
+
import type { ChatFirstAppItem, ChatFirstCopy } from "@agent-native/toolkit/app/chat/chat-first/types";
|
|
4
5
|
import { type ComponentType, type ReactNode } from "react";
|
|
5
6
|
import { type WorkspaceAppSummary } from "../../lib/workspace-apps.js";
|
|
6
7
|
export { buildChatFirstEmbedSessionInput } from "../workspace-app-host.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Layout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAiBL,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAYlC,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Layout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,8 @@ import { useFeatureFlagState, } from "@agent-native/core/client/feature-flags";
|
|
|
6
6
|
import { useActionQuery } from "@agent-native/core/client/hooks";
|
|
7
7
|
import { useT } from "@agent-native/core/client/i18n";
|
|
8
8
|
import { SETTINGS_REDESIGN_FLAG } from "@agent-native/core/feature-flags/registry";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { ChatFirstAgentsPane, ChatFirstAppPane, ChatFirstAppsRail, ChatFirstBrowserPane, ChatFirstChatHistory, ChatFirstPrimaryNavigation, ChatFirstSessionWatchPane, ChatFirstSurfacePanel, ChatFirstSurfaceContent, ChatFirstSurfaceTabs, defaultChatFirstCopy, } from "@agent-native/toolkit/app/chat/chat-first";
|
|
9
|
+
import { AgentToggleButton, AgentSidebar, focusAgentChat, } from "@agent-native/toolkit/app/chat/AgentSidebar";
|
|
10
|
+
import { defaultChatFirstCopy } from "@agent-native/toolkit/app/chat/chat-first-copy";
|
|
12
11
|
import { FeedbackButton } from "@agent-native/toolkit/app/feedback";
|
|
13
12
|
import { InvitationBanner, OrgSwitcher } from "@agent-native/toolkit/app/org";
|
|
14
13
|
import { RunsTray } from "@agent-native/toolkit/app/progress";
|
|
@@ -27,6 +26,7 @@ import { isDispatchWorkspaceAppId, isPathMountedWorkspaceApp, isWorkspaceAppVisi
|
|
|
27
26
|
import { CHAT_FIRST_PANE_STATE_KEY } from "../../shared/chat-first-pane.js";
|
|
28
27
|
import { AppIcon } from "../app-icon.js";
|
|
29
28
|
import { CreateAppPopover } from "../create-app-popover.js";
|
|
29
|
+
import { AgentChatSurface, ChatFirstAgentsPane, ChatFirstAppPane, ChatFirstAppsRail, ChatFirstBrowserPane, ChatFirstChatHistory, ChatFirstPrimaryNavigation, ChatFirstSessionWatchPane, ChatFirstSurfaceContent, ChatFirstSurfacePanel, ChatFirstSurfacePanelToggle, ChatFirstSurfaceTabs, } from "../deferred-chat-components.js";
|
|
30
30
|
import { Button } from "../ui/button.js";
|
|
31
31
|
import { Sheet, SheetContent, SheetDescription, SheetTitle } from "../ui/sheet.js";
|
|
32
32
|
import { Skeleton } from "../ui/skeleton.js";
|