opencami 1.8.5 → 1.8.7

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 (70) hide show
  1. package/dist/client/assets/{CSPContext-6t3O1emU.js → CSPContext-KDlbpvjX.js} +1 -1
  2. package/dist/client/assets/{DirectionContext-C6goXEY_.js → DirectionContext-DZNUWW6F.js} +1 -1
  3. package/dist/client/assets/_sessionKey-CPRycepq.js +19 -0
  4. package/dist/client/assets/agents-Bp6Cn1BH.js +2 -0
  5. package/dist/client/assets/{agents-screen-pHUzJxX5.js → agents-screen-Du8b4SRW.js} +1 -1
  6. package/dist/client/assets/bots-Dl65yZDx.js +2 -0
  7. package/dist/client/assets/bots-screen-CvbAVMk0.js +1 -0
  8. package/dist/client/assets/{button-CK8tKQ-Z.js → button-BxDVif49.js} +1 -1
  9. package/dist/client/assets/{composite-feK0c-xF.js → composite-t7Eu0qB0.js} +1 -1
  10. package/dist/client/assets/{connect-02tmQV_v.js → connect-Btonx7l6.js} +1 -1
  11. package/dist/client/assets/{dashboard-DQ0zDQKd.js → dashboard-Dz6Uyyke.js} +1 -1
  12. package/dist/client/assets/{event-BsD1rqGT.js → event-DeooaZzN.js} +1 -1
  13. package/dist/client/assets/{file-explorer-screen-Ds7LeJTd.js → file-explorer-screen-BnOINWSL.js} +1 -1
  14. package/dist/client/assets/files-Cf87gXsq.js +2 -0
  15. package/dist/client/assets/follow-up-suggestions-DP_84nA2.js +5 -0
  16. package/dist/client/assets/index-nheqha2z.js +3 -0
  17. package/dist/client/assets/{index-lK3yGoTI.js → index-yPOt98v7.js} +1 -1
  18. package/dist/client/assets/{keyboard-shortcuts-dialog-Bb_GOr9L.js → keyboard-shortcuts-dialog-BzL7ZJUb.js} +1 -1
  19. package/dist/client/assets/{main-Dq6jpr6-.js → main-DJgQwVqD.js} +3 -3
  20. package/dist/client/assets/{markdown-C7_Aipwd.js → markdown-CFbW7h0Q.js} +14 -14
  21. package/dist/client/assets/memory-kYdhgbRR.js +2 -0
  22. package/dist/client/assets/{memory-screen-CUFBWsq5.js → memory-screen-BKYBnY-V.js} +1 -1
  23. package/dist/client/assets/{menu-n6L--M9R.js → menu-CnihCZ4y.js} +1 -1
  24. package/dist/client/assets/{opencami-logo-zuSBm5Br.js → opencami-logo-CoCA2JIf.js} +1 -1
  25. package/dist/client/assets/{proxy-BU8Bw1Vt.js → proxy-C2vtPufK.js} +1 -1
  26. package/dist/client/assets/{react-BLyCEWpN.js → react-DzPMbcP8.js} +1 -1
  27. package/dist/client/assets/{search-dialog-yB4w5ajo.js → search-dialog-CDAdFAQI.js} +1 -1
  28. package/dist/client/assets/search-sources-badge-DOd5AI-i.js +1 -0
  29. package/dist/client/assets/{session-export-dialog-qbZgd2Zo.js → session-export-dialog-Cf8eisLM.js} +1 -1
  30. package/dist/client/assets/{settings-dialog-CHJbvpgk.js → settings-dialog-CB1OiRWU.js} +1 -1
  31. package/dist/client/assets/skills-D6MaebJh.js +2 -0
  32. package/dist/client/assets/{skills-panel-BH27r3nC.js → skills-panel-_M5k5dty.js} +1 -1
  33. package/dist/client/assets/styles-BNkOWk4R.css +1 -0
  34. package/dist/client/assets/{switch-BD3a0LRm.js → switch-LzFh8co4.js} +1 -1
  35. package/dist/client/assets/{tabs-DI1e-kzz.js → tabs-D9o7Irvl.js} +1 -1
  36. package/dist/client/assets/thinking-BqZoM6BP.js +1 -0
  37. package/dist/client/assets/{tooltip-BbH3QWvK.js → tooltip-D64CzFXa.js} +1 -1
  38. package/dist/client/assets/{use-file-explorer-state-DBfLeAyz.js → use-file-explorer-state-Tzex8EEL.js} +2 -2
  39. package/dist/client/assets/{useBaseUiId-MgM4ouhx.js → useBaseUiId-CMJ8I9al.js} +1 -1
  40. package/dist/client/assets/useCompositeItem-CSriPK0T.js +1 -0
  41. package/dist/client/assets/{useControlled-BQxTgsOd.js → useControlled-KFa25CcD.js} +1 -1
  42. package/dist/client/assets/{useMutation-12DyB3Ox.js → useMutation-Bd89JWif.js} +1 -1
  43. package/dist/client/assets/{useOnFirstRender-7qoaK5sI.js → useOnFirstRender-DqnUCnnL.js} +1 -1
  44. package/dist/client/assets/{useQuery-Ctiljcrr.js → useQuery-DhR_UXNX.js} +1 -1
  45. package/dist/server/assets/{_sessionKey-CH8wIyED.js → _sessionKey-BzM-igv7.js} +405 -703
  46. package/dist/server/assets/{_tanstack-start-manifest_v-C5HBDfQB.js → _tanstack-start-manifest_v-Bfnqdswf.js} +1 -1
  47. package/dist/server/assets/{connect-CbgijWz4.js → connect-BNabuqpW.js} +1 -1
  48. package/dist/server/assets/follow-up-suggestions-DhBZIszK.js +336 -0
  49. package/dist/server/assets/{index-Dl2BOKP7.js → index-BEWnDAH6.js} +24 -5
  50. package/dist/server/assets/{index-NcNCVGTL.js → index-DCMpnyEo.js} +1 -1
  51. package/dist/server/assets/{markdown-BFE5y9YH.js → markdown-DoX5Q7qh.js} +50 -26
  52. package/dist/server/assets/{memory-BqZOoD7Q.js → memory-Cxu7i8ej.js} +1 -1
  53. package/dist/server/assets/{memory-screen-BK5phS8K.js → memory-screen-B5l1NZRY.js} +2 -2
  54. package/dist/server/assets/{router-Brzpnz55.js → router-BqPDQeCx.js} +16 -11
  55. package/dist/server/assets/{search-dialog-BNhjVvKc.js → search-dialog-DtYc9e4N.js} +4 -4
  56. package/dist/server/assets/search-sources-badge-B0rAEDs_.js +106 -0
  57. package/dist/server/assets/{settings-dialog-CWcmfDiV.js → settings-dialog-BQzn6fyF.js} +4 -4
  58. package/dist/server/assets/thinking-D6q1tJkk.js +92 -0
  59. package/dist/server/server.js +2 -2
  60. package/package.json +1 -1
  61. package/dist/client/assets/_sessionKey-B5Viv43f.js +0 -23
  62. package/dist/client/assets/agents-BmE6QOwl.js +0 -2
  63. package/dist/client/assets/bots-BeOkwrXr.js +0 -2
  64. package/dist/client/assets/bots-screen-B79bAYvf.js +0 -1
  65. package/dist/client/assets/files-e40B1zFy.js +0 -2
  66. package/dist/client/assets/index-rljDU_1M.js +0 -3
  67. package/dist/client/assets/memory-C7UG-1le.js +0 -2
  68. package/dist/client/assets/skills-DoKPPhNY.js +0 -2
  69. package/dist/client/assets/styles-CXV5jZiD.css +0 -1
  70. package/dist/client/assets/useCompositeItem-OhltNFdZ.js +0 -1
@@ -12,7 +12,7 @@ import { execFile, execSync } from "node:child_process";
12
12
  import { promisify } from "node:util";
13
13
  import { readFile, mkdir, writeFile, rename, stat, readdir, rm, realpath, lstat } from "node:fs/promises";
14
14
  import { posix } from "path";
15
- const appCss = "/assets/styles-CXV5jZiD.css";
15
+ const appCss = "/assets/styles-BNkOWk4R.css";
16
16
  const swRegisterScript = `
17
17
  (() => {
18
18
  // Skip PWA service worker inside Capacitor native shell — they conflict
@@ -346,7 +346,7 @@ const Route$z = createFileRoute("/new")({
346
346
  },
347
347
  component: lazyRouteComponent($$splitComponentImporter$8, "component")
348
348
  });
349
- const $$splitComponentImporter$7 = () => import("./memory-BqZOoD7Q.js");
349
+ const $$splitComponentImporter$7 = () => import("./memory-Cxu7i8ej.js");
350
350
  const Route$y = createFileRoute("/memory")({
351
351
  component: lazyRouteComponent($$splitComponentImporter$7, "component")
352
352
  });
@@ -358,7 +358,7 @@ const $$splitComponentImporter$5 = () => import("./dashboard-GCKodTiJ.js");
358
358
  const Route$w = createFileRoute("/dashboard")({
359
359
  component: lazyRouteComponent($$splitComponentImporter$5, "component")
360
360
  });
361
- const $$splitComponentImporter$4 = () => import("./connect-CbgijWz4.js");
361
+ const $$splitComponentImporter$4 = () => import("./connect-BNabuqpW.js");
362
362
  const Route$v = createFileRoute("/connect")({
363
363
  component: lazyRouteComponent($$splitComponentImporter$4, "component")
364
364
  });
@@ -370,11 +370,11 @@ const $$splitComponentImporter$2 = () => import("./agents-CmQ4vvXm.js");
370
370
  const Route$t = createFileRoute("/agents")({
371
371
  component: lazyRouteComponent($$splitComponentImporter$2, "component")
372
372
  });
373
- const $$splitComponentImporter$1 = () => import("./index-NcNCVGTL.js");
373
+ const $$splitComponentImporter$1 = () => import("./index-DCMpnyEo.js");
374
374
  const Route$s = createFileRoute("/")({
375
375
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
376
376
  });
377
- const $$splitComponentImporter = () => import("./_sessionKey-CH8wIyED.js").then((n) => n.$);
377
+ const $$splitComponentImporter = () => import("./_sessionKey-BzM-igv7.js").then((n) => n.$);
378
378
  const Route$r = createFileRoute("/chat/$sessionKey")({
379
379
  component: lazyRouteComponent($$splitComponentImporter, "component")
380
380
  });
@@ -625,6 +625,13 @@ class PersistentGatewayConnection {
625
625
  async _connect() {
626
626
  if (this.destroyed) throw new Error("Connection destroyed");
627
627
  const { url, token, password } = getGatewayConfig();
628
+ if (this.ws) {
629
+ try {
630
+ this.ws.close();
631
+ } catch {
632
+ }
633
+ this.ws = null;
634
+ }
628
635
  const origin = process.env.OPENCAMI_ORIGIN?.trim();
629
636
  const ws = origin ? new WebSocket(url, { headers: { Origin: origin } }) : new WebSocket(url);
630
637
  this.ws = ws;
@@ -907,14 +914,12 @@ class PersistentGatewayConnection {
907
914
  this.globalListeners.clear();
908
915
  }
909
916
  }
910
- let _instance = null;
911
- const _g = globalThis;
917
+ const _proc = process;
912
918
  function getPersistentConnection() {
913
- if (!_g.__opencamiGatewayInstance) {
914
- _g.__opencamiGatewayInstance = new PersistentGatewayConnection();
919
+ if (!_proc.__opencamiGatewayInstance) {
920
+ _proc.__opencamiGatewayInstance = new PersistentGatewayConnection();
915
921
  }
916
- _instance = _g.__opencamiGatewayInstance;
917
- return _instance;
922
+ return _proc.__opencamiGatewayInstance;
918
923
  }
919
924
  async function gatewayRpc(method, params) {
920
925
  const conn = getPersistentConnection();
@@ -5,7 +5,7 @@ import { HugeiconsIcon } from "@hugeicons/react";
5
5
  import { Search01Icon, Cancel01Icon, Loading03Icon } from "@hugeicons/core-free-icons";
6
6
  import { D as DialogRoot, a as DialogContent } from "./use-file-explorer-state-s7CS50ho.js";
7
7
  import { useQueryClient } from "@tanstack/react-query";
8
- import { c as chatQueryKeys } from "./_sessionKey-CH8wIyED.js";
8
+ import { c as chatQueryKeys } from "./_sessionKey-BzM-igv7.js";
9
9
  import { c as cn } from "./button-CwY2OHFj.js";
10
10
  import "@base-ui/react/dialog";
11
11
  import "zustand";
@@ -18,15 +18,15 @@ import "@base-ui/react/scroll-area";
18
18
  import "./menu-D90CDTi2.js";
19
19
  import "@base-ui/react/menu";
20
20
  import "./opencami-logo-C-43FL3R.js";
21
- import "./markdown-BFE5y9YH.js";
21
+ import "./markdown-DoX5Q7qh.js";
22
22
  import "marked";
23
23
  import "react-markdown";
24
24
  import "remark-breaks";
25
25
  import "remark-gfm";
26
- import "./index-Dl2BOKP7.js";
26
+ import "./index-BEWnDAH6.js";
27
27
  import "zustand/middleware";
28
28
  import "react-dom";
29
- import "./router-Brzpnz55.js";
29
+ import "./router-BqPDQeCx.js";
30
30
  import "node:crypto";
31
31
  import "node:fs";
32
32
  import "node:os";
@@ -0,0 +1,106 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { HugeiconsIcon } from "@hugeicons/react";
4
+ import { Search01Icon, ArrowRight01Icon } from "@hugeicons/core-free-icons";
5
+ import { c as cn } from "./button-CwY2OHFj.js";
6
+ import "@base-ui/react/merge-props";
7
+ import "@base-ui/react/use-render";
8
+ import "class-variance-authority";
9
+ import "clsx";
10
+ import "tailwind-merge";
11
+ function getDomain(url) {
12
+ try {
13
+ return new URL(url).hostname.replace("www.", "");
14
+ } catch {
15
+ return url;
16
+ }
17
+ }
18
+ function FaviconCircle({ domain }) {
19
+ return /* @__PURE__ */ jsx(
20
+ "div",
21
+ {
22
+ className: "flex items-center justify-center w-5 h-5 rounded-full bg-white dark:bg-zinc-800 border border-cyan-500/20 overflow-hidden",
23
+ title: domain,
24
+ children: /* @__PURE__ */ jsx(
25
+ "img",
26
+ {
27
+ src: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`,
28
+ alt: "",
29
+ className: "w-4 h-4 object-contain",
30
+ loading: "lazy",
31
+ onError: (e) => {
32
+ const target = e.target;
33
+ target.style.display = "none";
34
+ const parent = target.parentElement;
35
+ if (parent) {
36
+ parent.textContent = domain.charAt(0).toUpperCase();
37
+ parent.classList.add("text-[10px]", "font-medium", "text-cyan-400");
38
+ }
39
+ }
40
+ }
41
+ )
42
+ }
43
+ );
44
+ }
45
+ function SearchSourcesBadge({ sources }) {
46
+ const [expanded, setExpanded] = useState(false);
47
+ if (!sources.length) return null;
48
+ const uniqueDomains = [...new Set(sources.map((s) => getDomain(s.url)))];
49
+ return /* @__PURE__ */ jsxs("div", { className: "mt-2 w-full", children: [
50
+ /* @__PURE__ */ jsxs(
51
+ "button",
52
+ {
53
+ onClick: () => setExpanded(!expanded),
54
+ className: cn(
55
+ "inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-xs",
56
+ "bg-cyan-500/10 hover:bg-cyan-500/20 border border-cyan-500/30",
57
+ "text-cyan-300 transition-colors"
58
+ ),
59
+ children: [
60
+ /* @__PURE__ */ jsx(HugeiconsIcon, { icon: Search01Icon, size: 14 }),
61
+ /* @__PURE__ */ jsx("span", { className: "font-medium", children: "Sources" }),
62
+ /* @__PURE__ */ jsx("span", { className: "px-1.5 py-0.5 rounded-full bg-cyan-500/20 text-cyan-400 font-semibold", children: sources.length }),
63
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-0.5 ml-1", children: [
64
+ uniqueDomains.slice(0, 3).map((domain) => /* @__PURE__ */ jsx(FaviconCircle, { domain }, domain)),
65
+ uniqueDomains.length > 3 && /* @__PURE__ */ jsxs("span", { className: "text-cyan-500/70 text-[10px] ml-0.5", children: [
66
+ "+",
67
+ uniqueDomains.length - 3
68
+ ] })
69
+ ] }),
70
+ /* @__PURE__ */ jsx(
71
+ HugeiconsIcon,
72
+ {
73
+ icon: ArrowRight01Icon,
74
+ size: 12,
75
+ className: cn("transition-transform", expanded && "rotate-90")
76
+ }
77
+ )
78
+ ]
79
+ }
80
+ ),
81
+ expanded && /* @__PURE__ */ jsx("div", { className: "mt-2 rounded-lg border border-cyan-500/20 bg-cyan-500/5 max-h-80 overflow-y-auto", children: sources.map((source, i) => {
82
+ const domain = getDomain(source.url);
83
+ return /* @__PURE__ */ jsxs(
84
+ "a",
85
+ {
86
+ href: source.url,
87
+ target: "_blank",
88
+ rel: "noopener noreferrer",
89
+ className: "flex items-start gap-2 p-2.5 border-b border-cyan-500/10 last:border-b-0 hover:bg-cyan-500/5 transition-colors",
90
+ children: [
91
+ /* @__PURE__ */ jsx(FaviconCircle, { domain }),
92
+ /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
93
+ /* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-primary-900 hover:underline line-clamp-1", children: source.title || domain }),
94
+ /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: domain }),
95
+ source.snippet && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground/80 line-clamp-2 mt-0.5", children: source.snippet })
96
+ ] })
97
+ ]
98
+ },
99
+ `${source.url}-${i}`
100
+ );
101
+ }) })
102
+ ] });
103
+ }
104
+ export {
105
+ SearchSourcesBadge
106
+ };
@@ -7,8 +7,8 @@ import { B as Button, c as cn } from "./button-CwY2OHFj.js";
7
7
  import { D as DialogRoot, a as DialogContent, b as DialogTitle, c as DialogDescription, d as DialogClose } from "./use-file-explorer-state-s7CS50ho.js";
8
8
  import { S as Switch } from "./switch-BbkUeVDV.js";
9
9
  import { T as Tabs, a as TabsList, b as TabsTab } from "./tabs-DDFZob0m.js";
10
- import { u as useChatSettings } from "./index-Dl2BOKP7.js";
11
- import { u as useLlmSettings, g as getLlmProviderDefaults } from "./_sessionKey-CH8wIyED.js";
10
+ import { u as useChatSettings } from "./index-BEWnDAH6.js";
11
+ import { u as useLlmSettings, g as getLlmProviderDefaults } from "./_sessionKey-BzM-igv7.js";
12
12
  import "@base-ui/react/merge-props";
13
13
  import "@base-ui/react/use-render";
14
14
  import "class-variance-authority";
@@ -29,13 +29,13 @@ import "@base-ui/react/scroll-area";
29
29
  import "./menu-D90CDTi2.js";
30
30
  import "@base-ui/react/menu";
31
31
  import "./opencami-logo-C-43FL3R.js";
32
- import "./markdown-BFE5y9YH.js";
32
+ import "./markdown-DoX5Q7qh.js";
33
33
  import "marked";
34
34
  import "react-markdown";
35
35
  import "remark-breaks";
36
36
  import "remark-gfm";
37
37
  import "react-dom";
38
- import "./router-Brzpnz55.js";
38
+ import "./router-BqPDQeCx.js";
39
39
  import "node:crypto";
40
40
  import "node:fs";
41
41
  import "node:os";
@@ -0,0 +1,92 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect } from "react";
3
+ import { C as Collapsible, d as CollapsibleTrigger, e as CollapsiblePanel } from "./_sessionKey-BzM-igv7.js";
4
+ import { HugeiconsIcon } from "@hugeicons/react";
5
+ import { ArrowDown01Icon } from "@hugeicons/core-free-icons";
6
+ import { B as Button } from "./button-CwY2OHFj.js";
7
+ import "@tanstack/react-router";
8
+ import "@tanstack/react-query";
9
+ import "./tooltip-DgsSPocE.js";
10
+ import "@base-ui/react/tooltip";
11
+ import "motion/react";
12
+ import "@base-ui/react/alert-dialog";
13
+ import "./use-file-explorer-state-s7CS50ho.js";
14
+ import "@base-ui/react/dialog";
15
+ import "zustand";
16
+ import "@base-ui/react/collapsible";
17
+ import "@base-ui/react/scroll-area";
18
+ import "./menu-D90CDTi2.js";
19
+ import "@base-ui/react/menu";
20
+ import "./opencami-logo-C-43FL3R.js";
21
+ import "./markdown-DoX5Q7qh.js";
22
+ import "marked";
23
+ import "react-markdown";
24
+ import "remark-breaks";
25
+ import "remark-gfm";
26
+ import "./index-BEWnDAH6.js";
27
+ import "zustand/middleware";
28
+ import "react-dom";
29
+ import "./router-BqPDQeCx.js";
30
+ import "node:crypto";
31
+ import "node:fs";
32
+ import "node:os";
33
+ import "node:path";
34
+ import "ws";
35
+ import "@tanstack/router-core/ssr/client";
36
+ import "node:stream";
37
+ import "node:child_process";
38
+ import "node:util";
39
+ import "node:fs/promises";
40
+ import "path";
41
+ import "@base-ui/react/merge-props";
42
+ import "@base-ui/react/use-render";
43
+ import "class-variance-authority";
44
+ import "clsx";
45
+ import "tailwind-merge";
46
+ function useIsMobile() {
47
+ const [isMobile, setIsMobile] = useState(
48
+ () => typeof window !== "undefined" ? window.innerWidth < 768 : false
49
+ );
50
+ useEffect(() => {
51
+ if (typeof window === "undefined") return;
52
+ const mql = window.matchMedia("(max-width: 767px)");
53
+ const handler = (e) => setIsMobile(e.matches);
54
+ mql.addEventListener("change", handler);
55
+ setIsMobile(mql.matches);
56
+ return () => mql.removeEventListener("change", handler);
57
+ }, []);
58
+ return isMobile;
59
+ }
60
+ function Thinking({ content }) {
61
+ const isMobile = useIsMobile();
62
+ return /* @__PURE__ */ jsx("div", { className: "inline-flex flex-col", children: /* @__PURE__ */ jsxs(Collapsible, { defaultOpen: !isMobile, children: [
63
+ /* @__PURE__ */ jsxs(
64
+ CollapsibleTrigger,
65
+ {
66
+ render: /* @__PURE__ */ jsx(
67
+ Button,
68
+ {
69
+ variant: "ghost",
70
+ className: "h-auto gap-1.5 px-1.5 py-0.5 -mx-2"
71
+ }
72
+ ),
73
+ children: [
74
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-primary-900", children: "Thinking" }),
75
+ /* @__PURE__ */ jsx(
76
+ HugeiconsIcon,
77
+ {
78
+ icon: ArrowDown01Icon,
79
+ size: 14,
80
+ strokeWidth: 1.5,
81
+ className: "text-primary-900 transition-transform duration-150 group-data-panel-open:rotate-180"
82
+ }
83
+ )
84
+ ]
85
+ }
86
+ ),
87
+ /* @__PURE__ */ jsx(CollapsiblePanel, { children: /* @__PURE__ */ jsx("div", { className: "pt-1 mb-3", children: /* @__PURE__ */ jsx("p", { className: "text-sm text-primary-700 whitespace-pre-wrap", children: content }) }) })
88
+ ] }) });
89
+ }
90
+ export {
91
+ Thinking
92
+ };
@@ -184,7 +184,7 @@ function getResponse() {
184
184
  return event.res;
185
185
  }
186
186
  async function getStartManifest(matchedRoutes) {
187
- const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-C5HBDfQB.js");
187
+ const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-Bfnqdswf.js");
188
188
  const startManifest = tsrStartManifest();
189
189
  const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
190
190
  rootRoute.assets = rootRoute.assets || [];
@@ -753,7 +753,7 @@ let entriesPromise;
753
753
  let baseManifestPromise;
754
754
  let cachedFinalManifestPromise;
755
755
  async function loadEntries() {
756
- const routerEntry = await import("./assets/router-Brzpnz55.js").then((n) => n.r);
756
+ const routerEntry = await import("./assets/router-BqPDQeCx.js").then((n) => n.r);
757
757
  const startEntry = await import("./assets/start-HYkvq4Ni.js");
758
758
  return { startEntry, routerEntry };
759
759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencami",
3
- "version": "1.8.5",
3
+ "version": "1.8.7",
4
4
  "type": "module",
5
5
  "description": "OpenCami - A beautiful web client for OpenClaw",
6
6
  "bin": {