@cryptiklemur/lattice 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/.editorconfig +12 -0
  2. package/.github/workflows/release.yml +44 -0
  3. package/.impeccable.md +66 -0
  4. package/.releaserc.json +32 -0
  5. package/.serena/project.yml +138 -0
  6. package/CLAUDE.md +35 -0
  7. package/CONTRIBUTING.md +93 -0
  8. package/LICENSE +21 -0
  9. package/README.md +83 -0
  10. package/bun.lock +1459 -0
  11. package/bunfig.toml +2 -0
  12. package/client/index.html +32 -0
  13. package/client/package.json +37 -0
  14. package/client/public/icons/icon-192.svg +11 -0
  15. package/client/public/icons/icon-512.svg +11 -0
  16. package/client/public/manifest.json +24 -0
  17. package/client/public/sw.js +61 -0
  18. package/client/src/App.tsx +28 -0
  19. package/client/src/components/auth/PassphrasePrompt.tsx +70 -0
  20. package/client/src/components/chat/ChatInput.tsx +241 -0
  21. package/client/src/components/chat/ChatView.tsx +727 -0
  22. package/client/src/components/chat/Message.tsx +362 -0
  23. package/client/src/components/chat/ModelSelector.tsx +87 -0
  24. package/client/src/components/chat/PermissionModeSelector.tsx +41 -0
  25. package/client/src/components/chat/StatusBar.tsx +50 -0
  26. package/client/src/components/chat/ToolGroup.tsx +129 -0
  27. package/client/src/components/chat/ToolResultRenderer.tsx +343 -0
  28. package/client/src/components/chat/toolSummary.ts +41 -0
  29. package/client/src/components/dashboard/DashboardView.tsx +219 -0
  30. package/client/src/components/dashboard/ProjectDashboardView.tsx +168 -0
  31. package/client/src/components/mesh/NodeBadge.tsx +24 -0
  32. package/client/src/components/mesh/PairingDialog.tsx +281 -0
  33. package/client/src/components/panels/FileBrowser.tsx +241 -0
  34. package/client/src/components/panels/StickyNotes.tsx +187 -0
  35. package/client/src/components/panels/Terminal.tsx +128 -0
  36. package/client/src/components/project-settings/ProjectClaude.tsx +304 -0
  37. package/client/src/components/project-settings/ProjectEnvironment.tsx +235 -0
  38. package/client/src/components/project-settings/ProjectGeneral.tsx +76 -0
  39. package/client/src/components/project-settings/ProjectMcp.tsx +232 -0
  40. package/client/src/components/project-settings/ProjectPermissions.tsx +209 -0
  41. package/client/src/components/project-settings/ProjectRules.tsx +277 -0
  42. package/client/src/components/project-settings/ProjectSettingsView.tsx +99 -0
  43. package/client/src/components/project-settings/ProjectSkills.tsx +91 -0
  44. package/client/src/components/settings/Appearance.tsx +151 -0
  45. package/client/src/components/settings/ClaudeSettings.tsx +151 -0
  46. package/client/src/components/settings/Environment.tsx +185 -0
  47. package/client/src/components/settings/GlobalMcp.tsx +207 -0
  48. package/client/src/components/settings/GlobalSkills.tsx +125 -0
  49. package/client/src/components/settings/MeshStatus.tsx +145 -0
  50. package/client/src/components/settings/SettingsView.tsx +57 -0
  51. package/client/src/components/settings/SkillMarketplace.tsx +175 -0
  52. package/client/src/components/settings/mcp-shared.tsx +194 -0
  53. package/client/src/components/settings/skill-shared.tsx +177 -0
  54. package/client/src/components/setup/SetupWizard.tsx +750 -0
  55. package/client/src/components/sidebar/NodeSettingsModal.tsx +180 -0
  56. package/client/src/components/sidebar/ProjectDropdown.tsx +43 -0
  57. package/client/src/components/sidebar/ProjectRail.tsx +291 -0
  58. package/client/src/components/sidebar/SearchFilter.tsx +52 -0
  59. package/client/src/components/sidebar/SessionList.tsx +384 -0
  60. package/client/src/components/sidebar/SettingsSidebar.tsx +128 -0
  61. package/client/src/components/sidebar/Sidebar.tsx +209 -0
  62. package/client/src/components/sidebar/UserIsland.tsx +59 -0
  63. package/client/src/components/sidebar/UserMenu.tsx +101 -0
  64. package/client/src/components/ui/CommandPalette.tsx +321 -0
  65. package/client/src/components/ui/ErrorBoundary.tsx +56 -0
  66. package/client/src/components/ui/IconPicker.tsx +209 -0
  67. package/client/src/components/ui/LatticeLogomark.tsx +19 -0
  68. package/client/src/components/ui/PopupMenu.tsx +98 -0
  69. package/client/src/components/ui/SaveFooter.tsx +38 -0
  70. package/client/src/components/ui/Toast.tsx +112 -0
  71. package/client/src/hooks/useMesh.ts +89 -0
  72. package/client/src/hooks/useProjectSettings.ts +56 -0
  73. package/client/src/hooks/useProjects.ts +66 -0
  74. package/client/src/hooks/useSaveState.ts +59 -0
  75. package/client/src/hooks/useSession.ts +317 -0
  76. package/client/src/hooks/useSidebar.ts +74 -0
  77. package/client/src/hooks/useSkills.ts +30 -0
  78. package/client/src/hooks/useTheme.ts +114 -0
  79. package/client/src/hooks/useWebSocket.ts +26 -0
  80. package/client/src/main.tsx +10 -0
  81. package/client/src/providers/WebSocketProvider.tsx +146 -0
  82. package/client/src/router.tsx +391 -0
  83. package/client/src/stores/mesh.ts +78 -0
  84. package/client/src/stores/session.ts +322 -0
  85. package/client/src/stores/sidebar.ts +336 -0
  86. package/client/src/stores/theme.ts +44 -0
  87. package/client/src/styles/global.css +167 -0
  88. package/client/src/styles/theme-vars.css +18 -0
  89. package/client/src/themes/index.ts +79 -0
  90. package/client/src/utils/findDuplicateKeys.ts +12 -0
  91. package/client/tsconfig.json +14 -0
  92. package/client/vite.config.ts +20 -0
  93. package/package.json +46 -0
  94. package/server/package.json +22 -0
  95. package/server/src/auth/passphrase.ts +48 -0
  96. package/server/src/config.ts +55 -0
  97. package/server/src/daemon.ts +338 -0
  98. package/server/src/features/ralph-loop.ts +173 -0
  99. package/server/src/features/scheduler.ts +281 -0
  100. package/server/src/features/sticky-notes.ts +102 -0
  101. package/server/src/handlers/chat.ts +194 -0
  102. package/server/src/handlers/fs.ts +84 -0
  103. package/server/src/handlers/loop.ts +37 -0
  104. package/server/src/handlers/mesh.ts +125 -0
  105. package/server/src/handlers/notes.ts +45 -0
  106. package/server/src/handlers/project-settings.ts +174 -0
  107. package/server/src/handlers/scheduler.ts +47 -0
  108. package/server/src/handlers/session.ts +159 -0
  109. package/server/src/handlers/settings.ts +109 -0
  110. package/server/src/handlers/skills.ts +380 -0
  111. package/server/src/handlers/terminal.ts +70 -0
  112. package/server/src/identity.ts +26 -0
  113. package/server/src/index.ts +190 -0
  114. package/server/src/mesh/connector.ts +209 -0
  115. package/server/src/mesh/discovery.ts +123 -0
  116. package/server/src/mesh/pairing.ts +94 -0
  117. package/server/src/mesh/peers.ts +52 -0
  118. package/server/src/mesh/proxy.ts +103 -0
  119. package/server/src/mesh/session-sync.ts +107 -0
  120. package/server/src/project/context-breakdown.ts +289 -0
  121. package/server/src/project/file-browser.ts +106 -0
  122. package/server/src/project/project-files.ts +267 -0
  123. package/server/src/project/registry.ts +57 -0
  124. package/server/src/project/sdk-bridge.ts +566 -0
  125. package/server/src/project/session.ts +432 -0
  126. package/server/src/project/terminal.ts +69 -0
  127. package/server/src/tls.ts +51 -0
  128. package/server/src/ws/broadcast.ts +31 -0
  129. package/server/src/ws/router.ts +104 -0
  130. package/server/src/ws/server.ts +2 -0
  131. package/server/tsconfig.json +16 -0
  132. package/shared/package.json +11 -0
  133. package/shared/src/constants.ts +7 -0
  134. package/shared/src/index.ts +4 -0
  135. package/shared/src/messages.ts +638 -0
  136. package/shared/src/models.ts +136 -0
  137. package/shared/src/project-settings.ts +45 -0
  138. package/shared/tsconfig.json +11 -0
  139. package/themes/amoled.json +20 -0
  140. package/themes/ayu-light.json +9 -0
  141. package/themes/catppuccin-latte.json +9 -0
  142. package/themes/catppuccin-mocha.json +9 -0
  143. package/themes/clay-light.json +10 -0
  144. package/themes/clay.json +10 -0
  145. package/themes/dracula.json +9 -0
  146. package/themes/everforest-light.json +9 -0
  147. package/themes/everforest.json +9 -0
  148. package/themes/github-light.json +9 -0
  149. package/themes/gruvbox-dark.json +9 -0
  150. package/themes/gruvbox-light.json +9 -0
  151. package/themes/monokai.json +9 -0
  152. package/themes/nord-light.json +9 -0
  153. package/themes/nord.json +9 -0
  154. package/themes/one-dark.json +9 -0
  155. package/themes/one-light.json +9 -0
  156. package/themes/rose-pine-dawn.json +9 -0
  157. package/themes/rose-pine.json +9 -0
  158. package/themes/solarized-dark.json +9 -0
  159. package/themes/solarized-light.json +9 -0
  160. package/themes/tokyo-night-light.json +9 -0
  161. package/themes/tokyo-night.json +9 -0
  162. package/tsconfig.json +26 -0
@@ -0,0 +1,136 @@
1
+ import type { ProjectIcon } from "./project-settings.js";
2
+
3
+ export interface NodeInfo {
4
+ id: string;
5
+ name: string;
6
+ address: string;
7
+ port: number;
8
+ online: boolean;
9
+ isLocal: boolean;
10
+ projects: ProjectSummary[];
11
+ }
12
+
13
+ export interface ProjectSummary {
14
+ slug: string;
15
+ path: string;
16
+ title: string;
17
+ nodeId: string;
18
+ }
19
+
20
+ export interface ProjectInfo extends ProjectSummary {
21
+ nodeName: string;
22
+ isRemote: boolean;
23
+ }
24
+
25
+ export interface SessionSummary {
26
+ id: string;
27
+ projectSlug: string;
28
+ title: string;
29
+ createdAt: number;
30
+ updatedAt: number;
31
+ messageCount?: number;
32
+ }
33
+
34
+ export interface FileEntry {
35
+ name: string;
36
+ path: string;
37
+ isDirectory: boolean;
38
+ size: number;
39
+ modifiedAt: number;
40
+ }
41
+
42
+ export interface Attachment {
43
+ type: "file" | "image";
44
+ name: string;
45
+ content: string;
46
+ }
47
+
48
+ export interface HistoryMessage {
49
+ type: string;
50
+ uuid?: string;
51
+ text?: string;
52
+ toolId?: string;
53
+ name?: string;
54
+ args?: string;
55
+ content?: string;
56
+ timestamp: number;
57
+ title?: string;
58
+ decisionReason?: string;
59
+ permissionStatus?: "pending" | "allowed" | "denied" | "always_allowed";
60
+ permissionRule?: string;
61
+ inputTokens?: number;
62
+ outputTokens?: number;
63
+ model?: string;
64
+ costEstimate?: number;
65
+ duration?: number;
66
+ }
67
+
68
+ export interface PeerInfo {
69
+ id: string;
70
+ name: string;
71
+ addresses: string[];
72
+ publicKey: string;
73
+ pairedAt: number;
74
+ }
75
+
76
+ export interface LatticeConfig {
77
+ port: number;
78
+ name: string;
79
+ passphraseHash?: string;
80
+ tls: boolean;
81
+ debug: boolean;
82
+ globalEnv: Record<string, string>;
83
+ projects: Array<{
84
+ path: string;
85
+ slug: string;
86
+ title: string;
87
+ env: Record<string, string>;
88
+ icon?: ProjectIcon;
89
+ }>;
90
+ }
91
+
92
+ export interface StickyNote {
93
+ id: string;
94
+ content: string;
95
+ createdAt: number;
96
+ updatedAt: number;
97
+ }
98
+
99
+ export interface ScheduledTask {
100
+ id: string;
101
+ name: string;
102
+ prompt: string;
103
+ cron: string;
104
+ enabled: boolean;
105
+ projectSlug: string;
106
+ createdAt: number;
107
+ updatedAt: number;
108
+ lastRunAt: number | null;
109
+ nextRunAt: number | null;
110
+ }
111
+
112
+ export interface SkillInfo {
113
+ name: string;
114
+ description: string;
115
+ path: string;
116
+ }
117
+
118
+ export interface MarketplaceSkill {
119
+ id: string;
120
+ skillId: string;
121
+ name: string;
122
+ source: string;
123
+ installs: number;
124
+ }
125
+
126
+ export interface LoopStatus {
127
+ id: string;
128
+ projectSlug: string;
129
+ status: "idle" | "running" | "done" | "stopped" | "error";
130
+ iteration: number;
131
+ maxIterations: number;
132
+ judgeReason: string | null;
133
+ startedAt: number | null;
134
+ finishedAt: number | null;
135
+ }
136
+
@@ -0,0 +1,45 @@
1
+ export type ProjectIcon =
2
+ | { type: "lucide"; name: string }
3
+ | { type: "emoji"; value: string }
4
+ | { type: "text"; value: string; color?: string }
5
+ | { type: "image"; path: string };
6
+
7
+ export type ThinkingConfig =
8
+ | { type: "adaptive" }
9
+ | { type: "enabled"; budgetTokens?: number }
10
+ | { type: "disabled" };
11
+
12
+ export type McpServerConfig =
13
+ | { type?: "stdio"; command: string; args?: string[]; env?: Record<string, string> }
14
+ | { type: "http"; url: string; headers?: Record<string, string> }
15
+ | { type: "sse"; url: string; headers?: Record<string, string> };
16
+
17
+ export type ProjectSettingsSection =
18
+ | "general" | "claude" | "environment" | "mcp" | "skills" | "rules" | "permissions";
19
+
20
+ export interface ProjectSettings {
21
+ title: string;
22
+ path: string;
23
+ icon?: ProjectIcon;
24
+ claudeMd: string;
25
+ defaultModel?: string;
26
+ defaultEffort?: string;
27
+ thinking?: ThinkingConfig;
28
+ permissionMode?: string;
29
+ permissions: { allow: string[]; deny: string[] };
30
+ env: Record<string, string>;
31
+ mcpServers: Record<string, McpServerConfig>;
32
+ rules: Array<{ filename: string; content: string }>;
33
+ skills: Array<{ name: string; description: string; path: string }>;
34
+ global: {
35
+ claudeMd: string;
36
+ defaultModel: string;
37
+ defaultEffort: string;
38
+ thinking?: ThinkingConfig;
39
+ env: Record<string, string>;
40
+ permissions: { allow: string[]; deny: string[] };
41
+ rules: Array<{ filename: string; content: string }>;
42
+ mcpServers: Record<string, McpServerConfig>;
43
+ skills: Array<{ name: string; description: string; path: string }>;
44
+ };
45
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist",
5
+ "rootDir": "./src"
6
+ },
7
+ "include": [
8
+ "src"
9
+ ],
10
+ "references": []
11
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "AMOLED Dark",
3
+ "variant": "dark",
4
+ "base00": "000000",
5
+ "base01": "0a0a0a",
6
+ "base02": "1a1a1a",
7
+ "base03": "555555",
8
+ "base04": "999999",
9
+ "base05": "e0e0e0",
10
+ "base06": "f5f5f5",
11
+ "base07": "ffffff",
12
+ "base08": "ff6b6b",
13
+ "base09": "ffa94d",
14
+ "base0A": "ffd93d",
15
+ "base0B": "6bcf7f",
16
+ "base0C": "4ecdc4",
17
+ "base0D": "74b7ff",
18
+ "base0E": "ff6ef7",
19
+ "base0F": "c8a2ff"
20
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Ayu Light",
3
+ "author": "Ike Ku",
4
+ "variant": "light",
5
+ "base00": "FAFAFA", "base01": "EDEFF1", "base02": "D2D4D8", "base03": "A0A6AC",
6
+ "base04": "8A9199", "base05": "5C6166", "base06": "4E5257", "base07": "404447",
7
+ "base08": "F07171", "base09": "FA8D3E", "base0A": "F2AE49", "base0B": "6CBF49",
8
+ "base0C": "4CBF99", "base0D": "399EE6", "base0E": "A37ACC", "base0F": "E6BA7E"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Catppuccin Latte",
3
+ "author": "catppuccin",
4
+ "variant": "light",
5
+ "base00": "eff1f5", "base01": "e6e9ef", "base02": "ccd0da", "base03": "9ca0b0",
6
+ "base04": "8c8fa1", "base05": "5c5f77", "base06": "4c4f69", "base07": "303446",
7
+ "base08": "d20f39", "base09": "fe640b", "base0A": "df8e1d", "base0B": "40a02b",
8
+ "base0C": "179299", "base0D": "1e66f5", "base0E": "8839ef", "base0F": "dd7878"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Catppuccin Mocha",
3
+ "author": "catppuccin",
4
+ "variant": "dark",
5
+ "base00": "1e1e2e", "base01": "181825", "base02": "313244", "base03": "45475a",
6
+ "base04": "585b70", "base05": "cdd6f4", "base06": "f5e0dc", "base07": "b4befe",
7
+ "base08": "f38ba8", "base09": "fab387", "base0A": "f9e2af", "base0B": "a6e3a1",
8
+ "base0C": "94e2d5", "base0D": "89b4fa", "base0E": "cba6f7", "base0F": "f2cdcd"
9
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "Clay Light",
3
+ "author": "Clay",
4
+ "variant": "light",
5
+ "base00": "F3EBE7", "base01": "EBE1DC", "base02": "D8CCC6", "base03": "A09590",
6
+ "base04": "786D67", "base05": "504541", "base06": "332925", "base07": "1A1412",
7
+ "base08": "C83520", "base09": "F74728", "base0A": "C08520", "base0B": "008F6B",
8
+ "base0C": "1C8575", "base0D": "3560B0", "base0E": "8C4E8E", "base0F": "A57C45",
9
+ "accent2": "2A26E5"
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "Clay Dark",
3
+ "author": "Clay",
4
+ "variant": "dark",
5
+ "base00": "1F1B1B", "base01": "2A2525", "base02": "352F2F", "base03": "7D7370",
6
+ "base04": "A09590", "base05": "C2BAB4", "base06": "E5DED8", "base07": "FFFFFF",
7
+ "base08": "F74728", "base09": "FE7150", "base0A": "E5A040", "base0B": "09E5A3",
8
+ "base0C": "4EC9B0", "base0D": "6BA0E5", "base0E": "D085CC", "base0F": "D09558",
9
+ "accent2": "5857FC"
10
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Dracula",
3
+ "author": "Jamy Golden",
4
+ "variant": "dark",
5
+ "base00": "282a36", "base01": "363447", "base02": "44475a", "base03": "6272a4",
6
+ "base04": "9ea8c7", "base05": "f8f8f2", "base06": "f0f1f4", "base07": "ffffff",
7
+ "base08": "ff5555", "base09": "ffb86c", "base0A": "f1fa8c", "base0B": "50fa7b",
8
+ "base0C": "8be9fd", "base0D": "80bfff", "base0E": "ff79c6", "base0F": "bd93f9"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Everforest Light",
3
+ "author": "Sainnhe Park",
4
+ "variant": "light",
5
+ "base00": "fdf6e3", "base01": "f4f0d9", "base02": "e6e2cc", "base03": "a6b0a0",
6
+ "base04": "829181", "base05": "5c6a72", "base06": "3a464c", "base07": "272e33",
7
+ "base08": "f85552", "base09": "f57d26", "base0A": "dfa000", "base0B": "8da101",
8
+ "base0C": "35a77c", "base0D": "3a94c5", "base0E": "df69ba", "base0F": "9da9a0"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Everforest",
3
+ "author": "Sainnhe Park",
4
+ "variant": "dark",
5
+ "base00": "272e33", "base01": "2e383c", "base02": "414b50", "base03": "859289",
6
+ "base04": "9da9a0", "base05": "d3c6aa", "base06": "edeada", "base07": "fffbef",
7
+ "base08": "e67e80", "base09": "e69875", "base0A": "dbbc7f", "base0B": "a7c080",
8
+ "base0C": "83c092", "base0D": "7fbbb3", "base0E": "d699b6", "base0F": "9da9a0"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "GitHub Light",
3
+ "author": "GitHub",
4
+ "variant": "light",
5
+ "base00": "ffffff", "base01": "f6f8fa", "base02": "d8dee4", "base03": "afb8c1",
6
+ "base04": "6e7781", "base05": "424a53", "base06": "24292f", "base07": "1b1f24",
7
+ "base08": "cf222e", "base09": "bc4c00", "base0A": "9a6700", "base0B": "1a7f37",
8
+ "base0C": "0969da", "base0D": "0550ae", "base0E": "8250df", "base0F": "6e7781"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Gruvbox Dark",
3
+ "author": "Dawid Kurek, morhetz",
4
+ "variant": "dark",
5
+ "base00": "282828", "base01": "3c3836", "base02": "504945", "base03": "665c54",
6
+ "base04": "bdae93", "base05": "d5c4a1", "base06": "ebdbb2", "base07": "fbf1c7",
7
+ "base08": "fb4934", "base09": "fe8019", "base0A": "fabd2f", "base0B": "b8bb26",
8
+ "base0C": "8ec07c", "base0D": "83a598", "base0E": "d3869b", "base0F": "d65d0e"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Gruvbox Light",
3
+ "author": "Dawid Kurek, morhetz",
4
+ "variant": "light",
5
+ "base00": "fbf1c7", "base01": "ebdbb2", "base02": "d5c4a1", "base03": "a89984",
6
+ "base04": "7c6f64", "base05": "504945", "base06": "3c3836", "base07": "282828",
7
+ "base08": "9d0006", "base09": "af3a03", "base0A": "b57614", "base0B": "79740e",
8
+ "base0C": "427b58", "base0D": "076678", "base0E": "8f3f71", "base0F": "d65d0e"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Monokai",
3
+ "author": "Wimer Hazenberg",
4
+ "variant": "dark",
5
+ "base00": "272822", "base01": "383830", "base02": "49483e", "base03": "75715e",
6
+ "base04": "a59f85", "base05": "f8f8f2", "base06": "f5f4f1", "base07": "f9f8f5",
7
+ "base08": "f92672", "base09": "fd971f", "base0A": "f4bf75", "base0B": "a6e22e",
8
+ "base0C": "a1efe4", "base0D": "66d9ef", "base0E": "ae81ff", "base0F": "cc6633"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Nord Light",
3
+ "author": "threddast",
4
+ "variant": "light",
5
+ "base00": "E5E9F0", "base01": "C2D0E7", "base02": "B8C5DB", "base03": "AEBACF",
6
+ "base04": "60728C", "base05": "2E3440", "base06": "3B4252", "base07": "29838D",
7
+ "base08": "99324B", "base09": "AC4426", "base0A": "9A7500", "base0B": "4F894C",
8
+ "base0C": "398EAC", "base0D": "3B6EA8", "base0E": "97365B", "base0F": "5272AF"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Nord",
3
+ "author": "arcticicestudio",
4
+ "variant": "dark",
5
+ "base00": "2E3440", "base01": "3B4252", "base02": "434C5E", "base03": "4C566A",
6
+ "base04": "D8DEE9", "base05": "E5E9F0", "base06": "ECEFF4", "base07": "8FBCBB",
7
+ "base08": "BF616A", "base09": "D08770", "base0A": "EBCB8B", "base0B": "A3BE8C",
8
+ "base0C": "88C0D0", "base0D": "81A1C1", "base0E": "B48EAD", "base0F": "5E81AC"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "One Dark",
3
+ "author": "Lalit Magant",
4
+ "variant": "dark",
5
+ "base00": "282c34", "base01": "353b45", "base02": "3e4451", "base03": "545862",
6
+ "base04": "565c64", "base05": "abb2bf", "base06": "b6bdca", "base07": "c8ccd4",
7
+ "base08": "e06c75", "base09": "d19a66", "base0A": "e5c07b", "base0B": "98c379",
8
+ "base0C": "56b6c2", "base0D": "61afef", "base0E": "c678dd", "base0F": "be5046"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "One Light",
3
+ "author": "Daniel Pfeifer",
4
+ "variant": "light",
5
+ "base00": "FAFAFA", "base01": "F0F0F1", "base02": "E5E5E6", "base03": "A0A1A7",
6
+ "base04": "696C77", "base05": "383A42", "base06": "202227", "base07": "090A0B",
7
+ "base08": "CA1243", "base09": "D75F00", "base0A": "C18401", "base0B": "50A14F",
8
+ "base0C": "0184BC", "base0D": "4078F2", "base0E": "A626A4", "base0F": "986801"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Rosé Pine Dawn",
3
+ "author": "Emilia Dunfelt",
4
+ "variant": "light",
5
+ "base00": "faf4ed", "base01": "fffaf3", "base02": "dfdad9", "base03": "9893a5",
6
+ "base04": "797593", "base05": "575279", "base06": "26233a", "base07": "191724",
7
+ "base08": "b4637a", "base09": "ea9d34", "base0A": "d7827e", "base0B": "286983",
8
+ "base0C": "56949f", "base0D": "907aa9", "base0E": "ea9d34", "base0F": "cecacd"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Rosé Pine",
3
+ "author": "Emilia Dunfelt",
4
+ "variant": "dark",
5
+ "base00": "191724", "base01": "1f1d2e", "base02": "26233a", "base03": "6e6a86",
6
+ "base04": "908caa", "base05": "e0def4", "base06": "e0def4", "base07": "524f67",
7
+ "base08": "eb6f92", "base09": "f6c177", "base0A": "ebbcba", "base0B": "31748f",
8
+ "base0C": "9ccfd8", "base0D": "c4a7e7", "base0E": "f6c177", "base0F": "524f67"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Solarized Dark",
3
+ "author": "Ethan Schoonover",
4
+ "variant": "dark",
5
+ "base00": "002b36", "base01": "073642", "base02": "586e75", "base03": "657b83",
6
+ "base04": "839496", "base05": "93a1a1", "base06": "eee8d5", "base07": "fdf6e3",
7
+ "base08": "dc322f", "base09": "cb4b16", "base0A": "b58900", "base0B": "859900",
8
+ "base0C": "2aa198", "base0D": "268bd2", "base0E": "6c71c4", "base0F": "d33682"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Solarized Light",
3
+ "author": "Ethan Schoonover",
4
+ "variant": "light",
5
+ "base00": "fdf6e3", "base01": "eee8d5", "base02": "d3cbb7", "base03": "93a1a1",
6
+ "base04": "839496", "base05": "586e75", "base06": "073642", "base07": "002b36",
7
+ "base08": "dc322f", "base09": "cb4b16", "base0A": "b58900", "base0B": "859900",
8
+ "base0C": "2aa198", "base0D": "268bd2", "base0E": "6c71c4", "base0F": "d33682"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Tokyo Night Light",
3
+ "author": "folke",
4
+ "variant": "light",
5
+ "base00": "D5D6DB", "base01": "CBCCD1", "base02": "DFE0E5", "base03": "9699A3",
6
+ "base04": "4C505E", "base05": "343B59", "base06": "1A1B26", "base07": "1A1B26",
7
+ "base08": "8C4351", "base09": "965027", "base0A": "8F5E15", "base0B": "33635C",
8
+ "base0C": "0F4B6E", "base0D": "34548A", "base0E": "5A4A78", "base0F": "655259"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Tokyo Night",
3
+ "author": "Michaël Ball",
4
+ "variant": "dark",
5
+ "base00": "1A1B26", "base01": "16161E", "base02": "2F3549", "base03": "444B6A",
6
+ "base04": "787C99", "base05": "A9B1D6", "base06": "CBCCD1", "base07": "D5D6DB",
7
+ "base08": "C0CAF5", "base09": "A9B1D6", "base0A": "0DB9D7", "base0B": "9ECE6A",
8
+ "base0C": "B4F9F8", "base0D": "2AC3DE", "base0E": "BB9AF7", "base0F": "F7768E"
9
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "strict": true,
7
+ "skipLibCheck": true,
8
+ "esModuleInterop": true,
9
+ "allowSyntheticDefaultImports": true,
10
+ "resolveJsonModule": true,
11
+ "declaration": true,
12
+ "declarationMap": true,
13
+ "sourceMap": true,
14
+ "composite": true,
15
+ "incremental": true
16
+ },
17
+ "references": [
18
+ { "path": "./shared" },
19
+ { "path": "./server" },
20
+ { "path": "./client" }
21
+ ],
22
+ "exclude": [
23
+ "node_modules",
24
+ "dist"
25
+ ]
26
+ }