@cryptiklemur/lattice 3.0.0 → 4.0.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.
- package/dist/client/assets/{angular-html-p5t-Nfoi.js → angular-html-N8PCEquT.js} +1 -1
- package/dist/client/assets/{angular-ts-QBfIBq6P.js → angular-ts-CJ8RJIPD.js} +1 -1
- package/dist/client/assets/{apl-82bQ_Djp.js → apl-BD6tCLWN.js} +1 -1
- package/dist/client/assets/{astro-DrL747uc.js → astro-CpIIfBs6.js} +1 -1
- package/dist/client/assets/{blade-CeleTiMx.js → blade-D3qgnjiV.js} +1 -1
- package/dist/client/assets/{c-CNa36Eot.js → c-Dr6ADN_t.js} +1 -1
- package/dist/client/assets/{cobol-xtZVZMu8.js → cobol-BIfDE0Hr.js} +1 -1
- package/dist/client/assets/{coffee-DSO0Kia-.js → coffee-DHQ57vfY.js} +1 -1
- package/dist/client/assets/{cpp-CHLZCe_0.js → cpp-CEBY6JOp.js} +1 -1
- package/dist/client/assets/{crystal-BgENvTby.js → crystal-D125CSmP.js} +1 -1
- package/dist/client/assets/{css-B9lcVfk6.js → css-CBmrkYSr.js} +1 -1
- package/dist/client/assets/{dist-2FggGBUL.js → dist-A_mCRD1f.js} +2 -2
- package/dist/client/assets/{edge-DVo0EkaJ.js → edge-Ccsz7cJW.js} +1 -1
- package/dist/client/assets/{elixir-nm5UVwAw.js → elixir-Do6gk14X.js} +1 -1
- package/dist/client/assets/{elm-BItvcLnf.js → elm-Db22zT4C.js} +1 -1
- package/dist/client/assets/{erb-DERt7iSq.js → erb-MXVqAAJD.js} +1 -1
- package/dist/client/assets/{git-rebase-CxzjpgPT.js → git-rebase-B-LLWBOA.js} +1 -1
- package/dist/client/assets/{glimmer-js-lr9NbwzE.js → glimmer-js-eWszRU73.js} +1 -1
- package/dist/client/assets/{glimmer-ts-BojVJXA9.js → glimmer-ts-VQmwGqUp.js} +1 -1
- package/dist/client/assets/{glsl-yZfjFR8v.js → glsl-B8ilOfAl.js} +1 -1
- package/dist/client/assets/{graphql-BdNVNM6U.js → graphql-DnTqxeOc.js} +1 -1
- package/dist/client/assets/{hack-BK90-1Dy.js → hack-XJsHYSQb.js} +1 -1
- package/dist/client/assets/{haml-BTj-Urq0.js → haml-CQ7Vqzwp.js} +1 -1
- package/dist/client/assets/{handlebars-B3ur7BqI.js → handlebars-C4szooBf.js} +1 -1
- package/dist/client/assets/{html-Wh0ZYaRH.js → html-B6EgAiSd.js} +1 -1
- package/dist/client/assets/{html-derivative-DAcr3evG.js → html-derivative-DdinogQX.js} +1 -1
- package/dist/client/assets/{http-B1Kn5xhc.js → http-BSLxCgRq.js} +1 -1
- package/dist/client/assets/{hurl-CYUKLBPr.js → hurl-pOsTwNfp.js} +1 -1
- package/dist/client/assets/{index-Ds62lWgL.js → index-BHQ_8mvl.js} +2 -2
- package/dist/client/assets/{java-XuTLsrgk.js → java-DRQLiiST.js} +1 -1
- package/dist/client/assets/{javascript-C-JTRs5l.js → javascript-DvEK2-47.js} +1 -1
- package/dist/client/assets/{jinja-BcRWtYpE.js → jinja-D2NYJ25y.js} +1 -1
- package/dist/client/assets/{jison-B43nrpXM.js → jison-DDZaLNAp.js} +1 -1
- package/dist/client/assets/{json-BgO-sevu.js → json-TGR0NIWd.js} +1 -1
- package/dist/client/assets/{jsx-CAday3oP.js → jsx-BjUoPYga.js} +1 -1
- package/dist/client/assets/{julia-DaelfbVe.js → julia-C4gjSpFu.js} +1 -1
- package/dist/client/assets/{just-DsDD_MqE.js → just-H351x5u_.js} +1 -1
- package/dist/client/assets/{latex-Bq8f5raz.js → latex-BiTmf6gf.js} +1 -1
- package/dist/client/assets/{liquid-CXUeGhmz.js → liquid-86ufjRy-.js} +1 -1
- package/dist/client/assets/{lua-YvUndMh8.js → lua-BNxR0F_8.js} +1 -1
- package/dist/client/assets/{marko-C6OCdIAH.js → marko-CvRxpRjM.js} +1 -1
- package/dist/client/assets/{mdc-CgTOXEJo.js → mdc-CYbAIy2C.js} +1 -1
- package/dist/client/assets/{nginx-Ba0I9mX9.js → nginx-egdgMq-F.js} +1 -1
- package/dist/client/assets/{nim-D8BfAXx_.js → nim-CXBJVz_w.js} +1 -1
- package/dist/client/assets/{perl-Bi-6llRF.js → perl-XRfMobzg.js} +1 -1
- package/dist/client/assets/{php-F62PhYtk.js → php-Br7a8uil.js} +1 -1
- package/dist/client/assets/{pug-D88Q106N.js → pug-BVbbUVvy.js} +1 -1
- package/dist/client/assets/{qml-DuWlLlTg.js → qml-ByKvrL1j.js} +1 -1
- package/dist/client/assets/{r-PBSd4xLF.js → r-mVoV0Ni6.js} +1 -1
- package/dist/client/assets/{razor-CccHx-M2.js → razor-T5O-9UJL.js} +1 -1
- package/dist/client/assets/{regexp-CBh65lsy.js → regexp-CioRuhuN.js} +1 -1
- package/dist/client/assets/{rst-DyWqmpVk.js → rst-V__uTudD.js} +1 -1
- package/dist/client/assets/{ruby-CqEljnfp.js → ruby-C_PuKPTI.js} +1 -1
- package/dist/client/assets/{sas-RDyijAm6.js → sas-D_DqqQH4.js} +1 -1
- package/dist/client/assets/{scss-BFMtRhMj.js → scss-D-TjzZ4c.js} +1 -1
- package/dist/client/assets/{shellscript-DdKKt1iT.js → shellscript-E5759VHu.js} +1 -1
- package/dist/client/assets/{shellsession-Bn7uljDl.js → shellsession-AESTM-Pv.js} +1 -1
- package/dist/client/assets/{soy-fykMX_Q-.js → soy-QrbrrcDv.js} +1 -1
- package/dist/client/assets/{sql-IJUDieNo.js → sql-0M8VcDHD.js} +1 -1
- package/dist/client/assets/{stata-CUp59tGc.js → stata-CgeIpGtc.js} +1 -1
- package/dist/client/assets/{surrealql-BWJxnhS7.js → surrealql-DBGwnZbw.js} +1 -1
- package/dist/client/assets/{svelte-Bey6A6S-.js → svelte-Cv0PvUc_.js} +1 -1
- package/dist/client/assets/{templ-CAydvaCu.js → templ-B9t7xRE4.js} +1 -1
- package/dist/client/assets/{tex-CgxZNWup.js → tex-DhZZ8dr2.js} +1 -1
- package/dist/client/assets/{ts-tags-QJ8z73ld.js → ts-tags-BFv8sbnd.js} +1 -1
- package/dist/client/assets/{tsx-CZs_kQHC.js → tsx-CXC9KSbY.js} +1 -1
- package/dist/client/assets/{twig-CUkd-jp7.js → twig-CM_OO66r.js} +1 -1
- package/dist/client/assets/{typescript-72gXC1AU.js → typescript-BdgOTaoD.js} +1 -1
- package/dist/client/assets/{vue-DN_el4fL.js → vue-BnQhjnCm.js} +1 -1
- package/dist/client/assets/{vue-html-CqjvpIsk.js → vue-html-CNnGecRI.js} +1 -1
- package/dist/client/assets/{vue-vine-CLjLkwAp.js → vue-vine-DCuMkRhK.js} +1 -1
- package/dist/client/assets/{xml-DZG1936u.js → xml-CbTD7cB8.js} +1 -1
- package/dist/client/assets/{xsl-CU-QUjue.js → xsl-uOqqo7cf.js} +1 -1
- package/dist/client/assets/{yaml-CJJOCB-c.js → yaml-BNrLoH59.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/client/sw.js +1 -1
- package/package.json +4 -1
- package/src/client/components/analytics/AnalyticsView.tsx +1 -1
- package/src/client/components/analytics/charts/NodeFleetOverview.tsx +1 -1
- package/src/client/components/chat/CommandPalette.tsx +1 -1
- package/src/client/components/chat/Message.tsx +1 -1
- package/src/client/components/chat/PromptQuestion.tsx +1 -1
- package/src/client/components/chat/TodoCard.tsx +1 -1
- package/src/client/components/chat/ToolGroup.tsx +1 -1
- package/src/client/components/dashboard/DashboardView.tsx +1 -1
- package/src/client/components/dashboard/ProjectDashboardView.tsx +1 -1
- package/src/client/components/mesh/NodeBadge.tsx +1 -1
- package/src/client/components/mesh/PairingDialog.tsx +1 -1
- package/src/client/components/project-settings/ProjectClaude.tsx +1 -1
- package/src/client/components/project-settings/ProjectEnvironment.tsx +1 -1
- package/src/client/components/project-settings/ProjectGeneral.tsx +1 -1
- package/src/client/components/project-settings/ProjectMcp.tsx +1 -1
- package/src/client/components/project-settings/ProjectMemory.tsx +1 -1
- package/src/client/components/project-settings/ProjectPermissions.tsx +1 -1
- package/src/client/components/project-settings/ProjectPlugins.tsx +1 -1
- package/src/client/components/project-settings/ProjectRules.tsx +1 -1
- package/src/client/components/project-settings/ProjectSettingsView.tsx +1 -1
- package/src/client/components/project-settings/ProjectSkills.tsx +1 -1
- package/src/client/components/settings/Appearance.tsx +1 -1
- package/src/client/components/settings/BudgetSettings.tsx +1 -1
- package/src/client/components/settings/ClaudeSettings.tsx +1 -1
- package/src/client/components/settings/Editor.tsx +1 -1
- package/src/client/components/settings/Environment.tsx +1 -1
- package/src/client/components/settings/GlobalMcp.tsx +2 -2
- package/src/client/components/settings/GlobalPlugins.tsx +1 -1
- package/src/client/components/settings/GlobalRules.tsx +1 -1
- package/src/client/components/settings/GlobalSkills.tsx +1 -1
- package/src/client/components/settings/MeshStatus.tsx +1 -1
- package/src/client/components/settings/SkillMarketplace.tsx +1 -1
- package/src/client/components/settings/mcp-shared.tsx +1 -1
- package/src/client/components/settings/skill-shared.tsx +1 -1
- package/src/client/components/sidebar/AddProjectModal.tsx +1 -1
- package/src/client/components/sidebar/NodeSettingsModal.tsx +1 -1
- package/src/client/components/sidebar/ProjectRail.tsx +1 -1
- package/src/client/components/sidebar/SessionList.tsx +2 -2
- package/src/client/components/sidebar/Sidebar.tsx +1 -1
- package/src/client/components/sidebar/UserIsland.tsx +1 -1
- package/src/client/components/ui/IconPicker.tsx +1 -1
- package/src/client/components/ui/UpdateBanner.tsx +1 -1
- package/src/client/components/workspace/BookmarksView.tsx +1 -1
- package/src/client/components/workspace/FileBrowser.tsx +1 -1
- package/src/client/components/workspace/FileTree.tsx +1 -1
- package/src/client/components/workspace/NoteCard.tsx +1 -1
- package/src/client/components/workspace/NotesView.tsx +1 -1
- package/src/client/components/workspace/ScheduledTasksView.tsx +1 -1
- package/src/client/components/workspace/TaskCard.tsx +1 -1
- package/src/client/components/workspace/TaskEditModal.tsx +1 -1
- package/src/client/components/workspace/TerminalInstance.tsx +1 -1
- package/src/client/hooks/useAnalytics.ts +3 -3
- package/src/client/hooks/useAttachments.ts +1 -1
- package/src/client/hooks/useBookmarks.ts +1 -1
- package/src/client/hooks/useEditorConfig.ts +1 -1
- package/src/client/hooks/useMesh.ts +1 -1
- package/src/client/hooks/useProjectSettings.ts +1 -1
- package/src/client/hooks/useProjects.ts +3 -3
- package/src/client/hooks/useSession.ts +2 -2
- package/src/client/hooks/useSkills.ts +2 -2
- package/src/client/hooks/useSpinnerVerb.ts +1 -1
- package/src/client/hooks/useWebSocket.ts +1 -1
- package/src/client/providers/WebSocketProvider.tsx +1 -1
- package/src/client/stores/analytics.ts +1 -1
- package/src/client/stores/bookmarks.ts +1 -1
- package/src/client/stores/mesh.ts +1 -1
- package/src/client/stores/session.ts +1 -1
- package/src/client/stores/sidebar.ts +1 -1
- package/src/server/analytics/engine.ts +1 -1
- package/src/server/config.ts +2 -2
- package/src/server/daemon.ts +1 -1
- package/src/server/features/ralph-loop.ts +1 -1
- package/src/server/features/scheduler.ts +1 -1
- package/src/server/features/sticky-notes.ts +1 -1
- package/src/server/handlers/analytics.ts +1 -1
- package/src/server/handlers/attachment.ts +2 -2
- package/src/server/handlers/bookmarks.ts +1 -1
- package/src/server/handlers/chat.ts +1 -1
- package/src/server/handlers/editor.ts +1 -1
- package/src/server/handlers/fs.ts +1 -1
- package/src/server/handlers/loop.ts +1 -1
- package/src/server/handlers/memory.ts +1 -1
- package/src/server/handlers/mesh.ts +3 -3
- package/src/server/handlers/notes.ts +1 -1
- package/src/server/handlers/plugins.ts +1 -1
- package/src/server/handlers/project-settings.ts +1 -1
- package/src/server/handlers/scheduler.ts +1 -1
- package/src/server/handlers/session.ts +1 -1
- package/src/server/handlers/settings.ts +4 -4
- package/src/server/handlers/skills.ts +5 -5
- package/src/server/handlers/terminal.ts +1 -1
- package/src/server/handlers/themes.ts +1 -1
- package/src/server/handlers/update.ts +1 -1
- package/src/server/index.ts +13 -10
- package/src/server/mesh/connector.ts +1 -1
- package/src/server/mesh/peers.ts +1 -1
- package/src/server/mesh/proxy.ts +1 -1
- package/src/server/mesh/session-sync.ts +1 -1
- package/src/server/project/bookmarks.ts +1 -1
- package/src/server/project/context-breakdown.ts +1 -1
- package/src/server/project/file-browser.ts +1 -1
- package/src/server/project/registry.ts +1 -1
- package/src/server/project/sdk-bridge.ts +1 -1
- package/src/server/project/session.ts +1 -1
- package/src/server/tui.ts +2 -2
- package/src/server/ws/router.ts +1 -1
- package/tsconfig.json +1 -1
- package/vite.config.ts +1 -1
|
@@ -2,7 +2,7 @@ import { useState, useEffect } from "react";
|
|
|
2
2
|
import { Trash2, RefreshCw, X, Loader2, FileText } from "lucide-react";
|
|
3
3
|
import Markdown from "react-markdown";
|
|
4
4
|
import remarkGfm from "remark-gfm";
|
|
5
|
-
import type { SkillInfo } from "
|
|
5
|
+
import type { SkillInfo } from "#shared";
|
|
6
6
|
|
|
7
7
|
function parseFrontmatter(content: string): { meta: Record<string, string>; body: string } {
|
|
8
8
|
var match = content.match(/^---\r?\n([\s\S]*?)\r?\n---\s*\r?\n?([\s\S]*)$/);
|
|
@@ -3,7 +3,7 @@ import { useFocusTrap } from "../../hooks/useFocusTrap";
|
|
|
3
3
|
import { X, FolderOpen, FileText, Loader2 } from "lucide-react";
|
|
4
4
|
import { useWebSocket } from "../../hooks/useWebSocket";
|
|
5
5
|
import { useProjects } from "../../hooks/useProjects";
|
|
6
|
-
import type { ServerMessage } from "
|
|
6
|
+
import type { ServerMessage } from "#shared";
|
|
7
7
|
|
|
8
8
|
interface BrowseEntry {
|
|
9
9
|
name: string;
|
|
@@ -5,7 +5,7 @@ import { useWebSocket } from "../../hooks/useWebSocket";
|
|
|
5
5
|
import { useMesh } from "../../hooks/useMesh";
|
|
6
6
|
import { useSaveState } from "../../hooks/useSaveState";
|
|
7
7
|
import { SaveFooter } from "../ui/SaveFooter";
|
|
8
|
-
import type { ServerMessage, SettingsDataMessage, LatticeConfig } from "
|
|
8
|
+
import type { ServerMessage, SettingsDataMessage, LatticeConfig } from "#shared";
|
|
9
9
|
|
|
10
10
|
interface NodeSettingsModalProps {
|
|
11
11
|
isOpen: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState } from "react";
|
|
2
2
|
import { createPortal } from "react-dom";
|
|
3
3
|
import { Plus, Settings, PlusCircle, Trash2, Unplug, RefreshCw } from "lucide-react";
|
|
4
|
-
import type { ProjectInfo, NodeInfo } from "
|
|
4
|
+
import type { ProjectInfo, NodeInfo } from "#shared";
|
|
5
5
|
import { LatticeLogomark } from "../ui/LatticeLogomark";
|
|
6
6
|
import { useWebSocket } from "../../hooks/useWebSocket";
|
|
7
7
|
import { useSidebar } from "../../hooks/useSidebar";
|
|
@@ -2,8 +2,8 @@ import { useEffect, useRef, useState, useMemo, useCallback } from "react";
|
|
|
2
2
|
import { createPortal } from "react-dom";
|
|
3
3
|
import { Clock, MessageSquare, Cpu, DollarSign, Pencil, Trash2 } from "lucide-react";
|
|
4
4
|
import { ContextMenu, useContextMenu } from "../ui/ContextMenu";
|
|
5
|
-
import type { SessionSummary, SessionPreview, SessionListMessage, SessionCreatedMessage, SessionPreviewMessage } from "
|
|
6
|
-
import type { ServerMessage } from "
|
|
5
|
+
import type { SessionSummary, SessionPreview, SessionListMessage, SessionCreatedMessage, SessionPreviewMessage } from "#shared";
|
|
6
|
+
import type { ServerMessage } from "#shared";
|
|
7
7
|
import { useWebSocket } from "../../hooks/useWebSocket";
|
|
8
8
|
import { useTimeTick } from "../../hooks/useTimeTick";
|
|
9
9
|
import { markSessionHasUpdates, sessionHasUpdates, markSessionRead } from "../../stores/session";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState, useEffect, useRef } from "react";
|
|
2
2
|
import { Plus, ChevronDown, Search, LayoutDashboard, FolderOpen, TerminalSquare, StickyNote, Calendar, BarChart3, Bookmark, Settings, Network } from "lucide-react";
|
|
3
3
|
import { LatticeLogomark } from "../ui/LatticeLogomark";
|
|
4
|
-
import type { SessionSummary, ServerMessage, SettingsDataMessage } from "
|
|
4
|
+
import type { SessionSummary, ServerMessage, SettingsDataMessage } from "#shared";
|
|
5
5
|
import type { DateRange } from "./SessionList";
|
|
6
6
|
import { useProjects } from "../../hooks/useProjects";
|
|
7
7
|
import { useMesh } from "../../hooks/useMesh";
|
|
@@ -8,7 +8,7 @@ import { useWebSocket } from "../../hooks/useWebSocket";
|
|
|
8
8
|
import { getSessionStore, loadCachedRateLimits, updateRateLimit } from "../../stores/session";
|
|
9
9
|
import type { RateLimitEntry } from "../../stores/session";
|
|
10
10
|
import pkg from "../../../../package.json";
|
|
11
|
-
import type { ServerMessage } from "
|
|
11
|
+
import type { ServerMessage } from "#shared";
|
|
12
12
|
|
|
13
13
|
interface UserIslandProps {
|
|
14
14
|
nodeName: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState, useEffect } from "react";
|
|
2
2
|
import { ArrowUpCircle, X, Loader2, ExternalLink, RefreshCw } from "lucide-react";
|
|
3
3
|
import { useWebSocket } from "../../hooks/useWebSocket";
|
|
4
|
-
import type { ServerMessage } from "
|
|
4
|
+
import type { ServerMessage } from "#shared";
|
|
5
5
|
|
|
6
6
|
interface UpdateState {
|
|
7
7
|
currentVersion: string;
|
|
@@ -4,7 +4,7 @@ import { useBookmarks } from "../../hooks/useBookmarks";
|
|
|
4
4
|
import { useSession } from "../../hooks/useSession";
|
|
5
5
|
import { useProjects } from "../../hooks/useProjects";
|
|
6
6
|
import { openTab } from "../../stores/workspace";
|
|
7
|
-
import type { MessageBookmark } from "
|
|
7
|
+
import type { MessageBookmark } from "#shared";
|
|
8
8
|
|
|
9
9
|
function relativeTime(ts: number): string {
|
|
10
10
|
var diff = Date.now() - ts;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
2
2
|
import { ArrowLeft, FileCode, FileX } from "lucide-react";
|
|
3
|
-
import type { FsListResultMessage, FsReadResultMessage, ServerMessage } from "
|
|
3
|
+
import type { FsListResultMessage, FsReadResultMessage, ServerMessage } from "#shared";
|
|
4
4
|
import { useWebSocket } from "../../hooks/useWebSocket";
|
|
5
5
|
import { useSidebar } from "../../hooks/useSidebar";
|
|
6
6
|
import { useProjects } from "../../hooks/useProjects";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState } from "react";
|
|
2
2
|
import { StickyNote as StickyNoteIcon } from "lucide-react";
|
|
3
|
-
import type { StickyNote, ServerMessage } from "
|
|
3
|
+
import type { StickyNote, ServerMessage } from "#shared";
|
|
4
4
|
import { useWebSocket } from "../../hooks/useWebSocket";
|
|
5
5
|
import { useSession } from "../../hooks/useSession";
|
|
6
6
|
import { useOnline } from "../../hooks/useOnline";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState } from "react";
|
|
2
2
|
import { Calendar } from "lucide-react";
|
|
3
|
-
import type { ScheduledTask, ServerMessage } from "
|
|
3
|
+
import type { ScheduledTask, ServerMessage } from "#shared";
|
|
4
4
|
import { useWebSocket } from "../../hooks/useWebSocket";
|
|
5
5
|
import { useSession } from "../../hooks/useSession";
|
|
6
6
|
import { useOnline } from "../../hooks/useOnline";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState } from "react";
|
|
2
2
|
import { ChevronDown, ChevronRight, Pencil, Trash2 } from "lucide-react";
|
|
3
3
|
import cronstrue from "cronstrue";
|
|
4
|
-
import type { ScheduledTask } from "
|
|
4
|
+
import type { ScheduledTask } from "#shared";
|
|
5
5
|
|
|
6
6
|
interface TaskCardProps {
|
|
7
7
|
task: ScheduledTask;
|
|
@@ -2,7 +2,7 @@ import { useState, useRef, useCallback } from "react";
|
|
|
2
2
|
import { X } from "lucide-react";
|
|
3
3
|
import { useFocusTrap } from "../../hooks/useFocusTrap";
|
|
4
4
|
import cronstrue from "cronstrue";
|
|
5
|
-
import type { ScheduledTask } from "
|
|
5
|
+
import type { ScheduledTask } from "#shared";
|
|
6
6
|
|
|
7
7
|
interface TaskEditModalProps {
|
|
8
8
|
task: ScheduledTask | null;
|
|
@@ -6,7 +6,7 @@ import { SearchAddon } from "@xterm/addon-search";
|
|
|
6
6
|
import "@xterm/xterm/css/xterm.css";
|
|
7
7
|
import { useWebSocket } from "../../hooks/useWebSocket";
|
|
8
8
|
import { useSidebar } from "../../hooks/useSidebar";
|
|
9
|
-
import type { ServerMessage, TerminalCreatedMessage, TerminalOutputMessage, TerminalExitedMessage } from "
|
|
9
|
+
import type { ServerMessage, TerminalCreatedMessage, TerminalOutputMessage, TerminalExitedMessage } from "#shared";
|
|
10
10
|
|
|
11
11
|
function getXtermTheme(): Record<string, string> {
|
|
12
12
|
var root = document.documentElement;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useCallback, useEffect, useRef } from "react";
|
|
2
2
|
import { useStore } from "@tanstack/react-store";
|
|
3
3
|
import { useWebSocket } from "./useWebSocket";
|
|
4
|
-
import type { ServerMessage } from "
|
|
5
|
-
import type { AnalyticsPeriod, AnalyticsScope, AnalyticsSectionName } from "
|
|
6
|
-
import type { AnalyticsPayload } from "
|
|
4
|
+
import type { ServerMessage } from "#shared";
|
|
5
|
+
import type { AnalyticsPeriod, AnalyticsScope, AnalyticsSectionName } from "#shared";
|
|
6
|
+
import type { AnalyticsPayload } from "#shared";
|
|
7
7
|
import {
|
|
8
8
|
getAnalyticsStore,
|
|
9
9
|
mergeAnalyticsSection,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useState, useCallback, useRef, useEffect } from "react";
|
|
2
2
|
import { useWebSocket } from "./useWebSocket";
|
|
3
|
-
import type { ServerMessage } from "
|
|
3
|
+
import type { ServerMessage } from "#shared";
|
|
4
4
|
|
|
5
5
|
var CHUNK_SIZE = 64 * 1024;
|
|
6
6
|
var MAX_FILE_SIZE = 50 * 1024 * 1024;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect } from "react";
|
|
2
2
|
import { useStore } from "@tanstack/react-store";
|
|
3
|
-
import type { ServerMessage, BookmarkListResultMessage, MessageBookmark } from "
|
|
3
|
+
import type { ServerMessage, BookmarkListResultMessage, MessageBookmark } from "#shared";
|
|
4
4
|
import { useWebSocket } from "./useWebSocket";
|
|
5
5
|
import { getBookmarkStore, setBookmarks, setAllBookmarks } from "../stores/bookmarks";
|
|
6
6
|
import { getSessionStore } from "../stores/session";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useState } from "react";
|
|
2
2
|
import { useWebSocket } from "./useWebSocket";
|
|
3
|
-
import type { ServerMessage, SettingsDataMessage } from "
|
|
3
|
+
import type { ServerMessage, SettingsDataMessage } from "#shared";
|
|
4
4
|
|
|
5
5
|
export function useEditorConfig() {
|
|
6
6
|
var ws = useWebSocket();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useRef } from "react";
|
|
2
2
|
import { useStore } from "@tanstack/react-store";
|
|
3
|
-
import type { ServerMessage, NodeInfo } from "
|
|
3
|
+
import type { ServerMessage, NodeInfo } from "#shared";
|
|
4
4
|
import { useWebSocket } from "./useWebSocket";
|
|
5
5
|
import {
|
|
6
6
|
getMeshStore,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useState, useEffect } from "react";
|
|
2
2
|
import { useWebSocket } from "./useWebSocket";
|
|
3
|
-
import type { ServerMessage, ProjectSettings, ProjectSettingsDataMessage, ProjectSettingsErrorMessage } from "
|
|
3
|
+
import type { ServerMessage, ProjectSettings, ProjectSettingsDataMessage, ProjectSettingsErrorMessage } from "#shared";
|
|
4
4
|
|
|
5
5
|
export function useProjectSettings(projectSlug: string | null) {
|
|
6
6
|
var { status, send, subscribe, unsubscribe } = useWebSocket();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from "react";
|
|
2
2
|
import { useStore } from "@tanstack/react-store";
|
|
3
|
-
import type { ProjectInfo } from "
|
|
4
|
-
import type { ProjectsListMessage } from "
|
|
5
|
-
import type { ServerMessage } from "
|
|
3
|
+
import type { ProjectInfo } from "#shared";
|
|
4
|
+
import type { ProjectsListMessage } from "#shared";
|
|
5
|
+
import type { ServerMessage } from "#shared";
|
|
6
6
|
import { useWebSocket } from "./useWebSocket";
|
|
7
7
|
import { setActiveProjectSlug, getSidebarStore } from "../stores/sidebar";
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useRef } from "react";
|
|
2
2
|
import { useStore } from "@tanstack/react-store";
|
|
3
|
-
import type { HistoryMessage } from "
|
|
3
|
+
import type { HistoryMessage } from "#shared";
|
|
4
4
|
import type {
|
|
5
5
|
ChatDeltaMessage,
|
|
6
6
|
ChatSendMessage,
|
|
@@ -16,7 +16,7 @@ import type {
|
|
|
16
16
|
ChatElicitationRequestMessage,
|
|
17
17
|
SessionHistoryMessage,
|
|
18
18
|
ServerMessage,
|
|
19
|
-
} from "
|
|
19
|
+
} from "#shared";
|
|
20
20
|
import { useWebSocket } from "./useWebSocket";
|
|
21
21
|
import { setActiveSessionId as setSidebarSessionId } from "../stores/sidebar";
|
|
22
22
|
import { updateSessionTabTitle, pinTab } from "../stores/workspace";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useState } from "react";
|
|
2
|
-
import type { SkillInfo } from "
|
|
3
|
-
import type { ServerMessage } from "
|
|
2
|
+
import type { SkillInfo } from "#shared";
|
|
3
|
+
import type { ServerMessage } from "#shared";
|
|
4
4
|
import { useWebSocket } from "./useWebSocket";
|
|
5
5
|
|
|
6
6
|
export function useSkills(): SkillInfo[] {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useState } from "react";
|
|
2
2
|
import { useWebSocket } from "./useWebSocket";
|
|
3
|
-
import type { ServerMessage, SettingsDataMessage } from "
|
|
3
|
+
import type { ServerMessage, SettingsDataMessage } from "#shared";
|
|
4
4
|
|
|
5
5
|
var DEFAULT_VERBS = ["Thinking", "Analyzing", "Processing", "Computing", "Evaluating"];
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from "react";
|
|
2
2
|
import type { ReactNode } from "react";
|
|
3
|
-
import type { ClientMessage, ServerMessage } from "
|
|
3
|
+
import type { ClientMessage, ServerMessage } from "#shared";
|
|
4
4
|
import { WebSocketContext, getWebSocketUrl } from "../hooks/useWebSocket";
|
|
5
5
|
import type { WebSocketStatus } from "../hooks/useWebSocket";
|
|
6
6
|
import { showToast } from "../components/ui/Toast";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Store } from "@tanstack/react-store";
|
|
2
|
-
import type { AnalyticsPayload, AnalyticsPeriod, AnalyticsScope, AnalyticsSectionName } from "
|
|
2
|
+
import type { AnalyticsPayload, AnalyticsPeriod, AnalyticsScope, AnalyticsSectionName } from "#shared";
|
|
3
3
|
|
|
4
4
|
export interface AnalyticsState {
|
|
5
5
|
data: Partial<AnalyticsPayload>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Store } from "@tanstack/react-store";
|
|
2
|
-
import type { ProjectSettingsSection } from "
|
|
2
|
+
import type { ProjectSettingsSection } from "#shared";
|
|
3
3
|
import { encodeWorkspaceUrl, decodeWorkspaceUrl, isLegacySessionUrl, shortSessionId } from "../lib/workspace-url";
|
|
4
4
|
import type { DecodedWorkspace } from "../lib/workspace-url";
|
|
5
5
|
import { getWorkspaceStore, restoreWorkspace, setUrlSyncCallback, switchProjectWorkspace, setCurrentProjectKey } from "./workspace";
|
|
@@ -2,7 +2,7 @@ import { readdirSync, existsSync, readFileSync, statSync } from "node:fs";
|
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
|
-
import type { AnalyticsPayload, AnalyticsPeriod, AnalyticsScope, AnalyticsSectionName } from "
|
|
5
|
+
import type { AnalyticsPayload, AnalyticsPeriod, AnalyticsScope, AnalyticsSectionName } from "#shared";
|
|
6
6
|
import { estimateCost, projectPathToHash } from "../project/session";
|
|
7
7
|
import { loadConfig } from "../config";
|
|
8
8
|
|
package/src/server/config.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { homedir, hostname } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
import { DEFAULT_PORT, LATTICE_HOME_DIR } from "
|
|
5
|
-
import type { LatticeConfig } from "
|
|
4
|
+
import { DEFAULT_PORT, LATTICE_HOME_DIR } from "#shared";
|
|
5
|
+
import type { LatticeConfig } from "#shared";
|
|
6
6
|
|
|
7
7
|
var home = process.env.LATTICE_HOME || join(homedir(), LATTICE_HOME_DIR);
|
|
8
8
|
var cachedConfig: LatticeConfig | null = null;
|
package/src/server/daemon.ts
CHANGED
|
@@ -18,7 +18,7 @@ import { startMeshConnections, onPeerConnected, onPeerDisconnected, onPeerMessag
|
|
|
18
18
|
import { handleProxyRequest, handleProxyResponse } from "./mesh/proxy";
|
|
19
19
|
import { verifyPassphrase, generateSessionToken, addSession, isValidSession } from "./auth/passphrase";
|
|
20
20
|
import { ensureCerts } from "./tls";
|
|
21
|
-
import type { ClientMessage, MeshMessage } from "
|
|
21
|
+
import type { ClientMessage, MeshMessage } from "#shared";
|
|
22
22
|
import { log } from "./logger";
|
|
23
23
|
import { detectIdeProjectName } from "./handlers/settings";
|
|
24
24
|
import "./handlers/session";
|
|
@@ -5,7 +5,7 @@ import { query } from "@anthropic-ai/claude-agent-sdk";
|
|
|
5
5
|
import type { SDKMessage, SDKPartialAssistantMessage, SDKResultMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
6
6
|
import { broadcast } from "../ws/broadcast";
|
|
7
7
|
import { getProjectBySlug } from "../project/registry";
|
|
8
|
-
import type { LoopStatus } from "
|
|
8
|
+
import type { LoopStatus } from "#shared";
|
|
9
9
|
|
|
10
10
|
var activeLoops = new Map<string, LoopStatus>();
|
|
11
11
|
|
|
@@ -3,7 +3,7 @@ import { join } from "node:path";
|
|
|
3
3
|
import { randomBytes } from "node:crypto";
|
|
4
4
|
import { getLatticeHome } from "../config";
|
|
5
5
|
import { broadcast } from "../ws/broadcast";
|
|
6
|
-
import type { ScheduledTask } from "
|
|
6
|
+
import type { ScheduledTask } from "#shared";
|
|
7
7
|
|
|
8
8
|
var schedulesFile = "";
|
|
9
9
|
var tasks: ScheduledTask[] = [];
|
|
@@ -2,7 +2,7 @@ import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, writeF
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { randomBytes } from "node:crypto";
|
|
4
4
|
import { getLatticeHome } from "../config";
|
|
5
|
-
import type { StickyNote } from "
|
|
5
|
+
import type { StickyNote } from "#shared";
|
|
6
6
|
|
|
7
7
|
var notesFile = "";
|
|
8
8
|
var notes: StickyNote[] = [];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Attachment } from "
|
|
2
|
-
import type { AttachmentChunkMessage, AttachmentCompleteMessage, ClientMessage } from "
|
|
1
|
+
import type { Attachment } from "#shared";
|
|
2
|
+
import type { AttachmentChunkMessage, AttachmentCompleteMessage, ClientMessage } from "#shared";
|
|
3
3
|
import { registerHandler } from "../ws/router";
|
|
4
4
|
import { sendTo } from "../ws/broadcast";
|
|
5
5
|
|
|
@@ -3,7 +3,7 @@ import type {
|
|
|
3
3
|
BookmarkListMessage,
|
|
4
4
|
BookmarkAddMessage,
|
|
5
5
|
BookmarkRemoveMessage,
|
|
6
|
-
} from "
|
|
6
|
+
} from "#shared";
|
|
7
7
|
import { registerHandler } from "../ws/router";
|
|
8
8
|
import { sendTo } from "../ws/broadcast";
|
|
9
9
|
import { listBookmarks, addBookmark, removeBookmark } from "../project/bookmarks";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChatSendMessage, ChatPermissionResponseMessage, ChatSetPermissionModeMessage, ChatPromptResponseMessage, ClientMessage } from "
|
|
1
|
+
import type { ChatSendMessage, ChatPermissionResponseMessage, ChatSetPermissionModeMessage, ChatPromptResponseMessage, ClientMessage } from "#shared";
|
|
2
2
|
import { registerHandler } from "../ws/router";
|
|
3
3
|
import { sendTo } from "../ws/broadcast";
|
|
4
4
|
import { getProjectBySlug } from "../project/registry";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { execSync } from "node:child_process";
|
|
2
2
|
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
import type { ClientMessage, EditorDetectMessage, EditorEnsureProjectMessage } from "
|
|
4
|
+
import type { ClientMessage, EditorDetectMessage, EditorEnsureProjectMessage } from "#shared";
|
|
5
5
|
import { registerHandler } from "../ws/router";
|
|
6
6
|
import { sendTo } from "../ws/broadcast";
|
|
7
7
|
import { loadConfig } from "../config";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClientMessage, FsListMessage, FsReadMessage, FsWriteMessage } from "
|
|
1
|
+
import type { ClientMessage, FsListMessage, FsReadMessage, FsWriteMessage } from "#shared";
|
|
2
2
|
import { registerHandler } from "../ws/router";
|
|
3
3
|
import { sendTo, broadcast } from "../ws/broadcast";
|
|
4
4
|
import { getProjectBySlug } from "../project/registry";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClientMessage, LoopStartMessage, LoopStopMessage, LoopStatusRequestMessage } from "
|
|
1
|
+
import type { ClientMessage, LoopStartMessage, LoopStopMessage, LoopStatusRequestMessage } from "#shared";
|
|
2
2
|
import { registerHandler } from "../ws/router";
|
|
3
3
|
import { sendTo } from "../ws/broadcast";
|
|
4
4
|
import { startLoop, stopLoop, getLoopStatus } from "../features/ralph-loop";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync, writeFileSync, readdirSync, unlinkSync, mkdirSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
|
-
import type { ClientMessage } from "
|
|
4
|
+
import type { ClientMessage } from "#shared";
|
|
5
5
|
import { registerHandler } from "../ws/router";
|
|
6
6
|
import { sendTo } from "../ws/broadcast";
|
|
7
7
|
import { loadConfig } from "../config";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ClientMessage, MeshPairMessage, MeshUnpairMessage, NodeInfo } from "
|
|
1
|
+
import type { ClientMessage, MeshPairMessage, MeshUnpairMessage, NodeInfo } from "#shared";
|
|
2
2
|
import { log } from "../logger";
|
|
3
3
|
import { handleProxyRequest, handleProxyResponse } from "../mesh/proxy";
|
|
4
|
-
import type { MeshProxyRequestMessage, MeshProxyResponseMessage } from "
|
|
4
|
+
import type { MeshProxyRequestMessage, MeshProxyResponseMessage } from "#shared";
|
|
5
5
|
import { registerHandler } from "../ws/router";
|
|
6
6
|
import { sendTo, broadcast } from "../ws/broadcast";
|
|
7
7
|
import { loadConfig } from "../config";
|
|
@@ -10,7 +10,7 @@ import { generateInviteCode, parseInviteCode, validatePairingToken, consumePairi
|
|
|
10
10
|
import { addPeer, removePeer, loadPeers, getPeer } from "../mesh/peers";
|
|
11
11
|
import { getConnectedPeerIds, connectToPeer, reconnectPeer, getPeerConnection, disconnectPeer, getConnectedPeerProjects, registerInboundPeer } from "../mesh/connector";
|
|
12
12
|
import { getClientWebSocket, registerVirtualClient, removeVirtualClient } from "../ws/broadcast";
|
|
13
|
-
import type { PeerInfo } from "
|
|
13
|
+
import type { PeerInfo } from "#shared";
|
|
14
14
|
import { networkInterfaces } from "node:os";
|
|
15
15
|
import { existsSync, readFileSync } from "node:fs";
|
|
16
16
|
import { execSync } from "node:child_process";
|
|
@@ -4,7 +4,7 @@ import type {
|
|
|
4
4
|
NotesCreateMessage,
|
|
5
5
|
NotesUpdateMessage,
|
|
6
6
|
NotesDeleteMessage,
|
|
7
|
-
} from "
|
|
7
|
+
} from "#shared";
|
|
8
8
|
import { registerHandler } from "../ws/router";
|
|
9
9
|
import { sendTo, broadcast } from "../ws/broadcast";
|
|
10
10
|
import { listNotes, createNote, updateNote, deleteNote } from "../features/sticky-notes";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClientMessage, ProjectSettingsGetMessage, ProjectSettingsUpdateMessage, ProjectSettings, McpServerConfig } from "
|
|
1
|
+
import type { ClientMessage, ProjectSettingsGetMessage, ProjectSettingsUpdateMessage, ProjectSettings, McpServerConfig } from "#shared";
|
|
2
2
|
import { registerHandler } from "../ws/router";
|
|
3
3
|
import { sendTo } from "../ws/broadcast";
|
|
4
4
|
import { loadConfig, saveConfig, invalidateConfigCache } from "../config";
|
|
@@ -4,7 +4,7 @@ import type {
|
|
|
4
4
|
SchedulerDeleteMessage,
|
|
5
5
|
SchedulerToggleMessage,
|
|
6
6
|
SchedulerUpdateMessage,
|
|
7
|
-
} from "
|
|
7
|
+
} from "#shared";
|
|
8
8
|
import { registerHandler } from "../ws/router";
|
|
9
9
|
import { sendTo } from "../ws/broadcast";
|
|
10
10
|
import { listTasks, createTask, deleteTask, toggleTask, updateTask } from "../features/scheduler";
|
|
@@ -7,7 +7,7 @@ import type {
|
|
|
7
7
|
SessionListRequestMessage,
|
|
8
8
|
SessionPreviewRequestMessage,
|
|
9
9
|
SessionRenameMessage,
|
|
10
|
-
} from "
|
|
10
|
+
} from "#shared";
|
|
11
11
|
import { registerHandler } from "../ws/router";
|
|
12
12
|
import { sendTo } from "../ws/broadcast";
|
|
13
13
|
import { loadConfig } from "../config";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { ClientMessage, SettingsGetMessage, SettingsUpdateMessage } from "
|
|
1
|
+
import type { ClientMessage, SettingsGetMessage, SettingsUpdateMessage } from "#shared";
|
|
2
2
|
import { registerHandler } from "../ws/router";
|
|
3
3
|
import { sendTo, broadcast } from "../ws/broadcast";
|
|
4
4
|
import { loadConfig, saveConfig } from "../config";
|
|
5
5
|
import { addProject, removeProject } from "../project/registry";
|
|
6
|
-
import type { LatticeConfig } from "
|
|
6
|
+
import type { LatticeConfig } from "#shared";
|
|
7
7
|
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { homedir } from "node:os";
|
|
@@ -67,7 +67,7 @@ registerHandler("settings", function (clientId: string, message: ClientMessage)
|
|
|
67
67
|
sendTo(clientId, {
|
|
68
68
|
type: "settings:data",
|
|
69
69
|
config: configWithClaudeMd,
|
|
70
|
-
mcpServers: readGlobalMcpServers() as Record<string, import("
|
|
70
|
+
mcpServers: readGlobalMcpServers() as Record<string, import("#shared").McpServerConfig>,
|
|
71
71
|
globalSkills: readGlobalSkills(),
|
|
72
72
|
globalRules: readGlobalRules(),
|
|
73
73
|
spinnerVerbs: loadSpinnerVerbs(),
|
|
@@ -130,7 +130,7 @@ registerHandler("settings", function (clientId: string, message: ClientMessage)
|
|
|
130
130
|
sendTo(clientId, {
|
|
131
131
|
type: "settings:data",
|
|
132
132
|
config: updatedWithClaudeMd,
|
|
133
|
-
mcpServers: readGlobalMcpServers() as Record<string, import("
|
|
133
|
+
mcpServers: readGlobalMcpServers() as Record<string, import("#shared").McpServerConfig>,
|
|
134
134
|
globalSkills: readGlobalSkills(),
|
|
135
135
|
globalRules: readGlobalRules(),
|
|
136
136
|
spinnerVerbs: loadSpinnerVerbs(),
|